.setup{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;max-width:1280px;margin:0 auto;padding:24px 24px 64px;align-items:start}.setup__h1{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:-.01em}.setup__steps{display:flex;flex-direction:column;gap:10px;min-width:0}.setup__side{position:sticky;top:80px}@media (max-width: 1100px){.setup{grid-template-columns:1fr}.setup__side{position:static}}.sstep{border:1px solid var(--line);border-radius:14px;background:var(--surface);transition:border-color .2s,box-shadow .2s}.sstep.is-open{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}.sstep__head{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.sstep__n{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--bg-2);border:1px solid var(--line);font:600 12px Inter,sans-serif;color:var(--muted)}.sstep.is-open .sstep__n{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--on-accent)}.sstep.is-done .sstep__n{background:var(--ok-soft);border-color:transparent;color:var(--ok)}.sstep__title{font-weight:600;font-size:15px;flex:none}.sstep__sum{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px}.sstep__body{display:flex;flex-direction:column;gap:14px;padding:2px 16px 16px 54px;animation:rise .25s ease-out}.sstep__nav{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 900px){.grid2,.grid3{grid-template-columns:1fr}}.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.pcard{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.pcard:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow)}.pcard.is-on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pcard:disabled{opacity:.55;cursor:default}.pcard__img{display:grid;place-items:center;height:84px;margin-bottom:4px;border-radius:8px;background:var(--surface);color:var(--faint);overflow:hidden}.pcard__img img{max-height:76px;max-width:90%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))}.newprod{border:1px dashed var(--line);border-radius:12px;padding:10px 12px}.newprod summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:var(--accent-ink)}.newprod__body{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;align-items:end}.newprod__body .dropzone,.newprod__body .dossier{grid-column:1 / -1}.dropzone{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;border:1px dashed var(--accent);border-radius:10px;background:var(--accent-softer);color:var(--accent-ink);cursor:pointer;font-size:13px}.dropzone input{display:none}.dossier{display:flex;flex-direction:column;gap:8px}.chip-ok,.chip-miss{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:500}.chip-ok{background:var(--ok-soft);color:var(--ok)}.chip-miss{background:var(--warn-soft);color:var(--warn)}.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.tcard{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.tcard.is-on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tcard__imgs{position:relative;display:grid;place-items:center;height:140px}.tcard__imgs img{position:absolute;width:74%;aspect-ratio:4 / 3;object-fit:cover;border-radius:6px;box-shadow:var(--shadow);transition:transform .3s}.tcard__imgs img.k0{z-index:3}.tcard__imgs img.k1{z-index:2;transform:translate(-16%,-6%) rotate(-5deg) scale(.92);opacity:.9}.tcard__imgs img.k2{z-index:1;transform:translate(16%,-6%) rotate(5deg) scale(.92);opacity:.9}.tcard:hover .tcard__imgs img.k1{transform:translate(-24%,-8%) rotate(-8deg) scale(.92)}.tcard:hover .tcard__imgs img.k2{transform:translate(24%,-8%) rotate(8deg) scale(.92)}.sgrid,.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.lgrid{grid-template-columns:repeat(3,1fr)}.scard,.lcard{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.scard.is-on,.lcard.is-on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.scard b,.lcard b{display:inline-flex;align-items:center;gap:6px;font-weight:600}.patgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}.patcard{position:relative;display:flex;flex-direction:column;gap:4px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2);color:var(--ink);font:inherit;cursor:pointer;transition:opacity .15s,border-color .15s,filter .15s}.patcard img,.patcard__ph{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:6px;background:var(--surface);display:block}.patcard__name{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:0 2px 2px;color:var(--ink-2)}.patcard.is-off{opacity:.45;filter:grayscale(1)}.patcard.is-pref{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.recap{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:13px}.recap li{display:grid;grid-template-columns:150px 1fr;gap:10px}.dcard{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.dcard__visual{position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;background:radial-gradient(120% 90% at 30% 20%,var(--accent-soft),var(--bg-2))}.dcard__visual>img:first-child{width:86%;border-radius:8px;box-shadow:var(--shadow)}.dcard__pack{position:absolute;right:6%;bottom:6%;width:34%;filter:drop-shadow(0 10px 16px rgba(0,0,0,.25))}.dcard__body{display:flex;flex-direction:column;gap:10px;padding:16px}.dcard__title{font-size:17px;font-weight:600}.dstats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.dstats div,.gstat{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:10px;background:var(--bg-2)}.dstats b,.gstat b{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.dstats span,.gstat span{font-size:11px;color:var(--muted)}.dmsgs{margin:0;padding-left:18px;font-size:13px;color:var(--ink-2);display:flex;flex-direction:column;gap:4px}.btn--lg{height:44px;font-size:14px;font-weight:600}.gen{display:flex;flex-direction:column;gap:16px;max-width:1360px;margin:0 auto;padding:22px 24px 64px}.gen__head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.gen__title{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}.gen__stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gstat{min-width:84px}.gen__bar{height:4px;border-radius:999px;background:var(--line);overflow:hidden}.gen__bar span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .6s ease}.gen__bar span.is-live{background:linear-gradient(90deg,var(--accent),var(--accent-2, var(--accent)),var(--accent));background-size:200% 100%;animation:flow 1.6s linear infinite}@keyframes flow{to{background-position:-200% 0}}.stages{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}@media (max-width: 1100px){.stages{grid-template-columns:repeat(4,minmax(0,1fr))}}.stage{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}.stage__dot{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);color:var(--on-accent)}.stage__text{display:flex;flex-direction:column;min-width:0;font-size:12px}.stage__text b{font-weight:600;font-size:12.5px}.stage__text span{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage--done .stage__dot{background:var(--ok);border-color:var(--ok)}.stage--running{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.stage--running .stage__dot{border-color:var(--accent)}.stage--failed .stage__dot{background:var(--bad);border-color:var(--bad)}.stage--skipped{opacity:.55}.stage--waiting{opacity:.7}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.board__empty{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.board__empty>span{grid-column:1 / -1}.ghost{aspect-ratio:4 / 3.6;border-radius:12px;background:linear-gradient(90deg,var(--bg-2),var(--surface),var(--bg-2));background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border:1px solid var(--line)}@keyframes shimmer{to{background-position:-200% 0}}.scard2{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;animation:rise .35s ease-out both;transition:border-color .3s,box-shadow .3s}.scard2.tone-busy{border-color:var(--accent)}.scard2.tone-bad{border-color:var(--bad)}.scard2__img{position:relative;aspect-ratio:4 / 3;background:var(--bg-2);overflow:hidden}.scard2__img img{width:100%;height:100%;object-fit:cover;display:block}.scard2__img.is-new img{animation:reveal .7s cubic-bezier(.2,.8,.2,1)}@keyframes reveal{0%{opacity:0;transform:scale(1.06);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}.scard2__ph{display:grid;place-items:center;align-content:center;gap:10px;height:100%;background:repeating-linear-gradient(135deg,var(--bg-2) 0 12px,var(--surface) 12px 24px)}.scard2__pattern{font:600 12px Inter,sans-serif;color:var(--muted);padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.scard2__no{position:absolute;left:8px;top:8px;font:600 11px Inter,sans-serif;color:var(--ink-2);background:var(--surface);border-radius:6px;padding:2px 6px;opacity:.9}.scard2__badge{position:absolute;right:8px;bottom:8px;font:600 11px Inter,sans-serif;padding:2px 8px;border-radius:999px;background:var(--ok-soft);color:var(--ok)}.scard2__badge.is-warn{background:var(--warn-soft);color:var(--warn)}.scard2__badge.is-bad{background:var(--bad-soft);color:var(--bad)}.scard2__body{display:flex;flex-direction:column;gap:4px;padding:10px 12px 12px}.scard2__body b{font-weight:600;font-size:13.5px}.scard2__state{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.scard2__state.tone-idle{color:var(--muted)}.scard2__state.tone-busy{color:var(--accent-ink)}.scard2__state.tone-ok{color:var(--ok)}.scard2__state.tone-bad{color:var(--bad)}.scard2__purpose{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blink 1s infinite ease-in-out}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.decisions{display:flex;flex-direction:column;gap:8px}.decision{display:flex;gap:10px;align-items:baseline;font-size:13px;line-height:1.45}.runlog{max-height:320px;overflow:auto;margin:10px 0 0;padding:10px;border-radius:8px;background:var(--bg-2);font:12px/1.5 ui-monospace,Consolas,monospace;color:var(--ink-2);white-space:pre-wrap}.runlist{display:flex;flex-direction:column;gap:8px}.runrow{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none}.runrow:hover{border-color:var(--accent)}@media (prefers-reduced-motion: reduce){.sstep__body,.scard2,.scard2__img.is-new img,.ghost,.gen__bar span.is-live,.typing i{animation:none}}:root{--bg: #F3F3F1;--bg-2: #FAFAF9;--surface: #FFFFFF;--ink: #16171B;--ink-2: #3F434C;--muted: #6B7080;--faint: #8A8F9C;--line: #E2E3E7;--line-2: #EEEFF2;--accent: #4B4FD8;--accent-ink: #3438B8;--accent-soft: #ECECFC;--accent-softer: #F6F6FE;--ok: #16794A;--ok-soft: #E7F5EE;--warn: #8A4B05;--warn-soft: #FFF6E8;--bad: #B42318;--bad-soft: #FDECEA;--radius: 12px;--shadow: 0 1px 2px rgba(0,0,0,.06), 0 12px 32px -12px rgba(22,23,27,.25);--raised: #FFFFFF;--card: var(--surface);--hover: #F6F6F8;--hover-line: #CFD1D8;--neutral: #ECECEF;--neutral-2: #E9E9EC;--neutral-3: #F1F1F4;--field-bg: #FFFFFF;--field-line: var(--line);--focus-ring: #B9BBF3;--accent-line: #B9BBF3;--accent-line-2: #C9CAF5;--accent-fill: var(--accent);--on-accent: #FFFFFF;--primary: var(--ink);--primary-line: var(--ink);--primary-hover: #2A2C33;--primary-hover-line: #2A2C33;--on-primary: #FFFFFF;--ok-fill: #16794A;--on-ok: #FFFFFF;--nav-on: var(--ink);--on-nav-on: #FFFFFF;--tab-on: var(--ink);--inverse: var(--ink);--on-inverse: #FFFFFF;--bubble: var(--ink);--on-bubble: #FFFFFF;--disabled-fill: #D9DAE3;--on-disabled: #FFFFFF;--topbar-bg: var(--surface);--bg-fade: rgba(243,243,241,0);--frame-bg: #1D1E22;--frame-shadow: var(--shadow);--thumb-bg: #FFFFFF;--quote-ink: #4A4F5A;--quote-bg: #FFF9DB;--scrim: rgba(0,0,0,.08);--strike: rgba(0,0,0,.35);--swatch-edge: rgba(0,0,0,.12);--swatch-missing: #CCCCCC;--shadow-xs: 0 1px 2px rgba(0,0,0,.08);--shadow-seg: 0 1px 2px rgba(0,0,0,.1);--logo-bg: #16171B;--logo-bg-2: #16171B;--logo-ink: #FFFFFF;--slide-canvas: #FFFFFF;--sel-line: #4B4FD8;--sel-fill: #4B4FD8;--on-sel: #FFFFFF;--sel-hover: rgba(75,79,216,.7);--fn-zone-a: rgba(180,35,24,.12);--fn-zone-b: rgba(180,35,24,.05);--fn-zone-line: rgba(180,35,24,.6);font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.45}:root[data-theme=dark]{color-scheme:dark;--bg: #0D0E12;--bg-2: #121319;--surface: #17181F;--ink: #ECEDF3;--ink-2: #C5C8D3;--muted: #A0A5B6;--faint: #858A9C;--line: rgba(255,255,255,.085);--line-2: rgba(255,255,255,.06);--accent: #8B8EFF;--accent-ink: #C4C6FF;--accent-soft: #2A2B47;--accent-softer: #1D1E2E;--ok: #3FD08D;--ok-soft: #163128;--warn: #F2B84B;--warn-soft: #32291A;--bad: #FF7B72;--bad-soft: #3A2025;--shadow: 0 1px 2px rgba(0,0,0,.45), 0 18px 40px -18px rgba(0,0,0,.75);--raised: #21222B;--card: #1B1C24;--hover: #20212A;--hover-line: rgba(255,255,255,.18);--neutral: #24252F;--neutral-2: #1A1B22;--neutral-3: #272833;--field-bg: #111217;--field-line: rgba(255,255,255,.13);--focus-ring: rgba(139,142,255,.6);--accent-line: #5A5DC4;--accent-line-2: #45478F;--accent-fill: #5B5EEE;--on-accent: #FFFFFF;--primary: linear-gradient(180deg, #6265F0, #4B4EDC);--primary-line: transparent;--primary-hover: linear-gradient(180deg, #6164EE, #5356E6);--primary-hover-line: transparent;--on-primary: #FFFFFF;--ok-fill: #16794A;--on-ok: #FFFFFF;--nav-on: linear-gradient(180deg, #30313F, #272833);--on-nav-on: #F4F5FA;--tab-on: var(--accent);--inverse: #2A2B37;--on-inverse: #F1F2F7;--bubble: linear-gradient(135deg, #5B5EEE, #6A4EE0);--on-bubble: #FFFFFF;--disabled-fill: #262732;--on-disabled: #6E7385;--topbar-bg: rgba(20,21,27,.74);--bg-fade: rgba(13,14,18,0);--frame-bg: #1D1E22;--thumb-bg: #22232C;--frame-shadow: 0 0 0 1px rgba(255,255,255,.07), 0 26px 70px -26px rgba(0,0,0,.9), 0 0 90px -18px rgba(99,102,241,.34);--quote-ink: #EADFB8;--quote-bg: #2A2517;--scrim: rgba(255,255,255,.1);--strike: rgba(255,255,255,.4);--swatch-edge: rgba(255,255,255,.16);--swatch-missing: #3A3B46;--shadow-xs: 0 0 0 1px rgba(255,255,255,.06), 0 2px 6px rgba(0,0,0,.45);--shadow-seg: 0 1px 2px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);--logo-bg: #6366F1;--logo-bg-2: #8B5CF6;--logo-ink: #FFFFFF;--hi: inset 0 1px 0 rgba(255,255,255,.045);--hi-strong: inset 0 1px 0 rgba(255,255,255,.18);--halo: rgba(99,102,241,.55);--halo-soft: rgba(99,102,241,.11);--halo-violet: rgba(139,92,246,.04);--glow: 0 0 0 3px rgba(139,142,255,.2), 0 0 22px -4px var(--halo);--accent-grad: linear-gradient(135deg, #5B5EEE, #7250E6);--quote-edge: rgba(242,184,75,.55);--selection: rgba(139,142,255,.32);--edge-dark: rgba(0,0,0,.45);scrollbar-color:#34353F transparent;accent-color:var(--accent)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button{font:inherit;color:inherit}a{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:500 13px Inter,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){background:var(--hover);border-color:var(--hover-line)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--primary);border-color:var(--primary-line);color:var(--on-primary)}.btn--primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover-line)}.btn--ok{background:var(--ok-fill);border-color:var(--ok-fill);color:var(--on-ok)}.btn--sm{height:30px;padding:0 10px;font-size:12.5px}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:500 12.5px Inter,sans-serif;cursor:pointer;white-space:nowrap}.chip:hover{border-color:var(--accent-line);color:var(--ink)}.chip.is-on{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-softer)}.field{width:100%;border:1px solid var(--field-line);border-radius:8px;padding:8px 10px;font:400 13px/1.45 Inter,sans-serif;color:var(--ink);background:var(--field-bg);resize:vertical}.field:focus{outline:2px solid var(--focus-ring);border-color:var(--accent)}.field.is-bad{border-color:var(--bad)}.label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.section-title{font-size:11.5px;font-weight:600;letter-spacing:.03em;color:var(--muted);text-transform:uppercase}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:999px;font:600 12px Inter,sans-serif}.pill--ok{color:var(--ok);background:var(--ok-soft)}.pill--bad{color:var(--bad);background:var(--bad-soft)}.pill--busy{color:var(--accent-ink);background:var(--accent-soft)}.pill--warn{color:var(--warn);background:var(--warn-soft)}.spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent-line-2);border-top-color:var(--accent);animation:sp .8s linear infinite;flex:none}@keyframes sp{to{transform:rotate(360deg)}}.muted{color:var(--muted)}.small{font-size:12.5px}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 20px;background:var(--topbar-bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.logo b{font-weight:600;font-size:14px;display:block}.logo span{font-size:12px;color:var(--muted)}.nav{display:flex;gap:4px;margin-left:12px}.nav>a,.nav>span{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:8px;font:500 13px Inter,sans-serif;color:var(--muted);text-decoration:none}.nav>a:hover{background:var(--neutral);color:var(--ink)}.nav .is-on{background:var(--nav-on);color:var(--on-nav-on)}.nav .is-off{opacity:.45;cursor:default}.nav{position:relative}.nav button.is-soon{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;border:0;border-radius:8px;background:transparent;font:500 13px Inter,sans-serif;color:var(--faint);cursor:pointer}.nav button.is-soon:hover,.nav button.is-soon.is-open{background:var(--neutral);color:var(--muted)}.nav .soon{font:600 10px Inter,sans-serif;letter-spacing:.02em;padding:2px 6px;border-radius:999px;background:var(--neutral);color:var(--muted)}.nav button.is-soon:hover .soon,.nav button.is-soon.is-open .soon{background:var(--raised)}.nav-pop{position:absolute;top:40px;left:0;width:380px;padding:12px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13px;line-height:1.45;color:var(--ink-2);z-index:20}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;font-weight:600;font-size:12px;border:0;cursor:pointer}.theme-btn{flex:none;width:32px;height:32px;display:grid;place-items:center;padding:0;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.theme-btn:hover{background:var(--neutral);color:var(--ink)}.theme-btn svg{transition:transform .35s cubic-bezier(.3,1.4,.5,1)}.theme-btn:active svg{transform:rotate(-30deg) scale(.9)}.center{min-height:100vh;display:grid;place-items:center;padding:24px}.login{width:380px;max-width:100%;display:flex;flex-direction:column;gap:14px}.page{max-width:1240px;margin:0 auto;padding:28px 20px}.grid-decks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.deck-card{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;transition:border-color .15s,box-shadow .15s}.deck-card:hover{border-color:var(--accent-line-2);box-shadow:0 0 0 3px var(--accent-soft)}.deck-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;display:block;background:var(--bg-2)}.studio{display:flex;align-items:stretch;height:calc(100vh - 57px)}.strip{flex:0 0 196px;min-width:0;padding:14px 8px 14px 10px;border-right:1px solid var(--line);background:var(--bg-2);overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:4px}.thumb{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0;box-sizing:border-box;padding:6px;border-radius:10px;border:1px solid transparent;background:none;cursor:pointer;text-align:left;flex:none}.thumb:hover{background:var(--neutral)}.thumb.is-on{background:var(--raised);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.thumb__img{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:6px;overflow:hidden;background:var(--thumb-bg);box-shadow:var(--shadow-xs)}.thumb__img img{width:100%;height:100%;object-fit:cover;display:block}.thumb__badge{position:absolute;right:6px;bottom:6px;font:600 10.5px Inter,sans-serif;border-radius:999px;padding:2px 7px}.thumb__name{display:flex;gap:6px;font-size:12px;line-height:1.3;color:var(--ink-2)}.thumb__name span:first-child{color:var(--muted);font-variant-numeric:tabular-nums}.center-col{flex:1 1 auto;min-width:0;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 20px 0}.toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:10px}.toolbar>.pill{flex:none}.seg{display:inline-flex;flex:none;padding:3px;border-radius:10px;background:var(--neutral-2)}.seg button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;height:30px;padding:0 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:500 13px Inter,sans-serif;cursor:pointer}.seg button.is-on{background:var(--raised);color:var(--ink);box-shadow:var(--shadow-seg)}.frame{position:relative;border-radius:14px;overflow:hidden;background:var(--frame-bg);box-shadow:var(--frame-shadow);flex:none}.frame iframe{position:absolute;left:0;top:0;width:1024px;height:768px;border:0;transform-origin:0 0;background:var(--slide-canvas)}.overlay{position:absolute;inset:0;cursor:default}.overlay.is-edit{cursor:crosshair}.sel{position:absolute;outline:2px solid var(--sel-line);outline-offset:2px;border-radius:3px;pointer-events:none}.sel.is-move{cursor:grab}.sel__tag{position:absolute;left:-2px;top:-26px;font:600 11.5px Inter,sans-serif;color:var(--on-sel);background:var(--sel-fill);border-radius:4px;padding:2px 7px;white-space:nowrap}.hover-box{position:absolute;outline:1px dashed var(--sel-hover);outline-offset:2px;pointer-events:none;border-radius:3px}.guide-v{position:absolute;top:0;bottom:0;width:0;border-left:1.5px dashed var(--sel-line);pointer-events:none}.guide-tag{position:absolute;top:6px;font:600 11px Inter,sans-serif;color:var(--on-sel);background:var(--sel-fill);border-radius:4px;padding:2px 6px;pointer-events:none}.fn-zone{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,var(--fn-zone-a) 0 10px,var(--fn-zone-b) 10px 20px);border-top:1.5px dashed var(--fn-zone-line);pointer-events:none}.versions{display:flex;flex-wrap:wrap;gap:6px}.version{display:inline-flex;gap:4px;align-items:center;height:28px;padding:0 10px;border-radius:8px;font-size:12px;border:1px solid var(--line);color:var(--ink-2)}.version.is-top{background:var(--raised);border-color:var(--accent-line-2)}.side{flex:0 0 390px;display:flex;flex-direction:column;border-left:1px solid var(--line);background:var(--surface);min-height:0}.tabs{display:flex;gap:2px;padding:6px 12px 0;border-bottom:1px solid var(--line)}.tab{height:34px;padding:0 12px;border:0;background:none;font:500 13px Inter,sans-serif;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:6px}.tab:hover{color:var(--ink)}.tab.is-on{color:var(--ink);border-bottom-color:var(--tab-on)}.count{font-size:11px;padding:1px 6px;border-radius:999px;background:var(--neutral-3);color:var(--ink-2)}.count--bad{background:var(--bad-soft);color:var(--bad)}.side__body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.side__foot{border-top:1px solid var(--line);padding:10px 14px;display:flex;gap:8px;align-items:center}.fieldset{border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:10px;margin:0}.fieldset legend{font-size:11.5px;font-weight:600;color:var(--muted);padding:0 4px}.row{display:flex;gap:8px;align-items:center}.swatch{width:30px;height:30px;border-radius:8px;border:0;cursor:pointer;box-shadow:inset 0 0 0 1px var(--swatch-edge)}.swatch.is-on{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.issue{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.quote{font-size:12px;line-height:1.45;color:var(--quote-ink);background:var(--quote-bg);border-radius:6px;padding:7px 9px}.claim-mark{font-size:11px;padding:2px 7px;border-radius:999px;background:var(--neutral-3);color:var(--ink-2);white-space:nowrap}.err{font-size:12px;color:var(--bad)}.picker{position:absolute;z-index:30;width:360px;max-height:360px;overflow-y:auto;background:var(--raised);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:4px}.picker button{text-align:left;border:0;background:none;padding:8px;border-radius:8px;cursor:pointer;font-size:12.5px;line-height:1.4}.picker button:hover{background:var(--accent-softer)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--inverse);color:var(--on-inverse);padding:10px 16px;border-radius:10px;font-size:13px;z-index:50;box-shadow:var(--shadow)}.dock{position:sticky;bottom:0;z-index:6;display:flex;flex-direction:column;gap:8px;padding:10px 0 14px;margin-top:auto;background:linear-gradient(to bottom,var(--bg-fade),var(--bg) 8px)}.dock__bar{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s}.dock__bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}.dock__input{flex:1;min-width:0;border:0;outline:0;resize:none;background:transparent;font:14px/1.45 Inter,sans-serif;color:var(--ink);padding:5px 2px;max-height:132px}.dock__input::placeholder{color:var(--faint)}.dock__send{flex:none;width:34px;height:34px;border-radius:10px;border:0;background:var(--accent-fill);color:var(--on-accent);display:grid;place-items:center;cursor:pointer}.dock__send:disabled{background:var(--disabled-fill);color:var(--on-disabled);cursor:default}.dock__quick{display:flex;flex-wrap:wrap;gap:6px}.dock__thread{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding:0 14px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.dock__head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0 8px;background:var(--surface);border-bottom:1px solid var(--line-2)}.ctx-chip{flex:none;display:inline-flex;align-items:center;gap:4px;height:26px;margin-bottom:4px;padding:0 9px;border-radius:999px;background:var(--neutral);color:var(--ink-2);font:600 11.5px Inter,sans-serif;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.ctx-chip--el{background:var(--accent-soft);color:var(--accent-ink)}.ctx-chip button{display:grid;place-items:center;width:16px;height:16px;border:0;padding:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.ctx-chip button:hover{background:var(--scrim)}.chip-btn{height:28px;padding:0 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:500 12px Inter,sans-serif;cursor:pointer;white-space:nowrap}.chip-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink);background:var(--accent-softer)}.chip-btn:disabled{opacity:.5;cursor:default}.msg{display:flex;flex-direction:column;gap:8px;max-width:92%;font-size:13.5px;line-height:1.5}.msg--user{align-self:flex-end;max-width:80%;padding:8px 12px;border-radius:14px 14px 4px;background:var(--bubble);color:var(--on-bubble);gap:2px}.msg--ai{align-self:flex-start}.msg--warn>.msg__text{padding:8px 11px;border-radius:10px;background:var(--warn-soft)}.msg__ctx{font:600 10.5px Inter,sans-serif;letter-spacing:.02em;opacity:.65}.msg__text{white-space:pre-wrap}.msg__meta{font-size:11px;color:var(--faint)}.cc{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg-2)}.cc__diff{display:grid;grid-template-columns:minmax(80px,130px) 1fr;gap:10px;font-size:13px}.cc__field{color:var(--muted);font-size:12px;padding-top:1px}.cc__before{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--strike);margin-right:6px}.cc__after{color:var(--ink);background:var(--ok-soft);border-radius:4px;padding:0 3px}.btn--danger{color:var(--bad);border-color:var(--bad-soft)}.btn--danger:hover{background:var(--bad-soft)}.center-col{position:relative}.new-build{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:12px;padding:8px 8px 8px 16px;border-radius:12px;background:var(--inverse);color:var(--on-inverse);font-size:13px;box-shadow:var(--shadow)}:root[data-theme=dark]{background:radial-gradient(1200px 560px at 50% -160px,var(--halo-soft),transparent 72%),radial-gradient(1000px 700px at 0% 100%,var(--halo-violet),transparent 70%),var(--bg);background-attachment:fixed}:root[data-theme=dark] body{background:transparent}:root[data-theme=dark] ::selection{background:var(--selection)}:root[data-theme=dark] .topbar{backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);box-shadow:0 1px 0 var(--edge-dark)}:root[data-theme=dark] .logo svg{filter:drop-shadow(0 2px 8px var(--halo))}:root[data-theme=dark] .nav .is-on{box-shadow:var(--hi),0 0 0 1px var(--line)}:root[data-theme=dark] .avatar{box-shadow:inset 0 0 0 1px var(--accent-line-2)}:root[data-theme=dark] .theme-btn:hover{color:var(--accent-ink);box-shadow:0 0 16px -4px var(--halo)}:root[data-theme=dark] .btn{box-shadow:var(--hi)}:root[data-theme=dark] .btn--primary{box-shadow:var(--hi-strong),0 8px 20px -10px var(--halo)}:root[data-theme=dark] .btn--primary:hover:not(:disabled){box-shadow:var(--hi-strong),0 10px 26px -10px var(--halo)}:root[data-theme=dark] .chip.is-on,:root[data-theme=dark] .chip-btn:hover:not(:disabled){box-shadow:0 0 14px -5px var(--halo)}:root[data-theme=dark] .field:focus{box-shadow:0 0 18px -4px var(--halo)}:root[data-theme=dark] .pill,:root[data-theme=dark] .count--bad,:root[data-theme=dark] .thumb__badge{box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 22%,transparent)}:root[data-theme=dark] .card,:root[data-theme=dark] .issue,:root[data-theme=dark] .cc{box-shadow:var(--hi)}:root[data-theme=dark] .login{box-shadow:var(--hi),0 30px 80px -30px var(--edge-dark),0 0 120px -36px var(--halo)}:root[data-theme=dark] .deck-card{box-shadow:var(--hi),var(--shadow-xs);transition:border-color .15s,box-shadow .2s,transform .2s}:root[data-theme=dark] .deck-card:hover{transform:translateY(-2px);box-shadow:0 0 0 3px var(--accent-soft),0 20px 44px -20px var(--halo),var(--hi)}:root[data-theme=dark] .center-col{background:radial-gradient(ellipse 62% 46% at 50% 38%,var(--halo-soft),transparent 74%)}:root[data-theme=dark] .seg{box-shadow:inset 0 0 0 1px var(--line)}:root[data-theme=dark] .thumb.is-on{box-shadow:0 0 0 3px var(--accent-soft),0 0 20px -6px var(--halo)}:root[data-theme=dark] .tab.is-on{box-shadow:0 10px 14px -12px var(--halo)}:root[data-theme=dark] .quote{box-shadow:inset 2px 0 0 var(--quote-edge)}:root[data-theme=dark] .dock__bar{box-shadow:var(--hi),var(--shadow)}:root[data-theme=dark] .dock__bar:focus-within{box-shadow:var(--glow),var(--shadow)}:root[data-theme=dark] .dock__send:not(:disabled){background:var(--accent-grad);box-shadow:var(--hi-strong),0 4px 14px -4px var(--halo)}:root[data-theme=dark] .dock__thread,:root[data-theme=dark] .picker,:root[data-theme=dark] .nav-pop{box-shadow:var(--hi),var(--shadow)}:root[data-theme=dark] .msg--user{box-shadow:var(--hi-strong),0 8px 18px -12px var(--halo)}:root[data-theme=dark] .toast,:root[data-theme=dark] .new-build{box-shadow:var(--hi),0 0 0 1px var(--line),var(--shadow)}@media (prefers-reduced-motion: no-preference){:root.theme-anim,:root.theme-anim *,:root.theme-anim *:before,:root.theme-anim *:after{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,outline-color .2s ease,fill .2s ease,stroke .2s ease,stop-color .2s ease!important}}
