@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";.landing[data-v-927867d6]{scrollbar-gutter:stable;scroll-behavior:smooth;isolation:isolate;background:var(--bg,#10131a);height:100%;color:var(--text,#d5d8df);font-family:var(--ui,"Outfit", system-ui, sans-serif);flex-direction:column;display:flex;position:relative;overflow:hidden auto}.land-grid[data-v-927867d6]{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.land-matrix-canvas[data-v-927867d6]{opacity:.18;pointer-events:none;width:100vw;height:100vh;position:absolute;top:0;left:0}.land-grid-minor[data-v-927867d6],.land-grid-major[data-v-927867d6]{pointer-events:none;will-change:transform;display:block;position:absolute;inset:-64px}.land-grid-minor[data-v-927867d6]{background:linear-gradient(90deg, color-mix(in srgb, var(--accent,#7aa7ff) 12%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--accent,#7aa7ff) 12%, transparent) 1px, transparent 1px);background-size:32px 32px;animation:2.8s linear infinite land-grid-minor-move-927867d6}.land-grid-major[data-v-927867d6]{background:linear-gradient(90deg, color-mix(in srgb, var(--accent,#7aa7ff) 25%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in srgb, var(--accent,#7aa7ff) 25%, transparent) 1px, transparent 1px);background-size:160px 160px;animation:14s linear infinite land-grid-major-move-927867d6}.landing[data-v-927867d6]>:not(.land-grid){z-index:1;position:relative}@keyframes land-grid-minor-move-927867d6{to{transform:translateY(32px)}}@keyframes land-grid-major-move-927867d6{to{transform:translateY(160px)}}.landing[data-theme=light][data-v-927867d6]{--bg:#d8dde4;--panel:#e5e8ec;--panel-2:#cfd5dd;--line:#aab3bf;--text:#27313d;--muted:#5f6b79;--strong:#18212c;--ok:#247d72;--warn:#a46e16;--crit:#bd4b59;--accent:#406fb2}.landing[data-theme=light] .land-nav[data-v-927867d6]{background:#cbd2db}.landing[data-theme=light] .land-level-tags .level-junior[data-v-927867d6]{color:#166534;background:#dcfce7}.landing[data-theme=light] .land-level-tags .level-mid[data-v-927867d6]{color:#1d4ed8;background:#dbeafe}.landing[data-theme=light] .land-level-tags .level-senior[data-v-927867d6]{color:#92400e;background:#fef3c7}.landing[data-theme=light] .land-level-tags .level-staff[data-v-927867d6]{color:#7e22ce;background:#f3e8ff}.land-nav[data-v-927867d6]{border-bottom:1px solid var(--line,#343b4b);background:#111722;flex-shrink:0;justify-content:space-between;align-items:center;height:54px;padding:0 24px;display:flex}.land-brand[data-v-927867d6]{align-items:center;gap:10px;display:flex}.land-brand strong[data-v-927867d6]{color:var(--strong,#fff7e8);letter-spacing:.01em;font-size:14px;font-weight:600}.land-nav-actions[data-v-927867d6]{align-items:center;gap:8px;display:flex}.land-icon-btn[data-v-927867d6]{border:1px solid var(--line,#343b4b);width:32px;height:32px;color:var(--muted,#8a93a3);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;font-size:10px;font-weight:700;transition:color .15s,border-color .15s;display:inline-flex}.land-icon-btn[data-v-927867d6]:hover{color:var(--text,#d5d8df);border-color:var(--accent,#7aa7ff)}.land-hero[data-v-927867d6]{text-align:center;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:14px;min-height:max(620px,100vh - 54px);padding:42px 24px 56px;display:flex;position:relative}.hero-dino-wrap[data-v-927867d6]{justify-content:center;align-items:center;display:flex}.hero-dino[data-v-927867d6]{border:2px solid color-mix(in srgb, var(--ok,#66d9c6) 40%, transparent);width:80px;height:80px;box-shadow:0 0 0 6px color-mix(in srgb, var(--ok,#66d9c6) 6%, transparent), 0 0 36px color-mix(in srgb, var(--ok,#66d9c6) 18%, transparent);object-fit:cover;border-radius:20px;display:block}.land-kicker[data-v-927867d6]{letter-spacing:.14em;text-transform:uppercase;color:var(--ok,#66d9c6);margin:0;font-size:10px;font-weight:600}.land-heading[data-v-927867d6]{color:var(--strong,#fff7e8);letter-spacing:-.025em;font-size:clamp(42px,min(7vw,11vh),130px);font-weight:700;line-height:1;font-family:var(--mono,ui-monospace, monospace);flex-direction:column;margin:0;display:flex}.heading-line[data-v-927867d6]{align-items:center;display:inline-flex;position:relative}.heading-cursor[data-v-927867d6]{background:var(--ok,#66d9c6);vertical-align:middle;border-radius:1px;width:.06em;height:.85em;margin-left:6px;animation:.65s step-end infinite cursor-blink-927867d6;display:inline-block}@keyframes cursor-blink-927867d6{0%,to{opacity:1}50%{opacity:0}}.land-sub[data-v-927867d6]{color:var(--muted,#8a93a3);max-width:clamp(380px,42vw,560px);font-size:clamp(13px,1.1vw,16px);line-height:1.65;font-family:var(--ui,"Outfit", system-ui, sans-serif);margin:0}.land-cta[data-v-927867d6]{background:color-mix(in srgb, var(--ok,#66d9c6) 18%, var(--panel,#191d27));border:1px solid color-mix(in srgb, var(--ok,#66d9c6) 50%, transparent);color:var(--ok,#66d9c6);letter-spacing:.02em;white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--ui,"Outfit", system-ui, sans-serif);border-radius:6px;align-items:center;gap:8px;padding:9px 22px;text-decoration:none;transition:filter .12s;display:inline-flex}.land-cta[data-v-927867d6]:hover{filter:brightness(1.2)}.land-cta-meta[data-v-927867d6]{color:var(--muted,#8b90a0);letter-spacing:.01em;font-size:10px;font-family:var(--ui,"Outfit", system-ui, sans-serif);flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;margin-top:2px;display:flex}.land-cta-meta>i[data-v-927867d6]{background:var(--line,#343b4b);border-radius:50%;width:3px;height:3px}.land-cta-meta>strong[data-v-927867d6]{color:var(--text,#d5d8df);font-weight:600}.land-level-tags[data-v-927867d6]{align-items:center;gap:4px;display:inline-flex}.land-level-tags .level-badge[data-v-927867d6]{border:1px solid;padding:2px 7px;line-height:1.2}.land-scroll-cue[data-v-927867d6]{color:var(--muted,#8a93a3);flex-direction:column;align-items:center;gap:5px;text-decoration:none;display:flex;position:absolute;bottom:80px;left:50%;transform:translate(-50%)}.land-scroll-cue[data-v-927867d6]:hover{color:var(--ok,#66d9c6)}.scroll-cue-label[data-v-927867d6]{font:700 8px/1 var(--mono,ui-monospace, monospace);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}.scroll-mouse[data-v-927867d6]{border:1px solid;border-radius:10px;justify-content:center;width:20px;height:30px;padding-top:5px;display:flex}.scroll-mouse i[data-v-927867d6]{background:currentColor;border-radius:2px;width:3px;height:6px;animation:1.5s ease-in-out infinite scroll-wheel-927867d6}@keyframes scroll-cue-float-927867d6{0%,to{opacity:.6;transform:translate(-50%)}50%{opacity:1;transform:translate(-50%,12px)}}@keyframes scroll-wheel-927867d6{0%{opacity:0;transform:translateY(0)}35%{opacity:1}to{opacity:0;transform:translateY(9px)}}.landing>.land-loader[data-v-927867d6]{z-index:999;background:var(--bg,#10131a);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:fixed;inset:0}.land-loader-mark[data-v-927867d6]{opacity:.7}.land-fade-leave-active[data-v-927867d6]{transition:opacity .35s}.land-fade-leave-to[data-v-927867d6]{opacity:0}.land-audience[data-v-927867d6]{flex-shrink:0;width:100%;max-width:min(1100px,92vw);margin:0 auto;padding:0 24px 18px}.land-section-label[data-v-927867d6]{letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#8a93a3);margin:0 0 10px;font-size:10px;font-weight:600}.land-audience-grid[data-v-927867d6]{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.audience-card[data-v-927867d6]{background:color-mix(in srgb, var(--accent,#7aa7ff) 5%, var(--panel,#191d27));border:1px solid color-mix(in srgb, var(--accent,#7aa7ff) 22%, var(--line,#343b4b));border-radius:10px;flex-direction:column;gap:7px;padding:14px 16px;display:flex}.audience-icon[data-v-927867d6]{color:var(--accent,#7aa7ff);align-items:center;display:flex}.audience-card h3[data-v-927867d6]{color:var(--strong,#fff7e8);margin:0;font-size:12px;font-weight:600}.audience-card p[data-v-927867d6]{color:var(--muted,#8a93a3);margin:0;font-size:11px;line-height:1.55}.land-features[data-v-927867d6]{flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:min(1100px,92vw);margin:0 auto;padding:0 24px 18px;display:grid}.land-card[data-v-927867d6]{background:var(--panel,#191d27);border:1px solid var(--line,#343b4b);border-radius:10px;flex-direction:column;gap:7px;padding:14px 16px;display:flex}.land-card-icon[data-v-927867d6]{color:var(--accent,#7aa7ff);align-items:center;display:flex}.land-card h3[data-v-927867d6]{color:var(--strong,#fff7e8);margin:0;font-size:12px;font-weight:600}.land-card p[data-v-927867d6]{color:var(--muted,#8a93a3);margin:0;font-size:11px;line-height:1.55}.land-share[data-v-927867d6]{flex-shrink:0;width:100%;max-width:min(1100px,92vw);margin:0 auto;padding:0 24px 18px}.share-layout[data-v-927867d6]{background:var(--panel,#191d27);border:1px solid var(--line,#343b4b);border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:28px;padding:18px 22px;display:grid}.share-card-mock[data-v-927867d6]{background:#10131a;border:1px solid #343b4b;border-radius:8px;flex-shrink:0;width:320px;height:180px;position:relative;overflow:hidden}.scm-grid[data-v-927867d6]{background-color:#0000;background-image:linear-gradient(90deg,#0000 0 23px,#7aa7ff0f 24px 25px,#0000 26px),linear-gradient(#0000 0 23px,#7aa7ff0f 24px 25px,#0000 26px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:26px 26px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.scm-accent-bar[data-v-927867d6]{background:var(--ok,#66d9c6);width:3px;position:absolute;top:0;bottom:0;left:0}.scm-body[data-v-927867d6]{flex-direction:column;gap:5px;height:100%;padding:9px 11px 7px 14px;display:flex;position:relative}.scm-header[data-v-927867d6]{flex-direction:column;gap:1px;display:flex}.scm-brand[data-v-927867d6]{color:var(--accent,#7aa7ff);font-size:8px;font-weight:700;font-family:var(--mono);letter-spacing:.1em}.scm-name[data-v-927867d6]{color:var(--strong,#fff7e8);font-size:11px;font-weight:600}.scm-scenario[data-v-927867d6]{color:var(--muted,#8a93a3);font-size:6px;font-family:var(--mono);letter-spacing:.03em}.scm-columns[data-v-927867d6]{flex:1;grid-template-columns:1fr .92fr;gap:8px;min-height:0;display:grid}.scm-summary[data-v-927867d6],.scm-breakdown[data-v-927867d6]{background:#191d27e0;border:1px solid #343b4b;border-radius:4px;min-width:0}.scm-summary[data-v-927867d6]{padding:5px 7px}.scm-score-row[data-v-927867d6]{align-items:baseline;gap:5px;display:flex}.scm-score[data-v-927867d6]{color:var(--ok,#66d9c6);font-size:25px;font-weight:800;line-height:1;font-family:var(--mono)}.scm-denom[data-v-927867d6]{color:var(--muted,#8a93a3);font-size:8px;font-weight:600}.scm-verdict[data-v-927867d6]{color:var(--ok,#66d9c6);font-size:7px;font-weight:700;font-family:var(--mono);letter-spacing:.04em;align-self:center}.scm-resources[data-v-927867d6]{color:var(--text,#d5d8df);font:5px/1.2 var(--mono);margin-top:3px;display:block}.scm-breakdown[data-v-927867d6]{flex-direction:column;gap:4px;padding:6px 7px;display:flex}.scm-breakdown-title[data-v-927867d6]{color:var(--strong,#fff7e8);font:600 6px/1 var(--ui);margin-bottom:1px}.scm-bar[data-v-927867d6]{background:#343b4b;border-radius:2px;height:3px;display:block;overflow:hidden}.scm-bar i[data-v-927867d6]{border-radius:inherit;background:var(--accent,#7aa7ff);height:100%;display:block}.scm-bar:nth-child(3) i[data-v-927867d6]{background:var(--ok,#66d9c6)}.scm-bar:nth-child(4) i[data-v-927867d6]{background:#a991e8}.scm-bar:nth-child(5) i[data-v-927867d6]{background:var(--warn,#f2b84b)}.scm-bar:nth-child(6) i[data-v-927867d6]{background:var(--muted,#8a93a3)}.scm-stats[data-v-927867d6]{gap:12px;display:flex}.scm-stats span[data-v-927867d6]{flex-direction:column;gap:1px;display:flex}.scm-stats b[data-v-927867d6]{color:var(--text,#d5d8df);font-size:7px;font-weight:700;font-family:var(--mono)}.scm-stats b.ok[data-v-927867d6]{color:var(--ok,#66d9c6)}.scm-stats small[data-v-927867d6]{color:var(--muted,#8a93a3);font-size:5px;font-family:var(--mono);letter-spacing:.05em}.share-title[data-v-927867d6]{color:var(--strong,#fff7e8);font-size:15px;font-weight:600;font-family:var(--ui);letter-spacing:-.01em;margin:4px 0 8px}.share-desc[data-v-927867d6]{color:var(--muted,#8a93a3);margin:0 0 12px;font-size:11px;line-height:1.6}.share-points[data-v-927867d6]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.share-points li[data-v-927867d6]{color:var(--text,#d5d8df);align-items:flex-start;gap:8px;font-size:11px;line-height:1.45;display:flex}.share-points li[data-v-927867d6]:before{content:"→";color:var(--ok,#66d9c6);font-family:var(--mono);flex-shrink:0;margin-top:1px;font-size:11px}.land-sim[data-v-927867d6]{flex-shrink:0;width:100%;max-width:min(1100px,92vw);margin:0 auto;padding:0 24px 24px}.sim-inner[data-v-927867d6]{background:var(--panel,#191d27);border:1px solid var(--line,#343b4b);font-family:var(--mono,ui-monospace, monospace);border-radius:8px;flex-direction:column;gap:7px;padding:11px 16px;display:flex}.sim-title[data-v-927867d6]{letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8a93a3);font-size:10px;font-weight:700}.sim-formula[data-v-927867d6]{color:var(--accent,#7aa7ff);background:0 0;padding:0;font-family:inherit;font-size:11px}.sim-curve[data-v-927867d6]{flex-wrap:wrap;gap:6px;display:flex}.sim-point[data-v-927867d6]{border:1px solid;border-radius:4px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:inline-flex}.sim-point b[data-v-927867d6]{font-weight:500}.sim-point em[data-v-927867d6]{font-style:normal;font-weight:700}.sim-ok[data-v-927867d6]{border-color:color-mix(in srgb, var(--ok,#66d9c6) 30%, transparent);color:var(--ok,#66d9c6)}.sim-warn[data-v-927867d6]{border-color:color-mix(in srgb, var(--warn,#f2b84b) 30%, transparent);color:var(--warn,#f2b84b)}.sim-crit[data-v-927867d6]{border-color:color-mix(in srgb, var(--crit,#f06d7a) 30%, transparent);color:var(--crit,#f06d7a)}.sim-dead[data-v-927867d6]{border-color:color-mix(in srgb, var(--crit,#f06d7a) 50%, transparent);background:color-mix(in srgb, var(--crit,#f06d7a) 8%, transparent);color:var(--crit,#f06d7a);font-weight:700}.sim-footnote[data-v-927867d6]{color:var(--muted,#8a93a3);letter-spacing:.02em;font-size:10px}.land-footer[data-v-927867d6]{text-align:center;border-top:1px solid var(--line,#343b4b);color:var(--muted,#8a93a3);flex-shrink:0;padding:12px;font-size:11px}@media (width>=1600px){.land-hero[data-v-927867d6]{gap:18px}.land-kicker[data-v-927867d6]{font-size:11px}.hero-dino[data-v-927867d6]{border-radius:24px;width:96px;height:96px}.land-card[data-v-927867d6]{gap:9px;padding:20px 22px}.land-card h3[data-v-927867d6]{font-size:14px}.land-card p[data-v-927867d6]{font-size:12px}.land-card-icon svg[data-v-927867d6]{width:22px;height:22px}.audience-card[data-v-927867d6]{gap:8px;padding:18px 20px}.audience-card h3[data-v-927867d6]{font-size:13px}.audience-card p[data-v-927867d6]{font-size:12px}.audience-icon svg[data-v-927867d6]{width:18px;height:18px}.sim-inner[data-v-927867d6]{gap:9px;padding:14px 20px}.sim-title[data-v-927867d6]{font-size:11px}.sim-formula[data-v-927867d6]{font-size:13px}.sim-point[data-v-927867d6]{padding:4px 12px;font-size:12px}.sim-footnote[data-v-927867d6]{font-size:11px}}@media (width<=768px){.land-hero[data-v-927867d6]{padding-bottom:110px}.land-heading[data-v-927867d6]{font-size:clamp(32px,10vw,48px)}.land-audience-grid[data-v-927867d6],.land-features[data-v-927867d6],.share-layout[data-v-927867d6]{grid-template-columns:1fr;gap:16px}.share-card-mock[data-v-927867d6]{margin:0 auto}.land-scroll-cue[data-v-927867d6]{bottom:40px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10131a;--panel:#191d27;--panel-2:#111722;--surface:#111722;--line:#343b4b;--border:#343b4b;--text:#d5d8df;--fg:#d5d8df;--muted:#8a93a3;--strong:#fff7e8;--raised:#202632;--overlay:#05080dc7;--canvas-overlay:#05080d9e;--shadow:#00000073;--ok:#66d9c6;--warn:#f2b84b;--crit:#f06d7a;--accent:#7aa7ff;--mono:"Cascadia Mono", "IBM Plex Mono", "SFMono-Regular", Consolas, ui-monospace, monospace;--ui:"Outfit", system-ui, -apple-system, sans-serif;font-family:var(--ui)}*{box-sizing:border-box}html,body,#app{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--ui);letter-spacing:0;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.shell{background:linear-gradient(90deg, transparent 0 23px, color-mix(in srgb, var(--accent) 8%, transparent) 24px 25px, transparent 26px), linear-gradient(transparent 0 23px, color-mix(in srgb, var(--accent) 8%, transparent) 24px 25px, transparent 26px), var(--bg);background-size:32px 32px;grid-template-rows:auto minmax(0,1fr) 28px;height:100vh;display:grid}.shell[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#d8dde4;--panel:#e6e9ed;--panel-2:#cfd5dd;--surface:#cfd5dd;--line:#aab3bf;--border:#aab3bf;--text:#27313d;--fg:#27313d;--muted:#5f6b79;--strong:#18212c;--raised:#edf0f3;--overlay:#18212c75;--canvas-overlay:#18212c4d;--shadow:#18212c4d;--ok:#247d72;--warn:#a46e16;--crit:#bd4b59;--accent:#406fb2;background:linear-gradient(90deg, transparent 0 23px, color-mix(in srgb, var(--accent) 7%, transparent) 24px 25px, transparent 26px), linear-gradient(transparent 0 23px, color-mix(in srgb, var(--accent) 7%, transparent) 24px 25px, transparent 26px), var(--bg)}.sidebar{border-right:0;border-bottom:1px solid var(--line);background:#111722;grid-template-columns:minmax(360px,max-content) 1fr;align-items:center;gap:12px;min-height:58px;padding:0;display:grid}.shell[data-theme=light] .sidebar,.shell[data-theme=light] .app-footer{background:#cbd2db}.shell[data-theme=light] .mark{background-color:#dce2e8}.shell[data-theme=light] .case{background:#dfe3e8}.shell[data-theme=light] .case-head strong,.shell[data-theme=light] .case-row b{color:var(--strong)}.shell[data-theme=light] .case-row p{color:#303b48}.shell[data-theme=light] .canvas{background-color:#cfd5dc}.shell[data-theme=light] .flow-node{background:#e4e7eb}.shell[data-theme=light] .terminal-report{background:#dfe3e8}.shell[data-theme=light] button:disabled{opacity:.62}.shell[data-theme=light] .resource-icon{background:color-mix(in srgb, var(--resource-color) 24%, #f7fbf8);border-color:color-mix(in srgb, var(--resource-color) 82%, #9fb1a6);color:color-mix(in srgb, var(--resource-color) 82%, #062012);box-shadow:inset 0 0 0 1px #ffffff73}.brand{border-right:1px solid var(--line);border-bottom:0;align-items:center;gap:9px;margin-bottom:0;padding:8px 14px;display:flex}.mark{border:1px solid color-mix(in srgb, var(--ok) 55%, var(--line));background:color-mix(in srgb, var(--accent) 14%, var(--panel-2));width:36px;height:36px;color:var(--ok);font-size:10px;font-weight:800;font-family:var(--mono);letter-spacing:.06em;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.mark-logo{background:linear-gradient(color-mix(in srgb, var(--panel) 28%, transparent), color-mix(in srgb, var(--panel) 28%, transparent)), url(/dino-logo.png) center / cover no-repeat;color:#0000;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 10%, transparent)}h1,h2,h3,p{margin:0}h1{color:var(--strong);text-transform:uppercase;font-size:12px;line-height:1.15}.brand p,small{color:var(--muted);line-height:1.22}.brand p{white-space:nowrap;text-overflow:ellipsis;max-width:420px;font-size:11px;overflow:hidden}.field{align-content:center;gap:6px;margin:0;display:grid}.field span,.eyebrow,.panel-head span,.budget span,.note label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}select,textarea{border:1px solid var(--line);background:var(--panel-2);width:100%;color:var(--text);border-radius:4px;padding:8px 9px}.nav-actions{justify-content:flex-end;align-items:center;gap:8px;padding-right:16px;display:flex}.icon-btn{border:1px solid var(--line);width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex;position:relative}.icon-btn:hover{background:color-mix(in srgb, var(--panel-2) 80%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--strong);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 10%, transparent)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn:disabled:hover{border-color:var(--line);box-shadow:none;background:0 0}.icon-btn:after{content:attr(title);background:var(--strong);color:var(--bg);white-space:nowrap;pointer-events:none;opacity:0;z-index:9500;border-radius:5px;padding:4px 9px;font-size:10px;font-weight:600;transition:opacity .12s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.icon-btn:before{content:"";border:5px solid #0000;border-bottom-color:var(--strong);pointer-events:none;opacity:0;z-index:9500;transition:opacity .12s;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.icon-btn:not(:disabled):hover:after,.icon-btn:not(:disabled):hover:before{opacity:1}.welcome-avatar{background:var(--ok);color:#000;vertical-align:middle;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-right:5px;font-size:10px;font-weight:900;display:inline-flex}.case,.budget,.panel{border:1px solid var(--line);background:var(--panel);border-radius:4px}.case{background:color-mix(in srgb, var(--panel) 82%, var(--bg));color:var(--text);font-family:var(--mono);gap:7px;margin:8px 0;padding:12px;display:grid}.case-inline{background:color-mix(in srgb, var(--panel) 92%, #000);border-radius:4px;margin:0}.case-inline .case-head{gap:5px;display:grid}.case-inline .case-head strong{font-size:13.5px;line-height:1.3}.case-inline .case-row{border-top:1px solid color-mix(in srgb, var(--line) 62%, transparent);grid-template-columns:1fr;gap:5px;padding-top:7px}.case-inline .case-row:first-of-type{border-top:0}.case-inline .case-row span{padding-top:0;font-size:9.5px}.case-inline .case-row p{font-size:11.2px;line-height:1.45;display:block;overflow:visible}.case-head{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;display:grid}.case-code{color:var(--crit);letter-spacing:.06em;grid-area:1/1;font-size:11.5px;font-weight:800}.case-head strong{color:var(--strong);grid-area:2/1;font-size:12px}.case-head .level-badge{grid-area:1/2/3;align-self:center}.level-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.level-junior{color:#6ee7a0;background:#1e4d2b}.level-mid{color:#7ab8f5;background:#1e3a5f}.level-senior{color:#f5c07a;background:#4d2b00}.level-staff{color:#d97af5;background:#3d1a3a}.case-row{grid-template-columns:58px 1fr;align-items:start;gap:8px;display:grid}.case-row span{color:var(--muted);letter-spacing:.08em;padding-top:3px;font-size:9px;font-weight:600}.case-row span.problem{color:var(--crit)}.case-row span.goal{color:var(--ok)}.case-row p{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:10.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.case-row b{color:var(--strong)}.pill{border:1px solid var(--line);width:fit-content;color:var(--accent);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.budget{align-content:center;gap:5px;margin:0;padding:8px 10px;display:grid}.budget>div:first-child{justify-content:space-between;display:flex}.budget strong{color:var(--strong)}.budget strong.opt{color:var(--ok)}.budget strong.mid{color:var(--warn)}.budget strong.high{color:var(--crit)}.bar{background:var(--panel-2);border-radius:99px;height:8px;overflow:hidden}.bar i{background:var(--ok);height:100%;display:block}.budget-bar{border:1px solid var(--line);border-radius:99px;height:14px;margin-top:2px;display:flex;position:relative;overflow:visible}.budget-bar .seg.rec{background:color-mix(in srgb, var(--ok) 18%, transparent)}.budget-bar .seg.mid{background:color-mix(in srgb, var(--warn) 20%, transparent)}.budget-bar .seg.high{background:color-mix(in srgb, var(--crit) 18%, transparent)}.budget-bar i{background:var(--ok);border-radius:99px;position:absolute;top:2px;bottom:2px;left:0}.budget-bar i.mid{background:linear-gradient(90deg, var(--ok), var(--warn))}.budget-bar i.high{background:linear-gradient(90deg, var(--warn), var(--crit))}.budget-marker{border:1px solid var(--line);background:var(--panel);z-index:2;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;line-height:1;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%)}.budget-marker.rec{color:var(--ok)}.budget-marker.mid{color:var(--warn)}.budget-marker.max{color:var(--crit);left:100%}.budget-now{background:var(--ok);z-index:3;border-radius:99px;width:2px;height:24px;position:absolute;top:-5px;transform:translate(-1px)}.budget-now.mid{background:var(--warn)}.budget-now.high{background:var(--crit)}.budget-legend{letter-spacing:.01em;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:10px;font-weight:500;display:flex}.budget-legend span{letter-spacing:.01em;font-size:10px;font-weight:500}.budget-legend b{color:var(--ok);letter-spacing:0;font-weight:700}.budget-legend span:nth-child(2) b{color:var(--warn)}.budget-legend span:nth-child(3) b{color:var(--crit)}.workspace{gap:0;min-height:0;padding:0;display:grid}.actions{align-items:center;gap:8px;display:flex}.act-btn{cursor:pointer;white-space:nowrap;letter-spacing:.02em;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:filter .12s,opacity .12s;display:inline-flex}.act-btn:disabled{opacity:.38;cursor:not-allowed;filter:none!important}.act-btn:not(:disabled):hover{filter:brightness(1.2)}.act-btn svg{flex-shrink:0}.btn-tip{background:color-mix(in srgb, #f59e0b 16%, var(--panel));color:#f59e0b;border-color:#f59e0b6b}.btn-report{background:color-mix(in srgb, #a855f7 16%, var(--panel));color:#c084fc;border-color:#a855f76b}.btn-reset{background:color-mix(in srgb, var(--muted) 12%, var(--panel));border-color:color-mix(in srgb, var(--muted) 32%, transparent);color:var(--muted)}.run{background:color-mix(in srgb, var(--ok) 22%, var(--panel));border-color:color-mix(in srgb, var(--ok) 75%, transparent);color:var(--ok);letter-spacing:.04em;box-shadow:inset 0 0 12px color-mix(in srgb, var(--ok) 8%, transparent);border-width:1.5px;border-radius:5px;padding:6px 16px;font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.75s linear infinite spin}.ghost-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:600;transition:filter .12s;display:inline-flex}.ghost-btn:hover{filter:brightness(1.15)}.ghost-btn:disabled{opacity:.38;cursor:not-allowed}.grid{grid-template-columns:minmax(260px,320px) 1fr;gap:0;min-height:0;display:grid}.panel{border-radius:0;min-width:0;padding:12px}.resources{border-top:0;border-bottom:0;border-left:0;min-width:0}.design{border-top:0;border-bottom:0;border-right:0}.panel-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.design-head{gap:18px;margin-bottom:8px}.design-head>div{min-width:210px}.design-head .budget{background:var(--panel-2);width:min(430px,48vw)}.panel h3{color:var(--strong);letter-spacing:.04em;font-size:12px;font-weight:600}.resources{grid-template-rows:auto auto auto auto minmax(0,1fr);align-content:start;gap:10px;min-height:0;display:grid;overflow-x:hidden}.resources>*{min-width:0}.scenario-field{border:1px solid var(--line);background:var(--panel-2);border-radius:4px;padding:8px}.scenario-field select{padding:7px 8px;font-size:11px}.resource-hint{border:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 86%, transparent);border-radius:4px;padding:9px 10px}.resource-hint strong{color:var(--ok);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:10px;display:block}.resource-hint p{color:var(--muted);font-size:10.5px;line-height:1.35}.resource-list{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--ok) 55%, var(--line)) color-mix(in srgb, var(--panel-2) 82%, #000);align-content:start;gap:7px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.resource-list::-webkit-scrollbar{width:8px}.resource-list::-webkit-scrollbar-track{background:color-mix(in srgb, var(--panel-2) 82%, #000);border-radius:999px}.resource-list::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--ok) 55%, var(--line));border:2px solid color-mix(in srgb, var(--panel-2) 82%, #000);border-radius:999px}.resource-list::-webkit-scrollbar-thumb:hover{background:var(--ok)}.resource{text-align:left;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:grab;border-radius:4px;grid-template-columns:28px 1fr auto;align-items:center;gap:3px 8px;min-height:72px;padding:8px;transition:border-color .15s,box-shadow .15s;display:grid}.resource:hover{border-color:var(--resource-color,var(--accent));box-shadow:0 0 0 3px color-mix(in srgb, var(--resource-color,var(--accent)) 18%, transparent);background:color-mix(in srgb, var(--resource-color,var(--accent)) 7%, var(--panel-2))}.resource strong{color:var(--strong);font-size:12px;line-height:1.2}.resource>span:not(.resource-icon){color:var(--warn);font-size:11px;font-weight:800}.cost-over{color:var(--crit)!important}.resource small{color:var(--muted);text-transform:uppercase;grid-column:2/-1;font-size:10.5px;line-height:1.25}.resource em{grid-column:2/-1;font-style:normal}.resource-ports{min-width:0;color:var(--muted);letter-spacing:.05em;vertical-align:middle;align-items:center;gap:4px;font-size:8.5px;font-weight:900;display:inline-flex}.resource-ports b{border:1px solid color-mix(in srgb, var(--accent) 42%, var(--line));background:color-mix(in srgb, var(--accent) 11%, var(--panel));min-width:24px;height:16px;color:var(--accent);border-radius:999px;place-items:center;font-style:normal;line-height:1;display:inline-grid}.resource-ports i{background:var(--line);width:10px;height:1px}.resource-ports[data-dir=both] b{border-color:color-mix(in srgb, var(--ok) 48%, var(--line));color:var(--ok);background:color-mix(in srgb, var(--ok) 10%, var(--panel))}.resource-cap-hint{letter-spacing:.06em;text-transform:uppercase;border-radius:4px;grid-column:2/-1;width:fit-content;padding:1px 5px;font-size:9px;font-style:normal;font-weight:700}.impact-high{color:#6ee7a0;background:#6ee7a01f}.impact-mid{color:#f5c07a;background:#f5c07a1a}.impact-low{color:var(--muted);background:0 0}.resource-icon{border:1px solid color-mix(in srgb, var(--resource-color) 70%, var(--line));background:color-mix(in srgb, var(--resource-color) 14%, var(--panel-2));width:24px;height:24px;color:var(--resource-color);border-radius:6px;grid-row:1/5;place-items:center;font-size:9px;font-weight:900;display:grid}.design{grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid}.empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;padding:32px}.canvas{touch-action:none;border:1px solid var(--line);background-color:color-mix(in srgb, var(--bg) 88%, #000);background-image:radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent) 1px, transparent 1.6px);background-size:32px 32px;border-radius:4px;height:auto;min-height:0;position:relative;overflow:hidden}.canvas-actions{z-index:6;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:6px;align-items:center;gap:6px;padding:5px 7px;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 18px 46px -34px #000}.run-blocked-hint{z-index:6;font:11px/1.4 var(--mono);color:#f2b84b;background:color-mix(in srgb, #f2b84b 10%, var(--panel));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;border:1px solid #f2b84b47;border-radius:5px;align-items:flex-start;gap:6px;max-width:300px;padding:6px 10px;display:flex;position:absolute;top:58px;right:14px}.run-blocked-hint svg{flex-shrink:0;margin-top:1px}.pan-surface{z-index:0;cursor:grab;position:absolute;inset:0}.pan-surface:active{cursor:grabbing}.canvas-world{z-index:1;transform-origin:0 0;pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.flow-lines{pointer-events:none;width:3400px;height:2300px;position:absolute;top:0;left:0;overflow:visible}.flow-lines path{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-dasharray:10 10;animation:1.1s linear infinite flowPulse}.flow-lines path.hover{stroke:var(--crit);stroke-width:4px}.flow-lines path.base{stroke:color-mix(in srgb, var(--accent) 70%, var(--muted))}.flow-lines path.temp{stroke:var(--warn);stroke-dasharray:7 7}.flow-running .flow-lines path:not(.hit):not(.temp){stroke-width:3px;stroke:color-mix(in srgb, var(--ok) 90%, var(--accent));filter:drop-shadow(0 0 4px color-mix(in srgb, var(--ok) 60%, transparent));animation-duration:.5s}.flow-overload .flow-lines path:not(.hit):not(.temp){stroke:var(--crit);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--crit) 50%, transparent));animation-duration:.3s}.flow-pass .flow-lines path:not(.hit):not(.temp){stroke:var(--ok);stroke-width:3px;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--ok) 52%, transparent));animation-duration:.7s}.flow-fail .flow-lines path:not(.hit):not(.temp){stroke:var(--crit);stroke-width:3px;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--crit) 52%, transparent));animation-duration:.7s}.flow-lines path.hit{stroke:#0000;stroke-width:30px;pointer-events:stroke;cursor:pointer}@keyframes flowPulse{to{stroke-dashoffset:-40px}}.edge-delete-button{z-index:3;border:1px solid color-mix(in srgb, var(--crit) 70%, var(--line));background:color-mix(in srgb, var(--panel) 94%, #000);width:24px;height:24px;color:var(--crit);pointer-events:auto;box-shadow:0 0 0 4px color-mix(in srgb, var(--crit) 14%, transparent);border-radius:50%;place-items:center;margin-top:-12px;margin-left:-12px;font-size:13px;font-weight:900;line-height:1;display:grid;position:absolute}.edge-delete-button:hover{background:color-mix(in srgb, var(--crit) 16%, var(--panel))}.edge-handle{border:2px solid var(--ok);background:var(--panel);z-index:3;pointer-events:auto;cursor:grab;border-radius:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;padding:0;position:absolute}.edge-handle:hover{box-shadow:0 0 0 5px color-mix(in srgb, var(--ok) 18%, transparent)}.flow-node{z-index:4;border:2px solid var(--line);background:color-mix(in srgb, var(--panel) 82%, var(--bg));-webkit-user-select:none;user-select:none;touch-action:none;pointer-events:auto;cursor:grab;border-radius:4px;flex-direction:column;justify-content:center;gap:6px;width:210px;height:132px;padding:12px 14px;display:flex;position:absolute;box-shadow:0 14px 32px -26px #000}.flow-node:hover{outline:2px solid color-mix(in srgb, var(--accent) 88%, transparent);outline-offset:3px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent), 0 14px 32px -26px #000}.flow-node:active{cursor:grabbing}.flow-node.rho-ok{border-color:color-mix(in srgb, var(--ok) 75%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--ok) 14%, transparent), 0 14px 32px -26px #000}.flow-node.rho-warn{border-color:color-mix(in srgb, var(--warn) 80%, var(--line));box-shadow:0 0 0 1px color-mix(in srgb, var(--warn) 18%, transparent), 0 14px 32px -26px #000}.flow-node.rho-hot{border-color:var(--crit);animation:.9s ease-in-out infinite rhoPulse}@keyframes rhoPulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--crit) 20%, transparent), 0 14px 32px -26px #000}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--crit) 10%, transparent), 0 14px 32px -26px #000}}.flow-node.base{border-color:color-mix(in srgb, var(--accent) 62%, var(--line))}.flow-node.resource{border-color:color-mix(in srgb, var(--accent) 56%, var(--line))}.flow-node.drop-target{border-color:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb, var(--warn) 18%, transparent), 0 14px 32px -26px #000}.flow-node.drop-target .port.in{border-color:var(--warn);width:22px;height:22px;box-shadow:0 0 0 6px color-mix(in srgb, var(--warn) 16%, transparent);margin-top:-11px;left:-12px}.node-copy{flex-direction:column;gap:3px;width:100%;min-width:0;display:flex}.node-health{z-index:4;background:color-mix(in srgb, var(--panel) 88%, transparent);letter-spacing:.06em;min-height:18px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 12%, transparent);pointer-events:none;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:3px 6px;font-size:9px;line-height:1;display:inline-flex;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.node-health:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px}.node-health b,.node-health i{font-style:normal;font-weight:900}.node-health i{opacity:.78}.node-health-alive{color:var(--ok);animation:1.5s ease-in-out infinite nodeAlivePulse}.node-health-warn{color:var(--warn);animation:1.05s ease-in-out infinite nodeWarnPulse}.node-health-dead{color:var(--crit);animation:.72s ease-in-out infinite nodeDeadPulse}@keyframes nodeAlivePulse{0%,to{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--ok) 35%, transparent));transform:translate(-50%)translateY(0)}50%{filter:drop-shadow(0 0 9px color-mix(in srgb, var(--ok) 55%, transparent));transform:translate(-50%)translateY(-1px)}}@keyframes nodeWarnPulse{0%,to{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--warn) 38%, transparent));transform:translate(-50%)scale(1)}50%{filter:drop-shadow(0 0 9px color-mix(in srgb, var(--warn) 58%, transparent));transform:translate(-50%)scale(1.04)}}@keyframes nodeDeadPulse{0%,to{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--crit) 45%, transparent));transform:translate(-50%)scale(1)}50%{filter:drop-shadow(0 0 12px color-mix(in srgb, var(--crit) 72%, transparent));transform:translate(-50%)scale(1.08)}}.flow-node strong{color:var(--strong);text-overflow:ellipsis;white-space:normal;overflow-wrap:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:11px;font-weight:760;line-height:1.12;display:-webkit-box;overflow:hidden}.flow-node small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:8.5px;line-height:1.1;display:flex;overflow:hidden}.node-telemetry{gap:3px;display:grid}.node-telemetry span{grid-template-columns:28px 1fr;align-items:center;gap:5px;font-size:9px;display:grid}.node-telemetry b{color:var(--muted);letter-spacing:.06em;font-size:8px}.node-telemetry i{background:color-mix(in srgb, var(--accent) 14%, var(--panel-2));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));min-width:36px;color:var(--strong);border-radius:999px;justify-content:center;align-items:center;padding:2px 5px;font-style:normal;line-height:1.1;display:inline-flex}.flow-node select{margin-top:4px;padding:6px;font-size:12px}.node-target{border:1px solid var(--line);width:100%;min-width:0;max-width:100%;color:var(--warn);text-overflow:ellipsis;white-space:nowrap;text-align:center;border-radius:3px;margin-top:0;padding:4px 8px;font-size:11px;font-weight:800;overflow:hidden}.port{border:2px solid var(--accent);background:var(--panel);z-index:2;border-radius:50%;width:18px;height:18px;margin-top:-9px;position:absolute;top:50%}.port:after{content:"";pointer-events:none;opacity:.72;border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.port.in{border-color:var(--muted);background:var(--panel-2);left:-10px}.port.in:after{border-right:6px solid var(--muted)}.port.in.port-active{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 18%, var(--panel))}.port.out{cursor:crosshair;padding:0;right:-10px}.port.out:after{border-left:6px solid var(--accent)}.port.port-active:after{border-left-color:var(--ok);border-right-color:var(--ok);opacity:.95}.port.port-muted{opacity:.58}.port.port-muted:after{opacity:.5}.port.target{border-color:var(--ok)}.port:hover{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 15%, transparent)}.node-remove{border:1px solid color-mix(in srgb, var(--crit) 55%, var(--line));background:var(--panel);width:24px;height:24px;color:var(--crit);border-radius:50%;line-height:1;position:absolute;top:-9px;right:-9px}.canvas-empty{color:var(--muted);pointer-events:none;z-index:2;font-size:13px;position:absolute;bottom:14px;left:18px}.canvas-status{z-index:5;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 88%, transparent);pointer-events:none;border-radius:5px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:min(420px,42vw);min-width:220px;padding:8px;display:grid;position:absolute;top:14px;left:14px;box-shadow:0 18px 46px -34px #000}.canvas-status div{min-width:0}.canvas-status span{color:var(--muted);letter-spacing:.07em;font-size:9px;font-weight:600;display:block}.canvas-status strong{color:var(--strong);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;display:block;overflow:hidden}.canvas-status p{color:var(--text);margin-top:0;font-size:11px;line-height:1.45}.health-help{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 7px;padding-top:7px;display:grid}.health-help span{letter-spacing:0;text-transform:none;align-items:center;gap:5px;font-size:8px;line-height:1.2;display:flex}.canvas-tip{border:1px solid color-mix(in srgb, var(--warn) 50%, var(--line));background:color-mix(in srgb, var(--warn) 10%, var(--panel));border-radius:5px;grid-column:1/-1;gap:6px;padding:8px;display:grid}.canvas-tip header{justify-content:space-between;align-items:center;gap:8px;display:flex}.canvas-tip p{white-space:pre-line;margin:0;font-size:11px;line-height:1.5}.canvas-tip b{color:var(--warn);letter-spacing:.12em;font-size:10px}.canvas-tip header span{border:1px solid color-mix(in srgb, var(--warn) 55%, var(--line));min-width:34px;height:20px;color:var(--warn);background:var(--panel-2);letter-spacing:0;border-radius:999px;place-items:center;font-size:10px;font-weight:900;display:inline-grid}.zoom-controls{z-index:10;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 90%, transparent);border-radius:8px;align-items:center;gap:6px;padding:6px;display:flex;position:absolute;bottom:12px;right:12px}.canvas-metrics{z-index:4;width:320px;margin:0;position:absolute;top:72px;right:14px}.canvas-levels{z-index:4;background:color-mix(in srgb, var(--panel) 88%, transparent);border:1px solid var(--line);border-radius:4px;width:min(860px,100% - 160px);padding:8px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.flow-timeline{z-index:4;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:6px;width:min(280px,30vw);padding:12px;position:absolute;bottom:14px;left:14px;box-shadow:0 18px 46px -34px #000}.flow-legend{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px 10px;margin-top:10px;padding-top:9px;display:flex}.flow-legend span{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:9px;line-height:1;display:inline-flex}.legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 8px}.legend-ok{color:var(--ok);background:var(--ok)}.legend-warn{color:var(--warn);background:var(--warn)}.legend-crit{color:var(--crit);background:var(--crit)}.legend-info{color:var(--accent);background:var(--accent)}.runtime-console{z-index:4;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);border-radius:5px;grid-template-columns:auto repeat(3,auto) minmax(180px,1fr);align-items:center;gap:22px;width:min(760px,100% - 220px);padding:10px 14px;display:grid;position:absolute;bottom:146px;left:50%;transform:translate(-50%);box-shadow:0 18px 46px -34px #000}.runtime-console div{white-space:nowrap;align-items:baseline;gap:5px;display:flex}.runtime-console span{color:var(--muted);letter-spacing:.06em;font-size:10px;font-weight:600}.runtime-console strong{color:var(--ok);font-size:13px;font-weight:700}.runtime-console strong.hot{color:var(--crit);text-shadow:0 0 14px color-mix(in srgb, var(--crit) 55%, transparent)}.runtime-console small{color:var(--muted);font-size:10px}.hb-wrap{opacity:.7;width:72px;height:24px;position:relative;overflow:hidden}.hb-wrap.hb-running{opacity:1}.hb-svg{width:240px;height:24px;animation:2.4s linear infinite hbScroll;position:absolute;left:0}.hb-wrap.hb-running .hb-svg{animation-duration:1.2s}.hb-wrap.hb-overload .hb-svg{transform-origin:50%;transition:transform .2s;animation-duration:.45s;transform:scaleY(2)}.hb-wrap.hb-overload:not(.hb-running) .hb-svg{opacity:.55;transition:transform .5s,opacity .5s;animation-duration:9s;transform:scaleY(.08)}.hb-wrap.hb-overload .hb-line{stroke:var(--crit)}.hb-line{fill:none;stroke:var(--ok);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}@keyframes hbScroll{0%{transform:translate(0)}to{transform:translate(-120px)}}.runtime-clock{justify-content:flex-end;align-items:center!important;gap:10px!important}.runtime-clock>span{border:1px solid var(--line);background:var(--panel-2);color:var(--strong);letter-spacing:0;border-radius:4px;padding:3px 7px}.step-rail{flex:none;align-items:center;width:190px;height:22px;display:flex;position:relative;overflow:visible}.step-rail-track{background:color-mix(in srgb, var(--line) 70%, transparent);border-radius:1px;height:2px;position:absolute;top:50%;left:0;right:0;overflow:hidden;transform:translateY(-50%)}.step-rail-fill{background:linear-gradient(90deg, var(--ok), var(--accent));height:100%;box-shadow:0 0 8px color-mix(in srgb, var(--ok) 55%, transparent);transition:width .5s cubic-bezier(.4,0,.2,1)}.step-dot{border:2px solid var(--line);background:var(--panel);z-index:1;border-radius:50%;width:10px;height:10px;transition:background .3s,border-color .3s,box-shadow .3s;position:absolute;top:50%;transform:translate(-50%,-50%)}.step-dot.s-done{background:var(--ok);border-color:var(--ok)}.step-dot.s-active{background:var(--ok);border-color:var(--ok);animation:.9s ease-in-out infinite dotPulse}@keyframes dotPulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 28%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--ok) 10%, transparent)}}.packet-path{fill:none;stroke:var(--ok);stroke-width:5px;stroke-dasharray:2 18;stroke-linecap:round;pointer-events:none;opacity:.95;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--ok) 72%, transparent));animation:1.05s linear infinite packetFlow}.packet-secondary{stroke-width:3px;stroke-dasharray:2 28;opacity:.58;animation-duration:1.35s}.packet-dot{fill:var(--ok);pointer-events:none;opacity:.96;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--ok) 95%, transparent)) drop-shadow(0 0 11px color-mix(in srgb, var(--ok) 55%, transparent));animation:.75s ease-in-out infinite packetDotPulse}.packet-dot-trail{opacity:.52;animation-duration:1s}.flow-overload .packet-path{stroke:var(--crit);filter:drop-shadow(0 0 7px color-mix(in srgb, var(--crit) 70%, transparent));animation-duration:.65s}.flow-overload .packet-dot{fill:var(--crit);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--crit) 95%, transparent)) drop-shadow(0 0 12px color-mix(in srgb, var(--crit) 58%, transparent))}.flow-pass .packet-path{stroke:var(--ok)}.flow-pass .packet-dot{fill:var(--ok)}.flow-fail .packet-path{stroke:var(--crit);filter:drop-shadow(0 0 7px color-mix(in srgb, var(--crit) 70%, transparent))}.flow-fail .packet-dot{fill:var(--crit);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--crit) 95%, transparent)) drop-shadow(0 0 12px color-mix(in srgb, var(--crit) 58%, transparent))}@keyframes packetFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-80px}}@keyframes packetDotPulse{0%,to{opacity:.58;transform:scale(.82)}45%{opacity:1;transform:scale(1.18)}}.obs-monitor{z-index:4;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);width:clamp(240px,340px,100% - 260px);font-family:var(--mono);border-radius:6px;font-size:9.5px;position:absolute;bottom:62px;right:12px;box-shadow:0 12px 32px -20px #000}.obs-monitor-header{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;font-size:9px;font-weight:700;display:flex}.obs-monitor-header .obs-title{flex:1}.obs-live{color:var(--ok)}.obs-status-dot{font-size:9px}.obs-status-dot.s-ok{color:var(--ok);animation:2s ease-in-out infinite obsPulse}.obs-status-dot.s-fail{color:var(--crit);animation:1.2s ease-in-out infinite obsPulse}.obs-status-dot.s-idle{color:var(--muted)}@keyframes obsPulse{0%,to{opacity:1}50%{opacity:.25}}.obs-entries{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 55%, var(--line)) color-mix(in srgb, var(--panel-2) 80%, transparent);flex-direction:column;height:140px;padding:4px 0;display:flex;overflow-y:auto}.obs-entries::-webkit-scrollbar{width:8px}.obs-entries::-webkit-scrollbar-track{background:color-mix(in srgb, var(--panel-2) 80%, transparent);border-radius:999px}.obs-entries::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 55%, var(--line));border:2px solid color-mix(in srgb, var(--panel) 94%, transparent);border-radius:999px}.obs-entries::-webkit-scrollbar-thumb:hover{background:var(--accent)}.obs-entry{grid-template-columns:62px 40px 1fr;gap:4px;padding:2px 8px;line-height:1.5;display:grid}.obs-entry .log-ts{color:color-mix(in srgb, var(--accent) 70%, var(--muted));opacity:.9}.obs-entry .log-tag{font-weight:700}.obs-entry .log-tag.t-init{color:var(--muted)}.obs-entry .log-tag.t-scan{color:var(--accent)}.obs-entry .log-tag.t-info{color:var(--ok)}.obs-entry .log-tag.t-warn{color:var(--warn)}.obs-entry .log-tag.t-crit{color:var(--crit)}.obs-entry .log-tag.t-test{color:var(--accent)}.obs-entry .log-tag.t-step{color:var(--text)}.obs-entry .log-tag.t-pass{color:var(--ok)}.obs-entry .log-tag.t-fail{color:var(--crit)}.obs-entry .log-msg{color:var(--text);word-break:break-word;opacity:.82}.obs-entry:last-child .log-msg{opacity:1;color:var(--strong)}.flow-timeline header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.flow-timeline header span{color:var(--ok);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.flow-timeline header b{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);border-radius:4px;padding:3px 6px;font-size:9px}.flow-timeline ol{gap:9px;margin:0;padding:0;list-style:none;display:grid}.flow-timeline li{color:var(--muted);grid-template-columns:18px 1fr auto;align-items:center;gap:8px;display:grid}.flow-timeline li>i{border:1px solid var(--line);width:16px;height:16px;color:var(--muted);border-radius:50%;place-items:center;font-size:10px;font-style:normal;display:grid}.flow-timeline li.done>i{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.flow-timeline li.active>i{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);animation:1s ease-in-out infinite step-ping}.flow-timeline li.fail>i{border-color:var(--crit);background:color-mix(in srgb, var(--crit) 18%, transparent);color:var(--crit);animation:none}@keyframes step-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent)}60%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent)}}.flow-timeline strong{color:var(--text);font-size:11px;display:block}.flow-timeline small{color:var(--muted);font-size:10px}.flow-timeline time{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:2px 5px;font-size:9px}.zoom-controls button{border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:5px 8px;font-family:inherit;font-size:11px;font-weight:600;transition:filter .12s;display:inline-flex}.zoom-controls button:hover{filter:brightness(1.2)}.btn-center{background:color-mix(in srgb, var(--accent) 14%, var(--panel));border-color:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent)}.btn-pdf{color:var(--ok);background:color-mix(in srgb, var(--ok) 16%, var(--panel));border-color:color-mix(in srgb, var(--ok) 40%, transparent);padding:8px 16px;font-size:12px}.btn-close-share{color:var(--crit);border-color:color-mix(in srgb, var(--crit) 35%, transparent);background:color-mix(in srgb, var(--crit) 10%, var(--panel));align-items:center;gap:5px;display:inline-flex}#candidate-note{font-family:inherit;font-size:11px;line-height:1.5}.zoom-controls span{text-align:center;min-width:44px;color:var(--muted);font-size:12px}.terminal-report{z-index:30;border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 96%, #000);width:min(560px,100vw - 24px);height:auto;max-height:min(520px,100vh - 180px);color:var(--text);font-family:var(--mono);border-radius:6px;flex-direction:column;display:flex;position:fixed;overflow:hidden;box-shadow:0 22px 70px -32px #000}.terminal-report,.terminal-report *{min-width:0}.terminal-report:not(.minimized){height:min(520px,100vh - 180px)}.terminal-report.minimized{width:300px;height:auto;overflow:hidden}.terminal-report.maximized{width:calc(100vw - 24px);height:calc(100vh - 172px);max-height:calc(100vh - 172px);top:132px!important;left:12px!important}.terminal-report.docked{border-radius:6px;width:min(440px,100vw - 360px);height:min(560px,100vh - 140px);max-height:min(560px,100vh - 140px);bottom:auto;right:18px;transform:translateY(-50%);top:50%!important;left:auto!important}.terminal-report.docked.minimized{width:300px;height:auto;max-height:none}.terminal-bar{z-index:2;border-bottom:1px solid var(--line);background:var(--panel-2);cursor:move;flex:none;align-items:center;gap:7px;padding:10px 12px;display:flex;position:sticky;top:0}.terminal-body{min-height:0;overflow:hidden auto}.terminal-bar span{background:var(--muted);border-radius:50%;width:9px;height:9px}.terminal-bar span:first-child{background:var(--crit)}.terminal-bar span:nth-child(2){background:var(--warn)}.terminal-bar span:nth-child(3){background:var(--ok)}.terminal-bar strong{color:var(--strong);margin-left:4px;font-size:12px}.terminal-bar button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:6px;padding:4px 7px;font-size:11px}.terminal-bar button:first-of-type{margin-left:auto}.terminal-bar button:hover{background:color-mix(in srgb, var(--ok) 12%, var(--panel));color:var(--strong)}.terminal-head{justify-content:space-between;gap:14px;padding:14px;display:flex}.terminal-head small,.terminal-score-grid span,.terminal-cols h4{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;display:block}.terminal-head b{margin-top:4px;font-size:28px;display:block}.terminal-score{color:var(--strong);font-size:28px;font-weight:900}.terminal-score small{color:var(--muted);font-size:13px}.terminal-score-grid{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:6px;padding:0 14px 14px;display:grid}.terminal-score-grid div{border:1px solid var(--line);background:var(--panel-2);border-radius:6px;padding:8px}.terminal-score-grid strong{color:var(--strong);margin-top:4px;font-size:12px;display:block}.terminal-cols{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:14px;display:grid}.terminal-cols p{color:var(--text);margin:7px 0 0;font-size:11px;line-height:1.45}.terminal-pending{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:18px 14px;font-size:11px;display:flex}.terminal-pending strong{color:var(--accent);font-size:12px}.terminal-note{border-top:1px solid var(--line);padding:14px}.terminal-note label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:10px;display:block}.terminal-note textarea{background:var(--panel-2);border-color:var(--line);width:100%;min-height:96px;color:var(--text);resize:vertical}.validation-strip{grid-template-columns:repeat(10,minmax(58px,1fr));gap:8px;padding:12px;display:grid}.rung{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:8px;place-items:center;gap:4px;padding:9px 6px;display:grid}.rung.pass{border-color:color-mix(in srgb, var(--ok) 55%, var(--line));color:var(--ok)}.rung.fail{border-color:color-mix(in srgb, var(--crit) 55%, var(--line));color:var(--crit)}.rung.selected{box-shadow:inset 0 0 0 1px var(--strong)}.rung:hover{border-color:var(--accent);transform:translateY(-1px)}.rung span{font-size:11px}.rung strong{font-size:15px}.strip-caption{color:var(--muted);text-align:center;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;margin:0;padding:0 0 3px;font-size:12px;display:flex}.strip-caption span{color:var(--strong);letter-spacing:.08em;text-transform:uppercase;font-weight:900}.strip-caption b{color:var(--ok)}.strip-caption small{color:var(--muted)}.spawn-ghost{z-index:100;border:2px dashed var(--ok);background:color-mix(in srgb, var(--panel) 88%, transparent);width:132px;min-height:74px;color:var(--strong);pointer-events:none;border-radius:10px;place-items:center;font-size:13px;font-weight:800;display:grid;position:fixed;transform:translate(-66px,-37px)}.app-footer{border-top:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 86%, #000);min-width:0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:18px;padding:0 12px;font-size:10px;display:flex}.app-footer strong{color:var(--ok)}.app-footer span:last-child{color:var(--strong);margin-left:auto}.metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.metrics div,.score-grid div,.finding{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:10px}.metrics span,.score-grid span,.finding span{color:var(--muted);margin-bottom:5px;font-size:12px;display:block}.metrics strong,.score-grid strong,.finding strong{color:var(--strong)}.note{border-radius:4px;gap:8px;margin:0 16px 16px;display:grid}textarea{resize:vertical;min-height:90px}.report-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.report-head h2{margin-top:4px;font-size:30px}.score{color:var(--strong);font-size:34px;font-weight:900}.score small{color:var(--muted);font-size:16px}.score-grid,.finding-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px;display:grid}.finding-grid{grid-template-columns:repeat(4,1fr)}.finding.ok{border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.finding.warn{border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.finding.crit{border-color:color-mix(in srgb, var(--crit) 45%, var(--line))}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.report article{border-top:1px solid var(--line);padding-top:12px}.report ul{color:var(--text);margin:8px 0 0;padding-left:18px;line-height:1.55}@media (width<=980px){.shell,.grid{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:6px}.brand{border-right:0;padding-bottom:4px}.brand p{white-space:normal}.nav-actions{justify-content:flex-start;padding:0 14px 8px}.score-grid,.finding-grid,.report-grid{grid-template-columns:1fr}.canvas{min-width:760px}.design{overflow-x:auto}}.session-welcome{color:var(--text);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:0;max-width:220px;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}@keyframes chrono-pulse{0%,to{opacity:1}50%{opacity:0}}.chrono-display{border:1px solid var(--line);background:var(--panel-2);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:5px;padding:5px 10px 5px 8px;transition:border-color .2s,background .2s,box-shadow .2s;display:inline-flex}.chrono-display.chrono-active{border-color:color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 8%, var(--panel-2));box-shadow:0 0 10px -3px color-mix(in srgb, var(--accent) 35%, transparent)}.chrono-icon{color:var(--muted);flex-shrink:0;transition:color .2s}.chrono-display.chrono-active .chrono-icon{color:var(--accent)}.chrono-time{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--muted);min-width:38px;font-family:Courier New,Lucida Console,monospace;font-size:14px;font-weight:700;transition:color .2s}.chrono-display.chrono-active .chrono-time{color:var(--accent)}.chrono-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1s ease-in-out infinite chrono-pulse}.canvas-actions-sep{background:var(--line);flex-shrink:0;width:1px;height:18px;margin:0 2px}.scenario-selector{flex-direction:column;gap:6px;width:100%;min-width:0;padding:0 0 4px;display:flex}.scenario-picker{width:100%;min-width:0;position:relative}.picker-trigger{background:var(--panel-2);border:1px solid var(--line);width:100%;min-width:0;max-width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:5px;align-items:center;gap:7px;padding:7px 10px;font-family:inherit;font-size:12px;transition:border-color .15s;display:flex}.picker-trigger.open,.picker-trigger:hover{border-color:var(--accent)}.picker-trigger-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;display:block;overflow:hidden}.picker-trigger-level{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:700}.picker-caret{color:var(--muted);flex-shrink:0;transition:transform .15s}.picker-trigger.open .picker-caret{transform:rotate(180deg)}.picker-dropdown{z-index:200;background:var(--panel);border:1px solid var(--accent);border-radius:6px;width:100%;max-width:100%;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 16px 40px -12px #000000a6}.picker-search-wrap{border-bottom:1px solid var(--line);padding:8px 8px 6px}.picker-search{background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);border-radius:4px;outline:none;padding:5px 8px;font-family:inherit;font-size:11px}.picker-search:focus{border-color:var(--accent)}.picker-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;padding:6px 8px;display:flex}.picker-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent;max-height:210px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.picker-item{cursor:pointer;min-width:0;color:var(--text);align-items:baseline;gap:8px;padding:5px 10px;font-size:11px;transition:background .1s;display:flex}.picker-item:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.picker-item.selected{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--strong)}.picker-item-lvl{letter-spacing:.05em;text-transform:uppercase;opacity:.7;flex-shrink:0;font-size:9px;font-weight:700}.picker-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;line-height:1.3;overflow:hidden}.picker-empty{text-align:center;color:var(--muted);padding:12px;font-size:11px;list-style:none}.level-filters{flex-wrap:wrap;gap:4px;display:flex}.lvl-btn{border:1px solid var(--line);color:var(--muted);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:4px;padding:2px 7px;font-size:9px;font-weight:700;transition:background .12s,color .12s,border-color .12s}.lvl-btn.active,.lvl-btn:hover{border-color:currentColor}.lvl-btn.lvl-all.active{color:var(--text);background:color-mix(in srgb, var(--text) 10%, transparent)}.lvl-btn.lvl-junior.active{color:#6ee7a0;background:#1e4d2b;border-color:#6ee7a0}.lvl-btn.lvl-mid.active{color:#7ab8f5;background:#1e3a5f;border-color:#7ab8f5}.lvl-btn.lvl-senior.active{color:#f5c07a;background:#4d2b00;border-color:#f5c07a}.lvl-btn.lvl-staff.active{color:#d97af5;background:#3d1a3a;border-color:#d97af5}.no-results{color:var(--muted);margin:0;padding:4px 0;font-size:10px}@keyframes blob-drift{0%{transform:translate(0)scale(1)}33%{transform:translate(60px,-40px)scale(1.15)}66%{transform:translate(-40px,60px)scale(.9)}to{transform:translate(0)scale(1)}}@keyframes blob-drift-b{0%{transform:translate(0)scale(1)}33%{transform:translate(-70px,30px)scale(1.1)}66%{transform:translate(50px,-50px)scale(.95)}to{transform:translate(0)scale(1)}}@keyframes blob-drift-c{0%{transform:translate(0)scale(1)}50%{transform:translate(30px,70px)scale(1.2)}to{transform:translate(0)scale(1)}}.modal-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:9000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.modal-overlay:before,.modal-overlay:after{content:"";filter:blur(80px);opacity:.18;pointer-events:none;border-radius:50%;position:absolute}.modal-overlay:before{background:radial-gradient(circle,#6ee7a0 0%,#0000 70%);width:520px;height:520px;animation:12s ease-in-out infinite blob-drift;top:-120px;left:-120px}.modal-overlay:after{background:radial-gradient(circle,#818cf8 0%,#0000 70%);width:440px;height:440px;animation:15s ease-in-out infinite blob-drift-b;bottom:-100px;right:-100px}.modal-blob-c{filter:blur(90px);opacity:.1;pointer-events:none;background:radial-gradient(circle,#f59e42 0%,#0000 70%);border-radius:50%;width:360px;height:360px;animation:18s ease-in-out infinite blob-drift-c;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.modal-box{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:14px;width:calc(100vw - 40px);max-width:440px;padding:32px 36px;display:flex}.modal-logo{margin-bottom:4px}.modal-box h2{color:var(--strong);margin:0;font-size:20px}.modal-box p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.modal-input{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:13px}.modal-input:focus{border-color:var(--accent)}.modal-btn{background:var(--accent);color:#000;letter-spacing:.06em;cursor:pointer;border:none;border-radius:6px;align-self:flex-start;padding:10px 20px;font-size:12px;font-weight:800}.modal-btn:disabled{opacity:.4;cursor:not-allowed}.modal-btn:hover:not(:disabled){filter:brightness(1.1)}.modal-start-btn{align-self:flex-start;margin-top:2px;padding:9px 14px}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:20px;line-height:1}.modal-close:hover{color:var(--text)}.modal-share{border-radius:12px;gap:0;width:calc(100vw - 40px);max-width:920px;max-height:calc(100vh - 48px);padding:0;overflow:hidden}.share-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--panel)) 0%, color-mix(in srgb, #6ee7a0 8%, var(--panel)) 100%);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:24px 28px;display:flex;position:relative}.share-avatar{background:var(--accent);color:#000;width:52px;height:52px;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:900;display:flex}.share-hero-info{flex:1;min-width:0}.share-hero-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:9px;font-weight:700}.share-hero-name{color:var(--strong);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:20px;font-weight:800;overflow:hidden}.share-hero-date{color:var(--muted);margin:2px 0 0;font-size:11px}.share-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:22px;line-height:1;position:absolute;top:16px;right:16px}.share-close:hover{color:var(--text);background:var(--panel-2)}.share-kpi{border-bottom:1px solid var(--line);grid-template-columns:repeat(5,1fr);gap:0;display:grid}.share-kpi-card{border-right:1px solid var(--line);flex-direction:column;gap:4px;padding:18px 20px;display:flex;position:relative}.share-kpi-card:last-child{border-right:none}.kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:9px;font-weight:700}.kpi-value{color:var(--strong);font-size:28px;font-weight:900;line-height:1}.kpi-value small{color:var(--muted);margin-left:2px;font-size:13px;font-weight:500}.kpi-sub{color:var(--muted);margin-top:2px;font-size:10px}.kpi-pass .kpi-value{color:var(--ok)}.share-rate-bar{flex-direction:column;gap:4px;display:flex}.share-rate-track{background:color-mix(in srgb, var(--crit) 25%, var(--panel-2));border-radius:3px;height:6px;position:relative;overflow:hidden}.share-rate-fill{background:var(--ok);border-radius:3px;min-width:4px;height:100%;transition:width .6s}.share-rate-row{justify-content:space-between;padding:0 2px;display:flex}.share-rate-label{letter-spacing:.06em;font-size:9px;font-weight:700}.share-rate-label.ok{color:var(--ok)}.share-rate-label.crit{color:var(--crit)}.share-table-wrap{min-height:120px;max-height:calc(100vh - 420px);padding:20px 28px 8px;overflow:auto}.share-table{border-collapse:collapse;width:100%;font-size:11.5px}.share-table th{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;text-align:left;border-bottom:2px solid var(--line);white-space:nowrap;padding:0 10px 8px;font-size:9px;font-weight:700}.share-table td{color:var(--text);vertical-align:middle;border-bottom:1px solid color-mix(in srgb, var(--line) 40%, transparent);padding:10px}.share-table tbody tr:last-child td{border-bottom:none}.share-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}.row-pass td:first-child{border-left:3px solid var(--ok)}.row-fail td:first-child{border-left:3px solid var(--crit)}.row-omitted td:first-child{border-left:3px solid var(--muted)}.td-num{color:var(--muted);width:28px;font-size:10px}.td-title{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.td-center{text-align:center}.mono{font-variant-numeric:tabular-nums;letter-spacing:.03em}.history-comparison strong,.history-comparison>small{white-space:nowrap;display:block}.history-comparison strong{color:var(--text);font-size:11.5px}.history-comparison strong small{color:inherit;font-size:9px;font-weight:500}.history-comparison>small{color:var(--muted);margin-top:2px;font-size:9px}.history-comparison .history-cost-ideal{color:var(--ok)}.history-comparison .history-cost-mid{color:var(--warn)}.history-comparison .history-cost-limit{color:var(--crit)}.score-pill{color:color-mix(in srgb, #f59e42 calc(var(--s,50) * 1%), var(--ok));align-items:baseline;gap:2px;font-size:13px;font-weight:800;display:inline-flex}.score-pill small{color:var(--muted);font-size:10px;font-weight:400}.status-badge{letter-spacing:.05em;white-space:nowrap;border-radius:20px;align-items:center;gap:3px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.status-pass{background:color-mix(in srgb, var(--ok) 15%, transparent);color:var(--ok);border:1px solid color-mix(in srgb, var(--ok) 30%, transparent)}.status-fail{background:color-mix(in srgb, var(--crit) 12%, transparent);color:var(--crit);border:1px solid color-mix(in srgb, var(--crit) 25%, transparent)}.status-omitted{background:color-mix(in srgb, var(--muted) 12%, transparent);color:var(--muted);border:1px solid color-mix(in srgb, var(--muted) 25%, transparent)}.share-actions{border-top:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 60%, transparent);align-items:center;gap:10px;padding:16px 28px;display:flex}.ok{color:var(--ok)}.crit{color:var(--crit)}.mobile-block{background:var(--bg);z-index:9999;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.mobile-block-box{text-align:center;flex-direction:column;gap:16px;max-width:380px;display:flex}.mobile-block-box h2{color:var(--strong);margin:0;font-size:17px}.mobile-block-box p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.mobile-block-box .modal-btn{align-self:center}@media print{:root{--bg:white;--panel:#fafafa;--panel-2:#f0f0f0;--text:#111;--strong:#000;--muted:#555;--line:#ddd;--ok:#1a8a5e;--warn:#a06e00;--crit:#c0102a;--accent:#25c}html,body,#app,.shell{height:auto!important;min-height:0!important;overflow:visible!important}body,.shell{background:#fff!important;display:block!important}.modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;display:block;position:static}.modal-blob-c{display:none}.modal-share{color:#000;box-shadow:none;background:#fff;border:none;border-radius:0;width:100%;max-width:100%;padding:0;max-height:none!important;overflow:visible!important}.share-table-wrap{min-height:0;padding:12px 0 0;max-height:none!important;overflow:visible!important}.share-table{page-break-inside:auto;width:100%;font-size:9px}.share-table thead{display:table-header-group}.share-table tfoot{display:table-footer-group}.share-table tr{page-break-inside:avoid;break-inside:avoid}.share-hero{background:#f4f4f8;border-bottom:2px solid #ddd}.share-hero-name,.share-hero-label,.share-hero-date{color:#111!important}.share-kpi{border-bottom:1px solid #ddd}.share-kpi-card{border-right-color:#ddd}.kpi-label{color:#666}.kpi-value{color:#000!important}.kpi-pass .kpi-value{color:#1a8a5e!important}.share-table th{color:#666;border-color:#ccc}.share-table th,.share-table td{padding:5px 6px}.share-table td{color:#111;border-color:#eee}.td-title{white-space:normal;text-overflow:clip;max-width:none;overflow:visible}.share-table tbody tr:hover{background:0 0}.level-badge{border:1px solid #ccc!important}.score-pill{color:#555!important}.status-pass{color:#1a8a5e;background:#e6f4ee;border-color:#a0d4ba}.status-fail{color:#c0102a;background:#fde8e8;border-color:#f0a0a0}.share-rate-bar{display:none}.share-actions,.share-close,.shell>:not(.modal-overlay){display:none!important}}.shell[data-theme=light] .scenario-search,.shell[data-theme=light] .scenario-select,.shell[data-theme=light] .modal-input{background:var(--panel-2);color:var(--text);border-color:var(--line)}.shell[data-theme=light] .modal-box,.shell[data-theme=light] .modal-share{background:var(--panel);border-color:var(--line)}.shell[data-theme=light] .share-stats>div{background:var(--panel-2);border-color:var(--line)}.shell[data-theme=light] .mobile-block{background:var(--bg)}.shell[data-theme=light] .lvl-btn{border-color:var(--line)}.shell[data-theme=light] .modal-btn{color:#fff}.shell[data-theme=light] .picker-trigger{background:var(--panel-2);color:var(--text);border-color:var(--line)}.shell[data-theme=light] .picker-dropdown{background:var(--panel);border-color:var(--accent)}.shell[data-theme=light] .picker-search{background:var(--panel-2);color:var(--text);border-color:var(--line)}.shell[data-theme=light] .level-junior,.shell[data-theme=light] .lvl-btn.lvl-junior.active{color:#166534;background:#dcfce7;border-color:#86d5a0}.shell[data-theme=light] .level-mid,.shell[data-theme=light] .lvl-btn.lvl-mid.active{color:#1d4ed8;background:#dbeafe;border-color:#93b7f4}.shell[data-theme=light] .level-senior,.shell[data-theme=light] .lvl-btn.lvl-senior.active{color:#92400e;background:#fef3c7;border-color:#e4bd69}.shell[data-theme=light] .level-staff,.shell[data-theme=light] .lvl-btn.lvl-staff.active{color:#7e22ce;background:#f3e8ff;border-color:#c9a2ed}.shell[data-theme=light] .impact-high{color:#166534;background:#dcfce7}.shell[data-theme=light] .impact-mid{color:#92400e;background:#fef3c7}.shell[data-theme=light] .act-btn:not(:disabled):hover{filter:brightness(.94)}.terminal-cost{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:7px 14px;display:flex}.cost-signal{font-size:12px;font-family:var(--mono);align-items:center;gap:6px;display:flex}.cost-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cost-ok .cost-dot{background:var(--ok)}.cost-warn .cost-dot{background:var(--warn)}.cost-crit .cost-dot{background:var(--crit)}.cost-ok .cost-amt{color:var(--ok);font-weight:600}.cost-warn .cost-amt{color:var(--warn);font-weight:600}.cost-crit .cost-amt{color:var(--crit);font-weight:600}.cost-signal-label{font-size:10px;font-family:var(--ui);color:var(--muted);letter-spacing:.04em}.cost-tiers{font-size:10px;font-family:var(--mono);color:var(--muted);align-items:center;gap:5px;display:flex}.cost-tier-item{opacity:.35;transition:opacity .15s}.cost-tier-item.active{opacity:1;color:var(--text)}.cost-tier-item b{letter-spacing:.06em;text-transform:uppercase;margin-right:2px;font-size:9px;font-weight:700}.cost-tier-sep{opacity:.2}.home-btn{color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.home-btn:hover{color:var(--text);border-color:var(--accent)}.term-action-btn{font:10px/1 var(--mono);border:1px solid var(--line);height:20px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:2px 7px;transition:color .15s,border-color .15s}.term-action-btn:hover{color:var(--ok);border-color:var(--ok)}.terminal-before-after{border-top:1px solid var(--line);background:color-mix(in srgb, var(--accent) 4%, transparent);align-items:center;gap:10px;padding:8px 14px;display:flex}.ba-col{flex-direction:column;align-items:center;gap:1px;min-width:58px;display:flex}.ba-label{font:9px/1 var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.ba-val{font:bold 15px/1.2 var(--mono)}.ba-sub{font:10px/1 var(--ui);color:var(--muted)}.ba-arrow{color:var(--muted);flex-shrink:0;font-size:13px}.ba-delta{font:bold 13px/1 var(--mono);background:color-mix(in srgb, var(--ok) 10%, transparent);border-radius:4px;margin-left:auto;padding:3px 8px}.terminal-tabs{border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:var(--bg);display:flex}.tab-btn{font:10px/1 var(--mono);letter-spacing:.04em;text-transform:lowercase;color:var(--muted);border:none;border-right:1px solid var(--line);cursor:pointer;background:0 0;flex:1;padding:6px 4px;transition:color .15s,background .15s}.tab-btn:last-child{border-right:none}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--ok);background:color-mix(in srgb, var(--ok) 8%, transparent)}.terminal-timeline{flex-direction:column;gap:0;max-height:min(400px,100vh - 310px);padding:6px 28px 24px;display:flex;overflow-y:auto}.tl-empty{font:11px/1.4 var(--mono);color:var(--muted);text-align:center;padding:24px 0}.tl-row{align-items:stretch;gap:12px;min-height:64px;display:flex;position:relative}.tl-row:not(:last-child):before{content:"";background:var(--line);width:1px;position:absolute;top:31px;bottom:-1px;left:15px}.tl-marker{z-index:1;border:1px solid var(--line);background:var(--panel-2);width:31px;height:31px;color:var(--text);font:bold 12px/1 var(--mono);border-radius:50%;flex:0 0 31px;place-items:center;display:grid;position:relative}.tl-content{flex:1;min-width:0;padding:1px 0 15px}.tl-content>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.tl-time{font:10px/1 var(--mono);color:var(--muted);flex-shrink:0}.tl-kind{color:var(--muted);font:700 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.tl-label{font:12px/1.4 var(--ui);color:var(--text);margin:7px 0 0}.tl-run_tests .tl-marker{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line))}.tl-add_resource .tl-marker{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.tl-remove_resource .tl-marker,.tl-remove_edge .tl-marker{color:var(--crit);border-color:color-mix(in srgb, var(--crit) 45%, var(--line))}.tl-connect_resource .tl-marker,.tl-add_base_edge .tl-marker,.tl-rewire_edge .tl-marker{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.terminal-explain{flex-direction:column;gap:10px;max-height:180px;padding:10px 14px;display:flex;overflow-y:auto}.terminal-explain h4{font:bold 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.exp-group{flex-direction:column;gap:5px;display:flex}.exp-tag{font:9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.exp-pills{flex-wrap:wrap;gap:4px;display:flex}.exp-pill{font:10px/1 var(--mono);white-space:nowrap;border-radius:4px;padding:3px 7px}.exp-pill.ok{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.exp-pill.warn{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn)}.exp-pill.crit{background:color-mix(in srgb, var(--crit) 14%, transparent);color:var(--crit)}.exp-tradeoff{font:11px/1.4 var(--mono);color:var(--text);margin:0}.footer-cap{font:10px/1 var(--mono);color:var(--muted);align-items:center;gap:5px;display:flex}.cap-ok{color:var(--ok)}.cap-low{color:var(--crit)}.cap-sep{opacity:.3}.result-modal-overlay{z-index:500}.result-modal{gap:14px;width:calc(100vw - 40px);max-width:700px;max-height:calc(100vh - 60px);padding:24px 28px 20px;position:relative;overflow-y:auto}.result-modal-close{position:absolute;top:16px;right:20px}.result-modal-head{justify-content:space-between;align-items:center;display:flex}.result-verdict{flex-direction:column;gap:2px;display:flex}.result-verdict small{font:9px/1 var(--mono);color:var(--muted);letter-spacing:.08em}.result-verdict b{font:bold 22px/1 var(--mono)}.result-verdict b.ok{color:var(--ok)}.result-verdict b.crit{color:var(--crit)}.result-modal-actions{flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px;display:flex}.note-gate-msg{font:11px/1 var(--mono);color:var(--warn)}.result-note-gate{flex-direction:column;gap:6px;display:flex}.result-note-gate label{font:11px/1 var(--mono);color:var(--muted)}.note-required-hint{color:var(--crit)}.result-note-gate textarea{background:var(--surface);border:1px solid var(--border);width:100%;min-height:70px;color:var(--text);font:11px/1.5 var(--mono);resize:vertical;border-radius:6px;padding:8px 10px}.result-note-gate small{font:10px/1 var(--mono)}.timeline-modal{gap:0;width:calc(100vw - 40px);max-width:620px;max-height:calc(100vh - 80px);padding:0;position:relative;overflow:hidden}.timeline-close{z-index:2;position:absolute;top:16px;right:18px}.timeline-modal-head{border-bottom:1px solid var(--line);padding:24px 28px 18px}.timeline-modal-head>span{color:var(--accent);font:700 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.timeline-modal h2{color:var(--strong);margin:8px 40px 0 0;font-size:20px;line-height:1.2}.timeline-modal-head p{color:var(--muted);margin:6px 40px 0 0;font-size:12px}.timeline-summary{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel-2) 60%, transparent);color:var(--muted);font:10px/1 var(--mono);gap:22px;padding:13px 28px;display:flex}.timeline-summary span{white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.timeline-summary b{color:var(--text);font-size:11px}.explain-modal{gap:0;width:calc(100vw - 40px);max-width:580px;max-height:calc(100vh - 60px);padding:0;position:relative;overflow-y:auto}.explain-close{z-index:2;position:absolute;top:16px;right:18px}.explain-header{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:22px 24px 18px;display:flex}.explain-lock-badge{font:bold 9px/1 var(--mono);letter-spacing:.1em;color:var(--warn);background:color-mix(in srgb, var(--warn) 12%, transparent);border:1px solid color-mix(in srgb, var(--warn) 30%, transparent);border-radius:4px;align-items:center;gap:5px;width:fit-content;padding:3px 8px;display:inline-flex}.explain-title{color:var(--strong);margin:4px 0 0;font-size:17px;font-weight:700}.explain-subtitle{font:11px/1 var(--mono);color:var(--muted);margin:0}.explain-level{color:var(--accent);font-weight:700}.explain-sections{flex-direction:column;gap:0;display:flex}.explain-section{border-bottom:1px solid var(--line);border-left:3px solid #0000;flex-direction:column;gap:10px;padding:16px 24px;display:flex}.explain-section:last-child{border-bottom:none}.explain-section-warn{border-left-color:var(--warn);background:color-mix(in srgb, var(--warn) 3%, transparent)}.explain-section-ok{border-left-color:var(--ok);background:color-mix(in srgb, var(--ok) 3%, transparent)}.explain-section-crit{border-left-color:var(--crit);background:color-mix(in srgb, var(--crit) 3%, transparent)}.explain-section-muted{border-left-color:var(--line)}.explain-section-head{font:bold 11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;display:flex}.explain-section-warn .explain-section-head{color:var(--warn)}.explain-section-ok .explain-section-head{color:var(--ok)}.explain-section-crit .explain-section-head{color:var(--crit)}.explain-section-muted .explain-section-head{color:var(--muted)}.explain-pills{flex-wrap:wrap;gap:7px;display:flex}.explain-pill{font:11px/1 var(--mono);white-space:nowrap;border:1px solid #0000;border-radius:20px;padding:5px 12px}.ep-warn{background:color-mix(in srgb, var(--warn) 14%, transparent);border-color:color-mix(in srgb, var(--warn) 35%, transparent);color:var(--warn)}.ep-ok{background:color-mix(in srgb, var(--ok) 14%, transparent);border-color:color-mix(in srgb, var(--ok) 35%, transparent);color:var(--ok)}.ep-crit{background:color-mix(in srgb, var(--crit) 14%, transparent);border-color:color-mix(in srgb, var(--crit) 35%, transparent);color:var(--crit)}.explain-tradeoffs{flex-direction:column;gap:7px;margin:0;padding:0 0 0 4px;list-style:none;display:flex}.explain-tradeoffs li{font:12px/1.45 var(--mono);color:var(--text);padding-left:14px;position:relative}.explain-tradeoffs li:before{content:"›";color:var(--muted);position:absolute;left:0}.btn-timeline{background:color-mix(in srgb, #3b82f6 14%, var(--panel));color:#60a5fa;border-color:#3b82f65c}.btn-share{background:color-mix(in srgb, #10b981 14%, var(--panel));color:#34d399;border-color:#10b9815c}.btn-png{background:color-mix(in srgb, var(--muted) 12%, var(--panel));border-color:color-mix(in srgb, var(--muted) 28%, transparent);color:var(--muted)}.btn-explain-locked{background:color-mix(in srgb, var(--muted) 8%, var(--panel));border-color:color-mix(in srgb, var(--muted) 22%, transparent);color:var(--muted);opacity:.65!important}.btn-explain-hint{background:color-mix(in srgb, var(--warn) 14%, var(--panel));border-color:color-mix(in srgb, var(--warn) 36%, transparent);color:var(--warn);animation:2s ease-in-out infinite explain-pulse}@keyframes explain-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--warn) 0%, transparent)}50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--warn) 22%, transparent)}}.shell[data-theme=light] .result-modal,.shell[data-theme=light] .timeline-modal,.shell[data-theme=light] .explain-modal{border-color:#d1d5db}.shell[data-theme=light] .btn-tip{color:#92400e;background:#fef3c7;border-color:#e4bd69}.shell[data-theme=light] .btn-report{color:#7e22ce;background:#f3e8ff;border-color:#c9a2ed}.shell[data-theme=light] .btn-timeline{color:#1d4ed8;background:#dbeafe;border-color:#93b7f4}.shell[data-theme=light] .btn-share{color:#047857;background:#d1fae5;border-color:#77c8aa}.canvas-start-overlay{z-index:20;background:var(--canvas-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.canvas-start-card{background:var(--raised);border:1px solid var(--line);text-align:center;width:90%;max-width:520px;box-shadow:0 24px 64px -16px var(--shadow);border-radius:10px;flex-direction:column;align-items:center;gap:12px;padding:28px 32px 24px;display:flex}.canvas-start-level{font:600 10px/1 var(--mono);letter-spacing:.1em;color:var(--ok);background:color-mix(in srgb, var(--ok) 14%, var(--panel));border:1px solid color-mix(in srgb, var(--ok) 36%, transparent);border-radius:4px;align-self:flex-start;padding:3px 9px}.canvas-start-title{color:var(--fg);text-align:left;margin:0;font-size:16px;font-weight:700;line-height:1.35}.canvas-start-context{color:var(--muted);text-align:left;margin:0;font-size:12px;line-height:1.55}.canvas-start-problem{color:var(--fg);text-align:left;border-left:3px solid var(--crit);margin:0;padding-left:10px;font-size:12px;line-height:1.55}.canvas-start-btn{cursor:pointer;gap:7px;margin-top:8px;padding:9px 28px;font-size:13px}.canvas-start-hint{color:var(--muted);opacity:.7;margin:0;font-size:11px}.share-loader{z-index:9999;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-loader-box{flex-direction:column;align-items:center;gap:14px;display:flex}.share-loader-label{font:12px/1 var(--mono);color:var(--muted);letter-spacing:.04em}.share-loader-spin,.land-loader-spin{border:2px solid color-mix(in srgb, var(--ok) 28%, transparent);border-top-color:var(--ok);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin-anim}@keyframes spin-anim{to{transform:rotate(360deg)}}.canvas-readonly{cursor:grab}.canvas-readonly .canvas-actions{cursor:default}.canvas-readonly .flow-node,.canvas-readonly .flow-lines path.hit{pointer-events:none;cursor:default}.shared-view-banner{font:11px/1 var(--mono);color:var(--muted);background:color-mix(in srgb, var(--muted) 8%, var(--panel));border:1px solid var(--line);border-radius:5px;align-items:center;gap:7px;margin:8px 0;padding:7px 10px;display:flex}
