@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Manrope:wght@400;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2ee;--surface:#fff;--surface-raised:#f8faf8;--surface-soft:#e8f1ef;--ink:#132024;--muted:#697977;--line:#dce3de;--dark:#102126;--accent:#257471;--accent-soft:#9fcac5;--danger:#ee6343;--amber:#d27c2c;--display:"Space Grotesk", sans-serif;--body:"Manrope", sans-serif;--mono:"IBM Plex Mono", monospace;color:var(--ink);background:var(--bg);font-family:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100svh}.app-shell{height:100svh;color:var(--ink);background:#fbfbf8;grid-template-columns:244px minmax(0,1fr);display:grid}.project-home{background:radial-gradient(circle at 50% 18%,#25747114,#0000 25%),linear-gradient(#fffaf8 0%,#f3f5ef 58%,#e8f1ef 100%);height:auto;min-height:100svh;display:block;overflow:auto}.project-home-brand{z-index:91;color:var(--ink);font-family:var(--display);align-items:center;gap:10px;font-size:18px;display:inline-flex;position:fixed;top:18px;left:28px}.project-home-brand .brand-mark{border-radius:10px;width:34px;height:34px}button,input{font:inherit}button{cursor:pointer;border:0}button:focus-visible,label:focus-within,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.context-upload-input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:fixed}.project-top-actions{z-index:90;align-items:center;gap:10px;display:flex;position:fixed;top:22px;right:28px}.project-theme-toggle{position:static;top:22px;right:28px}.auth-entry-button,.auth-user-pill,.rail-auth-pill{min-height:34px;color:var(--ink);background:#fffffddb;border:1px solid #101f231a;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex;box-shadow:0 12px 24px #14232814}.auth-entry-cluster{align-items:center;display:inline-flex;position:relative}.auth-entry-notice{color:#8f3826;background:#fff6f2f5;border:1px solid #ee634338;border-radius:14px;gap:3px;width:min(330px,100vw - 56px);padding:10px 12px;font-size:12px;line-height:1.35;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 38px #2c130e1f}.auth-entry-notice strong{color:#c64b2f;letter-spacing:.06em;text-transform:uppercase;font-size:11px}.auth-entry-notice span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rail-auth-entry{gap:8px;display:grid}.rail-auth-notice{color:var(--danger);background:#ee63431a;border:1px solid #ee634333;border-radius:12px;margin:0;padding:9px 10px;font-size:11px;font-weight:800;line-height:1.35}.auth-user-pill span,.rail-auth-pill span{text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.auth-user-pill button{min-height:26px;color:inherit;background:#101f2314;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:850;display:inline-flex}.account-cluster{display:inline-flex;position:relative}.auth-user-pill,.rail-auth-pill{cursor:pointer}.user-avatar{object-fit:cover;color:#fff;background:linear-gradient(135deg,#0d2d2f,#2d837b);border-radius:999px;flex:none;place-items:center;width:22px;height:22px;font-size:10px;font-weight:950;display:grid;overflow:hidden}.user-avatar.large{width:42px;height:42px;font-size:15px}.account-menu{z-index:95;width:254px;color:var(--ink);background:#fffffdfa;border:1px solid #101f231a;border-radius:18px;gap:8px;padding:10px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 24px 56px #14232829}.account-menu.rail{top:calc(100% + 8px);left:0;right:auto}.account-menu-head{border-bottom:1px solid #101f2314;grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:4px 4px 8px;display:grid}.account-menu-head strong,.account-menu-head span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account-menu-head strong{font-size:13px}.account-menu-head span,.account-quota span{color:var(--muted);font-size:11px}.account-quota{background:#25747117;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.account-quota strong{color:var(--accent);font-size:18px}.account-menu button{min-height:36px;color:inherit;text-align:left;background:0 0;border-radius:11px;align-items:center;gap:9px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.account-menu button:hover{background:#101f2312}.rail-auth-pill{box-shadow:none;justify-content:flex-start}.auth-modal{z-index:120;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0508096b;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.auth-card{background:#fffffdfa;border:1px solid #101f231a;border-radius:18px;gap:14px;width:min(420px,100%);padding:24px;display:grid;position:relative;box-shadow:0 28px 80px #14232847}.auth-card h2{font-family:var(--display);margin:4px 0 0;font-size:30px}.auth-card p{color:var(--muted);margin:8px 0 0;line-height:1.45}.auth-card>div>span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.auth-card label{color:var(--muted);gap:7px;font-size:12px;font-weight:850;display:grid}.auth-card input{color:#101819;background:#fff;border:1px solid #101f231f;border-radius:12px;min-height:42px;padding:0 13px}.auth-close{width:30px;height:30px;color:var(--ink);background:#101f2314;border-radius:999px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.google-auth-button{color:#101819;background:#fff;border:1px solid #101f231f;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:850;display:inline-flex;box-shadow:0 12px 24px #14232814}.google-auth-button span{color:#fff;background:conic-gradient(from -45deg,#4285f4,#34a853,#fbbc05,#ea4335,#4285f4);border-radius:999px;place-items:center;width:22px;height:22px;font-size:13px;font-weight:950;display:grid}.google-auth-button:hover{background:#f8fbfa;border-color:#2574715c}.google-auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:11px;font-weight:850;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#101f231a;flex:1;height:1px}.auth-submit,.auth-mode-switch{border-radius:999px;min-height:42px;font-size:13px;font-weight:850}.auth-submit{background:var(--dark);color:#fff;margin-top:4px}.auth-submit:disabled{cursor:not-allowed;opacity:.52}.auth-mode-switch{color:var(--accent);background:0 0}.auth-status{color:var(--danger);background:#ee63431a;border-radius:12px;margin:0;padding:10px 12px;font-size:12px;font-weight:750}.project-hero{align-content:start;justify-items:center;gap:34px;max-width:1240px;min-height:100svh;margin:0 auto;padding:112px 30px 58px;display:grid}.project-hero-copy{text-align:center;justify-items:center;gap:18px;display:grid}.project-hero-copy>span,.project-library-header span{min-height:36px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;background:#25747117;border-radius:999px;align-items:center;padding:0 18px;font-size:12px;font-weight:850;display:inline-flex}.project-hero-copy h1{max-width:920px;font-family:var(--display);letter-spacing:0;margin:0;font-size:clamp(54px,7.2vw,108px);line-height:.9}.project-hero-copy p{max-width:660px;color:var(--muted);margin:0;font-size:19px;line-height:1.5}.project-hero-actions{flex-direction:column;align-items:center;gap:12px;margin-top:4px;display:flex}.project-hero-actions button,.project-library-header button,.project-return-button{background:var(--dark);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:850;display:inline-flex}.project-hero-actions button{background:#ef5d4a;min-height:56px;padding:0 26px;font-size:15px;box-shadow:0 18px 34px #ee63433d}.project-hero-actions small{color:var(--muted);font-size:12px;font-weight:750}.project-hero-actions .secondary,.project-library-header button{color:var(--ink);background:#fffffddb;border:1px solid #101f231a;box-shadow:0 12px 24px #14232814}.project-hero-preview{background:#fffffddb;border-radius:24px;gap:22px;width:min(1080px,100%);margin-top:8px;padding:16px;display:grid;position:relative;box-shadow:0 34px 80px #14232829,inset 0 0 0 1px #101f2314}.preview-comparison{cursor:ew-resize;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none;background:#0d1112;border-radius:22px;min-height:530px;position:relative;overflow:hidden;box-shadow:0 16px 42px #14232824,inset 0 0 0 1px #101f2314}.preview-after-layer,.preview-before-layer,.preview-before-layer img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.preview-before-layer{z-index:1;clip-path:inset(0 calc(100% - var(--split-position,50%)) 0 0);will-change:clip-path;transition:clip-path .62s cubic-bezier(.2,.9,.2,1);overflow:hidden}.preview-after-layer{z-index:0}.preview-divider{z-index:3;top:0;bottom:0;left:var(--split-position,50%);pointer-events:none;background:#fffffdbf;width:3px;transition:left .62s cubic-bezier(.2,.9,.2,1);position:absolute;transform:translate(-50%)}.preview-comparison-range{z-index:5;color:#0000;cursor:ew-resize;appearance:none;background:0 0;width:100%;height:100%;margin:0;position:absolute;inset:0}.preview-comparison-range::-webkit-slider-runnable-track{background:0 0;width:100%;height:100%}.preview-comparison-range::-webkit-slider-thumb{appearance:none;cursor:ew-resize;background:0 0;width:54px;height:100%}.preview-comparison-range::-moz-range-track{background:0 0;border:0;width:100%;height:100%}.preview-comparison-range::-moz-range-thumb{cursor:ew-resize;background:0 0;border:0;width:54px;height:100%}.preview-divider span{color:#6b7779;background:#fffffdf5;border:1px solid #101f231a;border-radius:999px;place-items:center;width:50px;height:50px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 38px #14232833,inset 0 0 0 1px #fffffdb3}.preview-mode-pill,.preview-before-tag,.preview-after-tag{min-height:32px;color:var(--ink);z-index:4;background:#fffffdf0;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex;position:absolute;box-shadow:0 12px 24px #14232824}.preview-mode-pill{background:#fffffde0;top:16px;left:18px}.preview-before-tag{bottom:18px;left:18px}.preview-after-tag{bottom:18px;right:18px}.preview-thumbnail-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.preview-thumbnail-row button{cursor:pointer;background:#0d1112;border:1px solid #101f231a;border-radius:18px;min-height:142px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden;box-shadow:0 14px 30px #1423281f}.thumbnail-after-layer,.thumbnail-before-layer,.thumbnail-before-layer img{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.thumbnail-before-layer{clip-path:inset(0 52% 0 0);z-index:1;overflow:hidden}.thumbnail-after-layer{z-index:0}.preview-thumbnail-row button:after{content:"";background:#fffffdb8;width:2px;position:absolute;top:0;bottom:0;left:48%}.preview-thumbnail-row button:hover,.preview-thumbnail-row button.active{border-color:#53c2b8d1;transform:translateY(-2px);box-shadow:0 16px 34px #14232829,0 0 0 3px #53c2b824}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.project-library{max-width:1180px;margin:0 auto;padding:0 30px 72px}.project-library-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.project-library-header h2{font-family:var(--display);margin:4px 0 0;font-size:28px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.project-card,.empty-projects{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffdd1;border:1px solid #101f2314;border-radius:14px;box-shadow:0 18px 38px #14232814}.project-card{gap:12px;padding:14px;display:grid}.project-open{min-height:82px;color:var(--accent);background:#e8f1ef;border-radius:10px;justify-content:space-between;align-items:center;padding:18px;display:flex}.project-name-row,.project-rename-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.project-name-row strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:850;overflow:hidden}.project-name-row button,.project-rename-row button{min-height:28px;color:var(--ink);background:#101f2314;border-radius:999px;padding:0 9px;font-size:11px;font-weight:850}.project-name-row button:hover,.project-rename-row button:hover{color:var(--accent);background:#e8f1ef}.project-rename-row input{width:100%;min-width:0;min-height:32px;color:var(--ink);background:#fffffde6;border:1px solid #101f231a;border-radius:999px;padding:0 10px;font-size:13px;font-weight:850}.project-card small{color:var(--muted)}.empty-projects{min-height:220px;color:var(--muted);text-align:center;place-items:center;gap:8px;display:grid}.empty-projects strong{color:var(--ink)}.empty-projects p{max-width:340px;margin:0}.project-return-button{min-height:34px;color:var(--accent);background:#eef4f2;padding:0 12px}.rail-home-button{min-height:34px;color:var(--ink);background:#fffffdd1;border:1px solid #101f2314;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:850;display:inline-flex}.rail-home-button:hover{color:var(--accent);background:#eef4f2;border-color:#25747138}.left-rail,.inspector{background:#fffffdf5;border-style:solid;border-color:#101f2314;min-width:0}.left-rail{border-width:0 1px 0 0;flex-direction:column;gap:22px;padding:22px 18px;display:flex;overflow:auto}.inspector{border-width:0 0 0 1px;flex-direction:column;gap:18px;padding:22px;display:flex;overflow:auto}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-mark{background:var(--dark);color:#f8fbf7;width:42px;height:42px;font-family:var(--display);letter-spacing:0;border-radius:7px;place-items:center;font-size:17px;display:grid;box-shadow:0 10px 22px #0f1e222e}.user-brand-mark{background:0 0;padding:0;overflow:hidden}.user-brand-mark .user-avatar.large{width:42px;height:42px}.brand-lockup strong,.brand-lockup span,.section-title span,.queue-section strong,.job-card strong,.remove-heading strong,.api-panel strong{display:block}.brand-lockup strong{font-family:var(--display);font-size:18px;line-height:1.05}.brand-lockup span,small{color:var(--muted);font-size:12px;line-height:1.35}.upload-drop{min-height:132px;color:var(--ink);text-align:center;background:#fff;border:1px dashed #9aa9a6;border-radius:8px;align-content:center;place-items:center;gap:8px;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.upload-drop:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 18px 34px #2866651f}.upload-drop input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.upload-drop span{font-weight:700}.section-title{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.section-title span{font-family:var(--display);font-size:14px}.photo-list,.folder-list{gap:9px;display:grid}.file-folder{gap:7px;display:grid}.folder-row{border:1px solid var(--line);width:100%;min-width:0;min-height:38px;color:var(--ink);text-align:left;background:#f8faf8;border-radius:7px;grid-template-columns:16px 16px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 9px;display:grid}.folder-row:hover{border-color:var(--accent-soft);color:var(--accent)}.folder-row span{gap:1px;min-width:0;display:grid}.folder-row strong,.folder-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.folder-row strong{font-size:12px}.folder-row em{min-width:24px;color:var(--accent);text-align:center;background:#e8f1ef;border-radius:999px;padding:2px 6px;font-size:11px;font-style:normal;font-weight:800}.folder-images{gap:8px;display:grid}.queue-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:-4px 0 10px;display:grid}.queue-actions button{border:1px solid var(--line);min-height:32px;color:var(--ink);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex}.queue-actions button:hover{border-color:var(--accent-soft);color:var(--accent)}.queue-actions button:disabled{cursor:not-allowed;opacity:.45}.queue-actions .queue-export{background:var(--dark);border-color:var(--dark);color:#fff;grid-column:1/-1}.empty-queue{background:#fff;border:1px dashed #9aa9a6;border-radius:8px;gap:5px;padding:14px;display:grid}.empty-queue strong{font-size:13px}.version-list{gap:8px;max-height:210px;padding-right:2px;display:grid;overflow:auto}.photo-row,.version-row{color:var(--ink);text-align:left;background:#fff;border:1px solid #0000;border-radius:8px;grid-template-columns:74px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:7px;display:grid}.version-row{grid-template-columns:22px 74px minmax(0,1fr) 30px}.photo-row:hover,.photo-row.active,.version-row:hover,.version-row.active,.version-row.selected{border-color:var(--accent-soft)}.photo-row.active,.version-row.active{box-shadow:inset 3px 0 0 var(--accent);background:#e8f1ef}.version-row.selected:not(.active){background:#f1f7f5}.photo-row img,.version-row img{object-fit:cover;border-radius:5px;width:74px;height:52px}.queue-preview,.queue-details,.queue-delete{min-width:0;color:inherit;text-align:left;background:0 0;padding:0}.queue-preview{line-height:0;display:block}.queue-details{gap:3px;display:grid}.queue-title-line{align-items:center;gap:6px;min-width:0;display:flex}.queue-details strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.canvas-presence{width:21px;height:21px;color:var(--accent);border:1px solid var(--accent-soft);background:#eef4f2;border-radius:6px;flex:none;place-items:center;display:inline-grid}.canvas-presence.editing{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 16px #2574712e}.queue-delete{width:30px;height:30px;color:var(--muted);border-radius:6px;justify-self:end;place-items:center;display:grid}.queue-delete:hover{color:var(--danger);background:#ee63431a}.queue-check{place-items:center;width:22px;height:22px;display:grid}.queue-check input{width:16px;height:16px;accent-color:var(--accent)}.job-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:auto;padding:15px;position:relative;overflow:hidden}.signal-line{background:linear-gradient(90deg, var(--accent), var(--amber), transparent);height:3px;margin:-15px -15px 13px}.job-card>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.job-card strong{font-family:var(--display);margin:5px 0}.workbench{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative}.topbar{z-index:70;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffdcc;border-bottom:1px solid #101f2314;min-height:74px;padding:10px 18px 9px;display:block;position:relative}.theme-toggle{z-index:3;min-height:34px;color:var(--ink);background:#fffffddb;border:1px solid #101f231a;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex;position:absolute;top:10px;right:18px;box-shadow:0 12px 24px #14232814}.theme-toggle:hover{border-color:var(--accent-soft);color:var(--accent);background:#e8f1ef}.project-top-actions .theme-toggle{position:static;top:auto;right:auto}.preset-header{gap:7px;min-width:0;padding-right:104px;display:grid;position:relative}.preset-helper{color:var(--muted);font-size:12px;font-weight:650}.preset-tag-scroll{scrollbar-width:none;gap:8px;padding:0 0 4px;display:flex;overflow-x:auto}.preset-tag-scroll::-webkit-scrollbar{display:none}.preset-tag-item{flex:none;position:relative}.preset-tag-item>button{min-height:34px;color:var(--ink);white-space:nowrap;background:#fff;border:1px solid #101f231a;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex}.preset-tag-item>button svg{color:var(--accent)}.preset-tag-item>button.active{border-color:var(--accent-soft);color:var(--accent);background:#e8f1ef}.preset-tag-scroll.disabled .preset-tag-item>button{cursor:not-allowed;color:#101f2352;background:#fffffd94;border-color:#101f2312}.preset-tag-scroll.disabled .preset-tag-item>button svg{color:#101f2347}.preset-prompt-popover{z-index:80;opacity:1;pointer-events:auto;background:#fffffdfa;border:1px solid #101f231f;border-radius:22px;width:min(560px,72vw);max-height:390px;animation:.16s both preset-popover-in;display:grid;position:absolute;top:calc(100% + 6px);overflow:hidden;transform:translateY(0);box-shadow:0 22px 58px #14232833}.preset-prompt-popover:before{content:"";height:18px;position:absolute;top:-18px;left:0;right:0}@keyframes preset-popover-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.preset-prompt-popover p{color:#101010;white-space:pre-wrap;scrollbar-width:thin;max-height:302px;margin:0;padding:26px 30px;font-size:24px;line-height:1.55;overflow:auto}.preset-prompt-popover>button{color:#111;text-align:left;background:#f5f5f3;border-top:1px solid #101f2314;align-items:center;gap:12px;min-height:58px;padding:0 30px;font-size:18px;font-weight:600;display:flex}.preset-prompt-popover>button:hover{background:#ededeb}.toolbar,.mode-switch,.filmstrip{align-items:center;gap:6px;display:flex}.toolbar{flex-wrap:wrap;justify-content:flex-end}.toolbar button,.filmstrip button,.mode-switch button{min-height:36px;color:var(--ink);background:#fff;border:1px solid #101f231a;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.zoom-readout{min-width:58px;min-height:36px;color:var(--accent);border:1px solid var(--accent-soft);font-family:var(--mono);background:#eef4f2;border-radius:7px;justify-content:center;align-items:center;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.toolbar button:hover,.filmstrip button:hover,.mode-switch button:hover{border-color:var(--accent-soft);color:var(--accent)}.toolbar .primary{background:var(--dark);color:#fff;border-color:var(--dark)}.toolbar .primary:disabled{cursor:not-allowed;background:#c8cfcb;border-color:#c8cfcb}.canvas-stage{grid-template-rows:minmax(0,1fr);align-content:stretch;min-height:0;display:grid;position:relative}.canvas-meta{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:auto;color:var(--muted);background:#fffffde6;border:1px solid #101f2314;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex;position:absolute;top:16px;left:18px;box-shadow:0 10px 24px #14232814}.state-dot{background:var(--accent);border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 5px #2574711a}.state-dot.processing{background:var(--amber);box-shadow:0 0 0 5px #d27c2c21}.state-dot.complete{background:#4f9d69;box-shadow:0 0 0 5px #4f9d6921}.canvas-folder-panel{z-index:82;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:#fffffdf0;border:1px solid #101f231a;border-radius:22px;gap:18px;max-height:calc(100% - 128px);padding:20px;display:grid;position:absolute;top:92px;left:24px;right:24px;overflow:auto;box-shadow:0 32px 90px #14232838}.canvas-folder-panel-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.canvas-folder-panel-header>div:first-child{min-width:0}.canvas-folder-panel-header span{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:850}.canvas-folder-panel-header h2{font-family:var(--display);margin:4px 0 0;font-size:32px;line-height:1}.canvas-folder-panel-header p{max-width:520px;color:var(--muted);margin:8px 0 0;line-height:1.45}.canvas-folder-panel-header>div:last-child{align-items:center;gap:8px;display:flex}.canvas-folder-panel-header button{background:var(--dark);color:#fff;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex}.canvas-folder-panel-header button[aria-label]{width:36px;color:var(--ink);background:#101f2314;justify-content:center;padding:0}.canvas-folder-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.canvas-folder-card{background:#fffffddb;border:1px solid #101f2314;border-radius:14px;gap:12px;padding:12px;display:grid;box-shadow:0 14px 28px #14232814}.canvas-folder-card.active{border-color:#25747157;box-shadow:0 16px 34px #25747124}.canvas-folder-open{min-height:76px;color:var(--accent);background:#e8f1ef;border-radius:10px;justify-content:space-between;align-items:center;padding:16px;display:flex}.canvas-folder-card small{color:var(--muted)}.canvas-empty-projects{min-height:190px}.canvas-viewport{overscroll-behavior:contain;touch-action:none;border-radius:0;width:100%;min-height:0;margin:0;padding:0;position:relative;overflow:hidden}.infinite-canvas{--canvas-hover-x:-200px;--canvas-hover-y:-200px;--canvas-pan-x:0px;--canvas-pan-y:0px;background:radial-gradient(circle,#9ba2a69e 1.45px,#0000 1.9px),#fbfbf8;background-position:var(--canvas-pan-x) var(--canvas-pan-y), 0 0;cursor:grab;scrollbar-width:none;background-size:24px 24px;height:100%;min-height:0;box-shadow:inset 0 1px #101f230f}.canvas-hover-field{z-index:0;background:radial-gradient(circle,#525c6280 2.15px,#0000 2.75px);background-position:var(--canvas-pan-x) var(--canvas-pan-y);opacity:0;pointer-events:none;width:100%;height:100%;-webkit-mask-image:radial-gradient(circle at var(--canvas-hover-x) var(--canvas-hover-y), #000 0 82px, #000000bd 126px, transparent 210px);mask-image:radial-gradient(circle at var(--canvas-hover-x) var(--canvas-hover-y), #000 0 82px, #000000bd 126px, transparent 210px);-webkit-mask-image:radial-gradient(circle at var(--canvas-hover-x) var(--canvas-hover-y), #000 0 82px, #000000bd 126px, transparent 210px);background-size:24px 24px;transition:opacity .12s;position:absolute;inset:0}.infinite-canvas.is-hovering .canvas-hover-field{opacity:1}.infinite-canvas:active{cursor:grabbing}.infinite-canvas::-webkit-scrollbar{display:none}.canvas-board-shell{z-index:1;pointer-events:none;position:absolute;inset:0}.canvas-board{transform-origin:0 0;pointer-events:auto;position:absolute;inset:0}.canvas-folder-tabs{z-index:24;align-items:center;gap:7px;display:flex;position:absolute;top:18px;left:18px}.canvas-folder-trigger{min-height:36px;color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffde6;border:1px solid #101f231a;border-radius:999px;align-items:center;gap:7px;padding:0 12px 0 14px;font-size:13px;font-weight:850;display:inline-flex;box-shadow:0 12px 30px #1423281a}.canvas-folder-trigger:hover,.canvas-folder-trigger[aria-expanded=true]{color:var(--accent);background:#e8f1eff0;border-color:#2574713d}.canvas-folder-trigger small{min-width:22px;min-height:22px;color:var(--muted);background:#101f2312;border-radius:999px;place-items:center;padding:0 6px;font-size:11px;font-weight:850;display:inline-grid}.canvas-folder-trigger:first-child svg{transition:transform .15s}.canvas-folder-trigger:first-child[aria-expanded=true] svg{transform:rotate(180deg)}.canvas-asset-trigger{padding-left:11px}.project-assets-panel .canvas-folder-panel-header>div:last-child{flex-wrap:wrap;justify-content:flex-end}.canvas-folder-panel-header button:disabled{cursor:not-allowed;opacity:.42}.project-file-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.project-file-card{background:#fffffddb;border:1px solid #101f2314;border-radius:14px;gap:9px;padding:10px;display:grid;position:relative;box-shadow:0 12px 24px #14232812}.project-file-card.selected{border-color:#2574715c;box-shadow:0 16px 30px #25747121}.project-file-card>button{aspect-ratio:4/3;background:#e8f1ef;border-radius:10px;width:100%;padding:0;line-height:0;overflow:hidden}.project-file-card img{object-fit:cover;width:100%;height:100%}.project-file-card div{gap:3px;min-width:0;display:grid}.project-file-card strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:850;overflow:hidden}.project-file-card small{color:var(--muted);font-size:11px}.project-file-check{z-index:2;background:#fffffdeb;border-radius:999px;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:16px;left:16px;box-shadow:0 8px 18px #14232829}.node-connection-layer{z-index:8;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.node-connection path{fill:none;stroke-linecap:round;stroke-linejoin:round}.node-connection-shadow{stroke:#0810122e;stroke-width:12px;filter:url(#connection-glow)}.node-connection-wire{stroke:#0f8f879e;stroke-width:3px;stroke-dasharray:10 12;animation:.9s linear infinite connection-current}.node-connection-spark{stroke:#e9fffb;stroke-width:2.2px;stroke-dasharray:1 38;filter:url(#connection-glow);animation:.72s linear infinite connection-spark}@keyframes connection-current{to{stroke-dashoffset:-44px}}@keyframes connection-spark{to{stroke-dashoffset:-78px}}.zoom-frame{max-width:180%;margin:0 auto;transition:width .16s}.canvas-node{box-shadow:none;cursor:grab;background:0 0;border:0;border-radius:4px;padding:0;display:block;position:absolute}.canvas-node.selected{z-index:24;box-shadow:none}.canvas-node.active{z-index:32;box-shadow:none}.canvas-node.pending{animation:1.5s ease-in-out infinite pending-card-blink}.canvas-node.reference .editor-canvas{box-shadow:0 22px 54px #1423282b,0 0 0 2px #d27c2c}.reference-badge{z-index:14;color:#fff;font-family:var(--mono);pointer-events:none;background:#111111db;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;position:absolute;top:32px;left:12px}.node-selection-handles{z-index:12;pointer-events:none;position:absolute;inset:0}.handle{pointer-events:auto;appearance:none;touch-action:none;width:12px;height:12px;transform:scale(var(--canvas-ui-scale,1));background:#030608;border:0;border-radius:2px;padding:0;position:absolute;box-shadow:0 0 0 1px #fffffde0}.handle.nw{left:calc(-1 * var(--canvas-ui-handle-offset,14px));top:calc(-1 * var(--canvas-ui-handle-offset,14px));cursor:nwse-resize;transform-origin:100% 100%}.handle.ne{right:calc(-1 * var(--canvas-ui-handle-offset,14px));top:calc(-1 * var(--canvas-ui-handle-offset,14px));cursor:nesw-resize;transform-origin:0 100%}.handle.sw{left:calc(-1 * var(--canvas-ui-handle-offset,14px));bottom:calc(-1 * var(--canvas-ui-handle-offset,14px));cursor:nesw-resize;transform-origin:100% 0}.handle.se{right:calc(-1 * var(--canvas-ui-handle-offset,14px));bottom:calc(-1 * var(--canvas-ui-handle-offset,14px));cursor:nwse-resize;transform-origin:0 0}.node-edit-panel{z-index:18;top:calc(100% + var(--canvas-ui-edit-gap,88px));width:min(500px,90vw);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:translateX(-50%) scale(var(--canvas-ui-scale,1));transform-origin:top;background:0 0;border:0;justify-items:center;gap:8px;padding:0;display:grid;position:absolute;left:50%}.node-edit-actions{align-items:center;gap:7px;display:flex}.save-prompt-button,.node-generate-button{min-height:32px;color:var(--ink);white-space:nowrap;background:#fff;border:1px solid #101f231a;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.prompt-list button:hover{border-color:var(--accent-soft);color:var(--accent);background:#e8f1ef}.custom-prompt-entry{background:#fff;border:1px dashed #9aa9a6;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.custom-prompt-entry span{min-width:0;color:var(--muted);font-size:12px;font-weight:800}.custom-prompt-entry button{border:1px solid var(--accent-soft);min-height:30px;color:var(--accent);background:#e8f1ef;border-radius:7px;flex:none;padding:0 10px;font-size:11px;font-weight:800}.node-prompt-field{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffdf0;border:1px solid #101f2317;border-radius:20px;grid-template-columns:minmax(0,1fr) 32px;align-items:end;gap:7px;width:min(260px,100%);min-height:44px;padding:6px 6px 6px 13px;transition:width .22s,min-height .22s,border-color .18s,box-shadow .18s;display:grid;box-shadow:0 12px 28px #1423281a,inset 0 0 0 1px #101f2308}.node-prompt-field.focused{border-color:#101f2324;width:min(480px,100%);min-height:48px;box-shadow:0 16px 40px #14232821,inset 0 0 0 1px #101f230a}.node-prompt-field textarea{resize:none;color:#111;width:100%;height:auto;min-height:24px;max-height:136px;font:inherit;scrollbar-color:#101f2347 transparent;scrollbar-width:thin;background:0 0;border:0;outline:0;padding:4px 0;font-size:14px;line-height:1.45}.node-prompt-field textarea::placeholder{color:#8e8e8e}.node-prompt-field textarea::-webkit-scrollbar{width:6px}.node-prompt-field textarea::-webkit-scrollbar-thumb{background:#101f2347;border-radius:999px}.node-edit-actions{justify-content:space-between}.save-prompt-button,.node-generate-button{padding:0 11px}.save-prompt-button{color:var(--accent)}.node-generate-button{color:#fff;background:#111;border-color:#111;min-width:104px;margin-left:auto}.prompt-send-button{color:#fff;background:#111;border-radius:999px;align-self:end;place-items:center;width:32px;height:32px;transition:background .16s,transform .16s;display:inline-grid}.prompt-send-button:hover:not(:disabled){transform:translateY(-1px)}.prompt-send-button:disabled{cursor:not-allowed;background:#9a9a9a}.floating-save-prompt{background:#fffffdf5;justify-self:start;margin-left:7px;box-shadow:0 8px 20px #14232812}.output-ratio-strip{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffdeb;border:1px solid #101f2314;border-radius:17px;align-items:center;max-width:min(510px,92vw);min-height:64px;padding:6px;display:inline-flex;box-shadow:0 14px 36px #1423281c}.output-ratio-options{scrollbar-width:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.output-ratio-options::-webkit-scrollbar{display:none}.output-ratio-options button{color:#101f23c7;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:54px;min-height:52px;padding:7px 6px 6px;font-size:12px;font-weight:700;transition:background .15s,color .15s,transform .15s;display:inline-flex;position:relative}.output-ratio-options button:hover,.output-ratio-options button.active{color:#13272a;background:#25747114;border-color:#0000}.output-ratio-options button.active{background:#2574711c;box-shadow:inset 0 0 0 1px #25747114}.output-ratio-options button:disabled{cursor:not-allowed;opacity:.46}.ratio-icon{width:clamp(12px, calc(18px * var(--ratio-w) / var(--ratio-h)), 33px);height:clamp(7px, calc(18px * var(--ratio-h) / var(--ratio-w)), 33px);color:currentColor;border:1.8px solid;border-radius:4px;display:inline-block}.ratio-icon.auto{width:24px;height:24px;box-shadow:none;border:0;border-radius:0;position:relative}.ratio-icon.auto:before,.ratio-icon.auto:after{content:"";border:1.8px solid;border-radius:3px;position:absolute}.ratio-icon.auto:before{inset:4px 7px 7px 4px}.ratio-icon.auto:after{opacity:.72;inset:8px 3px 3px 8px}.ratio-label{line-height:1}.generation-failure-card{color:#25120d;background:#fffbf8f7;border:1px solid #ee634338;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;justify-self:center;align-items:center;gap:6px 14px;width:min(520px,100%);padding:12px 14px 12px 16px;display:grid;box-shadow:0 16px 36px #5c2e1f1f}.generation-failure-card.login-required{color:var(--ink);background:linear-gradient(135deg,#e8f1effa,#fffffdfa);border-color:#25747133;box-shadow:0 18px 42px #1423281f,inset 3px 0 #257471e0}.generation-failure-card span,.generation-failure-card strong,.generation-failure-card p{min-width:0}.generation-failure-card span{color:var(--danger);text-transform:uppercase;font-size:11px;font-weight:900}.generation-failure-card.login-required span{color:var(--accent)}.generation-failure-card strong{text-overflow:ellipsis;white-space:nowrap;grid-column:1;font-size:12px;overflow:hidden}.generation-failure-card p{color:#25120db8;grid-column:1/-1;margin:0;font-size:12px;line-height:1.35}.generation-failure-card.login-required p{color:var(--muted)}.generation-failure-card button{color:#fff;background:#111;border-radius:999px;grid-area:1/2/span 2;min-height:36px;padding:0 14px;font-size:12px;font-weight:850}.generation-failure-card.login-required button{background:var(--accent);color:#fff;box-shadow:0 10px 24px #2574712e}.generation-failure-card button:disabled{cursor:not-allowed;opacity:.46}.node-floating-toolbar{z-index:18;top:calc(100% + var(--canvas-ui-toolbar-gap,14px));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:54px;transform:translateX(-50%) scale(var(--canvas-ui-scale,1));transform-origin:top;background:#fffffdf5;border:1px solid #101f2312;border-radius:999px;align-items:center;gap:9px;padding:6px 14px;display:inline-flex;position:absolute;left:50%;box-shadow:0 12px 26px #1423281f}.node-floating-toolbar>button,.prompt-toolbar-item>button{color:#050505;background:0 0;border-radius:999px;place-items:center;width:30px;height:30px;display:inline-grid;position:relative}.node-floating-toolbar>button:hover,.prompt-toolbar-item>button:hover,.prompt-toolbar-item:hover>button{color:var(--accent);background:#eef4f2}.icon-tooltip{color:#fff;opacity:0;pointer-events:none;background:#0d1112eb;border-radius:999px;min-width:max-content;padding:7px 10px;font-size:12px;font-weight:750;line-height:1;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.node-floating-toolbar>button:hover .icon-tooltip,.node-floating-toolbar>button:focus-visible .icon-tooltip{opacity:1;transform:translate(-50%)}.node-floating-toolbar>button.active{color:var(--accent);background:#0f8f871f}.node-floating-toolbar>button:disabled,.prompt-toolbar-item>button:disabled{cursor:not-allowed;opacity:.38}.prompt-toolbar-item{position:relative}.prompt-hover-card{z-index:28;pointer-events:auto;width:min(300px,36vw);max-height:260px;transform:scale(var(--canvas-ui-scale,1));transform-origin:0 0;background:#fffffdfa;border:1px solid #101f231f;border-radius:16px;gap:0;animation:.17s both prompt-tooltip-slide-right;display:grid;position:absolute;top:8px;left:calc(100% + 14px);overflow:hidden;box-shadow:0 14px 34px #14232829}@keyframes prompt-tooltip-slide-right{0%{opacity:0;transform:translateX(-10px) scale(var(--canvas-ui-scale,1))}to{opacity:1;transform:translateX(0) scale(var(--canvas-ui-scale,1))}}.prompt-hover-card p{color:#101010;white-space:pre-wrap;scrollbar-width:thin;max-height:190px;margin:0;padding:14px 16px;font-size:14px;line-height:1.45;overflow:auto}.prompt-hover-footer{background:#f5f5f3;border-top:1px solid #101f2314;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:0 10px 0 12px;display:flex}.prompt-preset-chip{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:58%;color:var(--accent);background:#0f8f871a;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:850;overflow:hidden}.prompt-hover-footer>button{color:#111;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:7px;min-height:30px;padding:0 8px;font-size:13px;font-weight:600;display:flex}.prompt-hover-footer>button:hover{background:#ededeb}.canvas-context-menu{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffdfa;border:1px solid #101f231f;border-radius:13px;gap:3px;width:226px;padding:7px;display:grid;position:fixed;box-shadow:0 24px 64px #14232833}.canvas-context-menu button{min-height:34px;color:var(--ink);text-align:left;background:0 0;border-radius:9px;align-items:center;gap:9px;padding:0 10px;font-size:12px;font-weight:750;display:flex}.canvas-context-menu button:hover:not(:disabled){color:var(--accent);background:#eef4f2}.canvas-context-menu button:disabled{cursor:not-allowed;opacity:.45}.back-to-content{z-index:45;color:#fff;background:#050505;border-radius:999px;align-items:center;gap:18px;min-height:80px;padding:0 34px;font-size:27px;line-height:1;display:inline-flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 20px 48px #0000002e}.back-to-content:hover{background:#151515}.canvas-context-menu .danger{color:var(--danger)}.canvas-context-menu .danger:hover:not(:disabled){color:var(--danger);background:#ee63431a}.context-menu-group{border-block:1px solid #101f2314;gap:2px;margin:4px 0;padding:6px 0;display:grid}.context-menu-group>span{color:var(--muted);font-family:var(--mono);text-transform:uppercase;padding:0 10px 3px;font-size:10px;font-weight:700}.fullscreen-image-viewer{z-index:120;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040809c2;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.fullscreen-image-viewer figure{gap:12px;width:min(1120px,92vw);max-height:92vh;margin:0;display:grid}.fullscreen-image-viewer img{object-fit:contain;border-radius:6px;justify-self:center;max-width:100%;max-height:calc(92vh - 54px);box-shadow:0 28px 90px #00000061}.fullscreen-image-viewer figcaption{color:#fff;justify-content:space-between;align-items:center;gap:12px;display:flex}.fullscreen-image-viewer button{color:#111;background:#fff;border-radius:999px;min-height:34px;padding:0 13px;font-size:12px;font-weight:800}.save-prompt-button:disabled,.node-generate-button:disabled{cursor:not-allowed;opacity:.5}.selection-marquee{z-index:20;border:1px solid var(--accent);pointer-events:none;background:#2574711f;position:absolute;box-shadow:inset 0 0 0 1px #ffffffb8}.editor-canvas{aspect-ratio:16/10;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:#e4e6e1;border-radius:4px;width:100%;position:relative;overflow:visible;box-shadow:0 20px 46px #14232821,0 0 0 1px #101f2314}.editor-canvas.is-selected{box-shadow:0 22px 54px #1423282b,0 0 0 1.5px #030608}.editor-canvas.is-masking{cursor:crosshair}.editor-canvas:active{cursor:grabbing}.editor-canvas.is-masking:active{cursor:crosshair}.listing-photo{object-fit:contain;border-radius:inherit;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.canvas-preset-badge{z-index:16;top:var(--canvas-ui-badge-offset,10px);left:var(--canvas-ui-badge-offset,10px);max-width:calc(100% - 20px);min-height:26px;color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:scale(var(--canvas-ui-scale,1));transform-origin:0 0;background:#fffffdf0;border:1px solid #101f231f;border-radius:999px;align-items:center;gap:6px;padding:0 4px 0 9px;display:inline-flex;position:absolute;box-shadow:0 10px 22px #1423281f}.canvas-preset-badge svg{color:var(--accent);flex:none}.canvas-preset-badge span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:850;overflow:hidden}.canvas-preset-badge button{width:19px;height:19px;color:var(--ink);background:#101f2314;border-radius:999px;flex:none;place-items:center;display:inline-grid}.canvas-preset-badge button:hover{background:#101f2324}.before-layer{pointer-events:none;position:absolute;inset:0 auto 0 0;overflow:hidden}.before-layer img{object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;max-width:none;height:100%;display:block}.compare-divider{cursor:ew-resize;touch-action:none;pointer-events:auto;background:0 0;width:28px;position:absolute;top:0;bottom:0;transform:translate(-14px)}.canvas-preset-badge.below-connection{top:var(--canvas-ui-preset-below,46px)}.canvas-connection-badge{z-index:17;top:var(--canvas-ui-badge-offset,10px);left:var(--canvas-ui-badge-offset,10px);min-height:26px;color:var(--accent);pointer-events:auto;transform:scale(var(--canvas-ui-scale,1));transform-origin:0 0;background:#e8f9f6eb;border:1px solid #0f8f8747;border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 9px;font-size:10.5px;font-weight:850;display:inline-flex;position:absolute;box-shadow:0 12px 24px #0f8f8729,inset 0 0 0 1px #ffffff7a}.canvas-connection-badge button{width:18px;height:18px;color:inherit;background:#0f8f871f;border-radius:999px;place-items:center;display:inline-grid}.compare-divider:before{content:"";background:#fff;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-1px);box-shadow:0 0 0 1px #101f2333,0 0 18px #101f2333}.compare-divider span{background:var(--dark);color:#fff;font-family:var(--mono);pointer-events:none;border-radius:999px;padding:4px 7px;font-size:10px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.edit-treatment{pointer-events:none;mix-blend-mode:soft-light;opacity:.34;position:absolute;inset:0}.preset-lighting{background:linear-gradient(115deg,#ffffffb3,#0000 55%)}.preset-window,.preset-hdr{background:linear-gradient(#ffffff5c,#18535929)}.preset-sky,.preset-lawn{background:linear-gradient(135deg,#4292a252,#0000 45%,#59935b40)}.preset-declutter,.preset-staging,.preset-perspective{background:radial-gradient(circle at 72% 60%,#f77f4342,#0000 20%)}.mask-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mask-dot,.mask-brush{fill:#ee634357;stroke:#ee634357;stroke-linecap:round;stroke-linejoin:round}.brush-cursor{pointer-events:none;background:#ee634314;border:1px solid #ee6343b3;border-radius:999px;position:absolute;top:43%;right:22%}.editor-canvas:not(.is-masking) .brush-cursor{display:none}.pending-generation-card{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#2574711a,#ee634314),#f8faf8;border-radius:8px;place-items:center;min-height:360px;display:grid;position:relative;overflow:hidden}.pending-generation-card:active{cursor:grabbing}.pending-generation-card.failed{background:linear-gradient(135deg,#ee634324,#1021260a),#fff8f6}.pending-pulse{border:1px solid #25747129;border-radius:999px;animation:1.8s ease-out infinite pending-pulse;position:absolute;inset:44px}.pending-generation-content{width:min(340px,100% - 48px);color:var(--ink);text-align:center;justify-items:center;gap:10px;display:grid}.pending-generation-content svg{color:var(--accent)}.pending-generation-content strong{font-family:var(--display);font-size:18px}.pending-generation-content p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.pending-progress{background:#e1e9e4;border-radius:999px;width:100%;height:10px;overflow:hidden;box-shadow:inset 0 1px 2px #101f2314}.pending-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--amber), var(--danger));min-width:6px;height:100%;transition:width .24s;display:block}@keyframes pending-card-blink{0%,to{border-color:#25747152;box-shadow:0 18px 42px #14232821,0 0 #2574712e}50%{border-color:var(--accent);box-shadow:0 24px 58px #1423282b,0 0 0 4px #25747124}}@keyframes pending-pulse{0%{opacity:.9;transform:scale(.78)}to{opacity:0;transform:scale(1.28)}}.filmstrip{border-top:1px solid var(--line);min-height:52px;color:var(--muted);white-space:nowrap;background:#fff;padding:0 24px;font-size:12px;overflow-x:auto}.filmstrip .active{border-color:var(--accent-soft);color:var(--accent);background:#e8f1ef}.filmstrip span{padding-left:8px}.compare-slider{min-width:180px;color:var(--muted);align-items:center;gap:8px;display:inline-flex}.compare-slider span{padding-left:0}.compare-slider input{width:110px;accent-color:var(--accent)}.preset-panel,.remove-panel,.api-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px;display:grid}.preset{min-height:92px;color:var(--ink);text-align:left;background:#f8faf8;border:1px solid #0000;border-radius:7px;align-content:start;justify-items:start;gap:7px;padding:12px;display:grid}.preset svg{color:var(--accent)}.preset:disabled,.mode-switch button:disabled,.range-field input:disabled{cursor:not-allowed;opacity:.45}.preset strong{font-size:12px;line-height:1.25}.preset-prompt{display:none}.preset.active{border-color:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent);background:#e8f1ef}.remove-panel{border-color:#ee63436b;gap:14px;display:grid}.remove-heading{grid-template-columns:38px 1fr;align-items:center;gap:10px;display:grid}.tool-icon{width:38px;height:38px;color:var(--danger);background:#ee63431f;border-radius:7px;place-items:center;display:grid}.remove-toggle{background:var(--dark);color:#fff;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-size:13px;font-weight:800;display:inline-flex}.remove-toggle.active{background:var(--danger);box-shadow:0 14px 26px #ee63432e}.remove-toggle:disabled{cursor:not-allowed;color:#ffffffd1;background:#c8cfcb}.mode-switch{border:1px solid var(--line);background:#f3f5f2;border-radius:8px;padding:4px}.remove-group-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.remove-group-tabs button,.remove-preset-list button{min-width:0;color:var(--ink);text-align:left;background:#f8faf8;border:1px solid #0000;border-radius:7px}.remove-group-tabs button{align-content:center;gap:4px;min-height:66px;padding:9px;display:grid}.remove-group-tabs strong,.remove-preset-list strong{font-size:12px;line-height:1.2}.remove-group-tabs small,.remove-preset-list small{overflow-wrap:anywhere}.remove-group-tabs button.active,.remove-preset-list button.active{color:var(--danger);background:#ee634314;border-color:#ee634375}.remove-group-tabs button:disabled,.remove-preset-list button:disabled{cursor:not-allowed;opacity:.48}.remove-preset-list{padding-right:2px;border-block:1px solid #ee63431f;gap:7px;max-height:clamp(180px,24vh,260px);padding-block:7px;display:grid;overflow:auto}.remove-preset-list button{grid-template-columns:70px 1fr;align-content:center;gap:2px 9px;min-height:58px;padding:9px;display:grid}.remove-preset-list button>span{color:var(--accent);font-family:var(--mono);text-align:center;text-transform:uppercase;background:#eef4f2;border-radius:5px;grid-row:1/3;align-self:center;padding:4px 6px;font-size:10px;line-height:1.1}.mode-switch button{background:0 0;border:0;flex:1}.mode-switch button.active{color:var(--danger);background:#fff;box-shadow:0 8px 18px #101f2314}.range-field{grid-template-columns:1fr auto;align-items:center;gap:8px;font-size:12px;font-weight:700;display:grid}.range-field output{color:var(--muted)}.range-field input{accent-color:var(--danger);grid-column:1/-1}.generate-summary{background:#ee634312;border:1px solid #ee634329;border-radius:7px;gap:3px;padding:10px 11px;display:grid}.generate-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.generate-summary strong{font-size:13px}.remove-button{background:var(--danger);color:#fff;white-space:normal;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:46px;font-weight:800;line-height:1.2;display:inline-flex;box-shadow:0 18px 28px #ee634333}.prompt-library-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:14px;display:grid}.prompt-list,.prompt-history-list{gap:8px;display:grid}.prompt-list button,.history-summary{min-width:0;color:var(--ink);text-align:left;background:#f8faf8;border:1px solid #0000;border-radius:7px;gap:4px;padding:10px;display:grid}.prompt-list strong,.history-summary strong,.empty-prompt-state strong{font-size:12px}.prompt-list small,.history-summary small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-prompt-state{background:#f8faf8;border:1px dashed #9aa9a6;border-radius:7px;gap:4px;padding:12px;display:grid}.prompt-history-list article{background:#f8faf8;border:1px solid #0000;border-radius:7px}.prompt-history-list article.expanded{border-color:var(--accent-soft);background:#fff}.history-detail{gap:9px;padding:0 10px 10px;display:grid}.history-detail p{max-height:150px;color:var(--muted);margin:0;font-size:12px;line-height:1.45;overflow:auto}.history-detail div{flex-wrap:wrap;gap:7px;display:flex}.history-detail button{border:1px solid var(--line);min-height:30px;color:var(--ink);background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:11px;font-weight:800;display:inline-flex}.history-detail button:hover{border-color:var(--accent-soft);color:var(--accent)}.prompt-image-modal{z-index:40;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c16176b;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.prompt-image-modal-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;width:min(860px,100%);max-height:min(760px,100vh - 56px);padding:18px;display:grid;overflow:auto;box-shadow:0 28px 80px #0c161738}.prompt-image-modal-card header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.prompt-image-modal-card header div{gap:4px;display:grid}.prompt-image-modal-card header strong{color:var(--ink);font-size:18px}.prompt-image-modal-card header small,.prompt-image-modal-card p,.prompt-image-grid figcaption small{color:var(--muted)}.prompt-image-modal-card header button{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#f8faf8;border-radius:7px;padding:0 12px;font-weight:800}.prompt-image-modal-card p{max-height:110px;margin:0;font-size:13px;line-height:1.5;overflow:auto}.prompt-image-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.prompt-image-grid figure{border:1px solid var(--line);background:#f8faf8;border-radius:8px;min-width:0;margin:0;overflow:hidden}.prompt-image-grid img{aspect-ratio:4/3;object-fit:cover;background:#edf2ef;width:100%;display:block}.prompt-image-grid figcaption{gap:2px;padding:9px;display:grid}.prompt-image-grid figcaption strong,.prompt-image-grid figcaption small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prompt-image-grid figcaption strong{color:var(--ink);font-size:12px}.generate-button{background:var(--dark);color:#fff;border-radius:7px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:44px;margin-top:10px;font-weight:800;display:inline-flex}.generate-button:disabled{cursor:not-allowed;background:#c8cfcb}.preset-generate{background:#25747112;border-color:#2574712e}.remove-button:disabled{cursor:not-allowed;box-shadow:none;background:#c8cfcb}.api-panel{gap:9px;margin-top:auto;display:grid}.api-panel code{color:var(--accent);font-family:var(--mono);background:#f4f6f3;border-radius:6px;padding:9px 10px;font-size:12px;display:block}.progress-meter{background:#e6ece8;border-radius:999px;height:8px;overflow:hidden}.progress-meter span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--danger));min-width:0;height:100%;transition:width .24s;display:block}.progress-copy{display:block}@media (width<=1180px){.project-hero{padding-top:104px}.project-hero-preview{gap:18px}.app-shell{grid-template-columns:230px minmax(0,1fr)}.inspector{border-width:1px 0 0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);display:grid;overflow:visible}.api-panel{display:none}}@media (width<=780px){.project-home-brand{left:18px}.project-top-actions{right:18px}.project-hero,.project-library{padding-inline:18px}.project-hero{gap:24px;padding-top:118px}.project-hero-copy h1{font-size:48px}.project-hero-copy p{font-size:16px}.project-hero-preview{border-radius:18px;gap:12px;padding:10px}.preview-comparison{border-radius:16px;min-height:360px}.preview-divider span{width:44px;height:44px}.preview-thumbnail-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preview-thumbnail-row button{border-radius:14px;min-height:92px}.app-shell{height:auto;min-height:100svh;display:block}.left-rail,.inspector{border-width:0 0 1px;overflow:visible}.left-rail{gap:16px;padding:18px}.upload-drop{min-height:102px}.photo-list{scroll-snap-type:x proximity;grid-auto-columns:minmax(156px,1fr);grid-auto-flow:column;padding-bottom:4px;overflow-x:auto}.version-list{grid-auto-columns:minmax(164px,1fr);grid-auto-flow:column;max-height:none;padding-bottom:4px;overflow-x:auto}.photo-row,.version-row{scroll-snap-align:start}.photo-row{grid-template-columns:62px minmax(0,1fr) 30px}.version-row{grid-template-columns:22px 62px minmax(0,1fr) 30px}.photo-row img,.version-row img{width:62px;height:48px}.job-card{margin-top:0}.topbar{flex-direction:column;align-items:flex-start;padding:16px 18px 14px}.toolbar{justify-content:flex-start;width:100%}.canvas-stage{min-height:520px}.canvas-meta{border-radius:8px;width:auto;top:12px;left:12px;right:12px}.filmstrip{padding:0 16px}.compare-slider{min-width:150px}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inspector{padding:18px;display:flex}.preset{min-height:104px}.remove-preset-list{max-height:none}}@media (width<=520px){.brand-lockup{gap:10px}.brand-mark{width:40px;height:40px}.upload-drop{min-height:92px}.job-card{display:none}h1{font-size:24px}.toolbar button{min-width:38px}.toolbar .primary{min-width:auto}.filmstrip span:last-child{display:none}.compare-slider{min-width:122px}.compare-slider span{display:none}.compare-slider input{width:96px}.preset-panel,.remove-panel,.api-panel{padding:13px}.remove-group-tabs{grid-template-columns:1fr}.remove-preset-list button{grid-template-columns:64px 1fr}}@media (width<=360px){.preset-grid{grid-template-columns:1fr}}.app-shell.dark-mode{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090d0f;--surface:#111719;--surface-raised:#172022;--surface-soft:#1c282a;--ink:#edf5f2;--muted:#8fa09d;--line:#283639;--dark:#050707;--accent:#53c2b8;--accent-soft:#2f6e68;--danger:#ff7759;--amber:#e5a14b;background:var(--bg)}.app-shell.dark-mode.project-home{background:radial-gradient(circle at 50% 18%,#53c2b814,#0000 28%),linear-gradient(#030303 0%,#0b1112 100%)}.app-shell.dark-mode .project-hero-preview{background:#0d1315e6;box-shadow:0 34px 80px #0000006b,inset 0 0 0 1px #e2f2ed14}.app-shell.dark-mode .preview-comparison{box-shadow:0 18px 48px #00000057,inset 0 0 0 1px #e2f2ed14}.app-shell.dark-mode .preview-divider{background:#edf5f2c7}.app-shell.dark-mode .preview-divider span{color:var(--ink);background:#141c1ef5;border-color:#e2f2ed1a}.app-shell.dark-mode .preview-thumbnail-row button{border-color:#e2f2ed17;box-shadow:0 16px 34px #00000042}.app-shell.dark-mode .project-home-brand,.app-shell.dark-mode .preview-mode-pill,.app-shell.dark-mode .preview-after-tag{color:var(--ink)}.app-shell.dark-mode .preview-mode-pill,.app-shell.dark-mode .preview-after-tag{background:#111719e6;border-color:#e2f2ed1a}.app-shell.dark-mode .project-card,.app-shell.dark-mode .empty-projects{background:#12191bd1;border-color:#e2f2ed1a}.app-shell.dark-mode .project-open,.app-shell.dark-mode .project-return-button,.app-shell.dark-mode .rail-home-button,.app-shell.dark-mode .canvas-folder-open{color:var(--accent);background:#53c2b824}.app-shell.dark-mode .rail-home-button{border-color:#e2f2ed1a}.app-shell.dark-mode .project-name-row button,.app-shell.dark-mode .project-rename-row button{color:var(--ink);background:#edf5f21a}.app-shell.dark-mode .project-rename-row input{color:var(--ink);background:#edf5f212;border-color:#e2f2ed1f}.app-shell.dark-mode .canvas-folder-panel,.app-shell.dark-mode .canvas-folder-card,.app-shell.dark-mode .project-file-card{color:var(--ink);background:#12191bf0;border-color:#e2f2ed1f}.app-shell.dark-mode .canvas-folder-panel{box-shadow:0 32px 90px #0000006b}.app-shell.dark-mode .canvas-folder-panel-header button[aria-label]{color:var(--ink);background:#edf5f21a}.app-shell.dark-mode .canvas-folder-card.active{border-color:#53c2b86b;box-shadow:0 16px 34px #53c2b81f}.app-shell.dark-mode .project-file-card.selected{border-color:#53c2b86b;box-shadow:0 16px 30px #53c2b81f}.app-shell.dark-mode .project-file-card>button{background:#edf5f214}.app-shell.dark-mode .project-file-check,.app-shell.dark-mode .canvas-folder-trigger small{color:var(--ink);background:#edf5f21a}.app-shell.dark-mode .project-hero-actions .secondary,.app-shell.dark-mode .project-library-header button{color:var(--ink);background:#edf5f212;border-color:#e2f2ed1f}.app-shell.dark-mode .auth-entry-button,.app-shell.dark-mode .auth-user-pill,.app-shell.dark-mode .rail-auth-pill,.app-shell.dark-mode .auth-card{color:var(--ink);background:#12191bf5;border-color:#e2f2ed1f}.app-shell.dark-mode .auth-entry-notice,.app-shell.dark-mode .rail-auth-notice{color:#ffd2c7;background:#401a14e6;border-color:#ff775947;box-shadow:0 18px 38px #0000004d}.app-shell.dark-mode .auth-entry-notice strong{color:#ff9a82}.app-shell.dark-mode .account-menu{color:var(--ink);background:#12191bfa;border-color:#e2f2ed1f;box-shadow:0 24px 56px #0000005c}.app-shell.dark-mode .account-menu-head{border-color:#e2f2ed14}.app-shell.dark-mode .account-quota{background:#53c2b81f}.app-shell.dark-mode .account-menu button:hover{background:#edf5f214}.app-shell.dark-mode .auth-card input{color:var(--ink);background:#edf5f212;border-color:#e2f2ed1f}.app-shell.dark-mode .google-auth-button{color:var(--ink);background:#edf5f214;border-color:#e2f2ed1f;box-shadow:0 14px 28px #0000004d}.app-shell.dark-mode .google-auth-button:hover{background:#53c2b824;border-color:#53c2b873}.app-shell.dark-mode .auth-divider:before,.app-shell.dark-mode .auth-divider:after{background:#e2f2ed1a}.app-shell.dark-mode .auth-close,.app-shell.dark-mode .auth-user-pill button{color:var(--ink);background:#edf5f21a}.app-shell.dark-mode .left-rail,.app-shell.dark-mode .inspector,.app-shell.dark-mode .topbar{background:#111719eb;border-color:#e2f2ed14}.app-shell.dark-mode .theme-toggle{color:var(--ink);background:#edf5f212;border-color:#e2f2ed1f;box-shadow:0 14px 28px #00000052}.app-shell.dark-mode .theme-toggle:hover{color:var(--accent);background:#53c2b824;border-color:#53c2b873}.app-shell.dark-mode .canvas-folder-trigger{color:var(--ink);background:#111719db;border-color:#e2f2ed1a;box-shadow:0 16px 34px #00000057}.app-shell.dark-mode .canvas-folder-trigger:hover,.app-shell.dark-mode .canvas-folder-trigger[aria-expanded=true]{color:var(--accent);background:#53c2b824;border-color:#53c2b857}.app-shell.dark-mode .topbar{box-shadow:0 1px #e2f2ed0a}.app-shell.dark-mode .brand-mark{color:#091011;background:#eff9f5;box-shadow:0 14px 30px #00000052}.app-shell.dark-mode .upload-drop,.app-shell.dark-mode .folder-row,.app-shell.dark-mode .photo-row,.app-shell.dark-mode .version-row,.app-shell.dark-mode .queue-actions button,.app-shell.dark-mode .job-card,.app-shell.dark-mode .api-panel,.app-shell.dark-mode .prompt-library-panel,.app-shell.dark-mode .empty-queue,.app-shell.dark-mode .empty-prompt-state,.app-shell.dark-mode .preset,.app-shell.dark-mode .custom-prompt-entry,.app-shell.dark-mode .remove-panel,.app-shell.dark-mode .remove-group-tabs button,.app-shell.dark-mode .remove-preset-list button,.app-shell.dark-mode .prompt-image-modal-card,.app-shell.dark-mode .history-summary,.app-shell.dark-mode .history-detail,.app-shell.dark-mode .range-field,.app-shell.dark-mode .generate-summary{background:var(--surface);color:var(--ink);border-color:#e2f2ed1a}.app-shell.dark-mode .upload-drop,.app-shell.dark-mode .custom-prompt-entry,.app-shell.dark-mode .empty-prompt-state{border-color:#8fa09d6b}.app-shell.dark-mode .upload-drop:hover,.app-shell.dark-mode .photo-row:hover,.app-shell.dark-mode .version-row:hover,.app-shell.dark-mode .folder-row:hover,.app-shell.dark-mode .queue-actions button:hover,.app-shell.dark-mode .preset:hover{background:var(--surface-raised);color:var(--accent);border-color:#53c2b880;box-shadow:0 16px 34px #0000003d}.app-shell.dark-mode .photo-row.active,.app-shell.dark-mode .version-row.active,.app-shell.dark-mode .version-row.selected,.app-shell.dark-mode .preset.active,.app-shell.dark-mode .preset-tag-item>button.active,.app-shell.dark-mode .node-preset-strip button.active,.app-shell.dark-mode .prompt-list button:hover,.app-shell.dark-mode .folder-row em,.app-shell.dark-mode .custom-prompt-entry button,.app-shell.dark-mode .mode-switch button.active{color:var(--accent);background:#53c2b824;border-color:#53c2b873}.app-shell.dark-mode .queue-actions button.primary,.app-shell.dark-mode .remove-toggle,.app-shell.dark-mode .node-generate-button,.app-shell.dark-mode .prompt-send-button,.app-shell.dark-mode .generation-failure-card button,.app-shell.dark-mode .remove-button{color:#071011;background:#edf5f2;border-color:#edf5f2;box-shadow:0 16px 32px #00000052}.app-shell.dark-mode .preset-tag-item>button{color:var(--ink);background:#edf5f212;border-color:#e2f2ed1f}.app-shell.dark-mode .preset-tag-scroll.disabled .preset-tag-item>button{color:#edf5f247;background:#edf5f209;border-color:#e2f2ed0f}.app-shell.dark-mode .preset-tag-scroll.disabled .preset-tag-item>button svg{color:#edf5f23d}.app-shell.dark-mode .preset-prompt-popover,.app-shell.dark-mode .prompt-hover-card,.app-shell.dark-mode .canvas-context-menu,.app-shell.dark-mode .node-floating-toolbar,.app-shell.dark-mode .node-prompt-field,.app-shell.dark-mode .floating-save-prompt,.app-shell.dark-mode .canvas-preset-badge,.app-shell.dark-mode .canvas-connection-badge{color:var(--ink);background:#12191bf5;border-color:#e2f2ed1f;box-shadow:0 24px 64px #0000006b}.app-shell.dark-mode .preset-prompt-popover p,.app-shell.dark-mode .prompt-hover-card p,.app-shell.dark-mode .node-prompt-field textarea{color:var(--ink)}.app-shell.dark-mode .preset-prompt-popover>button,.app-shell.dark-mode .prompt-hover-footer>button{color:var(--ink);background:#edf5f20f;border-color:#e2f2ed14}.app-shell.dark-mode .preset-prompt-popover>button:hover,.app-shell.dark-mode .prompt-hover-footer>button:hover,.app-shell.dark-mode .node-floating-toolbar>button:hover,.app-shell.dark-mode .prompt-toolbar-item>button:hover,.app-shell.dark-mode .prompt-toolbar-item:hover>button,.app-shell.dark-mode .canvas-context-menu button:hover:not(:disabled){color:var(--accent);background:#53c2b824}.app-shell.dark-mode .node-floating-toolbar>button,.app-shell.dark-mode .prompt-toolbar-item>button,.app-shell.dark-mode .canvas-context-menu button,.app-shell.dark-mode .canvas-preset-badge button,.app-shell.dark-mode .canvas-connection-badge button{color:var(--ink)}.app-shell.dark-mode .prompt-hover-footer{background:#edf5f20d;border-color:#e2f2ed14}.app-shell.dark-mode .prompt-preset-chip{background:#53c2b824}.app-shell.dark-mode .canvas-connection-badge{color:var(--accent);background:#0e2323e0;border-color:#53c2b838}.app-shell.dark-mode .node-floating-toolbar>button.active{color:var(--accent);background:#53c2b829}.app-shell.dark-mode .node-connection-shadow{stroke:#53c2b829}.app-shell.dark-mode .node-connection-wire{stroke:#53c2b8b8}.app-shell.dark-mode .canvas-preset-badge button{background:#edf5f21a}.app-shell.dark-mode .canvas-preset-badge button:hover{background:#edf5f22e}.app-shell.dark-mode .infinite-canvas{background:radial-gradient(circle,#565c62b8 1.55px,#0000 2px),#030303;background-position:var(--canvas-pan-x) var(--canvas-pan-y), 0 0;background-size:24px 24px;box-shadow:inset 0 1px #e2f2ed0d}.app-shell.dark-mode .canvas-hover-field{background:radial-gradient(circle,#868d94b3 2.25px,#0000 2.85px);background-position:var(--canvas-pan-x) var(--canvas-pan-y);-webkit-mask-image:radial-gradient(circle at var(--canvas-hover-x) var(--canvas-hover-y), #000 0 82px, #000000c2 126px, transparent 210px);mask-image:radial-gradient(circle at var(--canvas-hover-x) var(--canvas-hover-y), #000 0 82px, #000000c2 126px, transparent 210px);-webkit-mask-image:radial-gradient(circle at var(--canvas-hover-x) var(--canvas-hover-y), #000 0 82px, #000000c2 126px, transparent 210px);background-size:24px 24px}.app-shell.dark-mode .infinite-canvas.is-hovering .canvas-hover-field{opacity:.78}.app-shell.dark-mode .canvas-meta{color:var(--muted);background:#0f1517e6;border-color:#e2f2ed1a;box-shadow:0 14px 34px #00000047}.app-shell.dark-mode .editor-canvas{background:#101619;box-shadow:0 24px 56px #00000057,0 0 0 1px #e2f2ed1f}.app-shell.dark-mode .editor-canvas.is-selected{box-shadow:0 28px 64px #0000006b,0 0 0 1.5px #eef8f4}.app-shell.dark-mode .handle{background:#f2fbf7;box-shadow:0 0 0 1px #050707c2}.app-shell.dark-mode .selection-marquee{border-color:var(--accent);background:#53c2b82e;box-shadow:inset 0 0 0 1px #edf5f23d}.app-shell.dark-mode .pending-generation-card{background:linear-gradient(135deg, #53c2b81f, #ff775917), var(--surface)}.app-shell.dark-mode .pending-generation-card.failed,.app-shell.dark-mode .generation-failure-card{color:var(--ink);background:linear-gradient(135deg,#ff775924,#edf5f209),#171012;border-color:#ff775947}.app-shell.dark-mode .generation-failure-card.login-required{background:linear-gradient(135deg,#53c2b824,#edf5f20b),#111719;border-color:#53c2b84d;box-shadow:0 18px 42px #0000005c,inset 3px 0 #53c2b8e0}.app-shell.dark-mode .generation-failure-card.login-required button{background:var(--accent);color:#06100f}.app-shell.dark-mode .pending-progress{background:#edf5f21a;box-shadow:inset 0 1px 2px #0000003d}.app-shell.dark-mode .output-ratio-strip{background:#14181deb;border-color:#edf5f214;box-shadow:0 16px 42px #00000057}.app-shell.dark-mode .output-ratio-options button{color:#edf5f2d1}.app-shell.dark-mode .output-ratio-options button:hover,.app-shell.dark-mode .output-ratio-options button.active{color:#fff;background:#ffffff1a;border-color:#0000}.app-shell.dark-mode .fullscreen-image-viewer{background:#030506d6}.app-shell.dark-mode .fullscreen-image-viewer button{color:#071011;background:#edf5f2}.app-shell.dark-mode .filmstrip{background:#090d0feb;border-color:#e2f2ed14}.app-shell.dark-mode .filmstrip button,.app-shell.dark-mode .compare-slider,.app-shell.dark-mode .mode-switch{background:var(--surface);color:var(--ink);border-color:#e2f2ed1a}.app-shell.dark-mode .filmstrip .active{color:var(--accent);background:#53c2b824}.app-shell.dark-mode .prompt-image-modal{background:#020405b8}.app-shell.dark-mode .prompt-image-modal-card{box-shadow:0 28px 80px #0000006b}.app-shell.dark-mode .prompt-image-modal-card figure,.app-shell.dark-mode .prompt-list button,.app-shell.dark-mode .prompt-history-list article{background:var(--surface-raised)}.app-shell.dark-mode .remove-toggle:disabled,.app-shell.dark-mode .prompt-send-button:disabled,.app-shell.dark-mode .queue-actions button:disabled{color:#edf5f275;background:#344043;border-color:#344043}
