@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fbf8f5;--surface:#fff;--surface-2:#f6f1ec;--surface-3:#eee6dd;--line:#ece3d9;--line-strong:#dccdbf;--text:#1d1a17;--muted:#6e6760;--accent:#f26b1d;--accent-hover:#e05a0f;--accent-ink:#fff;--accent-soft:#fff0e5;--accent-line:#fbc49e;--good:#11845f;--good-soft:#dcf3ea;--bad:#b4480f;--bad-soft:#fbe9dc;--danger:#d23b2f;--logo-dot:#1d1a17;--paper:#fff;--shadow-sm:0 1px 2px #3c1e0a0f;--shadow:0 1px 2px #3c1e0a0d, 0 8px 24px -10px #3c1e0a29;--shadow-lg:0 24px 60px -20px #3c190559;--radius:14px;--radius-sm:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141110;--surface:#1d1917;--surface-2:#26211e;--surface-3:#302924;--line:#332c27;--line-strong:#463c35;--text:#f4efe9;--muted:#a89f96;--accent:#ff8a3d;--accent-hover:#ffa064;--accent-ink:#1c0d04;--accent-soft:#3a2416;--accent-line:#74401f;--good:#4cd6a3;--good-soft:#16332a;--bad:#ffa45c;--bad-soft:#3a2616;--danger:#ff7a6e;--logo-dot:#141110;--paper:#fbfaf7;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px -10px #0009;--shadow-lg:0 24px 60px -20px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#141110;--surface:#1d1917;--surface-2:#26211e;--surface-3:#302924;--line:#332c27;--line-strong:#463c35;--text:#f4efe9;--muted:#a89f96;--accent:#ff8a3d;--accent-hover:#ffa064;--accent-ink:#1c0d04;--accent-soft:#3a2416;--accent-line:#74401f;--good:#4cd6a3;--good-soft:#16332a;--bad:#ffa45c;--bad-soft:#3a2616;--danger:#ff7a6e;--logo-dot:#141110;--paper:#fbfaf7;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px -10px #0009;--shadow-lg:0 24px 60px -20px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;font:15px/1.5 Plus Jakarta Sans Variable,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;display:flex;overflow-x:hidden}#app{display:contents}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{letter-spacing:-.02em;margin:0}.muted{color:var(--muted)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn{border:1px solid var(--line-strong);background:var(--surface);white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:disabled{opacity:.45}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.small{border-radius:8px;height:32px;padding:0 11px;font-size:13px}.btn.big{border-radius:12px;height:50px;font-size:16px}.btn.block{width:100%}.icon-btn{width:36px;height:36px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:10px;flex:none;place-items:center;padding:0;text-decoration:none;transition:background .15s;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn.small{width:26px;height:26px;color:var(--muted);border-radius:7px}.icon-btn.danger:hover{background:var(--accent-soft);color:var(--accent)}.link-btn{color:var(--accent);background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;font-size:14px;font-weight:600;display:inline-flex}.link-btn:hover{text-decoration:underline}.topbar-wrap{z-index:30;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0}.topbar{align-items:center;gap:28px;width:100%;max-width:1280px;height:68px;margin:0 auto;padding:0 24px;display:flex}.brand{letter-spacing:-.03em;flex:none;align-items:center;gap:11px;font-size:22px;font-weight:800;text-decoration:none;display:inline-flex}.brand b{font-weight:800}.mainnav{align-items:center;gap:4px;display:flex}.mainnav a{white-space:nowrap;border-radius:11px;align-items:center;gap:8px;height:40px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.mainnav a:hover{background:var(--surface-2)}.mainnav a.on{background:var(--accent-soft);color:var(--accent)}.topbar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.divider{background:var(--line-strong);width:1px;height:22px;margin:0 4px}.privacy-pill{border:1px solid var(--line-strong);background:var(--surface);height:36px;color:var(--muted);border-radius:10px;align-items:center;gap:7px;margin-right:4px;padding:0 12px;font-size:13.5px;font-weight:600;display:inline-flex}.privacy-pill svg{color:var(--good)}.privacy-pill:hover{border-color:var(--accent-line);color:var(--text)}.lang-btn{letter-spacing:.04em;font-size:13px;font-weight:800}.when-dark{display:none}:root[data-theme=dark] .when-dark{display:block}:root[data-theme=dark] .when-light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .when-dark{display:block}:root:not([data-theme=light]) .when-light{display:none}}.overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#140f0573;grid-template-columns:minmax(0,1fr);place-items:center;padding:16px;animation:.15s ease-out fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)scale(.98)}}.dialog{background:var(--surface);border:1px solid var(--line);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);border-radius:18px;padding:24px;animation:.2s ease-out rise;position:relative;overflow:auto}.dialog-close{position:absolute;top:12px;right:12px}.privacy h2{margin:14px 0 8px;font-size:21px}.privacy h3{margin:18px 0 6px;font-size:15px}.privacy p,.privacy ol{color:var(--muted);margin:0}.privacy ol{margin-bottom:20px;padding-left:20px}.privacy li+li{margin-top:6px}.privacy-icon{background:var(--good-soft);width:52px;height:52px;color:var(--good);border-radius:14px;place-items:center;display:grid}.home,.work,.subpage{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:0 24px 40px;position:relative}.home:before,.home:after{content:"";z-index:-1;pointer-events:none;filter:blur(2px);border-radius:50%;position:fixed}.home:before{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%);width:360px;height:360px;top:-160px;left:-200px}.home:after{background:radial-gradient(circle, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%);width:520px;height:520px;top:38vh;right:-300px}.hero{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);align-items:center;gap:24px;padding:34px 0 22px;display:grid}.eyebrow{color:var(--accent);letter-spacing:.1em;align-items:center;gap:12px;margin:0 0 16px;font-size:13.5px;font-weight:800;display:flex}.eyebrow:before{content:"";background:var(--accent);border-radius:4px;width:24px;height:4px}.hero h1{letter-spacing:-.04em;font-size:clamp(32px,3.3vw,50px);font-weight:800;line-height:1.06}.hero h1 em{color:var(--accent);font-style:normal;display:block}.hero-sub{max-width:560px;color:var(--muted);text-wrap:pretty;margin:18px 0 0;font-size:clamp(16px,1.6vw,19px);line-height:1.5}.hero-badges{flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none;display:flex}.hero-badges li{border:1px solid var(--line-strong);background:var(--surface);height:42px;box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:8px;padding:0 16px;font-size:14.5px;font-weight:650;display:inline-flex}.hero-badges svg{color:var(--accent)}.hero-art{width:100%;height:auto;max-height:380px;overflow:visible}.dropzone{border:2px dashed var(--accent-line);background:var(--surface);text-align:center;isolation:isolate;border-radius:22px;flex-direction:column;align-items:center;gap:6px;width:100%;padding:34px 20px;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.dropzone:hover{border-color:var(--accent)}.hero-drop{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 70%, var(--surface)), var(--surface))}.hero-drop:before{content:"";z-index:-1;background-image:linear-gradient(color-mix(in srgb, var(--accent) 22%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--accent) 22%, transparent) 1px, transparent 1px);transform-origin:bottom;background-size:44px 44px;height:120%;position:absolute;bottom:-40%;left:-20%;right:-20%;transform:perspective(420px)rotateX(58deg);-webkit-mask-image:linear-gradient(#0000 25%,#000 90%);mask-image:linear-gradient(#0000 25%,#000 90%)}.dropzone b{letter-spacing:-.02em;margin-top:8px;font-size:22px}.dropzone small{color:var(--muted);font-size:14.5px}.dropzone .btn{pointer-events:none;margin-top:14px}.hero-drop .btn{background:linear-gradient(180deg, #ff8a3d, var(--accent));height:46px;box-shadow:0 10px 22px -10px var(--accent);border-radius:12px;padding:0 24px;font-size:16px}.dropzone.tall{justify-content:center;min-height:360px}.dropzone-icon{border:1px solid var(--accent-line);background:var(--accent-soft);width:56px;height:56px;color:var(--accent);box-shadow:var(--shadow-sm);border-radius:15px;place-items:center;display:grid}.section{margin-top:40px}.section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-head h2{align-items:center;gap:12px;font-size:24px;font-weight:800;display:inline-flex}.section-head h2 svg{color:var(--accent)}.search{border:1px solid var(--line-strong);background:var(--surface);width:min(340px,100%);height:46px;color:var(--muted);box-shadow:var(--shadow-sm);border-radius:13px;align-items:center;gap:9px;padding:0 10px 0 14px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.search input{min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;flex:1}.search input::-webkit-search-cancel-button{display:none}kbd{border:1px solid var(--line-strong);background:var(--surface-2);min-width:24px;height:24px;color:var(--muted);border-radius:7px;place-items:center;padding:0 6px;font:600 12px/1 inherit;display:inline-grid}.tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.tool{border:1px solid var(--line);background:var(--surface);color:inherit;box-shadow:var(--shadow-sm);border-radius:18px;align-items:flex-start;gap:16px;padding:22px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.tool:hover{border-color:var(--accent-line);box-shadow:var(--shadow);transform:translateY(-2px)}.tool-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:15px;flex:none;place-items:center;display:grid}.tool-text{flex-direction:column;gap:6px;min-width:0;display:flex}.tool-text b{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:8px;font-size:18px;display:flex}.tool-text small{color:var(--muted);font-size:14.5px;line-height:1.45}.tool.featured{border-color:var(--accent-line);background:linear-gradient(120deg, var(--accent-soft), color-mix(in srgb, var(--accent-soft) 35%, var(--surface)));grid-column:span 2;align-items:center}.tool.featured .tool-icon{border:1px solid var(--accent-line);background:color-mix(in srgb, var(--accent) 14%, var(--surface))}.tool-badge{background:var(--accent);color:var(--accent-ink);letter-spacing:0;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.mini-flow{color:var(--accent);flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.mini-flow>span{border:1px solid var(--accent-line);background:color-mix(in srgb, var(--surface) 60%, var(--accent-soft));width:50px;height:50px;box-shadow:var(--shadow-sm);border-radius:13px;place-items:center;display:grid}.no-match{color:var(--muted);text-align:center;grid-column:1/-1;margin:8px 0}.trust{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px;padding-top:28px;display:grid}.trust>*{align-items:center;gap:16px;padding:4px 24px;text-decoration:none;display:flex}.trust>:first-child{padding-left:8px}.trust>*+*{border-left:1px solid var(--line-strong)}.trust svg{color:var(--accent);flex:none}.trust span{flex-direction:column;gap:2px;display:flex}.trust b{font-size:16px}.trust small{color:var(--muted);font-size:13.5px}.trust a:hover b{color:var(--accent)}.loaded{border:1px solid var(--line);background:var(--surface);border-radius:14px;margin-top:12px;padding:14px}.loaded-files{flex-wrap:wrap;gap:8px;display:flex}.loaded p{color:var(--muted);margin:10px 2px 0}.loaded p b{color:var(--text)}.work-head{margin:22px 0 16px}.work-head h1{font-size:28px;font-weight:800}.work-head p{color:var(--muted);margin:2px 0 0}.work-body{grid-template-columns:minmax(0,1fr) 384px;align-items:start;gap:18px;display:grid}.board{min-width:0}.sources{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.source{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px;max-width:100%;padding:6px 6px 6px 10px;font-size:13px;display:inline-flex}.source svg{color:var(--muted);flex:none}.source-dot{background:var(--src);border-radius:50%;flex:none;width:9px;height:9px}.source-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-weight:600;overflow:hidden}.source-meta{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.source.error{border-color:var(--accent-line)}.source.error .source-meta{color:var(--accent)}.source.locked{border-color:var(--accent-line);background:var(--accent-soft)}.unlock{align-items:center;gap:6px;display:inline-flex}.unlock input{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;width:150px;height:30px;padding:0 10px}.unlock input.invalid{border-color:var(--accent)}.unlock input.invalid::placeholder{color:var(--accent)}.toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.toolbar-group{align-items:center;gap:2px;display:flex}.toolbar-group.sel{background:var(--accent-soft);border-radius:10px;padding:2px 4px 2px 10px}.sel-count{color:var(--accent);margin-right:4px;font-size:13px;font-weight:700}.toolbar-group.end{margin-left:auto}.grid{background:var(--surface-2);border:1px solid var(--line);border-radius:18px;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px;min-height:200px;padding:16px;display:grid}.page{cursor:grab;-webkit-user-select:none;user-select:none;outline-offset:3px;border-radius:12px;flex-direction:column;gap:7px;display:flex;position:relative}.page-paper{aspect-ratio:3/4;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:10px;place-items:center;transition:box-shadow .15s,border-color .15s,transform .15s;display:grid;position:relative;overflow:hidden}.page-paper:after{content:"";background:var(--src);height:3px;position:absolute;bottom:0;left:0;right:0}.page:hover .page-paper{box-shadow:var(--shadow);transform:translateY(-2px)}.page-paper img{background:var(--paper);pointer-events:none;max-width:calc(100% - 14px);max-height:calc(100% - 14px);transition:transform .25s cubic-bezier(.3,1.3,.6,1);box-shadow:0 1px 3px #0000002e}.page-skeleton{background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%);background-size:300% 100%;border-radius:4px;width:70%;height:80%;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.page-check{border:2px solid var(--line-strong);background:var(--surface);color:#0000;opacity:0;border-radius:50%;place-items:center;width:22px;height:22px;transition:opacity .15s;display:grid;position:absolute;top:8px;left:8px}.page:hover .page-check,.page.selected .page-check{opacity:1}.page.selected .page-check{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.page.selected .page-paper{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.page-actions{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);box-shadow:var(--shadow-sm);opacity:0;border-radius:9px;gap:2px;padding:3px;transition:opacity .15s,transform .15s;display:flex;position:absolute;bottom:9px;right:6px;transform:translateY(4px)}.page:hover .page-actions,.page:focus-within .page-actions{opacity:1;transform:none}@media (hover:none){.page-actions,.page-check{opacity:1;transform:none}}.page-actions button{background:0 0;border:0;border-radius:7px;place-items:center;width:28px;height:28px;padding:0;display:grid}.page-actions button:hover{background:var(--surface-2)}.page-actions button:last-child:hover{color:var(--accent)}.page-caption{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.page-caption b{background:var(--surface);min-width:22px;height:20px;color:var(--text);border:1px solid var(--line);border-radius:6px;place-items:center;padding:0 5px;font-size:11.5px;display:grid}.page-caption span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page.ghost{opacity:.35}.page.chosen .page-paper{box-shadow:var(--shadow-lg)}.board-hint{color:var(--muted);margin:10px 4px 0;font-size:12.5px}.steps{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;flex-direction:column;max-height:calc(100vh - 100px);display:flex;position:sticky;top:84px;overflow:auto}.step{border-bottom:1px solid var(--line);padding:16px 18px 18px;position:relative}.step-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.step-n{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);z-index:1;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid;position:relative}.step-head h3{font-size:15.5px;font-weight:750}.step-summary{color:var(--muted);background:var(--surface-2);border-radius:6px;margin-left:auto;padding:2px 8px;font-size:12px;font-weight:700}.step-body{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{color:var(--muted);justify-content:space-between;font-size:12.5px;font-weight:700;display:flex}.field-label b{color:var(--text)}.field-hint,.hint{color:var(--muted);margin:-6px 0 0;font-size:12.5px;line-height:1.45}.field-error{color:var(--accent);font-size:12.5px;font-weight:600}.segmented{background:var(--surface-2);border-radius:11px;gap:2px;padding:3px;display:flex}.segmented button{min-width:0;height:32px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:8px;flex:auto;padding:0 8px;font-size:13px;font-weight:650;transition:background .15s,color .15s;overflow:hidden}.segmented button:hover{color:var(--text)}.segmented button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.segmented.small button{height:28px;font-size:12.5px}.slider{appearance:none;background:0 0;width:100%;height:22px}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--pct), var(--surface-3) var(--pct));border-radius:99px;height:6px}.slider::-moz-range-track{background:linear-gradient(to right, var(--accent) var(--pct), var(--surface-3) var(--pct));border-radius:99px;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--surface);border:2px solid var(--accent);width:20px;height:20px;box-shadow:var(--shadow-sm);border-radius:50%;margin-top:-7px}.slider::-moz-range-thumb{background:var(--surface);border:2px solid var(--accent);border-radius:50%;width:16px;height:16px}.custom{background:var(--surface-2);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.input{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;align-items:center;height:40px;display:flex;overflow:hidden}.input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.input.invalid{border-color:var(--accent)}.input input{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;padding:0 12px}.input input::placeholder{color:var(--muted);opacity:.8}.suffix{color:var(--muted);padding-right:12px}.choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:11px;transition:border-color .15s,background .15s;display:flex}.choice:hover{border-color:var(--line-strong)}.choice.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.choice-icon{background:var(--surface-2);width:30px;height:30px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.choice.on .choice-icon{background:var(--accent);color:var(--accent-ink)}.choice-text{flex-direction:column;line-height:1.3;display:flex}.choice-text b{font-size:13.5px}.choice-text small{color:var(--muted);font-size:11.5px}.run{z-index:2;background:var(--surface);border-radius:0 0 18px 18px;flex-direction:column;align-items:center;gap:10px;padding:16px 18px;display:flex;position:sticky;bottom:0}.run-note{color:var(--muted);margin:0;font-size:13px}.progress{background:var(--surface-2);border-radius:8px;width:100%;height:26px;position:relative;overflow:hidden}.progress span{background:var(--accent-soft);border-right:2px solid var(--accent);transition:width .2s;position:absolute;inset:0 auto 0 0}.progress small{white-space:nowrap;text-overflow:ellipsis;padding:0 10px;font-size:12.5px;font-weight:600;line-height:26px;display:block;position:relative;overflow:hidden}.recipe-form{gap:6px;width:100%;display:flex}.recipe-form input{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;flex:1;min-width:0;height:32px;padding:0 10px;font-size:13px}.results{width:min(620px,100%)}.results-head{align-items:center;gap:14px;padding-right:32px;display:flex}.results-head h2{font-size:22px}.results-head p{color:var(--muted);margin:2px 0 0}.results-head p b{color:var(--text)}.results-icon{background:var(--good-soft);width:50px;height:50px;color:var(--good);border-radius:14px;flex:none;place-items:center;display:grid}.delta{border-radius:999px;padding:1px 8px;font-size:12.5px;font-weight:700;display:inline-block}.delta.good{background:var(--good-soft);color:var(--good)}.delta.bad{background:var(--bad-soft);color:var(--bad)}.warnings{background:var(--bad-soft);color:var(--bad);border-radius:12px;margin:16px 0 0;padding:10px 12px;font-size:13px;list-style:none}.warnings li{gap:8px;display:flex}.warnings svg{flex:none;margin-top:2px}.result-list{border:1px solid var(--line);border-radius:12px;max-height:46vh;margin:18px 0;padding:0;list-style:none;overflow:auto}.result-list li{align-items:center;gap:10px;padding:10px 12px;display:flex}.result-list li+li{border-top:1px solid var(--line)}.result-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.result-icon.image{color:#2f7de1;background:#2f7de126}.result-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.result-text b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.result-text small{color:var(--muted);font-size:12.5px}.results-foot{flex-wrap:wrap;gap:8px;display:flex}.results-foot .btn.primary{flex:1}.footer{color:var(--muted);justify-content:center;gap:8px;padding:20px 16px 28px;font-size:13px;display:flex}.footer a{text-decoration:none}.footer a:hover{color:var(--text)}.drop-overlay{z-index:60;background:color-mix(in srgb, var(--accent) 14%, #0a050066);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;place-items:center;padding:16px;animation:.12s fade;display:grid;position:fixed;inset:0}.drop-overlay div{border:2px dashed var(--accent);background:var(--surface);color:var(--accent);box-shadow:var(--shadow-lg);border-radius:24px;flex-direction:column;align-items:center;gap:12px;padding:40px 56px;font-size:18px;display:flex}.toasts{z-index:70;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(440px,100% - 32px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;animation:.2s ease-out rise;display:flex}.toast.error svg{color:var(--accent)}@media (max-width:980px){.work-body{grid-template-columns:1fr}.steps{max-height:none;position:static;overflow:visible}.run{position:sticky;bottom:0;box-shadow:0 -10px 24px -16px #0000004d}}@media (max-width:720px){.hide-sm,.privacy-pill span{display:none}.privacy-pill{justify-content:center;width:36px;padding:0}.grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;padding:10px}.toolbar-group.end{margin-left:0}.choices{grid-template-columns:1fr}.choice{flex-direction:row;align-items:center}.dialog{padding:20px 16px}.result-list li{flex-wrap:wrap}.result-text{flex-basis:calc(100% - 46px)}.result-list .icon-btn{margin-left:46px}}.seo-static{max-width:760px;margin:0 auto;padding:48px 16px}.work.wide{max-width:1280px}.builder{grid-template-columns:240px minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.palette,.preview{border:1px solid var(--line);background:var(--surface);border-radius:18px;max-height:calc(100vh - 100px);padding:16px;position:sticky;top:84px;overflow:auto}.palette h2,.preview h2{align-items:center;gap:8px;font-size:15.5px;display:flex}.preview h2 .step-summary{margin-left:auto}.palette>.hint,.preview>.hint{margin:6px 0 0}.palette-group h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:16px 0 6px;font-size:11.5px}.palette-list{flex-direction:column;gap:6px;display:flex}.palette-item{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:grab;border-radius:11px;align-items:center;gap:10px;width:100%;padding:8px;transition:border-color .15s,background .15s,transform .1s;display:flex}.palette-item:hover{border-color:var(--accent-line);background:var(--accent-soft)}.palette-item:active{cursor:grabbing}.palette-icon,.fnode-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.palette-text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.palette-text b{font-size:13.5px}.palette-text small{color:var(--muted);font-size:11.5px}.palette-add{color:var(--muted);opacity:0;flex:none;transition:opacity .15s}.palette-item:hover .palette-add{opacity:1}.canvas{border:1px solid var(--line);background-color:var(--surface-2);background-image:radial-gradient(var(--line-strong) 1px, transparent 1px);background-size:18px 18px;border-radius:20px;flex-direction:column;align-items:center;min-width:0;padding:18px 16px 24px;display:flex}.canvas>*,.fnodes{width:100%;max-width:520px}.fnodes{flex-direction:column;align-items:stretch;display:flex}.fnodes.empty{min-height:120px}.flow-empty{border:2px dashed var(--line-strong);background:color-mix(in srgb, var(--surface) 70%, transparent);min-height:120px;color:var(--muted);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:13.5px;display:flex}.fnodes .palette-item{opacity:.6}.fnode{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:16px;position:relative}.fnode.has-error{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), var(--shadow)}.fnode.has-warn{border-color:color-mix(in srgb, var(--bad) 55%, transparent)}.fnode.output{border-color:var(--accent-line)}.fnode-head{align-items:center;gap:8px;padding:10px 10px 10px 8px;display:flex}.fixed .fnode-head{padding-left:12px}.fnode-icon.solid{background:var(--accent);color:var(--accent-ink)}.fnode-grip{width:20px;height:32px;color:var(--muted);cursor:grab;opacity:.6;place-items:center;display:grid}.fnode-grip:hover{opacity:1}.fnode-title{background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;min-width:0;padding:4px 6px;font-size:14.5px;display:inline-flex}button.fnode-title:hover{background:var(--surface-2)}.fnode-title.static{padding-left:2px}.fnode-title svg{color:var(--muted);transition:transform .15s}.fnode-title svg.rot{transform:rotate(-90deg)}.fnode-stats{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:6px;margin-left:auto;padding:2px 8px;font-size:12px;font-weight:700}.fnode-body{flex-direction:column;gap:12px;padding:2px 16px 16px;display:flex}.fnode-msg{align-items:flex-start;gap:6px;margin:-6px 16px 14px;font-size:12.5px;font-weight:600;display:flex}.fnode-msg svg{flex:none;margin-top:2px}.fnode-msg.error{color:var(--accent)}.fnode-msg.warn{color:var(--bad)}.fnode-ghost{opacity:.4}.dropzone.compact{border-radius:14px;padding:20px 16px}.dropzone.compact b{font-size:15px}.dropzone.compact .dropzone-icon{border-radius:13px;width:44px;height:44px}.input-files{flex-direction:column;gap:6px;display:flex}.input-files .source{cursor:grab}.input-files .source-name{flex:1;max-width:none}.input-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.input-actions .hint{margin:0}.connector{z-index:1;justify-content:center;height:44px;display:flex;position:relative}.connector:before{content:"";background:var(--accent-line);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:50%}.connector.open{z-index:30}.connector.line{height:28px}.connector-plus{border:1px solid var(--accent-line);background:var(--surface);width:26px;height:26px;color:var(--accent);box-shadow:var(--shadow-sm);border-radius:50%;align-self:center;place-items:center;padding:0;transition:transform .15s,background .15s;display:grid;position:relative}.connector-plus:hover,.connector.open .connector-plus{background:var(--accent);color:var(--accent-ink);transform:scale(1.1)}.insert-menu{z-index:20;border:1px solid var(--line);background:var(--surface);width:min(360px,100vw - 48px);box-shadow:var(--shadow-lg);border-radius:14px;padding:10px;animation:.15s ease-out rise;position:absolute;top:38px;left:50%;transform:translate(-50%)}.insert-menu small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:6px 4px 4px;font-size:11px;font-weight:700;display:block}.insert-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.insert-grid button{text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:8px;font-size:13px;font-weight:600;display:flex}.insert-grid button svg{color:var(--accent);flex:none}.insert-grid button:hover{background:var(--surface-2)}.output-summary{margin:0;font-weight:700}.output-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.link-btn.muted{color:var(--muted)}.link-btn:disabled{opacity:.45;text-decoration:none}.preview-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.preview-list li{border:1px solid var(--line);border-radius:12px;padding:10px}.preview-name{align-items:center;gap:6px;min-width:0;margin-bottom:8px;font-size:13px;display:flex}.preview-name svg{color:var(--accent);flex:none}.preview-name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-name small{color:var(--muted);white-space:nowrap;margin-left:auto}.strip{gap:6px;display:flex;overflow:hidden}.mini{background:var(--surface-2);border-bottom:2px solid var(--src,var(--line));border-radius:5px;flex:none;place-items:center;width:38px;height:50px;display:grid;position:relative;overflow:hidden}.mini img{background:var(--paper);max-width:100%;max-height:100%}.mini .page-skeleton{width:80%;height:80%}.mini.more{color:var(--muted);border-bottom-color:#0000;font-size:11.5px;font-weight:700}.preview-foot{margin:12px 0 0}@media (max-width:1180px){.builder{grid-template-columns:230px minmax(0,1fr)}.preview{grid-column:1/-1;max-height:none;position:static}}@media (max-width:760px){.builder{grid-template-columns:1fr}.palette{order:2;max-height:none;position:static}.canvas{order:1;padding:14px 10px 18px}.preview{order:3}.palette-list{grid-template-columns:1fr 1fr;display:grid}.palette-text small,.palette-add{display:none}}.work-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.saved{flex:none;position:relative}.saved-btn{max-width:320px}.saved-btn svg:first-child{color:var(--accent)}.saved-btn-label{text-overflow:ellipsis;overflow:hidden}.saved-btn .flip{transform:rotate(180deg)}.count{background:var(--accent-soft);min-width:20px;height:20px;color:var(--accent);border-radius:999px;place-items:center;padding:0 6px;font-size:11.5px;font-weight:800;display:grid}.saved-pop{z-index:40;border:1px solid var(--line);background:var(--surface);width:min(340px,100vw - 32px);box-shadow:var(--shadow-lg);border-radius:14px;padding:12px;animation:.15s ease-out rise;position:absolute;top:calc(100% + 8px);right:0}.saved-pop h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:2px 4px 8px;font-size:11.5px;font-weight:700}.saved-pop ul{max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.saved-pop li{border-radius:10px;align-items:center;gap:4px;display:flex}.saved-pop li.on{background:var(--accent-soft)}.saved-item{text-align:left;background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:0;padding:9px 10px;display:flex}.saved-pop li:not(.on) .saved-item:hover{background:var(--surface-2)}.saved-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.saved-item small:not(.dirty){color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.saved-pop .hint{margin:0 4px 4px}.dirty{background:var(--bad-soft);color:var(--bad);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700}.save-actions{flex-wrap:wrap;gap:4px 14px;display:inline-flex}@media (max-width:760px){.work-head{flex-direction:column;align-items:stretch}.saved-btn{justify-content:flex-start;width:100%;max-width:none}.saved-btn>svg:last-child{margin-left:auto}.saved-pop{width:auto;left:0;right:0}}.subpage.narrow{max-width:820px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin:30px 0 22px;display:flex}.page-head h1,.work-head h1{font-size:30px;font-weight:800}.page-head p{max-width:620px;color:var(--muted);margin:4px 0 0}.notice{background:var(--accent-soft);color:var(--text);border-radius:12px;align-items:center;gap:10px;margin:0 0 18px;padding:12px 14px;font-size:14px;display:flex}.notice svg{color:var(--accent);flex:none}.notice a{color:var(--accent);font-weight:700}.empty-state{border:2px dashed var(--line-strong);text-align:center;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:56px 20px;display:flex}.empty-state b{margin-top:8px;font-size:18px}.empty-state small{color:var(--muted)}.empty-state .btn{margin-top:14px}.empty-icon{background:var(--accent-soft);width:60px;height:60px;color:var(--accent);border-radius:16px;place-items:center;display:grid}.h-group h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px;font-size:13px;font-weight:700}.h-group>ul{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.h-entry{align-items:flex-start;gap:14px;padding:16px;display:flex}.h-entry+.h-entry{border-top:1px solid var(--line)}.h-icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.h-main{flex:1;min-width:0}.h-title{align-items:baseline;gap:10px;display:flex}.h-title b{font-size:15.5px}.h-title .muted{font-size:13px}.h-sum{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:3px 0 0;font-size:13.5px;display:flex}.h-files{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.h-files li{background:var(--surface-2);text-overflow:ellipsis;white-space:nowrap;border-radius:7px;max-width:260px;padding:3px 9px;font-size:12.5px;font-weight:600;overflow:hidden}.h-files li.more{color:var(--muted)}.h-actions{flex:none;align-items:center;gap:6px;display:flex}.hint.center{text-align:center;margin-top:18px}.s-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:18px;margin-bottom:16px;padding:20px}.s-card h2{align-items:center;gap:10px;margin-bottom:14px;font-size:17px;display:flex}.s-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:10px;place-items:center;display:grid}.s-body{flex-direction:column;display:flex}.s-row,.switch-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.s-body>*+*{border-top:1px solid var(--line)}.switch-text{flex-direction:column;gap:2px;min-width:0;display:flex}.switch-text b{font-size:14.5px}.switch-text small{color:var(--muted);font-size:13px}.s-control{flex:none}.s-control .segmented{min-width:240px}.s-text{color:var(--muted);margin:0 0 10px;font-size:14px}.switch{appearance:none;background:var(--surface-3);cursor:pointer;border-radius:999px;flex:none;width:44px;height:26px;margin:0;transition:background .18s;position:relative}.switch:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--accent)}.switch:checked:before{transform:translate(18px)}.btn.danger{border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent)}.btn:disabled:not(.primary){opacity:.5}@media (max-width:1100px){.tools{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar{gap:16px}.mainnav a{padding:0 11px}}@media (max-width:900px){.topbar{flex-wrap:wrap;row-gap:8px;height:auto;padding:10px 16px 8px}.mainnav{scrollbar-width:none;order:3;width:calc(100% + 32px);margin:0 -16px;padding:0 12px;overflow-x:auto}.mainnav::-webkit-scrollbar{display:none}.steps,.palette,.preview{top:120px}.hero{grid-template-columns:1fr;padding-top:22px}.hero-art{order:-1;max-height:260px}.tools{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-flow{display:none}.trust{grid-template-columns:1fr;gap:18px}.trust>*{padding:0}.trust>*+*{border-left:0}}@media (max-width:600px){.home,.work,.subpage{padding:0 16px 32px}.tools{grid-template-columns:1fr}.tool.featured{grid-column:auto}.section-head{flex-direction:column;align-items:stretch}.search{width:100%}.search kbd,.divider{display:none}.page-head{flex-direction:column;align-items:flex-start}.s-row{flex-direction:column;align-items:stretch}.s-control .segmented{min-width:0}.h-entry{flex-wrap:wrap}.h-actions{width:100%;padding-left:58px}.mainnav{gap:2px;width:calc(100% + 32px);padding:0 8px}.mainnav a{flex-direction:column;flex:1;gap:3px;height:52px;padding:0 4px;font-size:12px}.hero h1{font-size:clamp(30px,8.4vw,40px)}}.tools.featured-row{grid-template-columns:1fr;margin-bottom:8px}.tools.featured-row .tool.featured{grid-column:auto}.tool-group{margin-top:26px}.group-title{align-items:center;gap:10px;margin:0 0 14px;font-size:18px;font-weight:800;display:flex}.group-title span{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 9px;font-size:12.5px}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.readout{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:9px;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:8px 10px;font-size:12.5px;font-weight:650;display:flex}.readout.ok{background:var(--good-soft);color:var(--good)}.presets{grid-template-columns:1fr 1fr;gap:6px;display:grid}.presets button,.chips button{border:1px solid var(--line);background:var(--surface);border-radius:10px;transition:border-color .15s,background .15s}.presets button{text-align:left;flex-direction:column;align-items:flex-start;padding:8px 10px;line-height:1.25;display:flex}.presets b{font-size:12.5px}.presets small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.presets button:hover,.chips button:hover{border-color:var(--line-strong)}.presets button.on,.chips button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{height:32px;padding:0 12px;font-size:13px;font-weight:650}.btn-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn-grid .btn{height:40px;font-size:13px}.color-field{flex-direction:column;gap:8px;display:flex}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:1px solid var(--line-strong);background:var(--c);width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--surface);border-radius:50%;padding:0}.swatch.on{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--surface), 0 0 0 2px var(--accent)}.input.hex{width:140px;height:36px}.hex-dot{border:1px solid var(--line-strong);border-radius:5px;flex:none;width:16px;height:16px;margin-left:10px}.input.hex input{text-transform:uppercase;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.pos-grid{background:var(--surface-2);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;width:132px;padding:4px;display:grid}.pos-grid button{background:0 0;border:0;border-radius:8px;place-items:center;height:34px;padding:0;display:grid}.pos-grid button span{background:var(--line-strong);border-radius:50%;width:9px;height:9px}.pos-grid button:hover span{background:var(--muted)}.pos-grid button.on{background:var(--surface);box-shadow:var(--shadow-sm)}.pos-grid button.on span{background:var(--accent);transform:scale(1.3)}.logo-chip{border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;max-width:100%;padding:6px 6px 6px 10px;font-size:13px;font-weight:600;display:inline-flex}.logo-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logo-chip svg{color:var(--accent);flex:none}.meta-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.meta-list li{border:1px solid var(--line);border-radius:11px;flex-direction:column;gap:6px;padding:10px;font-size:13px;display:flex}.meta-list b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta-tags{flex-wrap:wrap;gap:5px;display:flex}.meta-tag{background:var(--surface-2);border-radius:7px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.meta-tag.danger{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.meta-clean{color:var(--good);align-items:center;gap:5px;font-size:12.5px;font-weight:650;display:inline-flex}.ops-preview{border-bottom:1px solid var(--line);padding:14px 18px}.ops-preview header{color:var(--muted);align-items:center;gap:7px;margin-bottom:10px;font-size:12.5px;font-weight:700;display:flex}.ops-canvas{border:1px solid var(--line);border-radius:12px;place-items:center;min-height:160px;max-height:300px;padding:10px;display:grid;overflow:hidden}.ops-canvas img{max-width:100%;max-height:280px;box-shadow:var(--shadow-sm)}.ops-canvas .page-skeleton{width:60%;height:140px}.checker{background-color:var(--surface);background-image:linear-gradient(45deg, var(--surface-3) 25%, transparent 25%), linear-gradient(-45deg, var(--surface-3) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--surface-3) 75%), linear-gradient(-45deg, transparent 75%, var(--surface-3) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.page-badge{background:var(--accent);width:22px;height:22px;color:var(--accent-ink);border-radius:7px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.crop-dialog{width:min(980px,100%);padding:18px}.crop-head{align-items:baseline;gap:12px;margin-bottom:12px;padding-right:40px;display:flex}.crop-head h2{font-size:19px}.crop-head .muted{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.crop-ratios{margin-bottom:12px}.crop-stage{background:var(--surface-2);border-radius:14px;justify-content:center;align-items:center;min-height:300px;padding:14px 44px;display:flex;position:relative}.crop-box{touch-action:none;-webkit-user-select:none;user-select:none;line-height:0;position:relative;overflow:hidden}.crop-box img{pointer-events:none;max-width:100%;max-height:62vh}.crop-rect{cursor:move;outline:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #00000085}.crop-grid{pointer-events:none;background:linear-gradient(90deg,#0000 calc(33.33% - .5px),#ffffff80 calc(33.33% - .5px) calc(33.33% + .5px),#0000 calc(33.33% + .5px) calc(66.66% - .5px),#ffffff80 calc(66.66% - .5px) calc(66.66% + .5px),#0000 calc(66.66% + .5px)),linear-gradient(#0000 calc(33.33% - .5px),#ffffff80 calc(33.33% - .5px) calc(33.33% + .5px),#0000 calc(33.33% + .5px) calc(66.66% - .5px),#ffffff80 calc(66.66% - .5px) calc(66.66% + .5px),#0000 calc(66.66% + .5px));position:absolute;inset:0}.crop-h{border:2px solid var(--accent);touch-action:none;background:#fff;border-radius:5px;width:18px;height:18px;margin:-9px 0 0 -9px;position:absolute}.h-nw{cursor:nwse-resize;top:0;left:0}.h-n{cursor:ns-resize;top:0;left:50%}.h-ne{cursor:nesw-resize;top:0;left:100%}.h-e{cursor:ew-resize;top:50%;left:100%}.h-se{cursor:nwse-resize;top:100%;left:100%}.h-s{cursor:ns-resize;top:100%;left:50%}.h-sw{cursor:nesw-resize;top:100%;left:0}.h-w{cursor:ew-resize;top:50%;left:0}.crop-nav{background:var(--surface);box-shadow:var(--shadow-sm);position:absolute;top:50%;transform:translateY(-50%)}.crop-nav.prev{left:6px}.crop-nav.next{right:6px}.crop-loading{width:60%;height:280px}.crop-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.crop-foot .readout{margin-right:auto}@media (max-width:600px){.crop-stage{padding:10px 6px}.crop-nav{display:none}.presets{grid-template-columns:1fr}}.signin-btn{margin-left:6px}.account{margin-left:6px;position:relative}.avatar-btn{background:0 0;border:0;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid;position:relative}.avatar{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);letter-spacing:.02em;border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.avatar.big{flex:none;width:42px;height:42px;font-size:15px}.sync-dot{border:2px solid var(--bg);background:var(--good);border-radius:50%;width:11px;height:11px;position:absolute;bottom:1px;right:1px}.state-syncing .sync-dot{background:var(--accent)}.state-error .sync-dot,.state-offline .sync-dot{background:var(--muted)}.account-pop{z-index:40;border:1px solid var(--line);background:var(--surface);width:280px;box-shadow:var(--shadow-lg);border-radius:14px;padding:10px;animation:.15s ease-out rise;position:absolute;top:calc(100% + 8px);right:0}.account-who{align-items:center;gap:10px;min-width:0;display:flex}.account-who>span:last-child{flex-direction:column;min-width:0;display:flex}.account-who b,.account-who small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-who small{color:var(--muted);font-size:12.5px}.account-pop .account-who{border-bottom:1px solid var(--line);margin-bottom:8px;padding:4px 6px 10px}.account-sync{color:var(--good);align-items:center;gap:6px;margin:0;font-size:12.5px;font-weight:650;display:inline-flex}.account-sync.state-error,.account-sync.state-offline,.account-sync.state-idle{color:var(--muted)}.account-sync.state-syncing{color:var(--accent)}.account-pop .account-sync{padding:2px 8px 8px}.account-pop button{text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:14px;font-weight:600;display:flex}.account-pop button:hover:not(:disabled){background:var(--surface-2)}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}@media (max-width:600px){.signin-btn span{display:none}.signin-btn{width:36px;padding:0}}.cmdk-btn{border:1px solid var(--line-strong);background:var(--surface);height:36px;color:var(--muted);border-radius:10px;align-items:center;gap:8px;margin-right:6px;padding:0 6px 0 12px;font-size:13.5px;font-weight:600;display:inline-flex}.cmdk-btn:hover{border-color:var(--accent-line);color:var(--text)}.cmdk-btn kbd{min-width:0;font-size:11.5px}button.search{cursor:text;text-align:left}.search-ph{color:var(--muted);opacity:.85;flex:1}.cmdk-overlay{background:#140c0561;place-items:start center;padding-top:min(16vh,140px)}.cmdk-box{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.4);width:min(660px,100%);max-height:min(560px,100vh - 120px);box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;animation:.14s ease-out rise;display:flex;overflow:hidden}.cmdk-input{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding:0 16px;display:flex}.cmdk-input input{min-width:0;height:60px;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:18px;font-weight:500}.cmdk-input input::placeholder{color:var(--muted);opacity:.8}.cmdk-list{flex:1;padding:6px 8px 10px;scroll-padding:34px 0 8px;overflow-y:auto}.cmdk-list h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 10px 4px;font-size:11.5px;font-weight:700}.cmdk-row{cursor:pointer;border-radius:11px;align-items:center;gap:12px;padding:8px 10px;display:flex}.cmdk-row.on{background:var(--accent-soft)}.cmdk-row-icon{background:var(--surface-2);width:36px;height:36px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.cmdk-row.on .cmdk-row-icon{background:var(--accent);color:var(--accent-ink)}.cmdk-row-text{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.cmdk-row-text b{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;overflow:hidden}.cmdk-row-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.cmdk-tag{background:var(--surface-2);color:var(--muted);border-radius:6px;flex:none;padding:2px 8px;font-size:11.5px;font-weight:650}.cmdk-enter{color:var(--accent);flex:none}.cmdk-empty{text-align:center;color:var(--muted);margin:28px 12px}.cmdk-foot{border-top:1px solid var(--line);color:var(--muted);gap:16px;padding:9px 16px;font-size:12px;display:flex}.cmdk-foot span{align-items:center;gap:4px;display:inline-flex}.cmdk-foot kbd{min-width:20px;height:20px;font-size:11px}@media (max-width:900px){.cmdk-btn span,.cmdk-btn kbd{display:none}.cmdk-btn{justify-content:center;width:36px;margin-right:2px;padding:0}}@media (max-width:600px){.cmdk-overlay{padding:12px}.cmdk-box{max-height:calc(100vh - 24px)}.cmdk-foot,.cmdk-tag{display:none}}.work-head{align-items:center;margin-top:26px}.work-title{align-items:center;gap:16px;min-width:0;display:flex}.work-icon{background:var(--accent-soft);width:56px;height:56px;color:var(--accent);border-radius:16px;flex:none;place-items:center;display:grid}.work-cat{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:12.5px;font-weight:800;display:block}.switch-tool{flex:none;height:42px;padding:0 8px 0 14px}.switch-tool kbd{margin-left:4px;font-size:11.5px}@media (max-width:760px){.work-head{flex-direction:row;align-items:flex-start}.work-icon{display:none}.switch-tool{padding:0 12px}.switch-tool kbd{display:none}}.legal .s-card h2{margin-bottom:8px;font-size:17px}.legal .s-card p{color:var(--muted);margin:0 0 8px;line-height:1.6}.legal .s-card p:last-child{margin-bottom:0}.footer{flex-wrap:wrap}
