:root{--bg: #0a0a0b;--surface-1: #101012;--surface-2: #16161a;--surface-3: #1d1d22;--surface-4: #26262c;--overlay-bg: #131316;--scrim: rgba(6, 6, 8, .72);--border-subtle: #1b1b20;--border: #26262c;--border-strong: #35353e;--text: #f4f4f6;--text-2: #a1a1ac;--text-3: #71717d;--text-4: #52525c;--accent: #c9f24f;--accent-hover: #d8fa72;--accent-press: #b6dd41;--accent-ink: #0d1003;--accent-soft: rgba(201, 242, 79, .13);--accent-line: rgba(201, 242, 79, .34);--accent-dim: #8fab3c;--action: #f5f5f6;--action-hover: #ffffff;--action-press: #e2e2e5;--action-ink: #101012;--warn: #e9a13b;--warn-soft: rgba(233, 161, 59, .13);--danger: #ff6b5c;--danger-soft: rgba(255, 107, 92, .13);--info: #6aa9ff;--info-soft: rgba(106, 169, 255, .13);--r-xs: 3px;--r-sm: 4px;--r: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 2px 4px rgba(0, 0, 0, .32), 0 6px 16px rgba(0, 0, 0, .3);--shadow-3: 0 4px 8px rgba(0, 0, 0, .36), 0 18px 48px rgba(0, 0, 0, .5);--shadow-accent: 0 2px 12px rgba(201, 242, 79, .18);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s7: 32px;--s8: 40px;--s9: 56px;--s10: 80px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--t-2xs: 10.5px;--t-xs: 11.5px;--t-sm: 12.5px;--t-base: 13.5px;--t-md: 15px;--t-lg: 17px;--t-xl: 21px;--t-2xl: 27px;--t-3xl: 36px;--t-4xl: 52px;--ease: cubic-bezier(.16, 1, .3, 1);--ease-inout: cubic-bezier(.45, 0, .25, 1);--fast: .11s;--base: .18s;--slow: .28s;--header-h: 52px;--sidebar-w: 216px;--inspector-w: 320px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--t-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv01","cv11","ss03";font-optical-sizing:auto;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft);color:var(--text)}*{scrollbar-width:thin;scrollbar-color:var(--surface-4) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:var(--r-full);border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:content-box}h1,h2,h3,h4{font-weight:560;letter-spacing:-.018em;line-height:1.25;color:var(--text)}h1{font-size:var(--t-2xl);letter-spacing:-.028em}h2{font-size:var(--t-lg)}h3{font-size:var(--t-md)}p{color:var(--text-2)}b,strong{font-weight:560;color:var(--text)}a{color:inherit;text-decoration:none}.num,.tabular,[data-tabular]{font-variant-numeric:tabular-nums}.mono,code,pre,kbd{font-family:var(--font-mono);font-size:.92em;font-variant-ligatures:none}.micro{font-size:var(--t-xs);font-weight:500;letter-spacing:.01em;color:var(--text-3)}.label{display:block;font-size:var(--t-xs);font-weight:500;color:var(--text-2);margin-bottom:var(--s2)}.eyebrow{font-size:var(--t-2xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3)}.dim{color:var(--text-2)}.faint{color:var(--text-3)}.ghost-text{color:var(--text-4)}.lime{color:var(--accent)}.amber{color:var(--warn)}.red{color:var(--danger)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}button,.btn{font-family:inherit;font-size:var(--t-base);font-weight:500;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:0 var(--s3);height:32px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;white-space:nowrap;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),transform var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}button:hover:not(:disabled),.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}button:active:not(:disabled),.btn:active:not(:disabled){transform:translateY(.5px)}button:disabled,.btn:disabled{opacity:.42;cursor:not-allowed}.primary{background:var(--action);border-color:transparent;color:var(--action-ink);font-weight:560;box-shadow:var(--shadow-1)}.primary:hover:not(:disabled){background:var(--action-hover);border-color:transparent}.primary:active:not(:disabled){background:var(--action-press)}.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.ghost:hover:not(:disabled){background:var(--surface-2);border-color:transparent;color:var(--text)}.danger-btn{background:transparent;border-color:var(--border);color:var(--danger)}.danger-btn:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn-lg{height:38px;padding:0 var(--s4);font-size:var(--t-md)}.btn-sm{height:26px;padding:0 var(--s2);font-size:var(--t-sm)}.btn-icon{width:32px;padding:0}.btn-block{width:100%}input[type=text],input[type=search],input[type=number],textarea,select{font-family:inherit;font-size:var(--t-base);width:100%;padding:7px var(--s3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}textarea{line-height:1.55;resize:vertical;min-height:60px}input::placeholder,textarea::placeholder{color:var(--text-4)}input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-line);background:var(--surface-1);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--s7);background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:calc(100% - 15px) 14px,calc(100% - 11px) 14px;background-size:4px 4px,4px 4px;background-repeat:no-repeat;cursor:pointer}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;flex:none;border:1px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface-2);cursor:pointer;position:relative;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease)}input[type=checkbox]:hover{border-color:var(--text-3)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4.5px;top:1.5px;width:4px;height:8px;border:solid var(--accent-ink);border-width:0 2px 2px 0;transform:rotate(42deg)}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 var(--s2);border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--border);color:var(--text-2);font-size:var(--t-2xs);font-weight:500;letter-spacing:.01em;white-space:nowrap}.badge-accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.badge-warn{background:var(--warn-soft);border-color:#e9a13b57;color:var(--warn)}.badge-danger{background:var(--danger-soft);border-color:#ff6b5c57;color:var(--danger)}.badge-quiet{background:transparent;border-color:var(--border);color:var(--text-3)}.pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 var(--s3);border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:var(--t-sm);cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.pill:hover{border-color:var(--border-strong);color:var(--text)}.pill.on{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}.card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:var(--s5)}.card-hover{transition:border-color var(--base) var(--ease),transform var(--base) var(--ease),box-shadow var(--base) var(--ease)}.card-hover:hover{border-color:var(--border-strong);transform:translateY(-1px);box-shadow:var(--shadow-2)}.divider{height:1px;background:var(--border-subtle);border:none}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-xs);border:1px solid var(--border);border-bottom-width:2px;background:var(--surface-3);color:var(--text-3);font-size:var(--t-2xs);font-family:var(--font);font-weight:500}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%) translateY(3px);padding:5px var(--s2);border-radius:var(--r-sm);background:var(--surface-4);border:1px solid var(--border-strong);color:var(--text);font-size:var(--t-2xs);font-weight:450;white-space:nowrap;pointer-events:none;opacity:0;box-shadow:var(--shadow-2);transition:opacity var(--fast) var(--ease),transform var(--fast) var(--ease);z-index:90}[data-tip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes pulse-accent{0%,to{box-shadow:0 0 #c9f24f00}50%{box-shadow:0 0 0 4px #c9f24f29}}@keyframes shimmer{0%{background-position:-220% 0}to{background-position:220% 0}}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:220% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm)}.spinner{width:13px;height:13px;flex:none;border:1.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.frame{display:flex;flex-direction:column;height:100%;min-height:0}.topbar{flex:none;height:var(--header-h);display:flex;align-items:center;gap:var(--s4);padding:0 var(--s4);background:var(--surface-1);border-bottom:1px solid var(--border-subtle);z-index:40}.topbar .logo{height:auto;padding:0;border:none;background:none;font-size:var(--t-md);font-weight:620;letter-spacing:-.02em;color:var(--text);display:flex;align-items:center;gap:var(--s2)}.topbar .logo:hover{background:none;color:var(--text)}.logo-mark{width:22px;height:22px;flex:none;display:block}.topbar-spacer{flex:1}.topbar-meta{display:flex;align-items:center;gap:var(--s3);font-size:var(--t-sm);color:var(--text-3)}.topbar-search{display:flex;align-items:center;gap:var(--s2);height:30px;min-width:210px;padding:0 var(--s2) 0 var(--s3);border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);color:var(--text-3);font-size:var(--t-sm);cursor:pointer;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.topbar-search:hover{border-color:var(--border-strong);color:var(--text-2);background:var(--surface-2)}.topbar-search kbd{margin-left:auto}.banner{flex:none;display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);background:var(--warn-soft);border-bottom:1px solid rgba(233,161,59,.28);color:var(--warn);font-size:var(--t-sm)}.content{flex:1;display:flex;min-height:0}.sidebar{flex:none;width:var(--sidebar-w);display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3);background:var(--surface-1);border-right:1px solid var(--border-subtle);overflow-y:auto}.side-group{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--s4)}.side-group>.eyebrow{padding:0 var(--s2);margin-bottom:var(--s2)}.side-item{height:30px;justify-content:flex-start;gap:var(--s2);padding:0 var(--s2);border:none;background:transparent;color:var(--text-2);font-size:var(--t-base);font-weight:450;width:100%;border-radius:var(--r-sm)}.side-item:hover:not(:disabled){background:var(--surface-2);border:none;color:var(--text)}.side-item.on{background:var(--surface-3);color:var(--text);font-weight:500}.side-item .side-count{margin-left:auto;font-size:var(--t-xs);color:var(--text-4);font-variant-numeric:tabular-nums}.side-item.on .side-count{color:var(--text-3)}.side-glyph{width:15px;flex:none;display:grid;place-items:center;opacity:.85}.side-foot{margin-top:auto;padding-top:var(--s3);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--s2)}.library{flex:1;display:grid;grid-template-columns:minmax(0,1fr) var(--inspector-w);min-height:0}.lib-main{display:flex;flex-direction:column;min-width:0;min-height:0}.lib-header{flex:none;display:flex;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border-subtle)}.lib-title{display:flex;flex-direction:column;gap:1px;min-width:0}.lib-title h1{font-size:var(--t-xl);letter-spacing:-.024em}.lib-sub{font-size:var(--t-sm);color:var(--text-3);display:flex;align-items:center;gap:var(--s2)}.lib-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}.lib-toolbar{flex:none;display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s5);border-bottom:1px solid var(--border-subtle);background:var(--bg);flex-wrap:wrap;row-gap:var(--s2)}.toolbar-sep{width:1px;height:18px;flex:none;background:var(--border);margin:0 var(--s1)}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}.lib-body{flex:1;overflow-y:auto;padding:var(--s5);min-height:0}.inspector{display:flex;flex-direction:column;min-height:0;background:var(--surface-1);border-left:1px solid var(--border-subtle)}.inspector-head{flex:none;display:flex;align-items:center;gap:var(--s2);height:var(--header-h);padding:0 var(--s4);border-bottom:1px solid var(--border-subtle)}.inspector-head h2{font-size:var(--t-base);font-weight:560}.inspector-body{flex:1;overflow-y:auto;padding:var(--s4);display:flex;flex-direction:column;gap:var(--s5);min-height:0}.inspector-foot{flex:none;padding:var(--s3) var(--s4) var(--s4);border-top:1px solid var(--border-subtle);background:var(--surface-1);display:flex;flex-direction:column;gap:var(--s2)}.inspector-section{display:flex;flex-direction:column;gap:var(--s3)}.inspector-section>header{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.detail{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:0}.detail .preview{display:grid;place-items:center;padding:var(--s7);background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(255,255,255,.022),transparent 70%),var(--bg);min-width:0;overflow:auto}.detail .preview img,.detail .preview video{max-width:100%;max-height:74vh;border-radius:var(--r-md);box-shadow:var(--shadow-3);display:block}.detail .meta{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s5);overflow-y:auto;background:var(--surface-1);border-left:1px solid var(--border-subtle);min-height:0}@media(max-width:1180px){:root{--inspector-w: 280px;--sidebar-w: 62px}.side-item span:not(.side-glyph),.side-group>.eyebrow{display:none}.side-item{justify-content:center}}@media(max-width:900px){html,body,#root{height:auto;min-height:100%}.frame{height:auto;min-height:100dvh}.sidebar{flex-direction:row;align-items:center;gap:var(--s2);width:auto;padding:var(--s3) var(--s4);border-right:none;border-bottom:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none}.sidebar::-webkit-scrollbar{display:none}.side-group{flex-direction:row;align-items:center;gap:var(--s2);margin:0}.side-group>.eyebrow,.side-foot{display:none}.side-item{width:auto;flex:none;height:32px;padding:0 var(--s3);border-radius:var(--r-full);background:var(--surface-2);white-space:nowrap}.side-item span:not(.side-glyph){display:inline}.side-item.on{background:var(--surface-3)}.content{flex-direction:column}.topbar-search{width:34px;height:34px;font-size:var(--t-md)}.library,.detail{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto}.lib-main,.inspector,.detail .preview,.detail .meta{min-height:auto}.inspector-body,.lib-body,.detail .meta{overflow:visible}.inspector,.detail .meta{border-left:none;border-top:1px solid var(--border)}.inspector-foot{position:static}.topbar{position:sticky;top:0;gap:var(--s3)}.topbar-search{min-width:0;width:32px;padding:0;justify-content:center}.topbar-search span:not([aria-hidden]),.topbar-search kbd{display:none}.topbar-meta .micro,.topbar-meta .meter{display:none}.lib-toolbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.lib-toolbar::-webkit-scrollbar{display:none}.lib-header{flex-wrap:wrap;row-gap:var(--s3);padding:var(--s4)}.lib-actions{width:100%}.lib-actions .btn{flex:1;justify-content:center}}@media(max-width:560px){.detail .preview{padding:var(--s4)}.canvas-nav.prev{left:4px}.canvas-nav.next{right:4px}}.channel{margin-bottom:var(--s7)}.channel-head{display:flex;align-items:baseline;gap:var(--s2);margin-bottom:var(--s3)}.channel-head h3{font-size:var(--t-base);font-weight:560}.channel-head .faint{font-size:var(--t-sm)}.lattice{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:var(--s3)}.cell{position:relative;aspect-ratio:1;padding:0;height:auto;overflow:hidden;border-radius:var(--r-md);border:none;background:var(--surface-2);box-shadow:inset 0 0 0 1px #ffffff0f;cursor:pointer;transition:box-shadow var(--base) var(--ease),opacity var(--base) var(--ease)}.cell:hover{box-shadow:inset 0 0 0 1px #ffffff2b}.cell img{width:100%;height:100%;object-fit:cover;display:block}.cell-info{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:1px;padding:var(--s5) var(--s2) var(--s2);background:linear-gradient(transparent,#060608e0 58%);text-align:left;opacity:0;transform:translateY(4px);transition:opacity var(--base) var(--ease),transform var(--base) var(--ease);pointer-events:none}.cell:hover .cell-info,.cell:focus-visible .cell-info{opacity:1;transform:translateY(0)}.cell-name{font-size:var(--t-xs);font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-sub{font-size:var(--t-2xs);color:var(--text-3);font-family:var(--font-mono)}.cell .tag{position:absolute;left:var(--s2);bottom:var(--s2);padding:2px 6px;border-radius:var(--r-xs);background:#060608b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-2);font-size:var(--t-2xs);font-weight:500}.cell.state-queued{box-shadow:inset 0 0 0 1px var(--border-strong)}.cell.state-running{box-shadow:inset 0 0 0 1.5px var(--accent);animation:pulse-accent 1.5s var(--ease-inout) infinite}.cell.state-regenerated{box-shadow:inset 0 0 0 1.5px var(--accent)}.cell.state-cached{box-shadow:inset 0 0 0 1px #ffffff0d;opacity:.55}.cell.state-cached img{filter:saturate(.35) brightness(.7)}.cell.state-failed_over{box-shadow:inset 0 0 0 1.5px var(--warn)}.cell.state-error{box-shadow:inset 0 0 0 1.5px var(--danger)}.cell.untouched{opacity:.3}.cell.untouched img{filter:saturate(.15)}.cell.picked{box-shadow:inset 0 0 0 2px var(--accent)}.cell-mark{position:absolute;top:var(--s2);right:var(--s2);width:18px;height:18px;display:grid;place-items:center;border-radius:var(--r-full);background:#060608c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:10px;font-weight:700;pointer-events:none;animation:pop var(--base) var(--ease)}.cell-mark.m-regenerated,.cell-mark.m-running{color:var(--accent)}.cell-mark.m-cached{color:var(--text-3)}.cell-mark.m-failed_over{color:var(--warn)}.cell-mark.m-error{color:var(--danger)}.stale-dot{position:absolute;top:var(--s2);right:var(--s2);width:7px;height:7px;border-radius:var(--r-full);background:var(--warn);box-shadow:0 0 0 2px #06060899}.approved-tick{position:absolute;top:var(--s2);left:var(--s2);transition:left var(--fast) var(--ease);width:17px;height:17px;display:grid;place-items:center;border-radius:var(--r-full);background:var(--accent);color:var(--accent-ink);font-size:10px;font-weight:700}.pick-dot{position:absolute;cursor:pointer;opacity:0;top:var(--s2);left:var(--s2);width:16px;height:16px;border-radius:var(--r-xs);border:1.5px solid var(--text-2);background:#06060899;z-index:2;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.pick-dot.on{background:var(--accent);border-color:var(--accent)}.pick-dot.on:after{content:"✓";display:grid;place-items:center;height:100%;color:var(--accent-ink);font-size:10px;font-weight:700}.waveicon{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(160deg,var(--surface-3),var(--surface-2))}.run-strip{display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap;margin-bottom:var(--s5);padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);font-size:var(--t-sm);animation:rise-in var(--slow) var(--ease)}.run-strip b{font-weight:560;font-variant-numeric:tabular-nums}.run-strip-clear{margin-left:auto}.selection-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s4);padding:var(--s2) var(--s3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-3);box-shadow:var(--shadow-2);font-size:var(--t-sm);animation:rise-in var(--base) var(--ease)}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s10) var(--s5);text-align:center}.empty-glyph{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);font-size:19px}.empty h3{font-size:var(--t-md)}.empty p{max-width:380px;font-size:var(--t-sm);color:var(--text-3)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--s5);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--base) var(--ease)}.modal{width:min(560px,100%);max-height:min(84vh,900px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--s4);padding:var(--s6);border-radius:var(--r-lg);border:1px solid var(--border);background:var(--overlay-bg);box-shadow:var(--shadow-3);animation:rise-in var(--slow) var(--ease)}.modal h2{font-size:var(--t-lg)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3)}.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-top:var(--s4);border-top:1px solid var(--border-subtle)}.modal-wide{width:min(720px,100%)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:var(--s2)}.stat-grid>div{padding:var(--s3);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border-subtle)}.stat-grid .num{font-size:var(--t-xl);font-weight:560;letter-spacing:-.02em;line-height:1.15}.stat-grid .micro{margin-top:2px}.kv{display:grid;grid-template-columns:minmax(88px,auto) 1fr;gap:var(--s2) var(--s4);font-size:var(--t-sm)}.kv dt{color:var(--text-3)}.kv dd{color:var(--text-2);word-break:break-all;font-family:var(--font-mono);font-size:var(--t-xs)}.buildlog{display:flex;flex-direction:column;gap:1px;padding:var(--s3);border-radius:var(--r);border:1px solid var(--border-subtle);background:var(--bg);font-family:var(--font-mono);font-size:var(--t-xs);line-height:1.65;color:var(--text-2);overflow:auto}.buildlog .line{white-space:pre-wrap;animation:fade-in var(--fast) var(--ease)}.rebuild-dock{position:fixed;left:0;right:0;bottom:0;z-index:60;height:212px;display:grid;grid-template-columns:minmax(0,1fr) 330px;background:var(--surface-1);border-top:1px solid var(--border);box-shadow:0 -8px 32px #0000006b;animation:slide-up var(--slow) var(--ease)}.library.docked .lib-body,.library.docked .inspector-body{padding-bottom:228px}.dock-main{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) var(--s5);min-width:0;min-height:0;overflow-y:auto}.dock-activity{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s3) var(--s4);border-left:1px solid var(--border-subtle);min-width:0;min-height:0}.dock-activity .buildlog{flex:1;min-height:0;font-size:var(--t-2xs)}.dock-main .task-tile{width:56px;height:56px;border-radius:var(--r)}.dock-title{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.dock-title b{font-size:var(--t-base);font-weight:560}.dock-line{font-size:var(--t-sm);margin:0}.dock-stats .num{font-size:var(--t-lg)}.dock-tiles{margin-top:auto}.task-grid{display:flex;gap:var(--s2);flex-wrap:wrap}.task-tile{position:relative;width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);overflow:hidden;display:grid;place-items:center;transition:background var(--base) var(--ease),border-color var(--base) var(--ease),color var(--base) var(--ease),box-shadow var(--base) var(--ease)}.task-tile img{width:100%;height:100%;object-fit:cover}.task-tile.working{border-color:var(--accent);animation:pulse-accent 1.5s var(--ease-inout) infinite}.task-tile.done{border-color:var(--accent)}.task-tile.failed{border-color:var(--danger)}.task-kind{color:var(--text-4);font-size:13px}.task-mark{position:absolute;bottom:1px;right:2px;font-size:10px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.9)}.task-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent);opacity:0;animation:flash-once var(--slow) var(--ease);pointer-events:none}@keyframes flash-once{0%{opacity:.55}to{opacity:0}}.campaign-modal{width:min(680px,100%)}.deliverable-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.deliverable{display:flex;align-items:center;gap:var(--s3);height:auto;padding:var(--s3);border-radius:var(--r-md);border:1px solid var(--border-subtle);background:var(--surface-2);text-align:left;color:var(--text-2)}.deliverable:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-2)}.deliverable.on{border-color:var(--border-strong);background:var(--surface-3);color:var(--text)}.d-shape{flex:none;display:grid;place-items:center;border-radius:var(--r-xs);border:1.5px solid var(--border-strong);color:var(--text-4);font-size:13px;transition:background var(--base) var(--ease),border-color var(--base) var(--ease),color var(--base) var(--ease),box-shadow var(--base) var(--ease)}.deliverable.on .d-shape{border-color:var(--text-3);color:var(--text-3)}.d-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.d-label{font-size:var(--t-base);font-weight:500}.d-sub,.d-cost{font-size:var(--t-2xs);color:var(--text-3)}.d-cost{font-variant-numeric:tabular-nums}.d-tick{flex:none;width:16px;color:var(--accent);font-size:12px;font-weight:700}.campaign-opts{display:flex;gap:var(--s4);flex-wrap:wrap;align-items:center}.campaign-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding-top:var(--s4);border-top:1px solid var(--border-subtle)}.campaign-live{display:flex;gap:var(--s3);align-items:flex-end;flex-wrap:wrap}.live-card{display:flex;flex-direction:column;gap:var(--s1);flex:1 1 0;min-width:88px;max-width:190px}.live-frame{display:grid;place-items:center;width:100%;overflow:hidden;border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);transition:border-color var(--base) var(--ease)}.live-card.working .live-frame{border-color:var(--accent);animation:pulse-accent 1.5s var(--ease-inout) infinite}.live-card.done .live-frame{border-color:var(--accent-line)}.live-card.error .live-frame{border-color:var(--danger)}.live-frame img{width:100%;height:100%;object-fit:cover;animation:fade-in var(--slow) var(--ease)}.live-state{font-size:var(--t-2xs);color:var(--text-4)}.live-state.working{color:var(--accent)}.live-state.error{color:var(--danger)}.chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 var(--s2);border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:var(--t-xs);cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.chip:hover:not(:disabled){border-color:var(--border-strong);color:var(--text);background:var(--surface-3)}.chip.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.chip-row,.chip-list{display:flex;gap:var(--s2);flex-wrap:wrap}.suggest-chip{align-self:flex-start;height:24px;padding:0 var(--s2);border-radius:var(--r-sm);border:1px dashed var(--border-strong);background:transparent;color:var(--text-3);font-size:var(--t-xs)}.suggest-chip:hover:not(:disabled){border-style:solid;border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.prim-row{display:flex;flex-direction:column;gap:var(--s2)}.prim-row>label{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-xs);font-weight:500;color:var(--text-2)}.prim-row>label.changed{color:var(--accent)}.prim-row>label.changed:after{content:"edited";padding:1px 5px;border-radius:var(--r-xs);background:var(--accent-soft);border:1px solid var(--accent-line);font-size:var(--t-2xs);font-weight:500}.palette-editor{display:flex;flex-direction:column;gap:var(--s2)}.swatch-row-item{display:flex;align-items:center;gap:var(--s2)}.color-chip,.chip-swatch{width:22px;height:22px;flex:none;padding:0;border-radius:var(--r-sm);border:1px solid var(--border-strong);cursor:pointer}.ui-select.role-select{width:auto;min-width:104px;max-width:118px;flex:none}.chip-label{flex:1;min-width:0;font-size:var(--t-xs);color:var(--text-2);overflow:hidden;text-overflow:ellipsis}.chip-x{width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--text-4);font-size:13px}.chip-x:hover{background:var(--danger-soft);color:var(--danger);border:none}.logo-row{display:flex;align-items:center;gap:var(--s3)}.logo-preview{width:46px;height:46px;flex:none;object-fit:contain;border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);padding:var(--s1)}.logo-preview.empty{display:grid;place-items:center;border-style:dashed;color:var(--text-4);font-size:var(--t-2xs)}.logo-replace{display:inline-flex;align-items:center;height:28px;padding:0 var(--s3);border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-size:var(--t-sm);cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.logo-replace:hover{border-color:var(--border-strong);color:var(--text)}.logo-replace input{display:none}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;justify-content:center;padding-top:14vh;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--fast) var(--ease)}.cmdk{width:min(560px,calc(100vw - 32px));max-height:60vh;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--border-strong);background:var(--overlay-bg);box-shadow:var(--shadow-3);animation:rise-in var(--base) var(--ease)}.cmdk-input-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border-subtle)}.cmdk-input-row input{border:none;background:none;padding:0;font-size:var(--t-md)}.cmdk-input-row input:focus{box-shadow:none;background:none}.cmdk-list{overflow-y:auto;padding:var(--s2);display:flex;flex-direction:column;gap:1px}.cmdk-list>*{display:flex;align-items:center;gap:var(--s3);width:100%;height:34px;padding:0 var(--s3);border-radius:var(--r-sm);border:none;background:transparent;color:var(--text-2);font-size:var(--t-base);text-align:left;justify-content:flex-start}.cmdk-list>.on,.cmdk-list>*:hover{background:var(--surface-3);border:none;color:var(--text)}.toast{position:fixed;bottom:var(--s5);left:50%;transform:translate(-50%);z-index:130;display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-3);box-shadow:var(--shadow-3);font-size:var(--t-sm);animation:slide-up var(--slow) var(--ease)}.tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#06060899;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:fade-in var(--base) var(--ease)}.tour-ring{position:fixed;z-index:111;border-radius:var(--r-md);border:2px solid var(--accent);box-shadow:0 0 0 9999px #0606089e,var(--shadow-accent);pointer-events:none;transition:background var(--slow) var(--ease),border-color var(--slow) var(--ease),color var(--slow) var(--ease),box-shadow var(--slow) var(--ease)}.tour-card{position:fixed;z-index:112;width:min(330px,calc(100vw - 32px));display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--overlay-bg);box-shadow:var(--shadow-3);animation:rise-in var(--base) var(--ease)}.tour-card h3{font-size:var(--t-base)}.tour-card p{font-size:var(--t-sm)}.aplayer{display:flex;align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2)}.aplay{width:34px;height:34px;flex:none;padding:0;border-radius:var(--r-full);background:var(--accent);border-color:transparent;color:var(--accent-ink)}.aplay:hover:not(:disabled){background:var(--accent-hover);border-color:transparent}.awave{flex:1;min-width:0;height:34px;cursor:pointer}.diff-modal{width:min(760px,100%)}.diff-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.diff-side{display:flex;flex-direction:column;gap:var(--s2)}.diff-side img{width:100%;border-radius:var(--r);border:1px solid var(--border);display:block}.diff-audio{display:grid;place-items:center;aspect-ratio:16/10;border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);color:var(--text-3);font-size:var(--t-sm)}.diff-kv{grid-template-columns:auto 1fr;gap:var(--s1) var(--s3)}.asset-meta-row{display:flex;align-items:center;gap:var(--s2)}.asset-title{flex:1;min-width:0;font-size:var(--t-lg);font-weight:560;letter-spacing:-.02em;padding:var(--s2);border-color:transparent;background:transparent}.asset-title:hover{border-color:var(--border);background:var(--surface-2)}.approval{height:28px;font-size:var(--t-sm)}.approval.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.action-btn{display:inline-flex;align-items:center;gap:var(--s2);height:32px;padding:0 var(--s3);border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--t-base);font-weight:500;cursor:pointer;transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),box-shadow var(--fast) var(--ease)}.action-btn:hover{background:var(--surface-3);border-color:var(--border-strong)}.manifest{max-height:260px;overflow:auto;padding:var(--s3);border-radius:var(--r);border:1px solid var(--border-subtle);background:var(--bg);font-family:var(--font-mono);font-size:var(--t-2xs);line-height:1.6;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.composer{width:min(640px,100%)}.composer-prompt{min-height:76px}.aspect-grid,.voice-grid,.engine-grid{display:grid;gap:var(--s2)}.aspect-grid{grid-template-columns:repeat(auto-fit,minmax(82px,1fr))}.voice-grid,.engine-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kind-tabs{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;justify-content:start;gap:2px;padding:3px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border-subtle)}.kind-tabs>button{height:28px;padding:0 var(--s4);border:none;background:transparent;color:var(--text-3);font-size:var(--t-sm);font-weight:500;border-radius:var(--r-sm)}.kind-tabs>button:hover:not(:disabled){border:none;background:var(--surface-3);color:var(--text-2)}.kind-tabs>button.on{background:var(--surface-4);color:var(--text);border:none;box-shadow:var(--shadow-1)}.seg-off{display:inline-flex;align-items:center;height:15px;padding:0 4px;border-radius:var(--r-xs);border:1px solid var(--border);color:var(--text-4);font-size:var(--t-2xs);font-weight:500}.aspect-box{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--s1);height:auto;min-width:0;padding:var(--s2) var(--s2) var(--s3);border-radius:var(--r);border:1px solid var(--border-subtle);background:var(--surface-2);color:var(--text-2);font-size:var(--t-xs);text-align:center;white-space:normal;overflow-wrap:anywhere}.aspect-box>*{max-width:100%}.aspect-box.on{border-color:var(--accent-line);background:var(--accent-soft);color:var(--text)}.aspect-shape{display:flex;align-items:flex-end;justify-content:center;height:38px;margin-bottom:2px}.aspect-name{font-size:var(--t-xs);font-weight:500;color:var(--text);line-height:1.2}.aspect-ratio{font-size:var(--t-2xs);color:var(--text-3);line-height:1.2}.aspect-box.on .aspect-shape>span{border-color:var(--accent)}.engine-name{font-size:var(--t-sm);font-weight:500;color:var(--text)}.density-toggle{display:inline-flex;gap:2px;padding:2px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border-subtle)}.density-toggle>button{height:24px;min-width:26px;padding:0 var(--s2);border:none;background:transparent;color:var(--text-3);font-size:var(--t-xs)}.density-toggle>button:hover:not(:disabled){border:none;background:transparent;color:var(--text-2)}.density-toggle>button.on{background:var(--surface-4);color:var(--text);border:none}.filter-select{width:auto;min-width:130px;height:30px;padding:0 var(--s6) 0 var(--s3);font-size:var(--t-sm);background-position:calc(100% - 14px) 14px,calc(100% - 10px) 14px}.meter{height:4px;border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.meter-fill{height:100%;border-radius:var(--r-full);background:var(--accent);transition:width var(--slow) var(--ease)}.plan-list{display:flex;flex-direction:column;gap:2px;max-height:230px;overflow-y:auto;padding:var(--s1);border-radius:var(--r);border:1px solid var(--border-subtle);background:var(--surface-2)}.plan-row{display:flex;align-items:center;gap:var(--s2);padding:var(--s2);border-radius:var(--r-sm);font-size:var(--t-sm);transition:background var(--fast) var(--ease)}.plan-row:hover{background:var(--surface-3)}.plan-thumb{width:26px;height:26px;flex:none;object-fit:cover;border-radius:var(--r-xs);border:1px solid var(--border)}.pixel{font-family:"Silkscreen",var(--font-mono)}.palette-add{position:relative;overflow:hidden}.palette-add input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;border:none;opacity:0;cursor:pointer}.primary:disabled{background:var(--surface-2);border-color:var(--border);color:var(--text-4);box-shadow:none;opacity:1}.dock-head{margin-bottom:var(--s1)}.dock-close{flex:none;white-space:nowrap}.waveicon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 var(--s3);background:linear-gradient(160deg,var(--surface-3),var(--surface-2))}.waveicon>span{flex:1 1 0;min-width:1px;max-width:3px;border-radius:var(--r-full);background:var(--text-4)}.cell:hover .waveicon>span{background:var(--text-3)}.ui-select{width:100%;height:32px;padding:0 var(--s2) 0 var(--s3);justify-content:space-between;gap:var(--s2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-weight:400;text-align:left}.ui-select-sm{height:26px;padding:0 6px 0 var(--s2);font-size:var(--t-xs)}.ui-select.open{border-color:var(--accent-line);background:var(--surface-1);box-shadow:0 0 0 3px var(--accent-soft)}.ui-select-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-select-chev{flex:none;width:7px;height:7px;margin-right:3px;border-right:1.5px solid var(--text-3);border-bottom:1.5px solid var(--text-3);transform:translateY(-2px) rotate(45deg);transition:transform var(--fast) var(--ease)}.ui-select.open .ui-select-chev{transform:translateY(1px) rotate(225deg)}.ui-select:hover:not(:disabled) .ui-select-chev{border-color:var(--text-2)}.ui-select-panel{position:fixed;z-index:200;max-height:288px;overflow-y:auto;overscroll-behavior:contain;padding:var(--s1);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-3);box-shadow:var(--shadow-3);animation:rise-in var(--fast) var(--ease);transform-origin:top center}.ui-select-panel.up{transform-origin:bottom center}.ui-option{display:flex;align-items:center;gap:var(--s2);min-height:29px;padding:5px var(--s2);border-radius:var(--r-sm);color:var(--text-2);cursor:pointer}.ui-option.active{background:var(--surface-4);color:var(--text)}.ui-option[aria-selected=true]{color:var(--text)}.ui-option.off{color:var(--text-4);cursor:not-allowed}.ui-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ui-option-label{font-size:var(--t-base);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-option-desc{font-size:var(--t-2xs);line-height:1.35;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-option-check{flex:none;width:12px;font-size:11px;font-weight:700;color:var(--accent);text-align:center}.sheet{padding:0;gap:0;overflow:hidden}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);flex:none;padding:var(--s5) var(--s5) var(--s4);border-bottom:1px solid var(--border-subtle)}.sheet-head-text{min-width:0}.sheet-sub{margin-top:3px;font-size:var(--t-sm);line-height:1.5;color:var(--text-3)}.sheet-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s5);padding:var(--s5)}.sheet-panel{display:flex;flex-direction:column;gap:var(--s5)}.seg-wrap{display:flex;flex-direction:column;gap:var(--s2)}.sheet-hint{font-size:var(--t-sm);color:var(--text-3);margin:0}.sheet-foot{flex:none;display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4) var(--s5);border-top:1px solid var(--border-subtle);background:var(--surface-1)}.sheet-foot-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}.foot-cost{display:flex;flex-direction:column;gap:1px;min-width:0}.foot-cost-val{font-size:var(--t-md);font-weight:560;letter-spacing:-.015em;color:var(--text);line-height:1.2}.foot-cost .micro{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field>.label{display:flex;align-items:baseline;gap:5px;margin:0;font-size:var(--t-sm);font-weight:500;color:var(--text-2)}.field-help{font-size:var(--t-xs);line-height:1.5;color:var(--text-3);margin:0}.field-lead{height:38px;font-size:var(--t-md)}.file-input{width:100%;padding:var(--s3);border:1px dashed var(--border-strong);border-radius:var(--r);background:var(--surface-2);color:var(--text-2);font-size:var(--t-sm);cursor:pointer}.file-input::file-selector-button{margin-right:var(--s3);padding:5px var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-3);color:var(--text);font-family:inherit;font-size:var(--t-sm);cursor:pointer}.toggle-row{display:flex;align-items:flex-start;gap:var(--s2);padding:var(--s3);border:1px solid var(--border-subtle);border-radius:var(--r);background:var(--surface-2);font-size:var(--t-sm);color:var(--text-2);cursor:pointer}.toggle-row:hover{border-color:var(--border)}.toggle-row input[type=checkbox]{margin-top:2px}.toggle-row .field-help{display:block;margin-top:1px}.toggle-thumb{width:20px;height:20px;flex:none;object-fit:contain;border-radius:var(--r-xs);border:1px solid var(--border)}.notice{padding:var(--s2) var(--s3);border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);font-size:var(--t-sm);line-height:1.5;color:var(--text-2)}.notice-warn{border-color:#e9a13b57;background:var(--warn-soft);color:var(--warn)}.notice-danger{border-color:#ff6b5c57;background:var(--danger-soft);color:var(--danger)}.disclosure{border:1px solid var(--border-subtle);border-radius:var(--r);background:var(--surface-1)}.disclosure>summary{display:flex;align-items:center;gap:var(--s2);min-height:36px;padding:0 var(--s3);font-size:var(--t-sm);font-weight:500;color:var(--text-2);cursor:pointer;list-style:none;border-radius:var(--r)}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"";flex:none;width:5px;height:5px;border-right:1.5px solid var(--text-4);border-bottom:1.5px solid var(--text-4);transform:rotate(-45deg);transition:transform var(--fast) var(--ease)}.disclosure[open]>summary:before{transform:rotate(45deg)}.disclosure>summary:hover{color:var(--text);background:var(--surface-2)}.disclosure-note{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-xs);font-weight:400;color:var(--text-4)}.disclosure-body{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s2) var(--s3) var(--s4);border-top:1px solid var(--border-subtle)}.prompt-preview{display:flex;flex-direction:column;gap:3px;padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--border-subtle);font-size:var(--t-xs);line-height:1.55;color:var(--text-2);word-break:break-word}.composer .chip-row{margin:0}.deliverable-skeleton{height:82px;border-radius:var(--r-md)}.campaign-status{font-size:var(--t-sm);margin:0}.campaign-log{max-height:132px;flex:none}.live-caption{display:flex;align-items:baseline;gap:4px;min-width:0}.live-caption-name,.dock-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.kind-tabs{display:grid;grid-auto-flow:row;grid-template-columns:1fr 1fr}.sheet-foot-row{flex-direction:column;align-items:stretch}}.ref-block{display:flex;flex-direction:column;gap:var(--s2)}.ref-row{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}.ref-thumb{position:relative;width:60px;height:60px;border-radius:var(--r);overflow:hidden;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}.ref-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ref-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:none;border-radius:var(--r-full);background:#060608c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-2);font-size:12px;line-height:1}.ref-remove:hover:not(:disabled){background:var(--danger);border:none;color:#fff}.ref-add{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:60px;height:60px;border-radius:var(--r);border:1px dashed var(--border-strong);background:var(--surface-2);color:var(--text-3);font-size:var(--t-2xs);cursor:pointer;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.ref-add:hover{border-color:var(--accent-line);color:var(--accent)}.ref-add.busy{cursor:progress}.ref-add input{display:none}.activity-feed{display:flex;flex-direction:column;gap:1px;padding:var(--s1);border-radius:var(--r);border:1px solid var(--border-subtle);background:var(--bg);overflow-y:auto;flex:1;min-height:0}.act{display:flex;align-items:baseline;gap:var(--s2);padding:6px var(--s2);border-radius:var(--r-sm);animation:fade-in var(--fast) var(--ease)}.act-glyph{flex:none;width:12px;text-align:center;font-size:10px;color:var(--text-4)}.act-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.act-text{font-size:var(--t-sm);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act-detail{font-size:var(--t-2xs);line-height:1.45;color:var(--text-4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.act-cost{flex:none;font-size:var(--t-2xs);color:var(--text-4)}.act-done .act-glyph,.act-done .act-text,.act-running .act-glyph{color:var(--accent)}.act-failover .act-glyph,.act-failover .act-detail{color:var(--warn)}.act-error .act-glyph,.act-error .act-text{color:var(--danger)}.act-plan .act-text{color:var(--text);font-weight:500}.version-rail{display:flex;flex-direction:column;gap:var(--s2);padding-top:var(--s3);border-top:1px solid var(--border-subtle)}.version-list{list-style:none;display:flex;flex-direction:column;gap:2px;max-height:210px;overflow-y:auto}.version-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s2);border-radius:var(--r);border:1px solid transparent}.version-row:hover{background:var(--surface-2)}.version-row.on{border-color:var(--border-strong);background:var(--surface-2)}.version-when{flex:none;width:46px;font-size:var(--t-2xs)}.version-thumb{width:34px;height:34px;flex:none;object-fit:cover;border-radius:var(--r-sm);background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border)}.version-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;font-size:var(--t-2xs)}.version-date{color:var(--text-2)}.version-actions{flex:none;display:flex;gap:var(--s1)}.detail .preview{position:relative}.canvas-back{position:absolute;top:var(--s4);left:var(--s4);z-index:3;height:30px;padding:0 var(--s3);border-radius:var(--r);border:1px solid var(--border);background:#101012d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-2);font-size:var(--t-sm)}.canvas-back:hover{border-color:var(--border-strong);color:var(--text);background:#16161aeb}.canvas-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;padding:0;border-radius:var(--r-full);border:1px solid var(--border);background:#101012d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-2);font-size:19px;line-height:1;opacity:0;transition:opacity var(--base) var(--ease),background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.canvas-nav.prev{left:var(--s4)}.canvas-nav.next{right:var(--s4)}.detail .preview:hover .canvas-nav,.canvas-nav:focus-visible{opacity:1}.canvas-nav:hover{border-color:var(--border-strong);color:var(--text);background:#16161af0}.canvas-count{position:absolute;bottom:var(--s4);left:50%;transform:translate(-50%);z-index:3;padding:3px var(--s2);border-radius:var(--r-sm);background:#101012d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:900px){.canvas-nav{opacity:1}}.pipeline-steps{list-style:none;display:flex;flex-direction:column;gap:var(--s2);position:relative}.pipeline-steps li{display:flex;align-items:flex-start;gap:var(--s3);position:relative}.pipeline-steps li:not(:last-child):before{content:"";position:absolute;left:10px;top:22px;bottom:-10px;width:1px;background:var(--border)}.pipe-index{flex:none;width:21px;height:21px;display:grid;place-items:center;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-2);color:var(--text-3);font-size:var(--t-2xs);font-weight:600;font-variant-numeric:tabular-nums;z-index:1}.pipeline-steps li:last-child .pipe-index{border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.pipe-body{display:flex;flex-direction:column;gap:1px;min-width:0}.pipe-model{font-size:var(--t-sm);color:var(--text-2);word-break:break-all}.pipe-note{font-size:var(--t-2xs);color:var(--text-4)}.play-badge{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:15px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.8);pointer-events:none;opacity:.9}.cell:hover .play-badge{opacity:1}.lattice.density-l .cell-info{opacity:1;transform:none;padding-top:var(--s7)}.lattice.density-l .cell-name{font-size:var(--t-sm)}.lattice.density-l .cell-sub{font-size:var(--t-xs)}@media(hover:none){.cell-info{opacity:1;transform:none}}.confirm-modal{max-width:440px;padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4)}.confirm-modal .modal-head{padding:0;border:none}.confirm-body{font-size:var(--t-base);color:var(--text-2);line-height:1.5}.confirm-detail{display:flex;gap:var(--s2);align-items:flex-start;padding:var(--s3);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border-subtle);font-size:var(--t-sm);color:var(--text-3);line-height:1.5}.confirm-lock{flex:none;color:var(--accent);font-size:var(--t-base);line-height:1.35}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--s2)}button.danger{background:var(--danger-soft, rgba(224, 90, 78, .14));border-color:#e05a4e6b;color:var(--danger, #e8776d)}button.danger:hover:not(:disabled){background:#e05a4e38;border-color:#e05a4e99;color:#f0908a}.removed-head{display:flex;align-items:baseline;gap:var(--s3);margin-bottom:var(--s2)}.removed-note{font-size:var(--t-sm);color:var(--text-3);margin-bottom:var(--s5);max-width:62ch;line-height:1.55}.removed-list{display:flex;flex-direction:column;gap:var(--s2)}.removed-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--border-subtle);border-radius:var(--r);background:var(--surface-1)}.removed-row .rr-name{font-size:var(--t-base);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.removed-row .rr-meta{font-size:var(--t-xs);color:var(--text-4);font-family:var(--font-mono)}.removed-row .rr-how{margin-left:auto;font-size:var(--t-xs);color:var(--text-3);text-align:right;max-width:30ch;line-height:1.4}.cell:hover .pick-dot,.pick-dot.on,.pick-dot.armed{opacity:1}.pick-dot:hover{border-color:var(--accent);box-shadow:0 0 0 3px #c9f24f29}@media(hover:none){.pick-dot{opacity:.4}.pick-dot.on,.pick-dot.armed{opacity:1}}.cell:hover .approved-tick,.pick-dot.armed~.approved-tick,.pick-dot.on~.approved-tick{left:calc(var(--s2) + 22px)}@media(hover:none){.approved-tick{left:calc(var(--s2) + 22px)}}.brand-setup{max-width:660px}.bs-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}@media(max-width:640px){.bs-grid{grid-template-columns:1fr}}.brand-setup .sheet-foot{flex-direction:row;justify-content:space-between;align-items:center}.brand-setup input[type=text],.brand-setup input:not([type]),.brand-setup textarea{height:42px;padding:0 var(--s3);border-radius:10px;font-size:var(--t-base);background:#ffffff07;border:1px solid var(--border)}.brand-setup textarea{height:auto;padding:var(--s3)}.brand-setup input:hover:not(:disabled),.brand-setup textarea:hover:not(:disabled){background:#ffffff0b}.brand-setup input:focus,.brand-setup textarea:focus{background:#ffffff0d}.brand-setup .field-lead{height:42px;font-size:var(--t-base)}.brand-setup .ui-select{height:42px;border-radius:10px}.brand-setup .logo-preview{border-radius:10px}.brand-setup .logo-replace{white-space:nowrap}.brand-setup .field>.label{margin-bottom:var(--s2)}.landing-page{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;scroll-padding-top:92px}.landing-page h1,.landing-page h2{font-weight:450}.landing-page h3{font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.nav-rail{position:sticky;top:12px;z-index:50;width:100%;max-width:1160px;margin:12px auto 0;padding:0 var(--s5);pointer-events:none}.nav-pill{position:relative;pointer-events:auto;display:flex;align-items:center;gap:var(--s3);max-width:1080px;height:54px;margin:0 auto;padding:0 8px 0 14px;border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:#0a0a0b99;transition:background var(--slow) var(--ease),border-color var(--slow) var(--ease),box-shadow var(--slow) var(--ease)}.nav-pill.on{background:#111114d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-color:var(--border);box-shadow:inset 0 1px #ffffff0a,0 1px 2px #00000080,0 10px 28px #00000057}.nav-brand{height:34px;padding:0;gap:var(--s2);border:none;background:none;color:var(--text);font-size:var(--t-md);font-weight:560;letter-spacing:-.02em}.nav-brand:hover:not(:disabled){background:none;border-color:transparent;color:var(--text)}.nav-links{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:2px}.nav-link{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 11px;border:none;border-radius:var(--r);background:none;color:var(--text-2);font-family:inherit;font-size:var(--t-base);font-weight:450;line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.nav-link:hover:not(:disabled){background:var(--surface-2);border-color:transparent;color:var(--text)}.nav-actions{display:flex;align-items:center;gap:var(--s2);margin-left:auto}.cta{height:40px;padding:0 var(--s5);border:1px solid transparent;border-radius:var(--r-md);font-size:var(--t-base);font-weight:510;letter-spacing:-.005em;transition:background var(--base) var(--ease),border-color var(--base) var(--ease),color var(--base) var(--ease),transform var(--base) var(--ease),box-shadow var(--base) var(--ease)}.cta-lg{height:46px;padding:0 var(--s6);font-size:var(--t-md)}.cta-sm{height:34px;padding:0 var(--s4)}.cta-accent{background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0000001f,0 1px 2px #00000080,0 6px 14px #00000047}.cta-accent:hover:not(:disabled){background:var(--accent-hover);border-color:transparent;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff5c,inset 0 -1px #0000001f,0 2px 4px #00000080,0 10px 22px #00000057}.cta-accent:active:not(:disabled){background:var(--accent-press);transform:translateY(1px);box-shadow:inset 0 1px 2px #00000038,0 1px 1px #0006}.cta-quiet{background:var(--surface-2);border-color:var(--border);color:var(--text);box-shadow:inset 0 1px #ffffff0f,0 1px 2px #0006}.cta-quiet:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff14,0 4px 12px #00000057}.cta-quiet:active:not(:disabled){background:var(--surface-2);transform:translateY(1px);box-shadow:inset 0 1px 2px #0000004d}.cta-accent:disabled{opacity:.7;background:var(--accent-press);color:var(--accent-ink);box-shadow:none;cursor:progress}.cta-quiet:disabled{opacity:1;background:var(--surface-2);border-color:var(--border-subtle);color:var(--text-4);box-shadow:none}.hero{display:flex;flex-direction:column;align-items:center;gap:clamp(40px,6vw,72px);max-width:1160px;margin:0 auto;padding:clamp(56px,9vw,104px) var(--s6) var(--s9);text-align:center}.hero-copy{display:flex;flex-direction:column;align-items:center;gap:var(--s5);max-width:820px}.hero-copy h1{font-size:clamp(34px,6vw,66px);font-weight:450;line-height:1.04;letter-spacing:-.032em;text-wrap:balance}.h1-line{display:block}.dim-line{color:var(--text-3)}.thesis{max-width:62ch;font-size:var(--t-md);line-height:1.65;color:var(--text-2)}.hero-actions{display:flex;align-items:center;justify-content:center;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s2)}.hero-name{display:flex;align-items:center;gap:var(--s2)}.hero-name input{width:210px;height:46px;border-radius:var(--r-md)}.hero-note{max-width:58ch;font-size:var(--t-sm);color:var(--text-3)}.hero-error{font-size:var(--t-sm)}.hero-shot{position:relative;width:100%}.hero-glow{position:absolute;top:-18%;right:0;bottom:26%;left:0;pointer-events:none;background:radial-gradient(ellipse 46% 62% at 50% 34%,#c9f24f12,#c9f24f00 68%)}.browser-frame{position:relative;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface-1);overflow:hidden;box-shadow:var(--shadow-3)}.browser-frame img{display:block;width:100%}.browser-frame img{display:block;width:100%;height:auto}.chrome{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border-subtle);background:var(--surface-2)}.chrome i{display:block;width:9px;height:9px;border-radius:var(--r-full);background:var(--surface-4)}.chrome-url{flex:1;text-align:center;font-family:var(--font-mono);font-size:var(--t-2xs);color:var(--text-4)}.runs-on-strip{display:flex;align-items:center;justify-content:center;gap:var(--s6);flex-wrap:wrap;max-width:1120px;margin:0 auto;padding:var(--s5) var(--s6) var(--s9)}.runs-on-strip ul{display:flex;align-items:center;justify-content:center;gap:var(--s6);flex-wrap:wrap;list-style:none}.runs-on-strip li{font-size:var(--t-base);font-weight:500;letter-spacing:-.012em;color:var(--text-3)}.section{max-width:1120px;margin:0 auto;padding:var(--s10) var(--s6);border-top:1px solid var(--border-subtle)}.section-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);max-width:64ch;margin-bottom:var(--s8)}.section-head h2{font-size:clamp(24px,3.1vw,36px);line-height:1.14;letter-spacing:-.03em}.section-head p{font-size:var(--t-md);line-height:1.65}.problem-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:var(--s8);align-items:start}.problem-grid .section-head{margin-bottom:0;max-width:none}.problem-versus{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);width:100%;margin-top:var(--s3)}.pv-side{display:flex;flex-direction:column;gap:3px;padding:var(--s4);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-1)}.pv-good{border-color:#c9f24f38}.pv-label{font-size:var(--t-xs);color:var(--text-3)}.pv-num{font-size:var(--t-xl);font-weight:500;letter-spacing:-.024em;line-height:1.2}.pv-sub{font-size:var(--t-sm);color:var(--text-3)}.prob-panel{border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.prob-head{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border-subtle)}.prob-change{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;font-size:var(--t-sm);color:var(--text-4)}.prob-was{color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--text-4)}.prob-list{list-style:none;padding:var(--s2) var(--s5) 0;-webkit-mask-image:linear-gradient(to bottom,#000 46%,transparent 100%);mask-image:linear-gradient(to bottom,#000 46%,transparent 100%)}.prob-list li{display:flex;align-items:center;gap:var(--s3);padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--t-sm)}.prob-box{flex:none;width:13px;height:13px;border:1px solid var(--border-strong);border-radius:var(--r-xs)}.prob-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.prob-task{flex:none;font-size:var(--t-xs);color:var(--text-4);white-space:nowrap}.prob-foot{padding:var(--s3) var(--s5) var(--s5)}.prob-more{font-size:var(--t-sm);color:var(--text-3)}.flow-steps{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s5)}.flow-step{position:relative;padding-top:46px}.flow-node{position:absolute;top:0;left:0;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-4);font-size:var(--t-xs);font-weight:500;transition:background var(--base) var(--ease),border-color var(--base) var(--ease),color var(--base) var(--ease)}.flow-step:before,.flow-step:after{content:"";position:absolute;top:15px;left:38px;right:calc(var(--s5) * -1);height:1px}.flow-step:before{background:var(--border-subtle)}.flow-step:after{background:var(--accent-line);transform:scaleX(0);transform-origin:left}.flow-step:last-child:before,.flow-step:last-child:after{display:none}.flow-step h3{margin-bottom:var(--s2);font-size:var(--t-md);letter-spacing:-.014em}.flow-step p{font-size:var(--t-sm);line-height:1.6;color:var(--text-2)}.flow.done .flow-node,.flow.run .flow-node{animation:flow-node-on .34s var(--ease) forwards;animation-delay:calc(var(--i) * .3s)}.flow.done .flow-node{animation-delay:0ms;animation-duration:1ms}.flow.done .flow-step:after,.flow.run .flow-step:after{animation:flow-rail .42s var(--ease) forwards;animation-delay:calc(var(--i) * .3s + .17s)}.flow.done .flow-step:after{animation-delay:0ms;animation-duration:1ms}@keyframes flow-node-on{to{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}}@keyframes flow-rail{to{transform:scaleX(1)}}.lattice-band{margin-top:var(--s8);border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.lattice-canvas{display:block;width:100%;height:210px}.lattice-legend{display:flex;gap:var(--s7);flex-wrap:wrap;padding:var(--s3) var(--s5);border-top:1px solid var(--border-subtle);font-size:var(--t-xs);color:var(--text-3)}.lattice-legend span{display:flex;align-items:center;gap:var(--s2)}.lattice-legend i{flex:none;width:10px;height:10px;border-radius:2px}.key-hot{background:var(--accent)}.key-cold{box-shadow:inset 0 0 0 1px var(--border-strong)}.fan{display:grid;grid-template-columns:minmax(0,.82fr) 56px minmax(0,1.18fr);border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.fan-brief{display:flex;flex-direction:column;justify-content:center;gap:var(--s3);padding:var(--s5);border-right:1px solid var(--border-subtle)}.fan-brief-line{font-size:var(--t-md);line-height:1.5;color:var(--text)}.fan-brand{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s2)}.fan-brand>div{display:flex;align-items:baseline;gap:var(--s3)}.fan-brand dt{flex:none;width:62px;font-size:var(--t-xs);color:var(--text-4)}.fan-brand dd{min-width:0;font-size:var(--t-sm);color:var(--text-2)}.fan-swatches{display:flex;gap:4px}.fan-swatches i{display:block;width:15px;height:15px;border-radius:var(--r-xs);box-shadow:inset 0 0 0 1px #ffffff29}.fan-note{padding-top:var(--s3);font-size:var(--t-xs);color:var(--text-4)}.fan-wires{color:var(--border-strong)}.fan-wires svg{display:block;width:100%;height:100%}.fan.run .fan-wires path{stroke-dasharray:100;stroke-dashoffset:100;animation:wire-draw .62s var(--ease) forwards}.fan.run .fan-wires path:nth-child(1){animation-delay:60ms}.fan.run .fan-wires path:nth-child(2){animation-delay:.17s}.fan.run .fan-wires path:nth-child(3){animation-delay:.28s}.fan.run .fan-wires path:nth-child(4){animation-delay:.39s}@keyframes wire-draw{to{stroke-dashoffset:0}}.fan-out{--fh: 84px;--fslot: 140px;list-style:none;display:flex;flex-direction:column}.fan-item{display:grid;grid-template-columns:var(--fslot) minmax(0,1fr) auto;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);border-bottom:1px solid var(--border-subtle)}.fan-item:last-child{border-bottom:none}.fan.run .fan-item{animation:rise-in .42s var(--ease) backwards;animation-delay:calc(var(--i) * .11s + .18s)}.fan-slot{display:flex;align-items:center;width:var(--fslot)}.fan-prev{display:flex;align-items:center;justify-content:center;height:var(--fh);aspect-ratio:var(--ar);border-radius:var(--r-sm);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-strong)}.fan-prev b{font-size:var(--t-xs);font-weight:400;color:var(--text-4)}.fan-prev.audio{justify-content:space-between;gap:2px;padding:0 8px}.fan-prev.audio i{flex:1;min-width:2px;border-radius:1px;background:var(--accent-dim)}.fan-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.fan-name{font-size:var(--t-base);font-weight:500;color:var(--text)}.fan-where{font-size:var(--t-xs);color:var(--text-3)}.fan-spec{display:flex;flex-direction:column;gap:2px;text-align:right;font-size:var(--t-xs);color:var(--text-4)}.fan-price{color:var(--text-2)}.fan-total{grid-column:1 / -1;padding:var(--s4) var(--s5);border-top:1px solid var(--border-subtle);font-size:var(--t-sm);color:var(--text-3)}.fan-total .tabular{color:var(--accent);font-weight:500}.campaign-shot{margin-top:var(--s7)}.bento-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(178px,auto);gap:var(--s4)}.bento-tile{grid-column:span var(--span);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s6);padding:var(--s5);border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-1);overflow:hidden}.bento-tile.tall{grid-row:span 2}.bento-viz{display:flex;flex-direction:column;justify-content:center;flex:1;min-height:0}.bento-text h3{margin-bottom:var(--s2);font-size:var(--t-md);letter-spacing:-.014em}.bento-text p{font-size:var(--t-sm);line-height:1.6;color:var(--text-2)}.m-lattice{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:4px;width:100%}.m-lattice i{aspect-ratio:1;border-radius:2px;box-shadow:inset 0 0 0 1px var(--border-subtle)}.m-lattice i.hot{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.m-lattice.run i.hot{animation:cell-ignite 4s var(--ease) infinite;animation-delay:var(--d)}@keyframes cell-ignite{0%,6%{background:transparent;box-shadow:inset 0 0 0 1px var(--border-subtle)}14%{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}44%,88%{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}to{background:transparent;box-shadow:inset 0 0 0 1px var(--border-subtle)}}.m-cost{display:flex;flex-direction:column;gap:6px;width:100%}.m-cost-row{display:flex;justify-content:space-between;gap:var(--s3);font-size:var(--t-xs);color:var(--text-3)}.m-cost-val{font-weight:500;color:var(--text-2)}.m-bar{height:8px;margin-bottom:var(--s3);border-radius:var(--r-full);background:var(--surface-3);overflow:hidden}.m-bar:last-child{margin-bottom:0}.m-bar-fill{display:block;height:100%;border-radius:var(--r-full);transform-origin:left}.m-bar-fill.manual{background:var(--surface-4)}.m-bar-fill.accent{min-width:4px;background:var(--accent)}.m-cost.run .m-bar-fill{animation:m-grow 3.6s var(--ease) infinite}@keyframes m-grow{0%{transform:scaleX(0)}22%,84%{transform:scaleX(1)}to{transform:scaleX(0)}}.m-wave{display:flex;align-items:center;gap:3px;width:100%;height:86px}.m-wave i{flex:1;min-width:2px;border-radius:1px;background:var(--accent-dim);transform-origin:center}.m-wave.run i{animation:m-wave-pulse 2.2s var(--ease-inout) infinite alternate;animation-delay:var(--d)}@keyframes m-wave-pulse{0%{transform:scaleY(.32)}to{transform:scaleY(1)}}.m-fail{display:flex;flex-direction:column;gap:var(--s3);width:100%;font-size:var(--t-sm)}.m-fail-row{display:flex;align-items:center;gap:var(--s3)}.m-dot{flex:none;width:7px;height:7px;border-radius:var(--r-full)}.m-dot.warn{background:var(--warn)}.m-dot.accent{background:var(--accent)}.m-fail-name{flex:1;color:var(--text-2)}.m-fail-state{display:inline-grid;justify-items:end;font-size:var(--t-xs)}.m-fail-foot{display:inline-grid;padding-top:var(--s3);border-top:1px solid var(--border-subtle);font-size:var(--t-xs);color:var(--text-3)}.m-fail-state>span,.m-fail-foot>span{grid-area:1 / 1}.m-fail .s-a{opacity:0}.m-fail .s-b{opacity:1}.m-fail.run .s-a{animation:m-state-a 5.4s var(--ease) infinite}.m-fail.run .s-b{animation:m-state-b 5.4s var(--ease) infinite}.m-fail.run .m-dot.warn{animation:m-dot-warn 5.4s var(--ease) infinite}.m-fail.run .m-dot.accent{animation:m-dot-accent 5.4s var(--ease) infinite}@keyframes m-state-a{0%,30%{opacity:1}38%,94%{opacity:0}to{opacity:1}}@keyframes m-state-b{0%,30%{opacity:0}38%,94%{opacity:1}to{opacity:0}}@keyframes m-dot-warn{0%,30%{background:var(--accent)}38%,94%{background:var(--warn)}to{background:var(--accent)}}@keyframes m-dot-accent{0%,30%{background:var(--surface-4)}38%,94%{background:var(--accent)}to{background:var(--surface-4)}}.m-manifest{display:flex;flex-direction:column;gap:var(--s3);width:100%}.m-man-rows{display:flex;flex-direction:column;gap:7px}.m-man-rows>div{display:flex;align-items:baseline;gap:var(--s3)}.m-man-rows dt{flex:none;width:78px;font-size:var(--t-xs);color:var(--text-4)}.m-man-rows dd{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-sm);color:var(--text-2)}.m-man-seal{display:inline-flex;align-items:center;gap:7px;padding-top:var(--s3);border-top:1px solid var(--border-subtle);font-size:var(--t-xs);color:var(--text-3)}.m-man-seal>span:first-child{color:var(--text-4);transition:color var(--base) var(--ease)}.m-man-seal.on>span:first-child{color:var(--accent)}.feature-list{display:flex;flex-direction:column;gap:var(--s10)}.feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:var(--s8);align-items:center}.feature-row.flip .feature-copy{order:2}.feature-copy{display:flex;flex-direction:column;gap:var(--s3);max-width:52ch}.feature-copy h3{font-size:var(--t-xl);font-weight:450;letter-spacing:-.026em}.feature-copy p{font-size:var(--t-md);line-height:1.65}.feature-shot{min-width:0}.check-list{list-style:none;display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s2)}.check-list li{display:flex;gap:var(--s3);font-size:var(--t-sm);color:var(--text-2)}.calc{display:flex;flex-direction:column;gap:var(--s6);padding:var(--s6);border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-1)}.calc-presets{display:flex;flex-direction:column;gap:var(--s3)}.calc-chips{display:flex;gap:var(--s2);flex-wrap:wrap}.calc-chip{height:34px;padding:0 var(--s4);gap:var(--s2);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-2);font-weight:450}.calc-chip.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--text)}.calc-chip-pct{font-size:var(--t-xs);color:var(--text-4)}.calc-chip.on .calc-chip-pct{color:var(--accent)}.calc-why{font-size:var(--t-sm);color:var(--text-3)}.calc-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s7);padding:var(--s5) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.calc-slider{display:flex;flex-direction:column;gap:var(--s3)}.calc-slider label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);font-size:var(--t-sm);color:var(--text-2)}.calc-read{font-weight:500;color:var(--accent)}.calc-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:18px;margin:0;padding:0;border:none;background:transparent;box-shadow:none;cursor:pointer}.calc-slider input[type=range]:hover,.calc-slider input[type=range]:focus{border:none;background:transparent;box-shadow:none}.calc-slider input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-full)}.calc-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:var(--r-full);background:linear-gradient(to right,var(--accent) 0,var(--accent) var(--pct),var(--surface-3) var(--pct),var(--surface-3) 100%)}.calc-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6px;border:none;border-radius:var(--r-full);background:var(--text);box-shadow:0 0 0 1px #0000008c,0 1px 3px #0009}.calc-slider input[type=range]::-moz-range-track{height:4px;border-radius:var(--r-full);background:var(--surface-3)}.calc-slider input[type=range]::-moz-range-progress{height:4px;border-radius:var(--r-full);background:var(--accent)}.calc-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:var(--r-full);background:var(--text);box-shadow:0 0 0 1px #0000008c,0 1px 3px #0009}.calc-compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.calc-side{display:flex;flex-direction:column;gap:var(--s4);padding:var(--s5);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg)}.calc-side.accent{border-color:#c9f24f38}.calc-side-label{font-size:var(--t-xs);color:var(--text-3)}.calc-side-num{font-size:clamp(30px,4vw,44px);font-weight:450;line-height:1;letter-spacing:-.032em}.calc-track{height:10px;border-radius:var(--r-full);background:var(--surface-2);overflow:hidden}.calc-fill{display:block;width:100%;height:100%;border-radius:var(--r-full);transform-origin:left;transition:transform var(--slow) var(--ease)}.calc-fill.manual{background:var(--surface-4)}.calc-fill.rebuild{background:var(--accent)}.calc-lines{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:var(--t-sm);color:var(--text-3)}.calc-lines .tabular{color:var(--text-2)}.calc-diff{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s6);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg)}.calc-diff-num{font-size:clamp(21px,2.7vw,30px);font-weight:450;line-height:1.25;letter-spacing:-.026em;color:var(--text)}.calc-diff-sub{font-size:var(--t-sm);color:var(--text-3)}.calc-assume{font-size:var(--t-xs);line-height:1.65;color:var(--text-4)}.persona-picker{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--s4);align-items:stretch}.persona-tabs{display:flex;flex-direction:column;gap:var(--s2)}.persona-tab{display:flex;flex-direction:column;align-items:flex-start;gap:3px;height:auto;padding:var(--s4);border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--surface-1);text-align:left;white-space:normal}.persona-tab:hover:not(:disabled){border-color:var(--border);background:var(--surface-2)}.persona-tab.on{border-color:var(--border-strong);background:var(--surface-2);box-shadow:inset 2px 0 0 var(--accent)}.persona-who{font-size:var(--t-md);font-weight:500;color:var(--text-3)}.persona-tab.on .persona-who{color:var(--text)}.persona-hook{font-size:var(--t-sm);font-weight:400;line-height:1.5;color:var(--text-4)}.persona-tab.on .persona-hook{color:var(--text-2)}.persona-panel{display:flex;flex-direction:column;gap:var(--s5);padding:var(--s6);border:1px solid var(--border-subtle);border-radius:var(--r-lg);background:var(--surface-1);animation:fade-in var(--slow) var(--ease)}.persona-scenario{max-width:62ch;font-size:var(--t-md);line-height:1.65;color:var(--text-2)}.persona-change{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;padding:var(--s3) var(--s4);border:1px solid var(--border-subtle);border-radius:var(--r);background:var(--bg);font-size:var(--t-sm)}.persona-change-key{font-size:var(--t-2xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-4)}.persona-from{color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--text-4)}.persona-arrow{color:var(--text-4)}.persona-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--s4);margin-top:auto;padding-top:var(--s5);border-top:1px solid var(--border-subtle)}.persona-stat dd{font-size:var(--t-2xl);font-weight:450;line-height:1.1;letter-spacing:-.03em;color:var(--text)}.persona-stat dt{margin-top:5px;font-size:var(--t-xs);color:var(--text-3)}.persona-stat.tone-accent dd{color:var(--accent)}.persona-stat.tone-quiet dd{color:var(--text-3)}.closing-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--s5);padding:var(--s10) var(--s6);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface-1);overflow:hidden;text-align:center}.closing-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 0%,#000,transparent 72%);mask-image:radial-gradient(ellipse 70% 80% at 50% 0%,#000,transparent 72%)}.closing-card>*{position:relative}.closing-card h2{max-width:22ch;font-size:clamp(26px,3.6vw,40px);line-height:1.12;letter-spacing:-.032em}.closing-card p{max-width:60ch;font-size:var(--t-md);line-height:1.65}.closing-actions{display:flex;gap:var(--s3);flex-wrap:wrap;justify-content:center;margin-top:var(--s2)}.closing-note{font-size:var(--t-sm);color:var(--text-3)}.site-footer{max-width:1120px;margin:0 auto;padding:var(--s10) var(--s6) var(--s8);border-top:1px solid var(--border-subtle)}.footer-cols{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:var(--s8);align-items:start}.footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);max-width:34ch}.footer-logo{display:flex;align-items:center;gap:var(--s2);font-size:var(--t-md);font-weight:560;letter-spacing:-.02em}.footer-brand p{font-size:var(--t-sm);line-height:1.6;color:var(--text-3)}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2)}.footer-col a{font-size:var(--t-sm);color:var(--text-3);transition:color var(--fast) var(--ease)}.footer-col a:hover{color:var(--text)}.footer-col h2{margin-bottom:var(--s2);font-size:var(--t-2xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-4)}.footer-col button{height:auto;padding:0;border:none;background:none;color:var(--text-3);font-size:var(--t-sm);font-weight:400;text-align:left;white-space:normal}.footer-col button:hover:not(:disabled){background:none;border-color:transparent;color:var(--text)}.footer-runs{margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--border-subtle)}.footer-runs h2{margin-bottom:var(--s4);font-size:var(--t-2xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-4)}.footer-runs ul{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s4) var(--s5)}.footer-runs li{display:flex;flex-direction:column;gap:2px}.footer-run-name{font-size:var(--t-sm);font-weight:500;color:var(--text-2)}.footer-note{font-size:var(--t-xs);line-height:1.5;color:var(--text-4)}.footer-bar{display:flex;justify-content:space-between;gap:var(--s5);flex-wrap:wrap;margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--border-subtle);font-size:var(--t-xs);line-height:1.6;color:var(--text-4)}.footer-bar span:last-child{max-width:64ch}.rotword{position:relative;display:inline-grid;vertical-align:bottom}.rotword-ghost{visibility:hidden;white-space:nowrap;grid-area:1 / 1}.rotword-live{grid-area:1 / 1;color:var(--accent);white-space:nowrap;text-align:center;transition:opacity .24s var(--ease),transform .24s var(--ease)}.rotword-live.is-in{opacity:1;transform:translateY(0)}.rotword-live.is-out{opacity:0;transform:translateY(-.14em)}@media(prefers-reduced-motion:reduce){.rotword-live{transition:none}.rotword-live.is-out{opacity:1;transform:none}}[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .52s var(--ease),transform .52s var(--ease)}[data-reveal].shown{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}@media(max-width:1000px){.flow-steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s6)}.flow-step:before,.flow-step:after{display:none}.feature-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6)}}@media(max-width:900px){.nav-links{display:none}.section,.site-footer,.runs-on-strip,.hero{padding-left:var(--s5);padding-right:var(--s5)}.section{padding-top:var(--s9);padding-bottom:var(--s9)}.problem-grid,.persona-picker{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.fan{grid-template-columns:minmax(0,1fr)}.fan-brief{border-right:none;border-bottom:1px solid var(--border-subtle)}.fan-wires{display:none}.bento-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.bento-tile,.bento-tile.tall{grid-column:auto;grid-row:auto}.feature-row{grid-template-columns:minmax(0,1fr);gap:var(--s5)}.feature-row.flip .feature-copy{order:0}.feature-list{gap:var(--s9)}.footer-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7)}.footer-runs ul{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.nav-rail{padding:0 var(--s4)}.nav-pill{height:50px;padding:0 6px 0 12px}.nav-link-out{display:none}.hero,.section,.site-footer,.runs-on-strip{padding-left:var(--s4);padding-right:var(--s4)}.hero-actions{width:100%;flex-direction:column;align-items:stretch}.hero-actions .cta,.hero-name{width:100%}.hero-name input{flex:1;width:auto}.problem-versus,.calc-compare{grid-template-columns:minmax(0,1fr)}.fan-out{--fh: 54px;--fslot: 92px}.fan-item{grid-template-columns:var(--fslot) minmax(0,1fr);gap:var(--s3);padding:var(--s4)}.fan-spec{grid-column:2;flex-direction:row;gap:var(--s3);text-align:left}.fan-brief,.fan-total{padding:var(--s4)}.calc,.persona-panel,.calc-diff{padding:var(--s5)}.closing-card{padding:var(--s9) var(--s5)}.closing-actions{width:100%;flex-direction:column}.closing-actions .cta{width:100%}.footer-cols{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.footer-runs ul{grid-template-columns:repeat(2,minmax(0,1fr))}.runs-on-strip,.runs-on-strip ul{gap:var(--s4)}.lattice-legend{gap:var(--s3)}}@media(max-width:560px){.hero{padding-top:var(--s8);gap:var(--s8)}.hero-copy h1{font-size:clamp(30px,8.4vw,38px)}.hero-copy p{font-size:var(--t-base)}.hero-shot{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hero-shot::-webkit-scrollbar{display:none}.hero-shot .browser-frame{width:860px;max-width:none}.hero-glow{display:none}}.recents{display:flex;flex-direction:column;align-items:center;gap:var(--s3);margin-top:var(--s6)}.recents-label{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-4)}.recents ul{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2);list-style:none;padding:0;margin:0}.recents li{display:flex;align-items:stretch}.recent-chip{display:flex;align-items:center;gap:var(--s2);height:34px;padding:0 var(--s3);border-radius:var(--r-full) 0 0 var(--r-full);border:1px solid var(--border);border-right:none;background:var(--surface-1);color:var(--text-2);font-size:var(--t-sm);max-width:260px}.recent-chip:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.recent-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-kind{font-size:var(--t-2xs);color:var(--text-4);flex:none}.recent-x{width:30px;border-radius:0 var(--r-full) var(--r-full) 0;border:1px solid var(--border);background:var(--surface-1);color:var(--text-4);font-size:var(--t-base);line-height:1}.recent-x:hover{background:var(--surface-2);color:var(--text-2);border-color:var(--border-strong)}
