:root{--bg: #fff7ec;--bg-elev: #ffffff;--bg-glass: rgba(255, 247, 236, .9);--ink: #1a1410;--ink-soft: var(--ink-2);--quiet: var(--ink-2);--hush: #9a8a7a;--stone: var(--ink-3);--stone-soft: #f0e3cf;--sand: #e3cfae;--sand-warm: #f8f0e3;--teal: var(--primary);--teal-deep: #b83d10;--teal-soft: rgba(217, 75, 22, .12);--teal-band: rgba(217, 75, 22, .15);--glow-inner: rgba(217, 75, 22, .18);--glow-outer: rgba(31, 122, 224, .09);--alive: #1f7ae0;--accent: #1f7ae0;--stegeman: var(--ink-3);--sanford: #5b4a3c;--sage: #7A9A7E;--amber: #c8ee5a;--mark-warm: #d94b16;--mark-warm-active: #c04010;--mark-warm-ready: #e05828;--surface: var(--bg-elev);--ink-2: #5b4a3c;--ink-3: #9a8a7a;--line: #f0e3cf;--line-2: #e3cfae;--color-muted: var(--ink-3);--color-border: var(--line-2);--color-ink: var(--ink);--color-accent: var(--alive);--primary: #d94b16;--primary-soft: #fad5c0;--accent-soft: #d8eaff;--sage-soft: #f2f6f0;--highlight: #c8ee5a;--cart-a-blue: #1B5F94;--cart-b-coral: #B5523F;--impact-warm: #D88533;--chart-bg-cool: #fdf8f2;--sim-floor-warm: rgba(255, 247, 236, .4);--shadow-object: 0 0 0 1px var(--line), 0 4px 14px -8px rgba(26, 20, 16, .08), 0 1px 3px -1px rgba(26, 20, 16, .04);--shadow-card: var(--shadow-object);--shadow-button: none;--input-border: none;--sans: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--serif: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-heading: "Fredoka", "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--spring-glide: cubic-bezier(.32, .72, 0, 1);--spring-pop: cubic-bezier(.34, 1.56, .64, 1);--spring-soft: cubic-bezier(.25, 1, .5, 1);--t-fast: .22s;--t-base: .38s;--t-slow: .62s;--t-reveal: .88s;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--label-tracking: .06em;--fs-hero: clamp(28px, 4vw, 44px);--fs-display: clamp(21px, 2.4vw, 25px);--fs-title: 20px;--fs-student: 19px;--fs-body: 16px;--fs-body-sm: 14px;--fs-label: 12.5px;--fs-label-sm: 11.5px;--fs-micro: 10px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.15;--lh-snug: 1.3;--lh-body: 1.55;--paper: var(--bg-elev);--paper-2: var(--bg);--paper-pure: #ffffff;--ink-faint: var(--line);--accent-shadow: transparent;--shadow-centerstage: var(--shadow-card);--shadow-inner: var(--shadow-object);--river-max: 1100px;--shadow-raised: 0 0 0 1px rgba(26, 20, 16, .07), 0 16px 30px -12px rgba(26, 20, 16, .34);--field-ring: 0 0 0 1.5px rgba(0, 78, 96, .14), 0 2px 14px rgba(0, 78, 96, .07);--field-ring-focus: 0 0 0 1.5px rgba(0, 124, 130, .3), 0 2px 22px rgba(0, 78, 96, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}button,input,select,textarea{font-family:inherit}body{color:var(--ink);font-family:var(--sans);font-size:var(--fs-student);line-height:1.55;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(0,78,96,.01) 1px,transparent 1px);background-size:3px 3px;pointer-events:none;z-index:0}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}em{font-style:normal;font-weight:500}[hidden]{display:none!important}.top-bar{position:fixed;top:0;left:0;right:0;height:44px;z-index:200;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;background:var(--bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top-bar-title{grid-column:2;font-family:var(--sans);font-size:var(--fs-body);font-weight:600;color:var(--stone);letter-spacing:.01em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-bar .btn-back{position:static;grid-column:1;justify-self:start}.top-bar .vision-toggle{position:relative;top:auto;right:auto;justify-self:end}.top-bar .hauth{grid-column:3;justify-self:end;margin-left:0}.river{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:clamp(64px,8vh,96px) clamp(32px,5vw,100px) 240px;display:flex;flex-direction:column;gap:clamp(56px,8vh,96px)}[data-phase]{scroll-margin-top:clamp(56px,8vh,96px)}body:has(.preview-banner) [data-phase]{scroll-margin-top:clamp(92px,12vh,132px)}.done-summary{scroll-margin-top:clamp(56px,8vh,96px)}.done-summary-head{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:24px}.done-summary-badge{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--surface);font-size:22px;font-weight:700;margin-bottom:6px}.done-summary-title{font-family:var(--sans);font-size:var(--fs-h2, 1.5rem);font-weight:700;color:var(--ink);margin:0}.done-summary-sub{font-family:var(--sans);font-size:var(--fs-body);color:var(--ink-2);margin:0}.done-summary-actions{margin-top:28px}.run-submissions{margin-top:24px;display:flex;flex-direction:column;gap:8px}.run-submissions-label{font-family:var(--sans);font-size:var(--fs-label, .8rem);font-weight:600;color:var(--primary);letter-spacing:.02em}.run-sub{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.run-sub-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;font-family:var(--sans);font-size:var(--fs-body);color:var(--ink)}.run-sub-name{font-weight:600}.run-sub-toggle{color:var(--stone)}.run-sub-body{margin:0;padding:4px 14px 14px;display:flex;flex-direction:column;gap:12px}.run-sub-field dt{font-family:var(--sans);font-size:var(--fs-label, .78rem);font-weight:600;color:var(--stone);text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px}.run-sub-field dd{margin:0;font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);white-space:pre-wrap}.main-card{width:100%;display:flex;flex-direction:column;gap:clamp(56px,8vh,96px)}.main-card--glow{background-image:linear-gradient(to bottom,transparent,var(--glow-inner) 70%,var(--glow-outer) 100%);background-size:100% 2400px;background-position:top;background-repeat:no-repeat}.movement{animation:rise var(--t-reveal) var(--spring-soft) both;min-width:0;max-width:100%}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.practice-done{pointer-events:none}.practice-done .movement{animation:none}.movement-scene .scene-text{font-family:var(--font-heading);font-weight:400;font-size:var(--fs-display);line-height:1.5;letter-spacing:-.005em;color:var(--ink-soft);max-width:52ch;min-height:80px;white-space:pre-wrap}.scene-bold{font-weight:600;color:var(--ink)}.analyze-task-instruction{display:block;margin:-12px 0 16px}.prompt{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-display);line-height:1.25;letter-spacing:-.015em;color:var(--ink);margin-bottom:20px;max-width:56ch}.given-question-label{font-family:var(--sans);font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;color:var(--hush);margin:0 0 10px}.given-question{font-family:var(--font-heading);font-size:var(--fs-display);font-weight:500;letter-spacing:-.015em;color:var(--ink);margin:0 0 32px;line-height:1.3;max-width:52ch}.write-field{font-family:var(--serif);font-size:var(--fs-student);font-weight:400;line-height:1.5;color:var(--ink);background:transparent;border:var(--input-border);border-radius:var(--radius-lg);padding:12px 20px 18px;resize:none;overflow-y:hidden;min-height:88px;width:100%;outline:none;transition:background .28s ease,box-shadow .34s ease,border-color .28s ease;box-shadow:0 0 0 1.5px #004e6024,0 2px 14px #004e6012,inset 0 1px 4px #0d2b3508}.write-field:hover{background:#e8e3d966;box-shadow:0 0 0 1.5px #004e6038,0 2px 16px #004e601a,inset 0 1px 4px #0d2b350a}.write-field:focus{background:#e8e3d9b3;box-shadow:0 0 0 1.5px #007c824d,0 2px 22px #004e601f,inset 0 1px 4px #0d2b350a}.write-field::placeholder{color:var(--hush);font-style:italic}.write-row{display:grid;grid-template-columns:minmax(0,560px) 400px;column-gap:clamp(28px,4vw,56px);align-items:start}@media (max-width: 1100px){.write-row{grid-template-columns:1fr}}.river--has-nav:not(.river--has-nav-compact) .write-row{grid-template-columns:minmax(0,560px) minmax(0,220px)}.write-surface{position:relative;border-radius:var(--radius-xl)}.write-surface .write-field{padding-right:62px;padding-bottom:58px}.corner-stack{position:absolute;bottom:10px;right:6px;display:flex;flex-direction:row;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .16s ease}.write-surface:focus-within .corner-stack{opacity:1;pointer-events:auto}.write-surface--has-feedback .corner-stack{opacity:1;pointer-events:auto}.btn-send{--send-t: 1;display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 16px;border-radius:var(--radius-pill);border:1.5px solid color-mix(in srgb,var(--ink-soft) calc((1 - var(--send-t)) * 100%),var(--primary) calc(var(--send-t) * 100%));background:color-mix(in srgb,var(--primary) calc(var(--send-t) * 14%),transparent);color:color-mix(in srgb,var(--ink-soft) calc((1 - var(--send-t)) * 100%),var(--primary) calc(var(--send-t) * 100%));opacity:calc(.6 + .4 * var(--send-t));font-family:var(--sans);font-size:var(--fs-body);font-weight:700;cursor:pointer;transition:background var(--t-fast) ease,color var(--t-fast) ease,border-color var(--t-fast) ease,transform var(--t-fast) var(--spring-pop),opacity .28s ease}.btn-send:hover:not(:disabled){border-color:var(--primary);background:var(--primary);color:var(--surface)}.btn-send:active:not(:disabled){transform:scale(.97)}.btn-send:disabled{cursor:default}.commit-actions{margin-top:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.commit-primary{display:inline-flex;align-items:center;height:40px;padding:0 20px;border-radius:var(--radius-pill);border:1.5px solid var(--ink-soft);background:transparent;color:var(--ink-soft);font-family:var(--sans);font-size:var(--fs-body-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:border-color var(--t-fast) ease,color var(--t-fast) ease,opacity var(--t-fast) ease,transform var(--t-fast) var(--spring-pop);animation:commitAppear .32s var(--spring-pop) both}.commit-primary:hover:not(:disabled){border-color:var(--teal);color:var(--teal)}.commit-primary:active:not(:disabled){transform:scale(.97)}.commit-primary:disabled{opacity:.45;cursor:default}.commit-primary--orange{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);border-color:var(--primary);font-weight:600}.commit-primary--orange:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:var(--surface)}.commit-primary--warn{border-color:var(--primary);color:var(--ink-soft)}.commit-primary--warn:hover:not(:disabled){border-color:var(--teal-deep);color:var(--ink-soft)}.commit-revise{display:inline-flex;align-items:center;height:40px;padding:0 20px;border-radius:var(--radius-pill);border:1.5px solid var(--ink-soft);background:transparent;color:var(--ink-soft);font-family:var(--sans);font-size:var(--fs-body-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--t-fast) ease,border-color var(--t-fast) ease,color var(--t-fast) ease,transform var(--t-fast) var(--spring-pop);animation:commitAppear .32s var(--spring-pop) both}.commit-revise:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.commit-revise:active:not(:disabled){transform:scale(.97)}.commit-secondary{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:var(--radius-pill);background:transparent;border:1.5px solid var(--sand);color:var(--stone);font-family:var(--sans);font-size:var(--fs-body-sm);font-weight:400;cursor:pointer;white-space:nowrap;transition:border-color var(--t-fast) ease,color var(--t-fast) ease;animation:commitAppear .24s var(--spring-pop) both}.commit-secondary:hover{border-color:var(--stone-soft);color:var(--quiet)}.commit-secondary:active{transform:scale(.97)}@keyframes commitAppear{0%{opacity:0;transform:scale(.88) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.btn{display:inline-flex;align-items:center;gap:10px;font-family:inherit;font-size:var(--fs-student);font-weight:500;padding:14px 26px;border-radius:var(--radius-pill);border:1px solid transparent;letter-spacing:-.005em;transition:background var(--t-fast) ease,color var(--t-fast) ease,border-color var(--t-fast) ease,box-shadow var(--t-fast) ease,transform var(--t-fast) var(--spring-pop),opacity .28s ease}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-icon{width:12px;height:12px}.btn-primary{background:var(--primary);color:var(--surface);border-color:var(--primary);box-shadow:var(--shadow-button)}.btn-primary:hover:not(:disabled){background:var(--teal-deep);border-color:var(--teal-deep)}.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary);cursor:default}.btn-outline:hover:not(:disabled){background:transparent;color:var(--primary);border-color:var(--primary)}.btn-outline:disabled{opacity:1;cursor:default}.btn-outline.is-loading{animation:btnOutlinePulse 1.8s ease-in-out infinite}@keyframes btnOutlinePulse{0%,to{background:transparent;box-shadow:0 0 #d94b1600;border-color:currentColor}50%{background:#d94b162e;box-shadow:0 0 0 7px #d94b162e;border-color:#d94b16e6}}@media (prefers-reduced-motion: reduce){.btn-outline.is-loading,.preview-banner,.rd-pj-code-letter,.rd-pj-qr{animation:none}}.btn-quiet{background:transparent;color:var(--quiet);border-color:var(--stone)}.btn-quiet:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink-soft, #5b4a3c);border-color:transparent}.btn-ghost:hover:not(:disabled){background:#3a2e2212;color:var(--ink)}.author-back-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 14px;border-radius:var(--radius-pill, 999px);border:1px solid var(--stone-soft, #c8b89a);background:transparent;color:var(--ink-soft, #5b4a3c);font-size:var(--fs-body-sm);font-weight:500;transition:color .14s,border-color .14s,background .14s}.author-back-btn:hover{color:var(--primary, #d94b16);border-color:var(--primary, #d94b16);background:#d94b160f}.btn-secondary{background:transparent;color:var(--ink-soft);border-color:var(--ink-soft)}.btn-secondary:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.btn-ready{align-self:flex-start;animation:fadeIn 1.2s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn-back{position:fixed;top:16px;left:16px;z-index:100;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--stone-soft);background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--quiet);font-size:var(--fs-student);line-height:1;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.btn-back:hover{color:var(--ink);border-color:var(--stone);background:var(--bg-elev)}.lab-grid{display:flex;flex-direction:column;gap:24px}.lab-chart-outer{display:flex;flex-direction:row;align-items:flex-start;gap:16px}.lab-chart-outer .lab-chart{max-width:560px;flex:0 0 auto}.lab-chart-outer .trial-note{flex:1;padding-top:36px}.lab-world{padding:0 0 18px;position:relative;overflow:hidden}.movement-investigate .prompt{margin-bottom:6px}.lab-chart{padding:0;position:relative}.sim-run-btn{grid-column:3;align-self:end;background:transparent;color:var(--primary);border-color:var(--primary);border-width:2px;font-weight:600}.sim-run-btn:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.world-host svg{display:block;width:100%;height:auto;touch-action:none}.sim-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:4px 28px;margin-top:14px;padding-bottom:14px;border-bottom:1px solid var(--stone-soft);transition:opacity .2s ease}.sim-controls[aria-disabled]{opacity:.45;pointer-events:none}.sim-cart-controls{display:flex;flex-direction:column;align-items:center;gap:6px}.sim-cart-title{font-size:var(--fs-label-sm);font-weight:600;letter-spacing:.02em;color:var(--hush);margin-bottom:2px}.sim-param{display:grid;grid-template-columns:40px 1fr 50px;align-items:center;gap:8px}.sim-param-label{font-size:var(--fs-label);color:var(--ink-soft)}.sim-param-value{font-size:var(--fs-label);font-variant-numeric:tabular-nums;color:var(--ink);text-align:right;white-space:nowrap}.sim-param input[type=range]{width:100%;max-width:120px;margin:0;accent-color:var(--ink);cursor:pointer}.sim-floor-rect{fill:var(--sim-floor-warm)}.sim-floor{stroke:var(--stone);stroke-width:1.2}.sim-tick{stroke:var(--stone);stroke-width:1;opacity:.6}.sim-cart-body{fill:var(--bg-elev);stroke:var(--ink);stroke-width:1.6}.sim-cart-wheel{fill:var(--bg-elev);stroke:var(--ink);stroke-width:1.4}.sim-cart-name{font-family:var(--sans);font-size:var(--fs-body-sm);font-weight:500;fill:var(--ink)}.sim-cart-a .sim-cart-body{fill:var(--cart-a-blue);opacity:.88}.sim-cart-a .sim-cart-wheel{fill:var(--cart-a-blue);opacity:.7}.sim-cart-a .vel-arrow{stroke:var(--cart-a-blue);stroke-width:1.8}.sim-cart-a .vel-arrow-head,.sim-cart-a .vel-text{fill:var(--cart-a-blue)}.sim-cart-b .sim-cart-body{fill:var(--cart-b-coral);opacity:.88}.sim-cart-b .sim-cart-wheel{fill:var(--cart-b-coral);opacity:.7}.sim-cart-b .vel-arrow{stroke:var(--cart-b-coral);stroke-width:1.8}.sim-cart-b .vel-arrow-head,.sim-cart-b .vel-text{fill:var(--cart-b-coral)}.sim-spring{stroke:var(--ink);stroke-width:1.5;fill:none;stroke-linecap:round}.sim-impact-glow{fill:var(--impact-warm);opacity:0}.sim-impact-glow.flash{animation:impactFlash .7s var(--spring-soft)}@keyframes impactFlash{0%{opacity:0}18%{opacity:.5}to{opacity:0}}.mass-tag-bg{fill:var(--bg-elev);stroke:var(--ink);stroke-width:1.4;cursor:ns-resize;transition:fill var(--t-fast) ease}.mass-tag-bg:hover{fill:var(--sand-warm)}.mass-tag-bg.dragging{fill:var(--ink);stroke:var(--ink)}.mass-tag-text{font-family:var(--mono);font-size:var(--fs-body-sm);fill:var(--ink);font-feature-settings:"tnum";pointer-events:none}.mass-tag-bg.dragging+.mass-tag-text{fill:var(--bg-elev)}.mass-tag-touch{fill:transparent;cursor:ns-resize}.speed-track{stroke:var(--stone);stroke-width:2;fill:none;stroke-linecap:round}.speed-handle{fill:var(--teal);stroke:var(--bg-elev);stroke-width:2;cursor:ew-resize;transition:r var(--t-fast) var(--spring-pop)}.speed-handle.dragging{fill:var(--teal-deep)}.speed-handle-touch{fill:transparent;cursor:ew-resize}.speed-readout{font-family:var(--mono);font-size:var(--fs-label);fill:var(--teal-deep);font-feature-settings:"tnum";pointer-events:none}.vel-arrow{stroke:var(--teal);stroke-width:1.6;fill:none}.vel-arrow-head{fill:var(--teal)}.vel-text{font-family:var(--mono);font-size:var(--fs-label);fill:var(--teal);font-feature-settings:"tnum"}.chart-eyebrow{font-size:var(--fs-body-sm);color:var(--quiet);margin-bottom:8px}#chart{display:block;width:100%;height:260px}.chart-x-label,.chart-y-label{font-size:var(--fs-body-sm);font-weight:500;color:var(--quiet);position:absolute;letter-spacing:.01em}.chart-x-label{bottom:14px;left:50%;transform:translate(-50%)}.chart-y-label{top:50%;left:-2px;transform:translateY(-50%) rotate(-90deg);transform-origin:left top}.chart .grid-line{stroke:var(--stone);stroke-width:1;opacity:.3}.chart .axis-line,.chart .axis-tick{stroke:var(--quiet);stroke-width:1}.chart .axis-tick-label{font-family:var(--mono);font-size:var(--fs-label-sm);fill:var(--quiet);font-feature-settings:"tnum"}.chart .chart-plot-bg{fill:var(--chart-bg-cool)}.chart .trial-band{fill:#007c8266}.chart .trial-point{fill:var(--teal);stroke:var(--bg-elev);stroke-width:2}.chart .trial-point.confound{fill:var(--amber)}.chart .trial-band.confound{fill:#9da60066}.chart .trial-point.replication{fill:var(--sage)}.chart .trial-band.replication{fill:#7a9a7e66}.chart .trial-label{font-family:var(--mono);font-size:var(--fs-label);fill:var(--teal-deep);font-feature-settings:"tnum"}.trial-notes{margin-top:14px;display:flex;flex-direction:column;gap:10px}.trial-note{display:flex;align-items:flex-start;gap:8px;padding:3px 0;animation:annoIn var(--t-base) var(--spring-soft) both}.ff-card{background:linear-gradient(180deg,#7a9a7e14,#7a9a7e24);border-radius:var(--radius-xl);box-shadow:var(--shadow-object);padding:18px 20px;margin:0 0 22px;display:flex;flex-direction:column;gap:9px;animation:finding-settle var(--t-base) var(--spring-glide) both}.ff-card-label{font-family:var(--sans);font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--sage);letter-spacing:.02em}.ff-card-claim{text-align:left;margin:0;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-display);line-height:1.25;letter-spacing:-.015em;color:var(--ink);background:none;cursor:pointer;padding:2px 0;border-radius:var(--radius-sm);transition:color var(--t-fast)}.ff-card-claim:hover{color:var(--teal-deep)}.ff-card-line{text-align:left;margin:0;font-size:var(--fs-body-sm);line-height:1.5;color:var(--ink-2);background:none;cursor:pointer;padding:2px 0;border-radius:var(--radius-sm);transition:color var(--t-fast)}button.ff-card-line:hover{color:var(--ink)}.ff-card-line strong{color:var(--ink);font-weight:var(--fw-semibold)}.ff-card-line--muted{color:var(--hush);cursor:default;font-style:italic}.ff-card-line--muted strong{color:var(--ink-2)}.ff-beat{margin-top:4px}.ff-beat-instruction{margin:10px 0 0}.finding-card{background:linear-gradient(180deg,#7a9a7e14,#7a9a7e24);border-radius:var(--radius-xl);box-shadow:var(--shadow-object);padding:18px 20px;margin:6px 0 18px;display:flex;flex-direction:column;gap:10px}.finding-card--live{animation:finding-settle var(--t-base) var(--spring-glide) both}.finding-card-label{font-family:var(--sans);font-size:var(--fs-label);font-weight:600;color:var(--sage);letter-spacing:.02em}.finding-card-claim{margin:0;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-display);line-height:1.25;letter-spacing:-.015em;color:var(--ink)}.finding-card-claim--empty{color:var(--hush);font-style:italic;font-size:var(--fs-body)}.finding-card-chips{display:flex;flex-wrap:wrap;gap:7px}.finding-card-line{margin:0;font-size:var(--fs-body-sm);line-height:1.5;color:var(--ink-2)}.finding-card-line strong{color:var(--ink);font-weight:var(--fw-semibold)}.finding-card-doubts{font-style:italic}.write-actions{display:flex;align-items:center;gap:12px;margin-top:20px;flex-wrap:wrap}.pebble-mount{display:inline-flex;flex-direction:column;align-items:center;flex-shrink:0}.pebble-mount:has(.splotch-outer):after{display:none}.pebble-mount:after{content:"";display:block;width:36px;height:1px;background:currentColor;border-radius:1px;margin-top:-12px;margin-left:8px;opacity:.18;color:var(--quiet)}.pebble-mount-small:after{width:24px;margin-left:6px}.pebble-wrap{display:inline-flex;flex-shrink:0;min-width:44px;min-height:44px;align-items:center;justify-content:center;color:#3f5f73;transition:color .28s ease,opacity .4s ease}.pebble-wrap.pebble-ready{opacity:.95}.pebble-stone{display:flex;align-items:center;justify-content:center;width:26px;height:26px}.pebble-small .pebble-stone{width:18px;height:18px}.pebble-blob{width:26px;height:26px;background:currentColor;border-radius:60% 40% 55% 45%/50% 60% 40% 50%}.pebble-small .pebble-blob{width:18px;height:18px}.pebble-summonable{cursor:pointer}.pebble-summonable .pebble-stone{transition:transform .22s cubic-bezier(.32,.72,0,1)}.pebble-summonable:hover{color:#3f5f73}.pebble-summonable:hover .pebble-stone{transform:scale(1.06);animation:none}.pebble-summonable:hover .pebble-blob{animation:none}.pebble-summonable:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:50%}.pebble-wrap.pebble-idle{animation:pebble-idle-breathe 4.4s cubic-bezier(.4,0,.2,1) infinite}@keyframes pebble-idle-breathe{0%,to{opacity:.85}50%{opacity:1}}.pebble-idle .pebble-blob{animation:pebble-idle-squish 2.4s ease-in-out infinite}@keyframes pebble-idle-squish{0%,to{transform:rotate(-14deg) translate(-2px) scale(1);border-radius:60% 40% 55% 45%/50% 60% 40% 50%}20%{transform:rotate(-4deg) translate(-1px,-3px) scale(.92,1.1);border-radius:55% 45% 60% 40%/65% 55% 45% 35%}40%{transform:rotate(10deg) translate(1.5px) scale(1.12,.9);border-radius:50%/45% 55%}60%{transform:rotate(14deg) translate(2px,-3px) scale(.95,1.08);border-radius:45% 55% 50% 50%/60% 50% 50% 40%}80%{transform:rotate(-2deg) translate(0) scale(1.08,.94);border-radius:55% 45%/50% 55% 45%}}.pebble-idle .pebble-stone{animation:pebble-idle-nod 2.6s ease-in-out infinite}@keyframes pebble-idle-nod{0%{transform:rotate(0) scale(1)}6%{transform:rotate(-4deg) scale(1.02)}12%{transform:rotate(4deg) scale(1.02)}18%{transform:rotate(-1.5deg) scale(1)}23%{transform:rotate(0) scale(1)}to{transform:rotate(0) scale(1)}}@media (prefers-reduced-motion: reduce){.pebble-wrap.pebble-idle{animation:none;opacity:1}.pebble-idle .pebble-blob,.pebble-idle .pebble-stone{animation:none}}.pebble-wrap.pebble-reading{transition:color .28s ease,opacity .4s ease}.pebble-stone{transition:transform .42s cubic-bezier(.34,1.56,.64,1)}.write-row:focus-within .pebble-stone{animation:none;transform:scale(1.28)}@media (prefers-reduced-motion: reduce){.write-row:focus-within .pebble-stone{transform:none}}.pebble-reading .pebble-blob{animation:pebble-squish-think 2.2s ease-in-out infinite}@keyframes pebble-squish-think{0%,to{transform:scale(1) rotate(0);border-radius:60% 40% 55% 45%/50% 60% 40% 50%}25%{transform:scale(1.25,.8) rotate(45deg);border-radius:70% 30% 60% 40%/40% 60%}50%{transform:scale(.8,1.25) rotate(90deg);border-radius:30% 70% 40% 60%/60% 40%}75%{transform:scale(1.15,.9) rotate(135deg);border-radius:65% 35% 55% 45%/45% 55%}}.pebble-ready .pebble-blob{animation:pebble-blob-pop .7s cubic-bezier(.32,.72,0,1) forwards}@keyframes pebble-blob-pop{0%{transform:scale(.85,1.15) rotate(0);border-radius:50% 50% 40% 60%/70% 70% 30% 30%}35%{transform:scale(1.35,.7) rotate(8deg);border-radius:60% 40%/30% 30% 70% 70%}65%{transform:scale(1.05,.98) rotate(-2deg);border-radius:60% 40% 55% 45%/50% 60% 40% 50%}to{transform:scale(1) rotate(0);border-radius:60% 40% 55% 45%/50% 60% 40% 50%}}@media (prefers-reduced-motion: reduce){.pebble-reading .pebble-blob,.pebble-ready .pebble-blob{animation:none}}.pebble-wrap{position:relative;overflow:visible}@keyframes pebble-echo-ring{0%{transform:translate(-50%,-50%) scale(1);opacity:.4}to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}@keyframes pebble-echo-ring-bright{0%{transform:translate(-50%,-50%) scale(1);opacity:.55}to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}.pebble-ring{position:absolute;top:50%;left:50%;width:26px;height:26px;border-radius:50%;border:1.5px solid currentColor;pointer-events:none;animation:pebble-echo-ring 1.6s ease-out forwards}.pebble-ring--bright{animation:pebble-echo-ring-bright 1.6s ease-out forwards}@keyframes pebble-ping-ring{0%{transform:translate(-50%,-50%) scale(1);opacity:.28}to{transform:translate(-50%,-50%) scale(3.4);opacity:0}}.pebble-ring--ping{border-width:1px;animation:pebble-ping-ring 2.2s ease-out forwards}@media (prefers-reduced-motion: reduce){.pebble-ring{display:none}}.splotch-outer{width:40px;height:40px;overflow:visible;flex-shrink:0;position:relative}.splotch-outer--small{width:28px;height:28px}.splotch-outer .splotch-wrap{transform:scale(.2);transform-origin:0 0;position:absolute;top:0;left:0}.splotch-outer--small .splotch-wrap{transform:scale(.14)}.pebble-wrap:has(.splotch-outer){animation:none}.splotch-wrap{position:relative;width:200px;height:200px}.splotch{position:absolute;left:50%;top:50%;width:130px;height:130px;transform:translate(-50%,-50%)}.splotch svg{width:100%;height:100%;overflow:visible;display:block}.splotch .ink-path{fill:currentColor}.drip{position:absolute;background:currentColor;border-radius:60% 40% 55% 45%/50% 60% 40% 50%;transform-origin:center}.drip.d1{left:2%;top:8%;width:26px;height:22px;--tx: 10px;--ty: 10px;--dx: -50px;--dy: -55px}.drip.d2{right:0;top:20%;width:30px;height:26px;--tx: -12px;--ty: 8px;--dx: 60px;--dy: -45px}.drip.d3{right:4%;bottom:8%;width:24px;height:26px;--tx: -10px;--ty: -8px;--dx: 55px;--dy: 50px}.drip.d4{left:6%;bottom:2%;width:28px;height:24px;--tx: 10px;--ty: -10px;--dx: -55px;--dy: 50px}.drip.d5{left:50%;top:-4%;width:20px;height:20px;--tx: 0;--ty: 12px;--dx: 0;--dy: -70px}.splotch-wrap[data-state=idle] .splotch svg{animation:ink-pulse 2.6s ease-in-out infinite}.splotch-wrap[data-state=thinking] .splotch svg{animation:ink-pulse 1.3s ease-in-out infinite}.splotch-wrap[data-state=talking] .splotch svg{animation:ink-pulse .55s ease-in-out infinite}@keyframes ink-pulse{0%,to{transform:scale(.7,.78)}50%{transform:scale(1.22,1.14)}}.splotch-wrap[data-state=idle] .ink-path{animation:ink-breathe 4s ease-in-out infinite}.splotch-wrap[data-state=thinking] .ink-path{animation:ink-breathe 1.6s ease-in-out infinite}.splotch-wrap[data-state=talking] .ink-path{animation:ink-breathe .7s ease-in-out infinite}@keyframes ink-breathe{0%,to{d:path("M -14,-46 C -42,-40 -58,-20 -52,4  C -46,26 -30,40 -4,44   C 22,48 50,42 66,24  C 78,10 74,-10 60,-22 C 50,-32 56,-40 44,-46 C 32,-52 18,-54 4,-50  C -2,-52 -8,-50 -14,-46 Z")}50%{d:path("M -18,-50 C -46,-42 -62,-22 -54,6  C -48,30 -28,44 -2,46   C 26,50 54,44 70,22  C 80,8  72,-12 58,-24 C 48,-34 56,-42 44,-50 C 30,-56 16,-58 2,-52  C -4,-54 -10,-52 -18,-50 Z")}}.splotch-wrap[data-state=idle] .drip{animation:drip-drift 2.6s ease-in-out infinite;opacity:.95}.splotch-wrap[data-state=thinking] .drip{animation:drip-drift 1.3s ease-in-out infinite;opacity:.95}.splotch-wrap[data-state=talking] .drip{animation:drip-drift .55s ease-in-out infinite;opacity:.95}@keyframes drip-drift{0%,to{transform:translate(0)}50%{transform:translate(var(--tx, 0),var(--ty, 0))}}@keyframes drip-drift-d5{0%,to{transform:translate(-50%) translate(0)}50%{transform:translate(-50%) translate(var(--tx, 0),var(--ty, 0))}}.splotch-wrap[data-state=idle] .drip.d5,.splotch-wrap[data-state=thinking] .drip.d5,.splotch-wrap[data-state=talking] .drip.d5{animation-name:drip-drift-d5}.splotch-wrap[data-state=action] .splotch{animation:sp-action 1.6s ease-in-out 1 forwards}.splotch-wrap[data-state=action] .drip{animation:drip-fly 1.6s ease-in-out 1 forwards}@keyframes sp-action{0%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}25%{transform:translate(-50%,-50%) scale(.7,1.3) rotate(-12deg);opacity:1}40%{transform:translate(-50%,-50%) scale(1.6,.6) rotate(10deg);opacity:1}50%{transform:translate(-50%,-50%) scale(2.2);opacity:0}51%,75%{transform:translate(-50%,-50%) scale(0);opacity:0}90%{transform:translate(-50%,-50%) scale(1.05);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes drip-fly{0%,40%{transform:translate(0) scale(1);opacity:1}50%{transform:translate(var(--dx, 30px),var(--dy, -30px)) scale(1.6);opacity:1}65%,75%{transform:translate(var(--dx, 30px),var(--dy, -30px)) scale(0);opacity:0}90%{transform:translate(0) scale(1.2);opacity:1}to{transform:translate(0) scale(1);opacity:1}}.pebble-summonable:hover .splotch-outer{opacity:1;filter:brightness(1.15)}@media (prefers-reduced-motion: reduce){.splotch-wrap .splotch svg,.splotch-wrap .ink-path,.splotch-wrap .drip{animation:none!important}}.mark-mount{display:inline-flex;flex-direction:column;align-items:center;flex-shrink:0}.mark-mount:after{content:"";display:block;width:36px;height:1px;background:var(--quiet);border-radius:1px;margin-top:-12px;margin-left:8px;opacity:.18}.mark-mount-small:after{width:24px;margin-left:6px}.mark-halo{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.mark-summonable{cursor:pointer}.mark-summonable:focus-visible{outline:2px solid var(--alive);outline-offset:4px;border-radius:50%}.mark-scale-wrap{display:flex;align-items:center;justify-content:center;transition:transform .22s ease}.mark-summonable:hover .mark-scale-wrap{transform:scale(1.06)}.mark-breath{display:flex;align-items:center;justify-content:center;color:var(--alive)}.mark-breath.mark-reading,.mark-summonable:hover .mark-breath{color:var(--alive)}.mark-breath.mark-idle{animation:mark-idle-breathe 4.4s cubic-bezier(.4,0,.2,1) infinite}.mark-breath.mark-reading{animation:mark-read-pulse 2.4s cubic-bezier(.4,0,.2,1) infinite}.mark-breath.mark-ready{opacity:.95;transition:opacity .4s ease}@keyframes mark-idle-breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.03)}}@keyframes mark-read-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.95;transform:scale(1.03)}}.mark-rotate{display:flex;align-items:center;justify-content:center}.mark-svg{display:block;overflow:visible}@keyframes mark-ring-expand{0%{transform:scale(1);opacity:.5}to{transform:scale(2.2);opacity:0}}.mark-ring{transform-origin:368.75px 287.05px;animation:mark-ring-expand .6s ease-out forwards}@media (prefers-reduced-motion: reduce){.mark-breath{animation:none!important;opacity:.75!important;transform:none!important}.mark-rotate{transform:none!important;transition:none!important}}.pebble-annotation{display:flex;flex-direction:column;gap:9px;margin-top:13px;animation:annoIn var(--t-base) var(--spring-soft) both}@keyframes annoIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.annotation-body{overflow:hidden}.annotation-body>.pebble-mount{float:left;margin-right:10px;margin-top:3px}.pebble-annotation-aside{margin-top:21px}.annotation-text{font-family:var(--serif);font-style:italic;font-size:var(--fs-body);line-height:1.52;color:#3f5f73;white-space:pre-wrap}.ask-panel{display:flex;flex-direction:column;gap:10px;width:clamp(280px,36ch,420px);margin-top:10px}.ask-input-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--stone);transition:border-color .18s ease}.ask-input-row:focus-within{border-color:var(--ink)}.ask-input{flex:1;font-family:var(--serif);font-size:var(--fs-student);line-height:1.45;color:var(--ink);background:transparent;border:none;padding:4px 0 6px;outline:none}.ask-input::placeholder{color:var(--hush);font-style:italic}.ask-input:disabled{opacity:.55}.ask-send{flex-shrink:0;background:none;border:none;color:var(--ink);font-size:var(--fs-student);line-height:1;padding:2px 4px;cursor:pointer;opacity:.45;transition:opacity .18s ease}.ask-send:hover:not(:disabled){opacity:1}.ask-send:disabled{opacity:.2;cursor:default}.ask-response{font-family:var(--serif);font-style:italic;font-size:var(--fs-body);line-height:1.52;color:var(--quiet)}.ask-thinking{font-style:italic;color:var(--hush);font-size:var(--fs-body);opacity:.7}.ask-error{font-style:italic;color:var(--hush);font-size:var(--fs-body)}.investigate-prompt-row{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.investigate-prompt-row .prompt{margin-bottom:0;margin-top:0}.investigate-ask{display:flex;flex-direction:column;padding-top:6px}.preview-host{width:100%;max-width:900px;margin-bottom:32px;cursor:pointer;-webkit-user-select:none;user-select:none}.preview-host svg{display:block;width:100%;height:auto}.scene-text-revealed{animation:sceneReveal .6s ease-out both}@keyframes sceneReveal{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}.scene-iframe-wrap{position:relative;width:100%;max-width:800px;margin:0 auto;aspect-ratio:16 / 9;border-radius:var(--radius-lg);overflow:hidden;background:#000}.scene-iframe{width:100%;height:100%;border:0;display:block}.scene-clip-wrap{position:relative;width:100%;max-width:640px;margin:0}.scene-clip-wrap .scene-skip-btn{left:12px;right:auto}.scene-clip{width:100%;max-height:300px;object-fit:contain;border-radius:var(--radius-lg);display:block}.scene-clip--act{cursor:pointer}.scene-intro-lead{max-width:640px;margin:0 0 12px;font-size:var(--fs-body);color:var(--ink-soft);line-height:1.5}.scene-act-instruction{max-width:640px;margin:10px 0 0;font-size:var(--fs-body-sm);color:var(--hush);font-style:italic}.scene-exhibit-wrap{position:relative;width:100%;max-width:680px;margin:0}.scene-exhibit-wrap .scene-skip-btn{left:12px;right:auto}.pex{display:flex;flex-direction:column;gap:14px}.pex-intro{margin:0;font-size:var(--fs-body);color:var(--ink-soft);line-height:1.5}.pex-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.pex-card{display:flex;flex-direction:column;gap:8px;padding:14px 12px;cursor:pointer;background:var(--surface, #fff);border:1px solid var(--line);border-radius:14px;text-align:left;font:inherit;transition:transform .12s ease,border-color .12s ease}.pex-card:hover{transform:translateY(-2px);border-color:var(--primary)}.pex-card--revealed{border-color:var(--primary)}.pex-card-label{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-body);color:var(--ink)}.pex-row{display:flex;flex-direction:column;gap:2px}.pex-row--hidden{min-height:42px;justify-content:center}.pex-k{font-size:var(--fs-label);color:var(--stone)}.pex-v{font-size:var(--fs-body);font-weight:600;color:var(--ink)}.pex-v--reveal{color:var(--primary);animation:pexReveal .32s ease}@keyframes pexReveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.pex-chip{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#d94b161a;color:var(--primary);font-weight:700;font-size:var(--fs-body)}.pex-act{margin:0;font-size:var(--fs-body-sm);color:var(--hush);font-style:italic}.pex-continue{align-self:flex-start;margin-top:4px;padding:8px 18px;border-radius:999px;background:var(--primary);color:#fff;border:none;cursor:pointer;font:inherit;font-weight:600}.pex-continue:disabled{opacity:.45;cursor:default}.pc-card-exhibit{width:100%}.pc-card-exhibit .pex-cards{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}.pc-card-exhibit .pex-card{padding:8px;border-radius:10px}.pc-card-why{margin:0;font-size:var(--fs-label);color:var(--stone);line-height:1.4}.pia{display:flex;flex-direction:column;gap:12px;max-width:680px}.pia-intro{margin:0;font-size:var(--fs-body);color:var(--ink-soft);line-height:1.5}.pia-stage{position:relative;display:inline-block;border-radius:var(--radius-lg);overflow:hidden}.pia-stage--tappable{cursor:crosshair}.pia-img{display:block;width:100%;max-height:340px;object-fit:contain}.pia-marker{position:absolute;transform:translate(-50%,-50%);min-width:24px;height:24px;padding:0 4px;border-radius:999px;background:var(--primary);color:#fff;font-size:var(--fs-label);font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #ffffffe6;pointer-events:none}.pia-act{margin:0;font-size:var(--fs-body-sm);color:var(--hush);font-style:italic}.pia-spot-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pia-count{font-size:var(--fs-body-sm);color:var(--ink)}.pia-reveal-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface, #fff);color:var(--ink);cursor:pointer;font:inherit}.pia-reveal-btn:disabled{opacity:.45;cursor:default}.pia-reveal-line{font-size:var(--fs-body-sm);color:var(--primary)}.pia-source{margin:0;font-size:var(--fs-label);color:var(--stone)}.pia-source a{color:var(--stone);text-decoration:underline dashed}.pia-continue{align-self:flex-start;margin-top:2px;padding:8px 18px;border-radius:999px;background:var(--primary);color:#fff;border:none;cursor:pointer;font:inherit;font-weight:600}.pia-continue:disabled{opacity:.45;cursor:default}.scene-clip-framing{font-size:var(--fs-body-sm);color:var(--hush);margin-top:8px;text-align:center}.scene-skip-btn{position:absolute;bottom:10px;right:12px;font-size:var(--fs-label);color:#ffffff8c;background:none;border:none;cursor:pointer;letter-spacing:.02em}.scene-skip-btn:hover{color:#ffffffe6}.scene-field-wrap{position:relative;width:100%;max-width:800px;margin:0 auto;border-radius:var(--radius-lg);overflow:hidden}.phenomenon-scene{display:block;position:relative;z-index:1;width:100%;height:auto}.scatter-field{position:relative;width:100%}.sf-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:var(--radius-lg)}.sf-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(14px,3.5%,30px);text-align:center}.sf-frame{margin:0;align-self:flex-start;max-width:78%;text-align:left;font-family:var(--serif);font-size:clamp(15px,2.4vw,21px);line-height:1.4;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6);animation:sf-fade-in .9s ease 1.5s both}.sf-frame-tap{color:#ffc078;font-weight:600;animation:sf-pulse 2.6s ease-in-out infinite}@keyframes sf-pulse{0%,to{opacity:.72}50%{opacity:1}}.sf-mark{cursor:pointer;transform-box:fill-box;transform-origin:center;animation:sf-twinkle 3s ease-in-out infinite;transition:transform .16s ease}.sf-mark:hover{transform:scale(1.3)}.sf-drift{animation:sf-drift 24s ease-in-out infinite}.sf-enter{animation:sf-enter .7s cubic-bezier(.25,1,.5,1) both;transform-box:fill-box;transform-origin:center}.sf-speck{animation:sf-speck-twinkle 3s ease-in-out infinite}@keyframes sf-enter{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes sf-twinkle{0%,to{opacity:.72}50%{opacity:1}}@keyframes sf-speck-twinkle{0%,to{opacity:.32}50%{opacity:.7}}@keyframes sf-drift{0%,to{transform:translate(0)}50%{transform:translate(var(--dx, 0),var(--dy, 0))}}@keyframes sf-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sf-meteor{animation:sf-meteor 1.1s ease-in forwards}@keyframes sf-meteor{0%{transform:translate(var(--sx, 0),-50px);opacity:0}14%{opacity:1}to{transform:translate(calc(var(--sx, 0) + 300px),360px);opacity:0}}.sf-bubble{animation:sf-bubble 4s ease-in forwards}@keyframes sf-bubble{0%{transform:translateY(0);opacity:0}18%{opacity:.85}to{transform:translateY(-560px);opacity:0}}.sf-mote{animation:sf-mote 9s linear forwards}@keyframes sf-mote{0%{transform:translate(0);opacity:0}18%,82%{opacity:.5}to{transform:translate(1120px);opacity:0}}@media (prefers-reduced-motion: reduce){.sf-mark,.sf-drift,.sf-enter,.sf-speck,.sf-meteor,.sf-bubble,.sf-mote,.sf-frame,.sf-frame-tap{animation:none}}.phenom-preview{display:flex;flex-direction:column;gap:16px}.phenom-preview-loading{display:flex;align-items:center;gap:10px;color:var(--hush);font-size:var(--fs-body-sm);padding:24px 0}.phenom-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.phenom-preview-note{font-size:var(--fs-body-sm);color:var(--hush);margin:0}.phenom-preview-frame{max-height:320px}.phenom-preview-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.phenom-preview-failed{display:flex;flex-direction:column;gap:12px}@keyframes commit-sage-wash{0%{background:transparent;transform:scale(1)}25%{background:#7a9a7e52;transform:scale(.985)}87%{background:transparent;transform:scale(1)}to{background:transparent;transform:scale(1)}}.write-field.committing{animation:commit-sage-wash .4s cubic-bezier(.32,.72,0,1) forwards;transform-origin:left}@keyframes commit-wash-ring{0%{box-shadow:0 0 #7a9a7e00;transform:scale(1)}30%{box-shadow:0 0 0 5px #7a9a7e80;transform:scale(.98)}to{box-shadow:0 0 0 14px #7a9a7e00;transform:scale(1)}}.commit-wash{animation:commit-wash-ring .4s cubic-bezier(.32,.72,0,1)}@media (prefers-reduced-motion: reduce){.commit-wash,.write-field.committing{animation:none}}.write-field.committed,.write-field.committed:hover,.write-field.committed:focus{background:transparent;border-color:transparent;color:var(--ink-soft);box-shadow:none;resize:none;cursor:default}.finding{max-width:560px;background:var(--sand-warm);border-radius:var(--radius-lg);padding:14px 20px 16px;transform-origin:left top;animation:finding-settle var(--t-base) var(--spring-glide) both}.finding-chart{margin:6px 0 12px}.finding-chart .scatter-svg{max-width:100%}.finding-label{margin:0 0 6px;font-family:var(--sans);font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;color:var(--hush);animation:finding-label-in var(--t-slow) ease both}.finding-note{margin:0;font-size:var(--fs-body-sm);line-height:1.5;color:var(--ink-2)}.finding-text{margin:0;font-family:var(--font-heading);font-size:var(--fs-display);font-weight:500;line-height:1.35;letter-spacing:-.01em;overflow-wrap:break-word;color:var(--ink);white-space:pre-wrap}.settle-in{animation:finding-settle var(--t-base) var(--spring-glide) both;transform-origin:left top}@keyframes annot-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.annotation-text{animation:annot-fade-in .16s ease both}@media (prefers-reduced-motion: reduce){.settle-in,.annotation-text{animation:none}}@keyframes finding-settle{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes finding-label-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.finding,.finding-label{animation:none}}.echo-word{background:#b4bd002e;border-radius:2px;padding:0 2px;color:inherit}.trial-dots{display:flex;gap:8px;justify-content:center;margin:14px 0 6px;opacity:.55}.trial-dot{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--teal);transition:background .5s ease}.trial-dot.filled{background:var(--teal)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.phase-nav{position:fixed;left:0;top:0;width:288px;height:100vh;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:32px 20px;background:linear-gradient(to bottom,transparent 0%,var(--bg-glass) 15%,var(--bg-glass) 85%,transparent 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-card);z-index:50}.phase-nav--compact{width:72px;padding:32px 12px;align-items:center}.phase-nav--compact .phase-nav-item{justify-content:center;padding:10px 8px}.phase-nav-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:var(--radius-md);font-family:var(--sans);font-size:var(--fs-body);font-weight:500;line-height:1.3;color:var(--quiet);cursor:default;transition:color .2s ease,background .2s ease}.phase-nav-item.active{color:var(--mark-warm);font-weight:600}.phase-nav-item.done{color:var(--sage)}.phase-nav-item.locked{color:var(--stone-soft)}.phase-nav-num{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--sanford);color:#fff;font-family:var(--sans);font-size:var(--fs-body);font-weight:500;font-feature-settings:"tnum";transition:background .2s ease,color .2s ease;position:relative;overflow:hidden}@keyframes phase-num-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.phase-nav-num.sweep-in:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#b8654580;transform:translate(-100%);animation:phase-num-sweep .6s ease-out forwards}@media (prefers-reduced-motion: reduce){.phase-nav-num.sweep-in:before{display:none}}.phase-nav-item.active .phase-nav-num{background:var(--mark-warm);color:var(--bg)}.phase-nav-item.done .phase-nav-num{background:var(--sage);color:var(--bg)}.phase-nav-item.locked .phase-nav-num{background:transparent;color:var(--stone);box-shadow:inset 0 0 0 2px var(--stone-soft)}.phase-nav-label{flex:1}.phase-nav-mobile{display:none;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--stone-soft);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:40}.phase-nav-dot{width:7px;height:7px;border-radius:50%;background:var(--stone);transition:background .2s ease,transform .2s ease}.phase-nav-dot.active{background:var(--mark-warm);transform:scale(1.4)}.phase-nav-dot.done{background:var(--sage)}.river--has-nav{padding-left:clamp(304px,288px + 5vw,352px)}.river--has-nav-compact{padding-left:clamp(88px,72px + 3vw,112px)}@media (max-width: 720px){.phase-nav{display:none}.phase-nav-mobile{display:flex}.river--has-nav{padding-left:clamp(24px,5vw,80px)}}.write-field--boxy{border-radius:var(--radius-sm);box-shadow:none;border:2px solid var(--stone);background:var(--bg-elev)}.write-field--boxy:hover{background:var(--sand-warm);box-shadow:none;border-color:var(--hush)}.write-field--boxy:focus{background:var(--bg-elev);box-shadow:none;border-color:var(--teal)}.write-field--boxy.committed,.write-field--boxy.committed:hover,.write-field--boxy.committed:focus{border-color:transparent;background:transparent;box-shadow:none}.iv-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-label);color:var(--teal);border:1.5px solid color-mix(in srgb,var(--teal) 35%,transparent);border-radius:var(--radius-pill);padding:3px 10px;margin-bottom:10px;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.iv-picker{position:absolute;top:calc(100% + 4px);left:0;background:var(--bg-elev, #fff);border:1px solid var(--stone-soft);border-radius:var(--radius-md);padding:4px;display:flex;flex-direction:column;gap:2px;z-index:10;min-width:90px}.iv-picker-opt{background:none;border:none;padding:5px 10px;text-align:left;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--fs-body-sm);color:var(--ink)}.iv-picker-opt:hover{background:var(--sand-warm)}.iv-picker-opt.selected{color:var(--teal);font-weight:600}.chart-view-toggle{display:flex;gap:4px;margin-bottom:4px}.chart-toggle-btn{background:none;border:1px solid var(--stone-soft);border-radius:var(--radius-pill);padding:2px 10px;font-size:var(--fs-label-sm);cursor:pointer;color:var(--hush);transition:border-color .15s,color .15s}.chart-toggle-btn:hover{border-color:var(--sand);color:var(--ink-soft)}.chart-toggle-btn.active{border-color:var(--teal);color:var(--teal);font-weight:600}.chart-reorient-ghost{background:none;border:1px dashed var(--stone-soft);border-radius:var(--radius-pill);padding:3px 12px;font-size:var(--fs-label-sm);color:var(--hush);cursor:pointer;margin-top:6px;transition:border-color .15s,color .15s}.movement-modeling .prompt{margin-bottom:12px}.modeling-header{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:12px}.modeling-header .prompt{flex:1 1 300px;margin-bottom:0}.modeling-header-lead{display:flex;flex-direction:column;gap:5px;flex:1 1 300px;min-width:0}.modeling-header-lead .prompt{flex:none;margin-bottom:0}.modeling-splotch{position:relative;flex:0 1 280px;min-width:200px}.modeling-splotch .annotation-body{display:flex;align-items:flex-start;gap:10px;overflow:visible}.modeling-splotch .annotation-body>.pebble-mount{float:none;margin:0;flex-shrink:0}.modeling-splotch .annotation-text{flex:1}.modeling-splotch .ask-panel{position:absolute;top:100%;right:0;margin-top:8px;width:min(360px,calc(100vw - 64px));z-index:20}.modeling-toolbar{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.modeling-tool-btn{padding:6px 16px;border:1.5px solid var(--sand);border-radius:var(--radius-pill);background:var(--bg-elev);font-size:var(--fs-body-sm);font-family:var(--sans);cursor:pointer;transition:background .14s,border-color .14s,color .14s}.modeling-tool-btn:hover{border-color:var(--primary);color:var(--primary)}.modeling-tool-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.modeling-tool-btn:disabled{opacity:.35;cursor:default}.modeling-layout{display:flex;gap:12px;align-items:flex-start}.modeling-canvas-wrap{position:relative;flex:1;min-width:0;height:420px;background:var(--chart-bg-cool);border-radius:var(--radius-lg);border:1.5px solid var(--sand);overflow:hidden}.modeling-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.modeling-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.arrowhead-fill{fill:var(--ink-soft)}.canvas-circle{stroke:var(--ink-soft);stroke-width:1.5;transition:stroke .1s}.canvas-circle.selected{stroke:var(--primary);stroke-width:2.5}.canvas-circle.erasable:hover{stroke:#d44;cursor:pointer}.resize-handle{fill:var(--primary);stroke:#fff;stroke-width:1.5;cursor:ew-resize}.circle-label-text{font-size:var(--fs-label);fill:var(--ink-soft);font-family:var(--sans);pointer-events:none}.canvas-arrow{fill:none;stroke:var(--ink);stroke-width:2.5;marker-end:url(#arrowhead);stroke-linecap:round;cursor:pointer}.canvas-arrow.selected{stroke:var(--primary)}.canvas-arrow.erasable:hover{stroke:#d44}.circle-preview{fill:var(--primary);fill-opacity:.2;stroke:var(--primary);stroke-width:1.5;stroke-dasharray:5 3;pointer-events:none}.arrow-preview{fill:none;stroke:var(--primary);stroke-width:1.5;stroke-dasharray:6 3;pointer-events:none;marker-end:url(#arrowhead-preview)}.canvas-stroke{fill:none;stroke:var(--ink-3);stroke-width:2;opacity:.65;stroke-linecap:round;stroke-linejoin:round;cursor:pointer}.canvas-stroke.selected{stroke:var(--primary);opacity:.9}.canvas-stroke.erasable:hover{stroke:#d44;opacity:.9}.canvas-stroke-drawing{fill:none;stroke:var(--ink-3);stroke-width:2;opacity:.35;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.canvas-label{position:absolute;transform:translate(-50%,-50%);pointer-events:all}.canvas-label.selected .canvas-label-text{outline:1px dashed var(--primary);outline-offset:2px}.canvas-label-text{font-size:var(--fs-body-sm);font-family:var(--sans);color:var(--ink);white-space:nowrap;cursor:text;padding:2px 4px}.canvas-label-placeholder{color:var(--hush);font-style:italic}.canvas-label-input{background:transparent;border:none;border-bottom:1px dashed var(--sand);outline:none;font-size:var(--fs-body-sm);font-family:var(--sans);color:var(--ink);min-width:60px;width:100px}.circle-label-editor{position:absolute;transform:translate(-50%);z-index:10;pointer-events:all}.circle-label-input{background:var(--bg-elev);border:1px solid var(--primary);border-radius:var(--radius-sm);outline:none;font-size:var(--fs-label);font-family:var(--sans);color:var(--ink);padding:3px 7px;min-width:60px;box-shadow:0 2px 8px -2px #0000001f}.canvas-object{position:absolute;transform:translate(-50%,-50%);pointer-events:all;display:flex;flex-direction:column;align-items:center;gap:1px;-webkit-user-select:none;user-select:none}.canvas-object.selected{outline:2px solid var(--primary);outline-offset:3px;border-radius:var(--radius-sm)}.canvas-object.erasable:hover{opacity:.6}.object-emoji{font-size:1.8em;line-height:1}.object-label{font-size:var(--fs-micro);color:var(--hush)}.canvas-object .sticker-img{width:52px;height:52px;border-radius:var(--radius-md)}.shape-tray{width:110px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:8px 4px}.tray-section-label{font-size:var(--fs-label-sm);font-weight:600;color:var(--hush);letter-spacing:.02em}.tray-colors-row{display:flex;flex-wrap:wrap;gap:5px}.color-chip{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-shadow:0 1px 3px -1px #0003;transition:transform .12s,border-color .12s}.color-chip:hover{transform:scale(1.15)}.color-chip.active{border-color:var(--ink);transform:scale(1.1)}.tray-stickers-col{display:flex;flex-direction:column;gap:4px}.chart-reorient-ghost:hover{border-color:var(--teal);color:var(--teal)}.modeling-tool-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;min-width:52px}.tool-icon{font-size:var(--fs-body);line-height:1}.tool-label{font-size:var(--fs-label-sm);font-weight:600;letter-spacing:.02em;opacity:.7}.modeling-undo-btn{min-width:48px}.sticker-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;background:var(--sand-warm);border:1.5px solid var(--sand);border-radius:var(--radius-md);font-size:var(--fs-label);cursor:grab;-webkit-user-select:none;user-select:none;transition:background .12s,border-color .12s}.sticker-chip:hover{background:var(--primary-soft);border-color:var(--primary)}.sticker-emoji{font-size:var(--fs-title);line-height:1}.sticker-img{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-sm);display:block}.sticker-label-text{font-size:var(--fs-micro);color:var(--hush)}.btn-outline{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;border:2px solid var(--sand);border-radius:var(--radius-pill);background:transparent;color:var(--ink-soft);font-size:var(--fs-body);font-family:var(--sans);font-weight:600;cursor:pointer;transition:border-color .14s,color .14s,background .14s;margin-top:12px}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--teal-soft)}.author-error{color:#c0392b;font-size:var(--fs-body-sm);margin:0}.ask-sidebar{position:fixed;right:0;top:0;width:288px;height:100vh;background:linear-gradient(to bottom,transparent 0%,rgba(248,240,227,.97) 12%,rgba(248,240,227,.97) 88%,transparent 100%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;padding:32px 20px;gap:12px;z-index:50;border:none;border-left:1px solid var(--sand);border-radius:0;box-shadow:inset 8px 0 20px #1a141014,inset 0 8px 20px #1a14100d;box-sizing:border-box}.river--has-ask-sidebar{padding-right:clamp(304px,288px + 5vw,352px)}.ask-sidebar .ask-panel{width:100%;margin-top:0}.ask-sidebar .ask-send{opacity:1;background:transparent;color:var(--ink-soft);border:1.5px solid var(--ink-soft);box-sizing:border-box;border-radius:50%;width:28px;height:28px;font-size:var(--fs-body);display:flex;align-items:center;justify-content:center;padding:0;transition:background .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease}.ask-sidebar .ask-send:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:var(--surface)}.ask-sidebar .ask-send:disabled{opacity:.3;cursor:default}.ask-sidebar-label{font-family:var(--sans, sans-serif);font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;color:var(--hush);margin-bottom:8px}@media (max-width: 720px){.ask-sidebar{display:none}.river--has-ask-sidebar{padding-right:clamp(32px,5vw,100px)}}.chat-panel{display:flex;flex-direction:column;height:100%;min-height:0}.chat-messages{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 0 8px;min-height:0}.chat-welcome{font-size:var(--fs-label);color:var(--hush);text-align:center;margin:0 0 4px}.chat-bubble{max-width:88%;padding:7px 11px;border-radius:var(--radius-lg);font-size:var(--fs-body-sm);line-height:1.5;word-break:break-word}.chat-bubble--user{align-self:flex-end;background:var(--teal-soft);color:var(--ink);border-bottom-right-radius:2px}.chat-bubble--assistant{align-self:flex-start;background:var(--surface);color:var(--ink);border-bottom-left-radius:2px}.chat-thinking{display:inline-block;color:var(--hush);letter-spacing:.1em;animation:chat-pulse 1.2s ease-in-out infinite}.chat-cursor{display:inline-block;width:2px;height:.8em;background:var(--teal);margin-left:2px;vertical-align:middle;animation:chat-blink .9s steps(2,start) infinite}@keyframes chat-blink{to{opacity:0}}@keyframes chat-pulse{0%,to{opacity:.4}50%{opacity:1}}.chat-input-row{flex-shrink:0;display:flex;align-items:center;gap:8px;margin:0 -20px -32px;padding:10px 20px 32px;background:var(--bg);border-top:1px solid var(--line)}.chat-send{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:50%;border:1.5px solid var(--ink-soft);box-sizing:border-box;background:transparent;color:var(--ink-soft);font-family:var(--sans);font-size:var(--fs-body);font-weight:700;cursor:pointer;transition:border-color var(--t-fast) ease,color var(--t-fast) ease,background var(--t-fast) ease,opacity var(--t-fast) ease}.chat-send:not(:disabled){border-color:var(--primary);background:var(--primary);color:var(--surface)}.chat-send:hover:not(:disabled){border-color:var(--teal-deep);background:var(--teal-deep)}.chat-send:active:not(:disabled){transform:scale(.97)}.chat-send:disabled{opacity:.55;cursor:default}.analyze-data .prompt{margin-bottom:12px}.analyze-grid{display:grid;grid-template-columns:minmax(0,540px) minmax(220px,260px);grid-template-areas:"scatter   controls" "cards     controls";justify-content:start;align-items:start;gap:20px 28px;margin-bottom:16px}.analyze-grid .analyze-scatter{grid-area:scatter}.analyze-grid .analyze-controls{grid-area:controls}.analyze-grid .cluster-cards{grid-area:cards}.cluster-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finding-cards{margin-top:10px}@media (max-width: 860px){.analyze-grid{grid-template-columns:1fr;grid-template-areas:"scatter" "cards" "controls"}}@media (max-width: 520px){.cluster-cards-grid{grid-template-columns:1fr}}.cluster-card{display:flex;flex-direction:column;gap:7px;padding:12px 14px;background:var(--bg-elev);border-radius:var(--radius-md);box-shadow:var(--shadow-object)}.cluster-card-head{display:flex;align-items:center;gap:8px}.cluster-card-swatch{width:12px;height:12px;border-radius:50%;flex-shrink:0}.cluster-card-name{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-body);color:var(--ink)}button.cluster-card-name{display:inline-flex;align-items:center;gap:5px;padding:0;background:none;border:none;cursor:text;max-width:100%;text-align:left}button.cluster-card-name .cluster-card-name-text{border-bottom:1px dashed transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-card-name--placeholder{color:var(--hush);font-weight:500}button.cluster-card-name:hover .cluster-card-name-text{border-bottom-color:var(--stone)}.cluster-card-pencil{flex-shrink:0;color:var(--stone);opacity:.35;transition:opacity .14s ease}button.cluster-card-name:hover .cluster-card-pencil{opacity:.85}.cluster-card-name-input{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-body);color:var(--ink);background:var(--sand-warm);border:none;outline:none;border-radius:5px;padding:1px 6px;min-width:0;max-width:160px;box-shadow:0 0 0 1.5px #007c824d}.cluster-card-name-input::placeholder{color:var(--hush);font-weight:500}.cluster-card-size{margin-left:auto;font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;color:var(--hush)}.cluster-card-row{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:1px 8px}.cluster-card-feat{font-size:var(--fs-body-sm);color:var(--ink)}.cluster-card-phrase{font-size:var(--fs-label);color:var(--ink-soft);white-space:nowrap;text-align:right}.cluster-bar{grid-column:1 / -1;position:relative;height:6px;margin-top:3px;border-radius:3px;background:#1a14100f}.cluster-bar-center{position:absolute;left:50%;top:-1px;bottom:-1px;width:1px;background:#1a14102e}.cluster-bar-fill{position:absolute;top:0;bottom:0;border-radius:3px;min-width:2px}.cluster-card-more{align-self:flex-start;margin-top:1px;padding:2px 0;background:none;border:none;cursor:pointer;font-size:var(--fs-label);font-weight:600;color:var(--hush)}.cluster-card-more:hover{color:var(--ink)}.cluster-card-empty{margin:0;font-size:var(--fs-body-sm);color:var(--hush)}.case-inspector{margin-top:10px;padding:12px 14px;background:var(--bg-elev);border-radius:var(--radius-md);box-shadow:var(--shadow-object);display:flex;flex-direction:column;gap:9px}.case-inspector-head{display:flex;align-items:flex-start;gap:8px}.case-inspector-title{margin:0;flex:1;font-family:var(--font-heading);font-weight:600;font-size:var(--fs-body-sm);line-height:1.3;color:var(--ink)}.case-inspector-close{flex-shrink:0;width:22px;height:22px;margin:-2px -4px 0 0;padding:0;background:none;border:none;cursor:pointer;font-size:var(--fs-student);line-height:1;color:var(--hush)}.case-inspector-close:hover{color:var(--ink)}.case-inspector-rows{display:flex;flex-direction:column;gap:7px}.case-inspector-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1px 6px}.case-inspector-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.case-inspector-group{font-size:var(--fs-body-sm);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-inspector-row--nearest .case-inspector-group{font-weight:600}.case-inspector-phrase{font-size:var(--fs-label);color:var(--ink-soft);white-space:nowrap;text-align:right}.case-inspector-row--nearest .case-inspector-phrase{color:var(--ink);font-weight:600}.case-bar{grid-column:1 / -1;position:relative;height:5px;margin-top:2px;border-radius:3px;background:#1a14100f;overflow:hidden}.case-bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:3px;min-width:2px;opacity:.55}.case-inspector-row--nearest .case-bar-fill{opacity:1}.case-inspector-note{margin:0;font-size:var(--fs-label-sm);line-height:1.45;color:var(--hush)}.analyze-regression-row{display:grid;grid-template-columns:minmax(0,540px) var(--regression-ctrl-w, 320px);justify-content:start;gap:28px;align-items:start;margin-bottom:16px}.analyze-scatter{display:flex;flex-direction:column;gap:8px}@keyframes scatter-pt-fall{0%{transform:scale(3);opacity:0}to{transform:scale(1);opacity:1}}.scatter-pt-fall{transform-box:fill-box;transform-origin:center;animation:scatter-pt-fall .7s cubic-bezier(.2,.6,.3,1) backwards;transition:fill .15s ease}.centroid-glide{transition:transform .35s var(--spring-glide)}@media (prefers-reduced-motion: reduce){.centroid-glide,.scatter-pt-fall{transition:none}}@keyframes curve-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.curve-draw{stroke-dasharray:1;animation:curve-draw 1.5s ease-out forwards}.scatter-svg{width:100%;max-width:540px;height:auto;display:block;border-radius:6px;background:var(--bg-elev, #f9f9f9)}.axis-selectors{display:flex;gap:12px}.axis-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-label);color:var(--ink-soft, #888)}.axis-label select{font-size:var(--fs-label);padding:2px 4px;border:1px solid var(--stone-soft, #ccc);border-radius:4px;background:var(--surface, #fff);color:var(--ink, #222);cursor:pointer}.analyze-controls{display:flex;flex-direction:column;gap:12px;min-width:0}.workbench-splotch{margin-top:4px;padding-top:14px;border-top:1px solid var(--line)}.workbench-splotch .ask-panel{width:min(360px,calc(100vw - 64px))}.k-control{display:flex;flex-direction:column;gap:4px}.k-label{font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;color:var(--hush)}.k-value{font-size:var(--fs-student);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink, #222);text-align:center}.k-control input[type=range]{accent-color:var(--primary, #4c78a8);cursor:pointer}.elbow-wrap{display:flex;flex-direction:column;gap:2px}.elbow-label{font-size:var(--fs-label-sm);font-weight:600;letter-spacing:.02em;color:var(--hush)}.elbow-svg{width:100%;max-width:200px;height:auto;display:block}.manual-inertia{display:flex;align-items:baseline;gap:6px}.manual-inertia-label{color:var(--hush);font-size:var(--fs-label);font-weight:600;letter-spacing:.02em}.manual-inertia-value{font-variant-numeric:tabular-nums;font-size:var(--fs-body);font-weight:600;color:var(--ink)}.step-controls{display:flex;align-items:center;gap:10px}.step-iter{font-size:var(--fs-label);color:var(--ink-soft, #888);font-variant-numeric:tabular-nums}.step-inertia-row{display:flex;flex-direction:column;gap:2px}.step-inertia-val{font-size:var(--fs-label-sm);font-variant-numeric:tabular-nums;color:var(--ink-soft, #888)}.step-reset-btn{font-size:var(--fs-label);color:var(--ink-soft, #888);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.step-reset-btn:hover{color:var(--ink, #222)}.restart-results{display:flex;flex-direction:column;gap:3px;margin-top:4px}.restart-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-label);font-variant-numeric:tabular-nums;padding:3px 6px;border-radius:5px;background:var(--sand-soft, rgba(255,247,236,.5))}.restart-row--best{background:#4c78a81a;font-weight:600}.restart-seed{color:var(--ink-soft, #888);min-width:24px}.restart-inertia{flex:1}.restart-best-tag{font-size:var(--fs-label-sm);font-weight:600;letter-spacing:.02em;color:var(--primary, #4c78a8)}.regression-stat-row{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-body-sm);font-variant-numeric:tabular-nums;color:var(--ink, #222);padding:8px 0}.analyze-reflection{margin:16px 0 12px}.model-reckon{margin:18px 0 4px}.disc-chip{font-family:var(--sans);font-size:var(--fs-label);font-weight:var(--fw-medium);color:var(--ink-2);background:var(--sand-warm);border-radius:var(--radius-pill);padding:6px 12px;line-height:1.3}.reflection-question{font-size:var(--fs-body);font-weight:600;line-height:1.45;color:var(--ink, #222);margin-bottom:4px}.reflection-hint{font-size:var(--fs-body-sm);line-height:1.5;color:var(--ink-soft, #888);margin-bottom:8px}.reflection-surface{position:relative;border-radius:var(--radius-xl)}.reflection-surface .reflection-textarea{padding-right:62px;padding-bottom:58px}.reflection-surface:focus-within .corner-stack,.reflection-surface--has-content .corner-stack{opacity:1;pointer-events:auto}.reflection-textarea{font-family:var(--serif);font-size:clamp(20px,2.4vw,24px);font-weight:400;line-height:1.45;color:var(--ink);background:transparent;border:var(--input-border);border-radius:var(--radius-lg);padding:12px 20px 18px;resize:vertical;min-height:88px;width:100%;outline:none;box-sizing:border-box;transition:background .28s ease,box-shadow .34s ease;box-shadow:0 0 0 1.5px #004e6024,0 2px 14px #004e6012,inset 0 1px 4px #0d2b3508}.reflection-textarea:hover{background:#e8e3d966;box-shadow:0 0 0 1.5px #004e6038,0 2px 16px #004e601a,inset 0 1px 4px #0d2b350a}.reflection-textarea:focus{background:#e8e3d9b3;box-shadow:0 0 0 1.5px #007c824d,0 2px 22px #004e601f,inset 0 1px 4px #0d2b350a}.reflection-textarea::placeholder{color:var(--hush);font-style:italic}.reflection-textarea--done,.reflection-textarea--done:hover,.reflection-textarea--done:focus{background:transparent;border-color:transparent;box-shadow:none;resize:none;cursor:default;color:var(--ink-soft)}.author-start-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.author-start-header{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;padding:10px 40px}.author-start-header .vision-toggle{position:relative;top:auto;right:auto}.author-start-body{flex:1 1 auto;overflow-y:auto;display:flex;justify-content:center;padding:48px 40px}.author-start-content{width:100%;max-width:1200px}.author-start-heading{font-family:var(--font-heading);font-size:var(--fs-hero);font-weight:400;margin:0 0 28px;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}.author-start-mark{background:linear-gradient(180deg,transparent 14%,rgba(243,193,84,.55) 14% 86%,transparent 86%);padding:0 .1em;border-radius:2px}@property --au-thinking-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.author-thinking{position:relative;isolation:isolate}.author-thinking:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:var(--au-thinking-ring, 2px);background:conic-gradient(from var(--au-thinking-angle),transparent 0deg 270deg,var(--au-thinking-color, var(--primary)) 330deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:aThinkingSpin var(--au-thinking-speed, 2.4s) linear infinite;z-index:1}@keyframes aThinkingSpin{to{--au-thinking-angle: 360deg}}@media (prefers-reduced-motion: reduce){.author-thinking:before{animation:none;opacity:0}}.author-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.author-screen-header{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px 40px;border-bottom:1px solid var(--line);background:var(--bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.author-screen-header .brand{justify-self:start;min-width:0}.author-screen-header .hauth{justify-self:end;min-width:0;margin-left:0}.author-screen-body{flex:1 1 auto;overflow-y:auto;display:flex;justify-content:center;padding:40px 40px 32px}.author-screen-content{width:100%}.author-screen-footer{flex:0 0 auto;border-top:1px solid var(--stone-soft);background:var(--bg-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:14px 40px}.author-screen-footer-inner{margin:0 auto;display:flex;align-items:center;gap:12px}.author-stepper{display:flex;align-items:center;gap:0;font-family:var(--sans)}.author-stepper-row{display:flex;align-items:center}.author-stepper-item{display:flex;align-items:center;gap:8px}button.author-stepper-item--link{background:none;border:none;padding:0;cursor:pointer;font:inherit}button.author-stepper-item--link:hover .author-stepper-label{color:var(--primary)}.author-stepper-bubble{width:24px;height:24px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-label);font-weight:700;flex:0 0 auto;background:var(--sand-warm);color:var(--hush);border:1px solid var(--stone-soft);transition:background .2s,color .2s,border-color .2s}.author-stepper-bubble.done{background:var(--primary-soft);color:var(--primary);border-color:#d94b164d}.author-stepper-bubble.active{background:var(--primary);color:#fff;border-color:transparent}.author-stepper-label{font-size:var(--fs-body-sm);font-weight:600;color:var(--hush)}.author-stepper-label.done{color:var(--ink-soft)}.author-stepper-label.active{color:var(--ink);font-weight:700}.author-stepper-bar{width:26px;height:2px;margin:0 12px;border-radius:2px;background:var(--stone-soft)}.author-stepper-bar.done{background:#d94b1659}.author-fade-in{animation:aFade .4s cubic-bezier(.2,.7,.3,1) both}@keyframes aFade{0%{transform:translateY(10px)}to{transform:none}}.author-rise{animation:aRise .6s cubic-bezier(.22,1.18,.36,1) both}@keyframes aRise{0%{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.author-fade-in,.author-rise{animation:none!important}}.author-q-heading{font-family:var(--font-heading);font-size:var(--fs-hero);font-weight:700;margin:0 0 22px;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}.author-q-summary{display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--stone-soft);border-radius:16px;box-shadow:0 1px 2px #503c1e0a,0 10px 30px -22px #50321466;overflow:hidden}.author-q-summary-head{display:flex;align-items:center;gap:14px;padding:15px 18px}.author-q-summary-icon{width:40px;height:40px;border-radius:10px;background:var(--sand-warm);border:1px solid var(--stone-soft);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:var(--fs-student);overflow:visible}.author-q-summary-meta{flex:1;min-width:0}.author-q-summary-name{font-weight:700;font-size:var(--fs-body);color:var(--ink)}.author-q-summary-shape{font-size:var(--fs-body-sm);color:var(--ink-soft);margin-top:2px}.author-q-preview{width:100%;overflow-x:auto;border-top:1px solid var(--stone-soft)}.author-csv-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:var(--fs-label-sm);white-space:nowrap}.author-csv-table th{padding:8px 12px;background:var(--sand-warm);color:var(--ink-soft);font-weight:700;text-align:left;border-bottom:1px solid var(--stone-soft)}.author-csv-table td{padding:6px 12px;color:var(--ink);border-bottom:1px solid var(--stone-soft)}.author-csv-table tr:last-child td{border-bottom:none}.dq-clean{border-top:1px solid var(--stone-soft);padding:12px 14px;font-size:var(--fs-body-sm);color:var(--ink-2)}.dq-panel{border-top:1px solid var(--stone-soft);padding:14px;display:flex;flex-direction:column;gap:12px}.dq-summary{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body);color:var(--ink);letter-spacing:-.01em}.dq-issues{list-style:none;margin:0;padding:0;display:grid;gap:7px}.dq-issue{font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.45;padding-left:16px;position:relative}.dq-issue:before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--sand)}.dq-issue--blocker:before{background:var(--primary)}.dq-issue--warning:before{background:var(--impact-warm, #d88533)}.dq-issue--change:before{background:var(--sage, #7A9A7E)}.dq-gaps{display:grid;gap:6px}.dq-gaps-head{font-size:var(--fs-body-sm);color:var(--ink-2);margin-bottom:2px}.dq-column{display:grid;grid-template-columns:minmax(0,9rem) minmax(60px,1fr) 2.5rem minmax(0,9rem);align-items:center;gap:10px;font-size:var(--fs-label);color:var(--ink-2)}.dq-column-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.dq-bar{height:6px;border-radius:3px;background:var(--sand-warm);overflow:hidden}.dq-bar-fill{display:block;height:100%;background:var(--impact-warm, #d88533)}.dq-column-count{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.dq-column-kind{color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.dq-column{grid-template-columns:minmax(0,1fr) 2.5rem}.dq-bar,.dq-column-kind{display:none}}.dq-routes{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch}.dq-route{display:flex;flex-direction:column;gap:5px;text-align:left;cursor:pointer;padding:15px;border:none;border-radius:var(--radius-lg);background:var(--surface);color:inherit;font:inherit;box-shadow:inset 0 0 0 1.5px var(--line-2),0 1px 2px #1a14100a;transition:background var(--t-fast) ease,box-shadow var(--t-base) ease,transform var(--t-base) var(--spring-glide)}.dq-route:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--primary),0 6px 18px -10px #1a141059;transform:translateY(-2px)}.dq-route:hover:not(:disabled) .dq-route-title{color:var(--primary)}.dq-route:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--primary),0 0 0 3px var(--teal-soft)}.dq-route:active:not(:disabled){transform:translateY(0) scale(.99)}.dq-route:disabled{opacity:.55;cursor:default;box-shadow:inset 0 0 0 1.5px var(--line)}.dq-route-title{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body);color:var(--ink);letter-spacing:-.01em}.dq-route-note{font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.4}.dq-route-go{margin-top:auto;padding-top:8px;font-size:var(--fs-body);color:var(--ink-3);transition:color var(--t-fast) ease,transform var(--t-base) var(--spring-glide)}.dq-route:hover:not(:disabled) .dq-route-go{color:var(--primary);transform:translate(3px)}.dq-review-actions{display:flex;gap:10px;align-items:center}.dq-approve{padding:9px 18px;border:none;border-radius:var(--radius-lg);background:var(--primary);color:#fff;cursor:pointer;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body)}.dq-approve:hover:not(:disabled){background:var(--teal-deep)}.dq-approve:disabled,.dq-back:disabled{opacity:.6;cursor:default}.dq-back{padding:9px 14px;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--ink-2);cursor:pointer;font:inherit;font-size:var(--fs-body)}.dq-back:hover:not(:disabled){color:var(--ink)}.dq-note{font-size:var(--fs-label);color:var(--ink-3)}.dq-chosen{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:15px 16px;border-radius:var(--radius-lg);background:var(--sage-soft);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--sage) 55%,transparent)}.dq-chosen-label{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-body);color:var(--ink);letter-spacing:-.01em}.dq-chosen-note{margin:0;font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.45;max-width:58ch}.dq-undo{margin-top:2px;background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:var(--fs-body-sm);color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.dq-undo:hover{color:var(--ink)}.dc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dc-stage{position:relative;perspective:1600px}.dc-faces{position:relative;transform-style:preserve-3d;transition:transform .52s var(--spring-glide),height .52s var(--spring-glide)}.dc-stage[data-face=table] .dc-faces{transform:rotateY(180deg)}.dc-face{position:absolute;inset:0 0 auto 0;display:flex;flex-direction:column;gap:12px;backface-visibility:hidden}.dc-face--table{transform:rotateY(180deg)}.dc-stage:not([data-flipping]){perspective:none}.dc-stage:not([data-flipping]) .dc-faces{transform-style:flat;transform:none}.dc-stage:not([data-flipping]) .dc-face{transform:none}.dc-stage:not([data-flipping])[data-face=plot] .dc-face--table,.dc-stage:not([data-flipping])[data-face=table] .dc-face--plot{display:none}@media (prefers-reduced-motion: reduce){.dc-faces{transition:none}}.dc-face-row{display:flex;align-items:flex-start;gap:18px;max-width:880px}.dc-face-row>.dc-plot-wrap,.dc-face-row>.dc-table-face{flex:1 1 auto;min-width:0}.dc-table-face{display:flex;flex-direction:column;gap:12px}.dc-flip{flex:0 0 auto;align-self:center;display:inline-flex;flex-direction:column;align-items:center;gap:8px;width:92px;padding:16px 10px 13px;cursor:pointer;border:none;border-radius:var(--radius-lg);background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--sand),0 5px 16px -10px #1a141059;font:inherit;font-size:var(--fs-body-sm);transition:background var(--t-fast) ease,box-shadow var(--t-fast) ease,transform var(--t-fast) var(--spring-pop)}.dc-flip:hover{background:var(--primary-soft);box-shadow:inset 0 0 0 1.5px var(--primary),0 8px 18px -10px #1a14104d;transform:translateY(-1px)}.dc-flip:active{transform:scale(var(--press-scale, .96))}.dc-flip:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.dc-flip svg{display:block;color:var(--primary)}.dc-flip svg{transition:transform .52s var(--spring-glide)}.dc-stage[data-face=table] .dc-flip svg{transform:rotate(180deg)}.dc-flip-label{font-weight:600;color:var(--ink);line-height:1}@media (prefers-reduced-motion: reduce){.dc-flip,.dc-flip svg{transition:none}}@media (max-width: 620px){.dc-face-row{flex-direction:column;align-items:stretch;gap:12px}.dc-flip{align-self:flex-end;flex-direction:row;width:auto;padding:9px 16px}}.dc-plot-wrap{position:relative;width:100%;max-width:560px}.dc-plot-note{font-size:var(--fs-body-sm);color:var(--ink-2);max-width:60ch;line-height:1.45}.dc-pt-hit{cursor:pointer;outline:none}.dc-pt-hit:focus-visible{stroke:var(--primary);stroke-width:1.5px}.dc-pt{transition:fill-opacity .18s ease,stroke-opacity .18s ease}.dc-note{position:absolute;top:0;z-index:4;width:min(252px,58%);display:flex;flex-direction:column;gap:7px;padding:13px 14px;border-radius:var(--radius-lg);background:var(--paper-2);box-shadow:var(--shadow-object);animation:dcNoteIn .2s var(--spring-soft) both}@keyframes dcNoteIn{0%{opacity:0}to{opacity:1}}.dc-note[data-side=right]{left:calc(var(--nx) + 15px)}.dc-note[data-side=left]{right:calc(100% - var(--nx) + 15px)}.dc-note:before{content:"";position:absolute;top:var(--arm);width:15px;height:1px;background:var(--sand)}.dc-note[data-side=right]:before{left:-15px}.dc-note[data-side=left]:before{right:-15px}@media (prefers-reduced-motion: reduce){.dc-note{animation:none}}.dc-note--docked{position:static;width:100%;max-width:420px}.dc-note--docked:before{display:none}.dc-note-id{font-size:var(--fs-body-sm);font-weight:600;color:var(--ink);line-height:1.35}.dc-note-gap{font-size:var(--fs-label);color:var(--ink-2);line-height:1.4}.dc-note-options{flex-direction:column;align-items:stretch;gap:5px}.dc-note-options .dc-option{padding:7px 11px;line-height:1.35}.dc-note-remove{align-self:flex-start;cursor:pointer;padding:7px 16px;border:none;border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body-sm);transition:background var(--t-fast) ease,transform var(--t-fast) var(--spring-pop)}.dc-note-remove:hover{background:var(--primary-hover)}.dc-note-remove:active{transform:scale(var(--press-scale, .96))}.dc-note-bridge,.dc-note-back{align-self:flex-start;padding:0;background:none;border:none;cursor:pointer;font:inherit;font-size:var(--fs-label);color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}.dc-note-bridge{color:var(--primary)}.dc-note-bridge:hover,.dc-note-back:hover{color:var(--ink)}.dc-row--out td{opacity:.45}.dc-th-keep,.dc-td-keep{width:30px;padding-left:12px;padding-right:0}.dc-keep-toggle{width:11px;height:11px;padding:0;border-radius:50%;cursor:pointer;background:#4c78a8;border:1.4px solid transparent;transition:background var(--t-fast) ease,border-color var(--t-fast) ease}.dc-keep-toggle[aria-pressed=true]{background:none;border-color:var(--ink-3);border-style:dashed}.dc-keep-toggle:disabled{cursor:default}.dc-table-wrap{overflow:auto;border-radius:var(--radius-lg);background:var(--bg-elev);box-shadow:var(--shadow-object)}.dc-table{width:100%;border-collapse:collapse;font-size:var(--fs-body-sm)}.dc-table th{padding:0;background:var(--sand-warm);text-align:left;position:sticky;top:0;z-index:1}.dc-row{animation:aRise .45s cubic-bezier(.22,1.18,.36,1) both}@media (prefers-reduced-motion: reduce){.dc-row{animation:none!important}}.dc-rowcount{font-size:var(--fs-label);color:var(--ink-3);margin-top:-8px}.dc-table td{padding:7px 14px;color:var(--ink);border-bottom:1px solid var(--stone-soft);white-space:nowrap}.dc-table tr:last-child td{border-bottom:none}.dc-cell--empty{background:var(--sand-warm)}.dc-cell--changed{background:#d885332e}.dc-col{width:100%;padding:10px 14px;text-align:left;cursor:pointer;background:none;border:none;font:inherit;font-weight:600;color:var(--ink-2);border-bottom:2px solid transparent}.dc-col:hover:not(:disabled){color:var(--ink)}.dc-col:disabled{cursor:default}.dc-col--marked{color:var(--primary);border-bottom-color:var(--primary)}.dc-decisions{display:flex;flex-direction:column;gap:18px}.dc-decision{display:flex;flex-direction:column;gap:9px;padding:16px;border-radius:var(--radius-lg);background:var(--bg-elev)}.dc-decision-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.dc-decision-col{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body);color:var(--ink)}.dc-decision-count{font-size:var(--fs-body-sm);color:var(--ink-2)}.dc-question{font-size:var(--fs-body-sm);font-weight:600;color:var(--ink-2);margin-top:4px}.dc-options{display:flex;flex-wrap:wrap;gap:8px}.dc-option{padding:8px 13px;border:none;border-radius:var(--radius-lg);background:var(--sand-warm);color:var(--ink);cursor:pointer;font:inherit;font-size:var(--fs-body-sm);text-align:left;transition:box-shadow var(--t-fast) ease,background var(--t-fast) ease}.dc-option:hover{box-shadow:inset 0 0 0 1.5px var(--line-2)}.dc-option--on{background:var(--primary-soft);box-shadow:inset 0 0 0 1.5px var(--primary)}.dc-consequence,.dc-cost{font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.45;max-width:60ch}.dc-value{padding:9px 12px;border-radius:var(--radius-lg);border:none;background:var(--sand-warm);font:inherit;color:var(--ink);max-width:16rem}.dc-reason{width:100%;resize:vertical;border:none;border-radius:var(--radius-lg);padding:11px 13px;background:var(--sand-warm);color:var(--ink);font:inherit;font-size:var(--fs-body-sm);box-shadow:var(--field-ring)}.dc-reason:focus{outline:none;box-shadow:var(--field-ring-focus)}.dc-nudge{font-size:var(--fs-body-sm);color:var(--primary);max-width:56ch}.dc-error{font-size:var(--fs-body-sm);color:var(--primary)}.dc-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.dc-go{cursor:pointer}.dc-back{background:none;color:var(--ink-2);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line-2)}.dc-back:hover:not(:disabled){color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--primary)}.author-build-heading{font-family:var(--font-heading);font-size:var(--fs-hero);font-weight:700;margin:12px 0 22px;letter-spacing:-.02em;line-height:1.15;color:var(--ink)}.author-add-step-palette{background:var(--bg-elev);border:1px solid var(--stone-soft);border-radius:16px;padding:12px;box-shadow:0 14px 40px -16px #50321480}.author-add-step-palette-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 10px}.author-add-step-palette-title{font-size:var(--fs-label);font-weight:700;color:var(--hush);text-transform:uppercase;letter-spacing:.04em}.author-add-step-palette-close{width:26px;height:26px;border-radius:8px;border:1px solid var(--stone-soft);background:var(--bg-elev);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--fs-body-sm)}.author-add-step-palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.author-add-step-opt{width:100%;text-align:left;background:var(--bg-elev);border:1.5px solid var(--stone-soft);border-radius:12px;padding:11px 13px;cursor:pointer;font-family:var(--sans);display:flex;gap:10px;align-items:center;transition:border-color .14s,background .14s}.author-add-step-opt:hover{border-color:var(--primary);background:#fff}.author-add-step-opt-icon{width:32px;height:32px;border-radius:9px;flex:0 0 auto;background:var(--sand-warm);border:1px solid var(--stone-soft);display:flex;align-items:center;justify-content:center;font-size:var(--fs-body)}.author-add-step-opt-label{font-weight:600;font-size:var(--fs-body-sm);color:var(--ink);flex:1}.author-add-step-opt-plus{color:var(--hush);font-size:var(--fs-body);font-weight:700}.author-add-step-palette-section-label{font-size:var(--fs-label-sm);font-weight:700;color:var(--hush);text-transform:uppercase;letter-spacing:.06em;padding:10px 4px 6px}.author-screen-footer-inner .btn-back-link{background:transparent;border:none;font-family:var(--sans);font-weight:600;font-size:var(--fs-body);color:var(--ink-soft);padding:10px 14px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:color .14s,background .14s}.author-screen-footer-inner .btn-back-link:hover{color:var(--ink);background:#0000000a}.vc-workspace{display:grid;grid-template-columns:minmax(0,560px) 400px;column-gap:clamp(28px,4vw,56px);row-gap:20px;justify-content:start;align-items:start;margin-bottom:16px}.vc-left{display:flex;flex-direction:column;gap:10px;min-width:0}.vc-stage{position:relative}.vc-film .vc-thumb-strip{max-width:none;overflow-x:visible;flex-wrap:wrap}.vc-rail{display:flex;flex-direction:column;gap:12px;min-width:0}.vc-rail .vc-count-header,.vc-rail .vc-count-controls,.vc-rail .vc-thumb-strip{max-width:none}@media (max-width: 1100px){.vc-workspace{grid-template-columns:1fr}}.vc-rail-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.vc-rail-actions .btn{height:38px;padding:0 16px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:var(--fs-body-sm);line-height:1}.vc-rail-kicker{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);font-weight:700;margin:0 0 4px}.vc-rail-title{font-family:var(--font-heading);font-weight:600;font-size:18px;line-height:1.25;margin:0 0 9px;color:var(--ink)}.vc-rail-instruction{margin:-4px 0 10px}.vc-rail-splotch{margin:0 0 15px}.vc-rail-splotch .annotation-text{font-style:italic}.vc-count-stage{display:flex;flex-direction:column;gap:12px;align-items:center}.vc-count-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:640px}.vc-count-nav{display:flex;gap:12px}.vc-image-wrap img{width:100%;display:block;border-radius:6px}.vc-overlay{cursor:crosshair}.vc-count-controls{display:flex;align-items:center;gap:14px;width:100%;max-width:640px}.vc-count-badge{font-family:var(--mono);font-size:var(--fs-body-sm)}.vc-thumb-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0;width:100%;max-width:640px}.vc-thumb{position:relative;flex:0 0 auto;width:72px;height:54px;padding:0;border:2px solid var(--stone-soft);background:none;border-radius:4px;overflow:hidden;cursor:pointer}.vc-thumb--active{border-color:var(--primary)}.vc-thumb img{width:100%;height:100%;object-fit:cover;display:block}.vc-thumb-count{position:absolute;right:2px;bottom:2px;background:#000000a6;color:#fff;font-family:var(--mono);font-size:var(--fs-label-sm);padding:1px 5px;border-radius:3px}.vc-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.vc-review-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--stone-soft);border-radius:8px;padding:8px;background:var(--bg-elev)}.vc-review-thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:4px}.vc-review-meta{display:flex;justify-content:space-between;align-items:center}.vc-review-filename{font-size:var(--fs-label);color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.vc-review-count{font-family:var(--mono);font-weight:700;font-size:var(--fs-body)}.vc-attach-block{display:flex;flex-direction:column;gap:8px;padding-top:6px}.vc-attach-btn{align-self:flex-start;display:inline-block;font-size:var(--fs-body-sm);font-weight:500;padding:5px 10px;border-radius:6px;background:var(--sand-warm);color:var(--ink);cursor:pointer;border:1px dashed var(--stone-soft)}.vc-attach-btn:hover{border-style:solid;border-color:var(--primary)}.vc-attach-strip{display:flex;flex-wrap:wrap;gap:6px}.vc-attach-thumb{position:relative;width:52px;height:40px;border-radius:4px;overflow:hidden}.vc-attach-thumb img{width:100%;height:100%;object-fit:cover;display:block}.vc-attach-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:#0009;color:#fff;font-size:var(--fs-micro);line-height:16px;cursor:pointer}.vc-detector-panel{display:flex;flex-direction:column;gap:10px;width:100%;max-width:640px;padding:12px 14px;border-radius:8px;background:var(--sand-warm, rgba(250,244,233,.7));border:1px solid var(--line, rgba(180,160,130,.25))}.vc-slider-row{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.vc-slider-label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-label);font-weight:500;color:var(--ink-soft, #7a6248)}.vc-slider-label input[type=range]{width:150px;accent-color:var(--primary)}.vc-slider-val{font-family:var(--sans);font-size:var(--fs-label-sm);color:var(--stone)}.vc-polarity-toggle{display:flex;gap:6px}.vc-polarity-btn{padding:3px 10px;border-radius:4px;border:1px solid var(--stone-soft, #c8b89a);background:transparent;font-size:var(--fs-label);cursor:pointer}.vc-polarity-btn--active{background:var(--stone-soft, #c8b89a);border-color:var(--stone-soft, #c8b89a)}.vc-overlay--pick{cursor:crosshair;outline:2.5px dashed var(--primary, #c47d3a)}.vc-checking{display:flex;align-items:center;gap:10px;font-size:var(--fs-label);color:var(--ink-soft, #5b4a3c);animation:vc-checking-in .2s ease .25s both}@keyframes vc-checking-in{0%{opacity:0}to{opacity:1}}.vc-checkbar{flex:1;max-width:120px;height:4px;border-radius:2px;background:var(--sand-warm, #f8f0e3);overflow:hidden}.vc-checkbar i{display:block;height:100%;border-radius:2px;background:var(--primary, #d94b16);transition:width .2s var(--spring-glide)}.vc-readout--stale{opacity:.5;transition:opacity .15s ease}.vc-thumb--counting{border-color:var(--primary, #d94b16)}@media (prefers-reduced-motion: reduce){.vc-checking{animation:none}.vc-checkbar i{transition:none}}.vc-stage-tools{position:absolute;right:8px;bottom:8px;z-index:3;display:flex;gap:6px}.vc-stage-tool{padding:4px 12px;border-radius:var(--radius-pill, 999px);background:#fff7eceb;border:1px solid var(--line, #e0d5c5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:var(--fs-label);color:var(--ink-soft, #5b4a3c);cursor:pointer;transition:color .14s,border-color .14s}.vc-stage-tool:hover{color:var(--primary, #d94b16);border-color:var(--primary, #d94b16)}.vc-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:4px}.vc-actions--center{justify-content:center}.vc-cta{padding:10px 22px;font-size:var(--fs-body-sm)}.vc-next-btn{margin-top:2px}.author-back-btn:disabled{opacity:.4;cursor:not-allowed}.vc-machine-row{display:flex;gap:10px;align-items:center;font-size:var(--fs-body-sm)}.vc-machine-count{font-family:var(--sans);color:var(--ink-soft)}.vc-diff-costs{display:flex;gap:8px}.vc-diff-fp{color:var(--primary, #d94b16);font-weight:600;font-size:var(--fs-label)}.vc-diff-miss{color:#b5523f;font-weight:600;font-size:var(--fs-label)}.vc-diff-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:var(--fs-label);color:var(--ink-soft)}.vc-diff-legend span{display:inline-flex;align-items:center;gap:6px}.vc-diff-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto}.vc-diff-legend i.vc-legend-ring{background:transparent;border:2px solid}.vc-poke-annotation{margin:4px 0}.vc-poke-dismiss{font-size:var(--fs-label-sm);margin-left:auto}.vc-more-toggle{align-self:flex-start;font-size:var(--fs-label);color:var(--stone)}.vc-detector-blurb{margin:2px 0 0;font-size:var(--fs-body-sm);color:var(--ink-soft)}.vc-detector-blurb span{color:var(--primary);font-weight:700;margin-right:4px}.vc-payoff{font-size:var(--fs-body-sm);color:var(--ink-soft);margin:2px 0 0}.vc-payoff strong{color:var(--primary)}.vc-run-trail{display:flex;flex-wrap:wrap;gap:6px}.vc-run-card{display:flex;flex-direction:column;align-items:center;padding:6px 10px;border-radius:6px;border:1.5px solid var(--stone-soft, #c8b89a);background:transparent;cursor:pointer;transition:border-color .12s,background .12s;min-width:60px}.vc-run-card:hover{border-color:var(--primary, #c47d3a)}.vc-run-card--selected{border-color:var(--primary, #c47d3a);background:#c47d3a1a}.vc-run-method{font-size:var(--fs-label-sm);color:var(--ink-soft, #7a6248)}.vc-run-count{font-size:var(--fs-student);font-weight:700;font-family:var(--mono, monospace)}.vc-run-empty{font-size:var(--fs-label);color:var(--stone, #a08060);font-style:italic}.vc-uncertainty-row{display:flex;align-items:center;gap:6px;font-size:var(--fs-label)}.vc-uncertainty-label{color:var(--ink-soft, #7a6248)}.vc-unc-input{width:52px;padding:2px 6px;border-radius:4px;border:1px solid var(--stone-soft, #c8b89a);font-size:var(--fs-body-sm);font-family:var(--mono, monospace);background:transparent}.vc-finding{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--line, rgba(180,160,130,.25));border-radius:10px;background:var(--bg-elev, #fff)}.vc-finding-headline{margin:0;font-size:var(--fs-body);color:var(--ink, #1a1410)}.vc-finding-headline strong{color:var(--primary)}.vc-finding-line{margin:0;font-size:var(--fs-body-sm);color:var(--ink-soft, #5b4a3c);line-height:1.5}.vc-finding-warn{color:var(--cart-b-coral, #B5523F);font-style:italic}.vc-reckon{display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 17px;box-shadow:var(--shadow-card)}.vc-reckon-lead{margin:0 0 13px;font-size:var(--fs-body-sm);color:var(--ink-2)}.vc-dotfield{display:flex;flex-wrap:wrap;gap:3px;padding:11px;background:var(--sand-warm);border-radius:var(--radius-md)}.vc-dot{width:7px;height:7px;border-radius:50%}.vc-dotfield-cap{margin:6px 0 0;font-size:var(--fs-label);color:var(--ink-3)}.vc-recbar{display:flex;height:20px;margin:12px 0 0;border-radius:5px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}.vc-recbar-seg{height:100%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden}.vc-cats{display:flex;flex-direction:column;gap:8px;margin-top:14px}.vc-cat{display:flex;align-items:flex-start;gap:9px;font-size:var(--fs-body-sm)}.vc-cat-g{width:15px;height:15px;border-radius:50%;flex-shrink:0;margin-top:2px}.vc-cat-g--missed{background:transparent;border:2px dashed}.vc-cat-lbl{color:var(--ink)}.vc-cat-lbl strong{font-weight:700}.vc-cat-num{margin-left:auto;padding-left:10px;font-family:var(--font-heading);font-weight:600;font-size:var(--fs-body)}.finding-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;max-width:560px;margin:0 0 14px;padding:10px 14px;background:var(--sand-warm);border-radius:var(--radius-md);font-size:var(--fs-body-sm);color:var(--ink-soft)}.finding-strip-label{font-size:var(--fs-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--primary)}.finding-strip-claim strong{color:var(--ink)}.finding-strip-rows{display:inline-flex;gap:4px;flex-wrap:wrap}.finding-strip-chip{padding:1px 7px;border-radius:var(--radius-pill);background:var(--bg-elev);border:1px solid var(--line);font-size:var(--fs-label);font-variant-numeric:tabular-nums;color:var(--ink)}.finding-strip-doubt{flex-basis:100%;font-style:italic;color:var(--stone)}.vc-doubt{display:flex;flex-direction:column;gap:6px}.vc-doubt label{font-size:var(--fs-body-sm);color:var(--ink-soft, #7a6248)}.vc-doubt-input{width:100%;box-sizing:border-box;padding:10px 14px;border-radius:8px;border:1.5px solid var(--line, #e0d5c5);background:var(--bg, #fff9f0);font-family:var(--sans);font-size:var(--fs-body-sm);color:var(--ink, #1a1410);transition:border-color .14s}.vc-doubt-input:focus{outline:none;border-color:var(--primary, #d94b16)}.vc-doubt-input::placeholder{color:var(--stone, #a08060)}.vc-nudge{font-size:var(--fs-label);font-style:italic;color:var(--stone, #a08060);margin:0 0 8px}.vc-split-toggle{margin-top:6px}.vc-split-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-body-sm);color:var(--ink-soft, #7a6248);cursor:pointer;-webkit-user-select:none;user-select:none}.vc-validation-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 10px;border-radius:6px;background:#c47d3a0f;border:1px solid rgba(196,125,58,.2)}.vc-validation-label{font-size:var(--fs-label);color:var(--ink, #3a2e22)}.model-build-palette{margin:18px 0 10px}.model-build-palette-label{font-size:var(--fs-body-sm);color:var(--stone, #9a8468);margin:0 0 10px}.model-build-features{display:flex;flex-wrap:wrap;gap:8px}.model-build-empty-state{font-size:var(--fs-body-sm);color:var(--stone, #9a8468);font-style:italic;padding:10px 0}.model-feature-chip{display:inline-flex;align-items:stretch;border-radius:20px;border:1.5px solid var(--line, #e0d5c5);background:var(--bg, #fff9f0);font-size:var(--fs-body-sm);transition:border-color .15s,background .15s}.model-feature-chip:hover{border-color:var(--ink-soft, #7a6248)}.model-feature-chip--selected{font-weight:600}.model-feature-chip--disabled{opacity:.4}.model-feature-chip-select{display:inline-flex;align-items:center;gap:6px;padding:6px 4px 6px 12px;background:transparent;border:none;border-radius:20px 0 0 20px;font:inherit;color:inherit;cursor:pointer}.model-feature-chip-select:disabled{cursor:default}.model-feature-chip-info{display:inline-flex;align-items:center;justify-content:center;padding:0 10px 0 4px;background:transparent;border:none;border-radius:0 20px 20px 0;color:var(--stone, #9a8468);font-size:var(--fs-body-sm);line-height:1;cursor:pointer;transition:color .15s}.model-feature-chip-info:hover,.model-feature-chip-info.is-open{color:var(--teal, #d94b16)}.model-feature-chip-info:focus-visible{outline:2px solid var(--teal, #d94b16);outline-offset:1px}.model-feature-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.model-feature-label{color:var(--ink, #3a2e22)}.model-feature-popover{position:fixed;z-index:1000;width:264px;max-width:calc(100vw - 16px);background:var(--bg-elev, #fff);border:1px solid var(--line, #e0d5c5);border-radius:12px;box-shadow:0 12px 32px #3a2e222e;padding:14px;will-change:transform,opacity}.model-feature-popover:focus{outline:none}.model-feature-popover.is-pinned{border-color:var(--sand, #e3cfae)}.feature-detail-card{display:flex;flex-direction:column;gap:8px}.feature-detail-mini{width:100%;height:110px;border-radius:8px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#fbf7f0,#efe7da);border:1px solid var(--line, #e0d5c5)}.feature-detail-mini-svg{display:block;width:100%;height:100%}.frame-gen-minis{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.frame-gen-minis .feature-detail-mini{width:76px;height:56px}.feature-detail-head{display:flex;align-items:center;gap:8px}.feature-detail-name{font-size:var(--fs-body-sm);font-weight:700;color:var(--ink, #1a1410);margin:0}.feature-detail-gloss{font-size:var(--fs-label);line-height:1.45;color:var(--ink-soft, #5b4a3c);margin:0}.feature-detail-row{font-size:var(--fs-label);line-height:1.5;color:var(--ink, #3a2e22);margin:0;overflow-wrap:anywhere}.feature-detail-key{font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--stone, #9a8468);margin-right:6px}.feature-detail-mols{color:var(--ink-soft, #5b4a3c)}.feature-detail-mol{white-space:nowrap}.feature-detail-more{color:var(--stone, #9a8468);white-space:nowrap}.feature-detail-constraints{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line, #e0d5c5);padding-top:8px}.feature-detail-row--excl .feature-detail-key{color:var(--cart-b-coral, #B5523F)}.model-build-rejection{margin:10px 0;padding:10px 14px;border-radius:8px;background:#e4575614;border:1px solid rgba(228,87,86,.25);font-size:var(--fs-body-sm);color:var(--ink, #3a2e22)}.model-predict-gate{margin:18px 0;display:flex;flex-direction:column;gap:10px}.model-predict-prompt{font-size:var(--fs-body-sm);color:var(--ink, #3a2e22);margin:0}.model-predict-input{padding:10px 14px;border-radius:8px;border:1.5px solid var(--line, #e0d5c5);background:var(--bg, #fff9f0);font-size:var(--fs-body-sm);width:100%;box-sizing:border-box}.model-predict-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.model-predict-actions .btn,.model-setaside-reasons .btn{height:36px;padding:0 14px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:var(--fs-body-sm);line-height:1}.model-build-loading{display:flex;align-items:center;gap:10px;font-size:var(--fs-body-sm);color:var(--stone, #9a8468);padding:14px 0}.model-build-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--line, #e0d5c5);border-top-color:var(--primary, #d94b16);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.model-build-result{display:flex;flex-direction:column;gap:16px;margin-top:18px}.model-candidate-gallery{display:flex;flex-direction:column;gap:14px;margin-top:14px}.model-gallery-intro{font-size:var(--fs-body-sm);color:var(--ink, #3a2e22);margin:0;max-width:72ch}.model-prediction-pinned{font-size:var(--fs-body-sm);color:var(--stone, #9a8468);margin:0}.model-candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.model-candidate-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--line, #e0d5c5);border-radius:14px;background:var(--bg-glass, rgba(255,247,236,.6))}.model-ai-tag{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:2;pointer-events:none;font-size:var(--fs-micro);letter-spacing:.04em;text-transform:uppercase;color:var(--stone, #9a8468)}.model-card-evidence{display:flex;flex-direction:column;gap:8px}.model-candidate-close{position:absolute;top:8px;right:8px;z-index:3;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line, #e0d5c5);background:#fff7ecd9;color:var(--stone, #9a8468);font-size:var(--fs-label);line-height:1;cursor:pointer;transition:color .15s,border-color .15s}.model-candidate-close:hover{color:var(--cart-b-coral, #B5523F);border-color:var(--cart-b-coral, #B5523F)}.model-candidate-revise{border:1.5px solid var(--line, #e0d5c5);background:transparent;color:var(--ink-soft, #5b4a3c)}.model-candidate-revise:hover:not(:disabled){border-color:var(--stone, #9a8468);background:#3a2e2212}.model-candidate-delete{border:1.5px solid var(--line, #e0d5c5);background:transparent;color:var(--ink-soft, #5b4a3c)}.model-candidate-delete:hover:not(:disabled){border-color:var(--cart-b-coral, #B5523F);color:var(--cart-b-coral, #B5523F);background:#b5523f14}.model-candidate-keep{background:var(--bg-elev, #fff);border:1.5px solid var(--ink-soft, #5b4a3c);color:var(--ink, #1a1410);font-weight:600}.model-candidate-keep:hover:not(:disabled){border-color:var(--ink, #1a1410);background:#3a2e2212}.model-candidate-keep--on{background:#eaf5e9;border-color:#54a24b;color:#2e6b27;animation:keep-pop .26s var(--spring-pop)}@keyframes keep-pop{0%{transform:scale(.94)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.model-candidate-keep--on{animation:none}}.model-candidate-keep--on:hover:not(:disabled){background:#dceeda}.model-generate-another:hover:not(:disabled),.model-gallery-startover:hover:not(:disabled){color:var(--ink, #1a1410);border-color:var(--stone, #9a8468)}.model-commit-bar .btn:hover:not(:disabled){background:#3a2e2212}.model-candidate-card--failed{justify-content:center;min-height:160px;background:#e457560f}.model-candidate-failed-note{font-size:var(--fs-body-sm);color:var(--ink, #3a2e22);margin:0}.model-candidate-card .model-structure-stage{max-width:none;height:340px;border:none;box-shadow:none;border-radius:10px;background:transparent}.model-gen-cloud{position:absolute;top:0;right:0;bottom:0;left:0}.model-gen-net{position:absolute;left:50%;top:50%;width:120px;height:100px;transform:translate(-50%,-50%);overflow:visible;pointer-events:none}.model-gen-dot{position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--stone, #9a8468);box-shadow:0 1px 4px #3a2e2224;will-change:transform,opacity;opacity:0;animation:model-gen-flow 3s cubic-bezier(.45,0,.3,1) infinite;animation-delay:calc(var(--k, 0) * 60ms + var(--tile, 0) * .6s)}.model-gen-bond{fill:none;stroke:var(--stone, #9a8468);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;will-change:stroke-dashoffset,opacity;animation-duration:3s;animation-timing-function:ease;animation-iteration-count:infinite;animation-delay:calc(var(--tile, 0) * .6s)}.model-gen-bond--a{animation-name:model-gen-bond-a}.model-gen-bond--b{animation-name:model-gen-bond-b}.model-building-caption{position:absolute;left:12px;bottom:10px;pointer-events:none;font-size:var(--fs-label-sm);color:var(--stone, #9a8468);background:#fff7ecb3;padding:2px 8px;border-radius:10px}@keyframes model-gen-flow{0%{transform:translate(calc(-50% + (var(--sx) * 1px)),calc(-50% + (var(--sy) * 1px))) scale(.55);opacity:.1}22%{transform:translate(calc(-50% + (var(--ax) * 1px)),calc(-50% + (var(--ay) * 1px))) scale(1);opacity:.95}34%{transform:translate(calc(-50% + (var(--ax) * 1px)),calc(-50% + (var(--ay) * 1px))) scale(1);opacity:.95}50%{transform:translate(calc(-50% + (var(--sx) * 1px)),calc(-50% + (var(--sy) * 1px))) scale(.55);opacity:.1}72%{transform:translate(calc(-50% + (var(--bx) * 1px)),calc(-50% + (var(--by) * 1px))) scale(1);opacity:.95}84%{transform:translate(calc(-50% + (var(--bx) * 1px)),calc(-50% + (var(--by) * 1px))) scale(1);opacity:.95}to{transform:translate(calc(-50% + (var(--sx) * 1px)),calc(-50% + (var(--sy) * 1px))) scale(.55);opacity:.1}}@keyframes model-gen-bond-a{0%,8%{stroke-dashoffset:1;opacity:0}22%{stroke-dashoffset:0;opacity:.55}34%{stroke-dashoffset:0;opacity:.55}42%,to{stroke-dashoffset:0;opacity:0}}@keyframes model-gen-bond-b{0%,58%{stroke-dashoffset:1;opacity:0}72%{stroke-dashoffset:0;opacity:.55}84%{stroke-dashoffset:0;opacity:.55}92%,to{stroke-dashoffset:0;opacity:0}}@media (prefers-reduced-motion: reduce){.model-gen-dot{transform:translate(calc(-50% + (var(--ax) * 1px)),calc(-50% + (var(--ay) * 1px)));animation:model-gen-cloudpulse 2.6s ease-in-out infinite;animation-delay:calc(var(--k, 0) * 80ms)}.model-gen-bond--a{animation:none;stroke-dashoffset:0;opacity:.4}.model-gen-bond--b{animation:none;opacity:0}}@keyframes model-gen-cloudpulse{0%,to{opacity:.35}50%{opacity:.8}}.model-candidate-scoring{display:flex;align-items:center;gap:8px;font-size:var(--fs-body-sm);color:var(--stone, #9a8468);margin:0}.model-candidate-scoring--failed{justify-content:space-between;flex-wrap:wrap}.model-candidate-scoring--failed .btn{flex:none}.model-fit-probe{display:inline-flex;flex-wrap:wrap;gap:5px}.model-fit-probe-dot{width:13px;height:13px;border-radius:50%;box-sizing:border-box;background:var(--stone, #9a8468);animation:model-fit-probe 1.4s ease-in-out infinite;animation-delay:calc(var(--k, 0) * 90ms)}@keyframes model-fit-probe{0%,to{opacity:.3;transform:scale(.82)}50%{opacity:.8;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.model-fit-probe-dot{animation:model-fit-probe-fade 1.6s ease-in-out infinite}}@keyframes model-fit-probe-fade{0%,to{opacity:.45}50%{opacity:.8}}.model-fit-dots .model-fit-dot{animation:model-fit-land .34s cubic-bezier(.25,1,.5,1) both;animation-delay:calc(var(--i, 0) * 45ms)}@keyframes model-fit-land{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.model-fit-dots .model-fit-dot{animation:none}}.model-candidate-fit{font-size:var(--fs-body-sm);color:var(--ink, #3a2e22);margin:0}.model-candidate-fit--miss{color:var(--cart-b-coral, #B5523F)}.model-gallery-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.model-gallery-startover,.model-generate-another{border:none;background:none;padding:4px 2px;cursor:pointer;font-family:inherit;font-size:var(--fs-body-sm);line-height:1;color:var(--stone, #9a8468);border-bottom:1.5px dashed transparent;transition:color .15s,border-color .15s}.model-generate-another:disabled{opacity:.5;cursor:default}.model-candidate-actions{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;align-items:stretch;margin-top:auto}.model-candidate-actions .btn{width:100%;min-width:0;height:36px;margin:0;padding:0 10px;box-sizing:border-box;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-size:var(--fs-body-sm);line-height:1}.model-candidate-setaside{font-size:var(--fs-body-sm)}.model-candidate-misses{color:var(--cart-b-coral, #B5523F)}.model-setaside-chooser{display:flex;flex-direction:column;gap:6px}.model-setaside-prompt{font-size:var(--fs-label);color:var(--stone, #9a8468);margin:0}.model-setaside-reasons{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.model-setaside{margin-top:4px}.model-setaside-label{font-size:var(--fs-label);color:var(--stone, #9a8468);margin:0 0 4px}.model-setaside-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.model-setaside-item{display:flex;align-items:center;gap:10px;font-size:var(--fs-body-sm);color:var(--ink, #3a2e22);opacity:.85}.model-setaside-reason{font-style:italic}.model-setaside-restore{border:none;background:none;padding:0;cursor:pointer;font-family:inherit;font-size:var(--fs-body-sm);color:var(--stone, #9a8468);border-bottom:1.5px dashed transparent;transition:color .15s,border-color .15s}.model-setaside-restore:hover{color:var(--ink, #1a1410);border-color:var(--stone, #9a8468)}.model-revise-form{display:flex;flex-direction:column;gap:6px}.model-revision-result{font-size:var(--fs-label);color:var(--ink, #3a2e22);margin:0;padding:6px 10px;border-radius:8px;background:var(--bg-glass, rgba(255,247,236,.6))}.model-revision-result p{margin:0}.model-revision-better{color:#54a24b}.model-revision-worse{color:var(--cart-b-coral, #B5523F)}.model-candidate-card--kept{border-color:#54a24b;box-shadow:inset 0 0 0 1px #54a24b}.model-candidate-card--setting-aside{border-color:var(--cart-b-coral, #B5523F);box-shadow:inset 0 0 0 1px var(--cart-b-coral, #B5523F)}.model-candidate-keep{font-size:var(--fs-body-sm)}.model-commit-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line, #e0d5c5)}.model-commit-hints{flex:1;min-width:220px;display:flex;flex-direction:column;gap:4px}.model-commit-hint{font-size:var(--fs-body-sm);color:var(--stone, #9a8468)}.model-commit-conflict{font-size:var(--fs-label);color:var(--cart-b-coral, #B5523F)}.model-structure-viewer{display:flex;flex-direction:column;gap:6px}.model-structure-label{font-size:var(--fs-label);color:var(--stone, #9a8468);margin:0}.model-structure-stage{position:relative;width:100%;max-width:520px;height:360px;margin:0 auto;border-radius:14px;border:1px solid var(--line, #e0d5c5);background:radial-gradient(circle at 50% 38%,#fbf7f0,#ece3d4);box-shadow:0 8px 24px #3a2e2214,inset 0 1px #ffffff80;overflow:hidden}.model-structure-stage .model-structure-svg,.model-structure-stage .model-structure-3d{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.model-structure-3d canvas{display:block}.model-structure-svg{display:block;background:transparent}.model-structure-svg--hidden{display:none}.model-structure-3d{opacity:0;transition:opacity .25s ease}.model-structure-3d.is-ready{opacity:1}@media (prefers-reduced-motion: reduce){.model-structure-3d{transition:none}}.model-structure-reset{position:absolute;left:10px;top:10px;cursor:pointer;font-size:var(--fs-label-sm);color:var(--ink, #3a2e22);background:#fff7ecd9;border:1px solid var(--line, #e0d5c5);border-radius:10px;padding:3px 10px}.model-structure-reset:hover{border-color:var(--primary, #d94b16)}.model-fidelity{padding:8px 14px;border-radius:8px;font-size:var(--fs-body-sm)}.model-fidelity--ok{background:#54a24b1a;border:1px solid rgba(84,162,75,.3);color:var(--ink, #3a2e22)}.model-fidelity--warn{background:#e4575614;border:1px solid rgba(228,87,86,.25);color:var(--ink, #3a2e22)}.model-property-panel{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.model-property-label{font-size:var(--fs-body-sm);color:var(--stone, #9a8468)}.model-property-value{font-size:var(--fs-display);font-weight:700;color:var(--ink, #3a2e22)}.model-property-confidence{font-size:var(--fs-label);color:var(--stone, #9a8468)}.model-evidence-fit{display:flex;flex-direction:column;gap:6px}.model-fit-headline{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.model-fit-count{font-size:var(--fs-display);font-weight:700;color:var(--ink, #3a2e22);line-height:1}.model-fit-of{font-size:var(--fs-body-sm);font-weight:600;color:var(--stone, #9a8468)}.model-fit-caption{font-size:var(--fs-label);color:var(--stone, #9a8468)}.model-fit-dots{display:flex;flex-wrap:wrap;gap:5px}.model-fit-dot{width:13px;height:13px;border-radius:50%;box-sizing:border-box}.model-fit-dot--hit{background:#54a24b}.model-fit-dot--miss{background:transparent;border:1.5px solid var(--cart-b-coral, #B5523F)}.model-fit-biggest{font-size:var(--fs-label);color:var(--cart-b-coral, #B5523F);margin:0}.model-fit-biggest strong{color:var(--cart-b-coral, #B5523F)}.model-fit-piece-chip{margin-left:auto;align-self:center;white-space:nowrap;font-size:var(--fs-label);color:var(--stone, #9a8468)}.model-fit-dots--banded{gap:0;align-items:stretch}.model-fit-band{display:flex;flex-wrap:wrap;gap:5px;padding:3px 10px;border-radius:6px}.model-fit-band+.model-fit-band{border-left:1px solid var(--line, #e0d5c5)}.model-fit-band--empty{background:#b5523f14}.model-fit-top{display:flex;justify-content:flex-end}.model-fit-axis{display:flex;justify-content:space-between;border-top:1px solid var(--line, #e0d5c5);padding-top:3px;margin-top:1px;font-size:var(--fs-micro);color:var(--stone, #9a8468);letter-spacing:.02em}.model-fit-key{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--fs-label-sm);color:var(--stone, #9a8468);margin:0 0 4px}.model-fit-key-dot{width:11px;height:11px;flex-shrink:0}.model-fit-key-sep{opacity:.6}.model-storage{border-top:1px dashed var(--line, #e0d5c5);padding-top:10px}.model-candidate-badges{display:flex;flex-wrap:wrap;gap:6px}.model-candidate-badge{font-size:var(--fs-label);font-weight:600;color:var(--ink-soft, #5b4a3c);background:var(--accent-soft, #d8eaff);border-radius:999px;padding:2px 10px;white-space:nowrap}.model-revision-pieces{color:var(--stone, #9a8468)}.model-evidence-panel{display:flex;flex-direction:column;gap:6px}.model-evidence-label{font-size:var(--fs-label);color:var(--stone, #9a8468);margin:0}.model-evidence-table{border-collapse:collapse;font-size:var(--fs-body-sm);width:100%}.model-evidence-table th{text-align:left;padding:4px 10px 4px 0;color:var(--hush);font-weight:600;font-size:var(--fs-label-sm);letter-spacing:.02em;border-bottom:1px solid var(--line, #e0d5c5)}.model-evidence-table td{padding:5px 10px 5px 0;border-bottom:1px solid var(--line, #e0d5c5)}.model-evidence-row--miss td{color:var(--cart-b-coral, #B5523F)}.model-compare-panel{display:flex;flex-direction:column;gap:8px}.model-compare-label{font-size:var(--fs-body-sm);color:var(--ink, #3a2e22);margin:0}.model-compare-chips{display:flex;flex-wrap:wrap;gap:8px}.model-compare-chip{padding:5px 12px;border-radius:16px;border:1.5px solid var(--line, #e0d5c5);background:var(--bg, #fff9f0);font-size:var(--fs-label);cursor:pointer}.model-compare-chip:hover{border-color:var(--primary, #d94b16)}.model-compare-result{padding:12px 16px;border-radius:10px;background:var(--bg-glass, rgba(255,247,236,.9));border:1px solid var(--line, #e0d5c5)}.model-compare-result-title{font-size:var(--fs-body-sm);margin:0 0 8px;color:var(--ink, #3a2e22)}.model-compare-delta-row{display:flex;gap:24px;font-size:var(--fs-body-sm);color:var(--ink, #3a2e22)}.model-failure-modes{display:flex;flex-direction:column;gap:12px}.model-failure-mode{padding:10px 14px;border-radius:8px;background:#4c78a812;border:1px solid rgba(76,120,168,.2)}.model-failure-question{font-size:var(--fs-body-sm);margin:0 0 4px;color:var(--ink, #3a2e22)}.model-failure-hint{font-size:var(--fs-label);color:var(--stone, #9a8468);margin:0}.model-done-msg{font-size:var(--fs-body-sm);color:var(--stone, #9a8468);font-style:italic;margin:18px 0}.omni-content{width:100%;max-width:780px}.omni-box{display:flex;flex-direction:column;gap:14px;padding:10px 4px;border-radius:var(--radius-xl);transition:background .28s ease,box-shadow .34s ease}.omni-box.dragging{background:#e8e3d98c;box-shadow:0 0 0 1.5px #007c824d,0 2px 22px #004e601f}.omni-input{width:100%;border:none;outline:none;resize:none;background:transparent;font-family:var(--font-heading);font-weight:400;font-size:var(--fs-student);line-height:1.4;letter-spacing:-.01em;color:var(--ink);border-radius:var(--radius-lg);padding:12px 16px 16px;transition:background .28s ease,box-shadow .34s ease;box-shadow:var(--field-ring)}.omni-input:hover{background:#e8e3d966}.omni-input:focus{background:#e8e3d98c;box-shadow:var(--field-ring-focus)}.omni-input::placeholder{color:var(--hush);font-style:italic;font-size:1em}.omni-field{position:relative}.omni-dataset-card{margin:2px 0}.omni-detach{margin-left:auto;cursor:pointer;color:var(--stone);font-size:var(--fs-body);padding:4px 10px;border-radius:var(--radius-pill)}.omni-detach:hover{color:var(--ink);background:#0000000d}.omni-actions{display:flex;align-items:center;gap:14px;padding:0 6px}.omni-attach{cursor:pointer;padding:6px 2px;color:var(--stone);font-size:var(--fs-body);border-bottom:1.5px dashed transparent;transition:color var(--t-fast) ease,border-color var(--t-fast) ease}.omni-attach:hover:not(:disabled){color:var(--teal);border-bottom-color:var(--teal)}.omni-attach:disabled{opacity:.6;cursor:default}.omni-start-label{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-student);letter-spacing:-.01em;color:var(--ink);margin:clamp(14px,2.2vh,24px) 0 14px}.omni-shelf{margin-top:clamp(28px,4.5vh,48px)}.omni-shelf-label{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-student);letter-spacing:-.01em;color:var(--ink);margin-bottom:18px}.omni-shelf-row{display:flex;flex-wrap:wrap;gap:28px 22px;padding:16px 6px 20px}.omni-shelf-card{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:208px;padding:6px 8px 4px;border:none;background:transparent;cursor:pointer;text-align:left;transition:transform var(--t-fast) var(--spring-soft)}.omni-shelf-card:hover:not(:disabled){transform:translateY(-4px)}.omni-shelf-card:disabled{opacity:.55;cursor:default}.omni-shelf-card.is-loading{opacity:1}.shelf-stack{position:relative;display:block;width:100%;height:116px;margin-bottom:8px}.shelf-layer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-object);overflow:hidden;transform-origin:50% 62%;transition:transform var(--t-base) var(--spring-soft)}.shelf-layer--b2{background:var(--paper-2);transform:rotate(calc(var(--tilt, 0deg) - 5deg)) translate(-6px,6px)}.shelf-layer--b1{background:var(--paper);transform:rotate(calc(var(--tilt, 0deg) + 3.5deg)) translate(6px,3px)}.shelf-layer--face{transform:rotate(var(--tilt, 0deg));display:grid;place-items:center}.omni-shelf-card:hover:not(:disabled) .shelf-layer--b1,.omni-shelf-card:focus-visible .shelf-layer--b1{transform:rotate(calc(var(--tilt,0deg) + 7deg)) translate(13px,4px)}.omni-shelf-card:hover:not(:disabled) .shelf-layer--b2,.omni-shelf-card:focus-visible .shelf-layer--b2{transform:rotate(calc(var(--tilt,0deg) - 9deg)) translate(-13px,8px)}.omni-shelf-card:hover:not(:disabled) .shelf-layer--face,.omni-shelf-card:focus-visible .shelf-layer--face{transform:rotate(0)}.omni-shelf-card:hover:not(:disabled) .shelf-stack--table .shelf-layer--face,.omni-shelf-card:focus-visible .shelf-stack--table .shelf-layer--face{transform:translateY(-9px) rotate(calc(var(--tilt,0deg) * .3))}.omni-shelf-card:hover:not(:disabled) .shelf-stack--model .shelf-layer--face,.omni-shelf-card:focus-visible .shelf-stack--model .shelf-layer--face{transform:rotate(6deg)}.shelf-photo{width:100%;height:100%;object-fit:cover;display:block}.shelf-stack--image .shelf-layer{box-shadow:var(--shadow-object),0 0 0 1.5px var(--surface)}.shelf-glyph{display:grid;place-items:center;width:100%;height:100%}.shelf-rules{position:absolute;top:16px;right:14px;bottom:16px;left:14px;display:flex;flex-direction:column;gap:9px}.shelf-rules i{display:block;height:6px;border-radius:3px;background:#785a2824}.shelf-rules i:nth-child(1){width:70%;background:var(--sand)}.shelf-rules i:nth-child(2){width:88%}.shelf-rules i:nth-child(3){width:52%}.shelf-rules i:nth-child(4){width:80%}.shelf-rules i:nth-child(5){width:40%}.shelf-sheet{position:absolute;top:18px;right:16px;bottom:18px;left:16px;display:flex;flex-direction:column;gap:10px}.shelf-cell{display:flex;align-items:baseline;gap:8px;font-size:13px;line-height:1;color:var(--ink-soft);padding-bottom:8px;border-bottom:1px solid rgba(120,90,40,.12)}.shelf-cell-label{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shelf-cell-value{flex:0 0 auto;color:var(--stone);font-variant-numeric:tabular-nums}.shelf-cell--head{font-family:var(--font-heading);font-size:12px;color:var(--ink);border-bottom:1.5px solid rgba(120,90,40,.28);padding-bottom:7px}.shelf-cell--head .shelf-cell-value{color:var(--ink)}.shelf-mol{width:76px;height:62px}@keyframes shelf-think{0%,to{box-shadow:var(--shadow-object),inset 0 0 0 2px #d94b1600}50%{box-shadow:var(--shadow-object),inset 0 0 0 2px #d94b168c}}.shelf-stack.is-loading .shelf-layer--face{animation:shelf-think 1.1s ease-in-out infinite}.omni-shelf-name{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body);color:var(--ink)}.omni-shelf-desc{font-size:var(--fs-body-sm);line-height:1.4;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.omni-shelf-eyebrow{font-size:var(--fs-body-sm);color:var(--stone);margin-bottom:-1px}.omni-shelf-card{position:relative}.omni-shelf-glow{position:absolute;top:-26px;right:-26px;bottom:-26px;left:-26px;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#d94b1626,#d94b1600);opacity:0;transition:opacity var(--t-base) ease}.omni-shelf-card:hover .omni-shelf-glow,.omni-shelf-card:focus-visible .omni-shelf-glow{opacity:1}@media (prefers-reduced-motion: reduce){.shelf-layer{transition:none}.omni-shelf-card:hover:not(:disabled){transform:none}.shelf-layer--b1{transform:rotate(calc(var(--tilt,0deg) + 5deg)) translate(9px,3px)}.shelf-layer--b2{transform:rotate(calc(var(--tilt,0deg) - 6deg)) translate(-9px,6px)}.shelf-stack.is-loading .shelf-layer--face{animation:none;box-shadow:var(--shadow-object),inset 0 0 0 2px #d94b1680}}.ia-siteheader{position:sticky;top:0;z-index:50;background:var(--bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.ia-shinner{max-width:var(--river-max);margin:0 auto;padding:13px 28px;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:11px}button.brand--link{background:none;border:none;padding:0;cursor:pointer;font:inherit;text-align:left}.ia-splotch{display:block;flex:0 0 auto;transform-origin:center;animation:ia-breathe 4.5s var(--spring-soft) infinite}.ia-splotch path{fill:var(--primary)}@keyframes ia-breathe{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.06) rotate(1.5deg)}}.wm{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-title);color:var(--ink);letter-spacing:-.02em}.hauth{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ia-hauth-name{font-size:var(--fs-body-sm);font-weight:600;color:var(--ink-2)}.hauth .vision-toggle{position:relative;top:auto;right:auto;width:34px;height:34px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 0 0 1.5px var(--line-2)}.hauth .vision-toggle:hover{box-shadow:inset 0 0 0 1.5px var(--primary);color:var(--primary)}.ia-hbtn{font-family:var(--sans);font-weight:600;font-size:var(--fs-body-sm);border:none;border-radius:var(--radius-pill);padding:8px 15px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;gap:7px;transition:background var(--t-fast) ease,color var(--t-fast) ease,box-shadow var(--t-base) ease}.ia-hbtn--quiet{background:transparent;color:var(--ink-2);padding:8px}.ia-hbtn--quiet:hover{color:var(--ink)}.ia-hbtn--solid{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}.ia-hbtn--solid:hover{box-shadow:inset 0 0 0 1.5px var(--primary);color:var(--primary)}.ia-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:var(--fs-body-sm);font-weight:500;padding:8px 14px;border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line-2);line-height:1;transition:box-shadow var(--t-fast) ease,color var(--t-fast) ease}.ia-chip:hover{box-shadow:inset 0 0 0 1.5px var(--primary);color:var(--primary)}.ia-hero{margin-bottom:8px;position:relative}.ia-hero>:not(.hero-instruments){position:relative;z-index:1}.hero-instruments{position:absolute;top:50%;transform:translateY(-50%);left:38%;right:clamp(-26%,-13vw,-7%);height:clamp(260px,42vh,420px);z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 42%,#000 100%);mask-image:linear-gradient(to right,transparent 0%,#000 42%,#000 100%)}.hero-instruments-canvas{display:block;width:100%;height:100%}@media (max-width: 900px){.hero-instruments{display:none}}@media (prefers-reduced-motion: reduce){.hero-instruments{display:none}}html[data-vision=on] .hero-instruments{display:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-label);font-weight:600;color:var(--ink-2);margin-bottom:18px}.ia-h1{max-width:20ch;margin-bottom:0}.hl{position:relative;isolation:isolate;white-space:nowrap}.hl:before{content:"";position:absolute;left:-4px;right:-5px;top:60%;bottom:5%;z-index:-1;background:#f3c1548c;transform:rotate(-1.5deg);border-radius:4px 10px 5px 11px}.ia-sub{font-size:var(--fs-student);color:var(--ink-2);max-width:40ch;margin:20px 0 24px;line-height:1.5}.ia-foot{flex:0 0 auto;max-width:var(--river-max);width:100%;margin:40px auto 0;padding:30px 28px 56px;border-top:1px solid var(--line);display:flex;align-items:center;gap:22px;flex-wrap:wrap}.ia-fbrand{font-family:var(--font-heading);font-weight:600;color:var(--ink)}.ia-footlinks{display:flex;gap:22px;flex-wrap:wrap;margin-left:auto;font-size:var(--fs-body-sm)}.ia-footlinks a,.ia-footlink-btn{color:var(--ink-2);text-decoration:none;background:none;border:none;cursor:pointer;font:inherit;padding:0}.ia-footlinks a:hover,.ia-footlink-btn:hover{color:var(--ink)}@media (prefers-reduced-motion: reduce){.ia-splotch{animation:none}}@media (max-width: 640px){.ia-shinner{padding:11px 16px;gap:10px}.hauth{gap:8px}.author-start-body{padding:28px 18px}.ia-foot{padding:24px 16px 44px}.ia-footlinks{gap:16px}}.ia-research{max-width:760px}.ia-research-back{display:inline-block;margin-bottom:22px;background:none;border:none;padding:0;cursor:pointer;font-family:var(--sans);font-size:var(--fs-body-sm);color:var(--ink-2);transition:color var(--t-fast) ease}.ia-research-back:hover{color:var(--primary)}.ia-research-title{margin-bottom:0}.ia-pub-list{list-style:none;margin:clamp(20px,3.5vh,34px) 0 0;padding:0;display:grid;gap:18px}.ia-pub{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-object);padding:22px 24px;transition:border-color var(--t-fast) ease,box-shadow var(--t-base) ease}.ia-pub:hover{border-color:var(--primary)}.ia-pub-title{display:block;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-title);line-height:1.3;letter-spacing:-.01em;color:var(--ink);text-decoration:none;transition:color var(--t-fast) ease}.ia-pub-title:hover{color:var(--primary)}.ia-pub-authors{margin-top:8px;font-size:var(--fs-body);color:var(--ink)}.ia-pub-meta{margin-top:3px;font-size:var(--fs-body-sm);color:var(--ink-2)}.ia-pub-abstract{margin:14px 0 0;font-size:var(--fs-body);line-height:1.6;color:var(--ink-2);max-width:62ch}.ia-pub-link{display:inline-block;margin-top:14px;font-size:var(--fs-body-sm);font-weight:600;color:var(--primary);text-decoration:none}.ia-pub-link:hover{text-decoration:underline}@media (max-width: 640px){.ia-pub{padding:18px}}.hiw{max-width:900px;margin:0 auto}.hiw-section{margin-top:clamp(40px,7vh,72px)}.hiw-section p{font-size:var(--fs-student);line-height:1.6;color:var(--ink-2);max-width:68ch;margin:0 0 16px}.hiw-section p:last-child{margin-bottom:0}.hiw-section em{font-style:italic}.hiw-section strong{font-weight:600;color:var(--ink)}.hiw-h2{font-family:var(--font-heading);font-weight:500;font-size:26px;line-height:1.2;letter-spacing:-.02em;color:var(--ink);max-width:26ch;margin:0 0 16px}.hiw-showcase{margin:24px 0 18px}.hiw-tabs{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:20px}.hiw-tab{background:none;border:none;padding:4px 0 8px;cursor:pointer;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-title);letter-spacing:-.01em;color:var(--ink-2);line-height:1.2;box-shadow:inset 0 -2px 0 transparent;transition:color var(--t-fast) ease,box-shadow var(--t-fast) ease}.hiw-tab:hover{color:var(--ink)}.hiw-tab.is-active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--primary)}.hiw-showcase-body{display:grid;grid-template-columns:1.35fr 1fr;gap:28px;align-items:start}.hiw-showcase-figure{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;padding:14px}.hiw-showcase-figure img{display:block;width:100%;height:auto;border-radius:var(--radius-sm)}.hiw-showcase-copy{padding-top:4px}.hiw-card-practice{font-size:var(--fs-body-sm);color:var(--ink-2)}.hiw-card-task{font-size:var(--fs-student);line-height:1.55;color:var(--ink-2);margin:10px 0 0}.hiw-card-reflect{font-size:var(--fs-body);line-height:1.55;color:var(--ink-2);margin:18px 0 0}.hiw-reflect-label{display:block;font-weight:600;color:var(--ink);margin-bottom:3px}.hiw-aside{font-size:var(--fs-body);color:var(--ink-2);margin-top:20px!important}@media (max-width: 720px){.hiw-showcase-body{grid-template-columns:1fr;gap:18px}}.hiw-steps{list-style:none;margin:24px 0;padding:0;display:grid;gap:22px}.hiw-step{display:flex;gap:16px}.hiw-step-num{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:600;font-size:var(--fs-body);color:var(--surface);background:var(--primary)}.hiw-step-body{flex:1 1 auto}.hiw-step-title{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-title);letter-spacing:-.01em;color:var(--ink);margin:3px 0 8px}.hiw-table-wrap{margin-top:22px;overflow-x:auto}.hiw-table{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.hiw-table th,.hiw-table td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--line)}.hiw-table th{font-family:var(--font-heading);font-weight:500;color:var(--ink);letter-spacing:-.01em;border-bottom-color:var(--line-2)}.hiw-table td{color:var(--ink-2)}.hiw-table td:first-child{color:var(--ink);font-weight:500}.hiw-paperlink{margin-top:22px!important}.hiw-paperlink a{color:var(--primary);font-weight:600;text-decoration:none}.hiw-paperlink a:hover{text-decoration:underline}@media (max-width: 640px){.hiw-card-content{padding:16px 16px 18px}.hiw-step{gap:12px}}.invsrc-row{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 26px}.invsrc-chip{display:inline-flex;align-items:center;gap:9px;padding:7px 16px;border-radius:var(--radius-pill);font-size:var(--fs-body);background:var(--sand-warm);color:var(--ink-soft)}.invsrc-chip--topic{font-style:italic}.invsrc-vars{color:var(--stone)}.invcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;align-items:stretch}.invcard-grid.has-building .invcard:not(.invcard--building){opacity:.4;transition:opacity var(--t-fast) ease}.invcard{position:relative;display:flex;flex-direction:column;gap:11px;padding:24px 24px 20px;border-radius:var(--radius-xl);cursor:pointer;text-align:left;background:var(--paper);box-shadow:var(--shadow-object);transition:transform var(--t-base) var(--spring-soft),box-shadow var(--t-base) ease}.invcard:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--line),0 14px 30px -12px #1a14102e}.invcard.selected{box-shadow:0 0 0 1.5px #007c8252,0 6px 26px -8px #004e602e}.invcard--own{background:linear-gradient(180deg,rgba(200,238,90,.16),transparent 45%),var(--paper)}.invcard-yours{position:absolute;top:-11px;left:20px;background:var(--highlight);color:var(--ink);border-radius:var(--radius-pill);font-size:var(--fs-body-sm);font-weight:700;padding:3px 13px}.invcard-thumb{display:block;border-radius:var(--radius-md);overflow:hidden;background:var(--chart-bg-cool);width:fit-content;align-self:center}.invcard-question{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-display);line-height:1.3;letter-spacing:-.01em;color:var(--ink)}.invcard-action{font-size:var(--fs-body);color:var(--ink-soft);line-height:1.45}.invcard-why{font-size:var(--fs-body-sm);color:var(--ink-soft);line-height:1.4;margin-top:2px}.invcard-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:auto;padding-top:4px}.invcard-naturetag{font-size:var(--fs-body);font-weight:600;color:var(--ink-soft)}.invcard-tag{font-size:var(--fs-body);font-weight:500;color:var(--ink)}.invcard-tag--ai{background:linear-gradient(180deg,transparent 14%,rgba(122,108,196,.3) 14% 86%,transparent 86%);padding:0 .12em;border-radius:2px}.invcard-go{margin-left:auto;font-size:var(--fs-student);color:var(--stone);transition:color var(--t-fast) ease,transform var(--t-fast) var(--spring-pop)}.invcard:hover .invcard-go{color:var(--teal);transform:translate(3px)}@property --invcard-sweep{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.invcard--building{pointer-events:none}.invcard--building.selected{box-shadow:var(--shadow-object)}.invcard--building>:not(.invcard-busy){opacity:.22;filter:saturate(.4);transition:opacity var(--t-base) ease}.invcard--building:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:19px;padding:2px;background:conic-gradient(from var(--invcard-sweep),rgba(217,75,22,0) 0turn,rgba(217,75,22,0) .55turn,rgba(217,75,22,.85) .85turn,rgba(217,75,22,0) 1turn);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:invcard-sweep-rot 1.15s linear infinite;pointer-events:none}@keyframes invcard-sweep-rot{to{--invcard-sweep: 1turn}}.invcard-busy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-student);color:var(--ink);animation:invcard-busy-pulse 1.6s ease-in-out infinite}@keyframes invcard-busy-pulse{0%,to{opacity:.55}50%{opacity:1}}.invcard:disabled:not(.invcard--building){opacity:.55}.invcard:disabled{cursor:default}.invcard:disabled:hover{transform:none;box-shadow:var(--shadow-object)}@media (prefers-reduced-motion: reduce){.invcard--building:before{animation:none;background:#d94b1673}.invcard-busy{animation:none}}.invown{display:flex;gap:12px;margin-top:30px;align-items:center}.invown-input{flex:1;padding:13px 18px;border-radius:var(--radius-lg);font-family:var(--font-heading);font-weight:400;font-size:var(--fs-student);border:none;background:transparent;color:var(--ink);box-shadow:0 0 0 1.5px #004e6024;transition:background .28s ease,box-shadow .34s ease}.invown-input::placeholder{color:var(--hush);font-style:italic;font-size:.88em}.invown-input:focus{outline:none;background:#e8e3d973;box-shadow:0 0 0 1.5px #007c824d,0 2px 18px #004e601a}.invoos{margin-top:26px}.invoos-msg{margin:0 0 14px;font-size:var(--fs-student);color:var(--ink-soft);max-width:56ch}.invoos-cards{display:flex;flex-direction:column;gap:10px;max-width:620px}.invoos-card{text-align:left;padding:13px 18px;border-radius:var(--radius-lg);cursor:pointer;background:var(--paper);box-shadow:var(--shadow-object);font-size:var(--fs-body);color:var(--ink);transition:transform var(--t-fast) var(--spring-soft),box-shadow var(--t-fast) ease}.invoos-card:hover:not(:disabled){transform:translateY(-2px)}.sb-choice-lead{font-size:var(--fs-body);color:var(--stone);margin-right:12px;white-space:nowrap}.sb-sepa-row{display:flex;flex-direction:column;gap:8px;margin:6px 0 clamp(36px,5vh,56px)}.sb-sepa-line{font-family:var(--font-heading);font-weight:400;font-size:clamp(19px,2.2vw,23px);color:var(--ink)}.sb-sepa-current{font-weight:500;background:linear-gradient(180deg,transparent 14%,rgba(243,193,84,.55) 14% 86%,transparent 86%);padding:0 .12em;border-radius:2px}.sb-sepa-alts{font-size:var(--fs-body);color:var(--stone);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.sb-sepa-alt{cursor:pointer;color:var(--stone);font-size:var(--fs-body);padding:0;border-bottom:1.5px dashed transparent;transition:color var(--t-fast) ease,border-color var(--t-fast) ease}.sb-sepa-alt:hover{color:var(--ink);border-bottom-color:var(--line-2)}.sb-instr-current{font-weight:500;background:linear-gradient(180deg,transparent 14%,rgba(122,108,196,.3) 14% 86%,transparent 86%);padding:0 .12em;border-radius:2px}.choice{display:inline-flex;flex-wrap:wrap;align-items:baseline}.choice-item{display:inline-flex;align-items:baseline}.choice-sep{color:var(--line-2);margin:0 12px;font-size:var(--fs-body)}.choice-opt{cursor:pointer;padding:1px 0 3px;color:var(--stone);font-size:var(--fs-body);text-align:left;border-bottom:2px solid transparent;text-decoration:underline dashed var(--line-2);text-underline-offset:3px;transition:color var(--t-fast) ease,border-color var(--t-fast) ease,text-decoration-color var(--t-fast) ease}.choice-opt:hover{color:var(--ink);text-decoration-color:var(--primary)}.choice-opt.selected{color:var(--ink);font-weight:600;border-bottom-color:var(--teal);text-decoration:none}.choice--lg .choice-opt{font-family:var(--font-heading);font-weight:400;font-size:var(--fs-student)}.choice--lg .choice-opt.selected{font-weight:500}.choice--lg .choice-sep{font-size:var(--fs-student)}.sb-rail{display:flex;flex-direction:column;align-items:stretch;max-width:680px;margin:0;padding:4px 0 0}.sb-frame{touch-action:none}.sb-frame--dragging{opacity:.3}.sb-frame--fixed{cursor:default}.frame-phase{display:flex;gap:26px}.frame-thread{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:2px}.frame-dot{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--sand-warm);color:var(--ink-soft);font-family:var(--font-heading);font-size:var(--fs-body);font-weight:500}.frame-thread-line{flex:1;width:10px;min-height:30px;opacity:.65;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='36' viewBox='0 0 10 36'%3E%3Cpath d='M5 0 C 8.5 9, 1.5 27, 5 36' fill='none' stroke='%23e3cfae' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:repeat-y;background-position:center top;background-size:10px 36px}.frame-body{flex:1;min-width:0;padding-bottom:clamp(40px,6vh,64px)}.frame-phase--error .frame-dot{background:#d94b1629;color:var(--teal-deep)}.frame-error{margin:12px 0 0;font-size:var(--fs-body);line-height:1.5;color:var(--teal-deep);max-width:54ch}.frame-label-row{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;cursor:grab}.frame-title{font-family:var(--font-heading);font-weight:600;font-size:var(--fs-display);letter-spacing:-.01em;color:var(--ink)}.frame-nature{font-size:var(--fs-body);color:var(--stone)}.frame-nature:before{content:"· "}.frame-remove{margin-left:auto;cursor:pointer;color:var(--stone);font-size:var(--fs-body-sm);padding:2px 10px;border-radius:var(--radius-pill);opacity:0;transition:opacity var(--t-fast) ease,color var(--t-fast) ease}.frame-phase:hover .frame-remove{opacity:1}.frame-remove:hover{color:var(--teal)}.frame-screen{display:flex;flex-direction:column;gap:16px}.frame-foot{display:flex;flex-direction:column;gap:9px;margin-top:18px}.frame-foot-action{align-self:flex-start;cursor:pointer;color:var(--teal);font-size:var(--fs-body);padding:0}.frame-foot-action:hover{text-decoration:underline}.frame-gen{opacity:.94}.inline-edit{position:relative;display:block;width:100%}.inline-edit-field{display:block;width:100%;box-sizing:border-box;border:none;background:transparent;resize:none;overflow:hidden;color:var(--ink);padding:4px 36px 4px 8px;margin-left:-8px;border-radius:var(--radius-md);transition:background .28s ease,box-shadow .34s ease}.inline-edit--body .inline-edit-field{font-family:var(--serif);font-size:var(--fs-student);line-height:1.5}.inline-edit--display .inline-edit-field{font-family:var(--font-heading);font-weight:400;font-size:clamp(20px,2.4vw,24px);line-height:1.35;letter-spacing:-.01em}.inline-edit-field::placeholder{color:var(--hush);font-style:italic}.inline-edit-field:hover{background:#e8e3d966}.inline-edit-field:focus{outline:none;background:#e8e3d98c;box-shadow:0 0 0 1.5px #007c8240,0 2px 18px #004e6014}.inline-edit-pencil{position:absolute;top:5px;right:8px;font-size:var(--fs-body);color:var(--stone);opacity:.32;pointer-events:none;transition:opacity var(--t-fast) ease}.inline-edit:hover .inline-edit-pencil{opacity:.85}.inline-edit:focus-within .inline-edit-pencil{opacity:0}.instrument{display:flex;flex-direction:column;gap:12px;padding:14px 18px 16px;margin-left:-18px;border-radius:var(--radius-lg)}.instrument--ai{background:#7a6cc412}.instrument-name{align-self:flex-start;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-student);color:var(--ink)}.instrument--ai .instrument-name{background:linear-gradient(180deg,transparent 14%,rgba(122,108,196,.3) 14% 86%,transparent 86%);padding:0 .12em;border-radius:2px}.instrument-question{font-size:var(--fs-body-sm);font-style:italic;line-height:1.5;color:#6f63b5;max-width:54ch}.frame-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;border-radius:var(--radius-lg);padding:16px;background:var(--sand-warm);color:var(--stone);font-size:var(--fs-body);text-align:center}.frame-gen-btn{cursor:pointer;padding:7px 16px;border-radius:var(--radius-pill);background:var(--teal);color:#fff;border:none;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body-sm)}.frame-gen-btn:disabled{opacity:.6;cursor:default}.frame-scene-preview{position:relative;border-radius:var(--radius-lg);overflow:hidden}.frame-scene-preview .phenomenon-scene{max-width:100%}.frame-media-preview{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.frame-media-img{max-width:100%;max-height:240px;border-radius:var(--radius-lg);object-fit:cover}.frame-scene-regen{position:absolute;top:8px;right:10px;cursor:pointer;font-size:var(--fs-label);padding:4px 10px;border-radius:var(--radius-pill);border:none;background:#ffffff29;color:#fff}.frame-scene-regen:disabled{opacity:.6;cursor:default}.scene-preview-loading{padding:28px;text-align:center;color:var(--stone);font-size:var(--fs-body-sm)}.frame-sim-snap{width:100%;max-width:440px;height:auto;color:var(--stone)}.frame-sim-state{display:flex;flex-wrap:wrap;gap:8px}.frame-sim-chip{font-size:var(--fs-body-sm);padding:5px 14px;border-radius:var(--radius-pill);background:var(--sand-warm);color:var(--ink-soft)}.frame-redraft{display:flex;flex-wrap:wrap;align-items:center;gap:11px;font-size:var(--fs-body);color:var(--ink)}.frame-redraft-yes{padding:6px 16px;font-size:var(--fs-body-sm)}.sb-drag-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:var(--radius-pill);background:var(--paper);box-shadow:0 0 0 1px var(--line),0 14px 30px -10px #1a141040;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-student);color:var(--ink)}.sb-add{display:flex;position:relative;padding-left:60px}.sb-add-btn{cursor:pointer;padding:8px 0;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-student);color:var(--stone);transition:color var(--t-fast) ease}.sb-add-btn:hover{color:var(--teal)}.sb-validation{margin-top:2px}.frame-shimmer{display:flex;flex-direction:column;gap:8px}.frame-shimmer-line{height:14px;border-radius:7px;background:linear-gradient(90deg,#1a14100d 25%,#1a14101a,#1a14100d 75%);background-size:200% 100%;animation:frame-shimmer-slide 1.4s ease-in-out infinite}@keyframes frame-shimmer-slide{0%{background-position:200% 0}to{background-position:-200% 0}}.mini-scatter{display:block;color:var(--ink);margin:0 auto}.mini-scatter--empty{color:var(--stone)}.mini-datacheck{display:block;color:var(--ink);margin:0 auto;max-width:100%;height:auto}.instrument-note{font-size:var(--fs-body-sm);line-height:1.5;color:var(--ink-2);max-width:54ch}.frame-sim-snap{margin:0 auto}.frame-precheck{display:flex;flex-wrap:wrap;align-items:baseline;margin-bottom:12px}.frame-precheck-preview{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.sb-settings{display:flex;flex-direction:column;gap:14px;margin-top:clamp(28px,4vh,44px)}.sb-setting{display:flex;flex-wrap:wrap;align-items:baseline}@keyframes preview-banner-drop{0%{opacity:0;transform:translate(-50%,-140%)}to{opacity:1;transform:translate(-50%)}}.preview-banner{position:fixed;top:52px;left:50%;transform:translate(-50%);z-index:199;display:flex;align-items:center;gap:16px;padding:9px 12px 9px 22px;border-radius:var(--radius-lg);background:var(--ink-soft);color:var(--bg);font-size:var(--fs-body);box-shadow:0 14px 30px -10px #1a141059;animation:preview-banner-drop .28s var(--spring-soft) both}.preview-banner-btn{border:none;background:#fff7ec29;color:var(--bg);border-radius:var(--radius-lg);padding:6px 16px;font-size:var(--fs-body-sm);cursor:pointer;transition:background var(--t-fast) ease}.preview-banner-btn:hover{background:#fff7ec47}.preview-banner~.top-bar{top:0}.pc-inline{margin:2px 0 4px}.pc-generate{align-self:flex-start}.pc-nearmiss-note{margin:4px 0 0;font-size:var(--fs-body-sm);color:var(--ink-soft);line-height:1.45}.sb-commit-error{margin:0;font-size:var(--fs-body-sm)}.pc-stages{list-style:none;margin:4px 0 10px;padding:0;display:flex;flex-direction:column;gap:3px}.pc-stage{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-label);color:var(--hush)}.pc-stage-mark{width:8px;height:8px;border-radius:50%;margin-top:4px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--stone);flex:none}.pc-stage-body{display:flex;flex-direction:column;gap:2px;min-width:0}.pc-stage-count{color:var(--stone)}.pc-activity{font-style:italic;color:var(--hush);animation:pc-sub-in .4s ease both}.pc-live-drop{color:var(--stone);text-decoration:line-through;text-decoration-color:transparent;animation:pc-drop-live 4.2s ease both}@keyframes pc-sub-in{0%{opacity:0}to{opacity:1}}@keyframes pc-drop-live{0%{opacity:0;transform:translateY(-4px)}7%{opacity:1;transform:none}50%{text-decoration-color:transparent}60%{text-decoration-color:currentColor}86%{opacity:1;transform:none}to{opacity:0;transform:translateY(8px)}}.pc-stage.is-active{color:var(--ink-soft)}.pc-stage.is-active .pc-stage-mark{background:var(--primary);box-shadow:none;animation:pc-pulse 1.2s ease-in-out infinite}.pc-stage.is-done{color:var(--ink-soft)}.pc-stage.is-done .pc-stage-mark{background:var(--sage, #7a9c72);box-shadow:none}@keyframes pc-pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.pc-skeleton{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px}.pc-skeleton-img{height:110px;border-radius:8px}.pc-skeleton-line{height:11px;border-radius:5px}.pc-skeleton-line--short{width:60%}.pc-skeleton-img,.pc-skeleton-line{background:linear-gradient(100deg,var(--line) 30%,rgba(255,247,236,.7) 50%,var(--line) 70%);background-size:200% 100%;animation:pc-shimmer 1.4s ease-in-out infinite}@keyframes pc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.pc-stage.is-active .pc-stage-mark,.pc-skeleton-img,.pc-skeleton-line,.pc-arrive,.pc-activity,.pc-live-drop{animation:none}}.pc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:8px}.pc-slot{display:flex;flex-direction:column}.pc-slot>.pc-card{flex:1}.pc-arrive{animation:pc-develop .9s ease-out both}@keyframes pc-develop{0%{opacity:0;filter:grayscale(1) blur(6px)}60%{opacity:1}to{opacity:1;filter:none}}.pc-card{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg, #fff7ec);border:1px solid var(--line);border-radius:12px}.pc-card--approved{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.pc-card-kind{font-size:var(--fs-label);font-weight:600;letter-spacing:.02em;color:var(--stone)}.pc-card-visual{min-height:110px;display:flex;align-items:center;justify-content:center}.pc-card-img{max-width:100%;max-height:190px;border-radius:8px;object-fit:cover}.pc-card-scene{width:100%}.pc-card-fact{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body);color:var(--ink);line-height:1.4;padding:10px 6px}.pc-card-gap{margin:0;font-family:var(--font-heading);font-weight:500;font-size:var(--fs-body);color:var(--ink);line-height:1.35}.pc-card--aside{opacity:.9;border-style:dashed}.pc-card-aside-note{margin:0;font-size:var(--fs-body-sm);color:var(--stone);line-height:1.4}.pc-card-sources{margin:0;font-size:var(--fs-label);color:var(--stone)}.pc-card-sources a{color:var(--stone);text-decoration:underline dashed}.pc-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:6px}.pc-act{background:none;border:none;padding:0;cursor:pointer;font-size:var(--fs-body-sm);color:var(--ink);text-decoration:underline dashed}.pc-act:hover{color:var(--primary)}.pc-act--on{color:var(--primary);font-weight:600;text-decoration:none}.pc-act--quiet{color:var(--stone)}.pc-regen{margin-top:12px;background:none;border:none;padding:0;cursor:pointer;font-size:var(--fs-body-sm);color:var(--stone);text-decoration:underline dashed}.pc-stale{margin-top:10px;padding:8px 12px;border-radius:10px;background:#d94b160f;border:1px solid rgba(217,75,22,.22);font-size:var(--fs-body-sm);color:var(--ink-soft);line-height:1.4}.pc-stale-btn{margin-left:8px;background:none;border:none;padding:0;cursor:pointer;font-size:var(--fs-body-sm);color:var(--primary);font-weight:600;text-decoration:underline dashed}.pc-dropped{margin-top:14px;font-size:var(--fs-body-sm);color:var(--stone)}.pc-dropped>summary{cursor:pointer;color:var(--stone);text-decoration:underline dashed}.pc-dropped ul{margin:8px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.pc-dropped li{line-height:1.4}.pc-dropped-label{color:var(--ink-soft)}.pc-dropped-reason{color:var(--stone)}.frame-gen-actions{display:flex;flex-direction:column;gap:8px;align-items:center}.frame-candidate-approved{gap:8px}.frame-candidate-label{font-size:var(--fs-body-sm);color:var(--ink);max-width:40ch}.scene-clip-source{position:absolute;right:8px;bottom:8px;margin:0;max-width:62%;text-align:right;font-size:var(--fs-label);line-height:1.3;color:#ffffffd9;background:#0006;padding:3px 8px;border-radius:6px}.scene-clip-source a{color:#fffffff2;text-decoration:underline dashed}html{--toy-bg: #2a3a60;--toy-surface: #364a78;--toy-ink: #e7e2d4;--toy-accent: #d94b16;--toy-accent2: #b83d10;--toy-metal: #4a5a7a}html[data-theme=crisp]{--bg: #ffffff;--bg-elev: #f5f6f8;--bg-glass: rgba(255, 255, 255, .92);--ink: #111827;--ink-soft: #374151;--quiet: #374151;--hush: #6b7280;--stone: #6b7280;--stone-soft: #e5e7eb;--sand: #d1d5db;--sand-warm: #f3f4f6;--teal: #2563eb;--teal-deep: #1d4ed8;--teal-soft: rgba(37, 99, 235, .1);--teal-band: rgba(37, 99, 235, .12);--primary: #2563eb;--primary-soft: #dbeafe;--accent: #7c3aed;--alive: #7c3aed;--accent-soft: #ede9fe;--glow-inner: rgba(37, 99, 235, .17);--glow-outer: rgba(124, 58, 237, .08);--mark-warm: #2563eb;--mark-warm-active: #1d4ed8;--mark-warm-ready: #3b82f6;--surface: #f5f6f8;--ink-2: #374151;--ink-3: #6b7280;--line: #e5e7eb;--line-2: #d1d5db;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-xl: 10px;--radius-pill: 6px;--t-fast: .15s;--t-base: .25s;--sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--serif: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--toy-bg: #1e3a60;--toy-surface: #264a78;--toy-accent: #2563eb;--toy-accent2: #1d4ed8}html[data-theme=dark]{--bg: #141210;--bg-elev: #1e1b18;--bg-glass: rgba(20, 18, 16, .9);--ink: #f0ebe4;--ink-soft: #c9bfb3;--quiet: #c9bfb3;--hush: #8a7f74;--stone: #8a7f74;--stone-soft: #2e2a25;--sand: #3a342e;--sand-warm: #1e1b18;--teal: #f06a2c;--teal-deep: #d4531a;--teal-soft: rgba(240, 106, 44, .14);--teal-band: rgba(240, 106, 44, .18);--primary: #f06a2c;--primary-soft: #3a1f0e;--accent: #60a5fa;--alive: #60a5fa;--accent-soft: #1e3a5f;--glow-inner: rgba(240, 106, 44, .22);--glow-outer: rgba(96, 165, 250, .1);--mark-warm: #f06a2c;--mark-warm-active: #d4531a;--mark-warm-ready: #f58040;--surface: #1e1b18;--ink-2: #c9bfb3;--ink-3: #8a7f74;--line: #2e2a25;--line-2: #3a342e;--shadow-object: 0 0 0 1px rgba(255, 255, 255, .06), 0 4px 14px -8px rgba(0, 0, 0, .4), 0 1px 3px -1px rgba(0, 0, 0, .2);--chart-bg-cool: #1e1b18;--sim-floor-warm: rgba(20, 18, 16, .4);--toy-bg: #141210;--toy-surface: #2e2a25;--toy-ink: #f0ebe4;--toy-accent: #f06a2c;--toy-accent2: #d4531a;--toy-metal: #55505a}html[data-theme=dark] body:before{background-image:none}html[data-theme=sketch]{--bg: #f1ede2;--bg-elev: #fbf8f1;--bg-glass: rgba(251, 248, 241, .96);--paper-2: #f1ede2;--paper-pure: #ffffff;--surface: #fbf8f1;--ink: #2b2824;--ink-soft: rgba(43, 40, 36, .53);--ink-faint: rgba(43, 40, 36, .2);--quiet: rgba(43, 40, 36, .53);--hush: rgba(43, 40, 36, .45);--stone: rgba(43, 40, 36, .45);--stone-soft: rgba(43, 40, 36, .12);--sand: rgba(43, 40, 36, .28);--sand-warm: #f1ede2;--line: rgba(43, 40, 36, .2);--line-2: rgba(43, 40, 36, .3);--ink-2: rgba(43, 40, 36, .53);--ink-3: rgba(43, 40, 36, .45);--teal: #c8552c;--teal-deep: #8a3010;--teal-soft: rgba(200, 85, 44, .12);--teal-band: rgba(200, 85, 44, .15);--primary: #c8552c;--primary-soft: rgba(200, 85, 44, .15);--alive: #c8552c;--accent: #4a8060;--accent-soft: rgba(200, 85, 44, .22);--accent-shadow: rgba(200, 85, 44, .4);--mark-warm: #c8552c;--mark-warm-active: #8a3010;--mark-warm-ready: #d87050;--glow-inner: rgba(200, 85, 44, .2);--glow-outer: rgba(74, 128, 96, .1);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 6px;--radius-xl: 10px;--radius-pill: 999px;--input-border: 2px dashed var(--ink);--shadow-object: 4px 5px 0 -1px rgba(0,0,0,.18);--shadow-card: 10px 12px 0 -1px rgba(0,0,0,.11), 22px 30px 40px -8px rgba(0,0,0,.36);--shadow-centerstage: 10px 12px 0 -1px rgba(0,0,0,.11), 22px 30px 44px -8px rgba(0,0,0,.42);--shadow-inner: 5px 7px 0 -1px rgba(0,0,0,.09), 12px 18px 26px -6px rgba(0,0,0,.26);--shadow-button: 5px 7px 0 -1px var(--accent-shadow), 10px 14px 22px -5px rgba(0,0,0,.38);--label-tracking: .05em;--chart-bg-cool: #fbf8f1;--sim-floor-warm: rgba(241, 237, 226, .4);--toy-bg: #3d2810;--toy-surface: #503520;--toy-accent: #c8552c;--toy-accent2: #8a3010}html[data-theme=sketch]{background-color:var(--bg-elev)}html[data-theme=sketch] body{font-size:18px;line-height:1.55;font-weight:400;background-color:var(--bg-elev);background-image:none}html[data-theme=sketch] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(80% 46% at 50% 110%,var(--accent-soft) 0%,transparent 70%)}html[data-theme=sketch] .top-bar{top:16px;left:16px;right:16px;height:48px;border-radius:var(--radius-xl);background:var(--bg-elev);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid var(--ink);box-shadow:var(--shadow-card)}html[data-theme=sketch] .top-bar-title{font-family:var(--font-heading);font-size:24px;font-weight:700}html[data-theme=sketch] .phase-nav{top:80px;left:16px;bottom:16px;border-radius:var(--radius-xl);background:var(--bg-elev);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid var(--ink);box-shadow:var(--shadow-card)}html[data-theme=sketch] .river{max-width:none;margin:0;padding:80px 16px 0 clamp(36px,4vw,64px)}html[data-theme=sketch] .river--has-nav{padding-left:320px}html[data-theme=sketch] .river--has-nav-compact{padding-left:104px}html[data-theme=sketch] .main-card{gap:clamp(32px,4vh,48px);background:var(--bg-elev);box-shadow:var(--shadow-centerstage);border:2px solid var(--ink);border-bottom:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:18px clamp(18px,3vw,32px) clamp(80px,15vh,240px);min-height:calc(100vh - 80px)}html[data-theme=sketch] .phase-nav-item{font-size:16px;font-weight:700;color:var(--ink-2)}html[data-theme=sketch] .phase-nav-item.locked{color:var(--stone)}html[data-theme=sketch] .phase-nav-item.active{background:var(--paper-pure);border:2px solid var(--teal);border-radius:8px;padding:8px 10px;box-shadow:4px 5px 0 -1px #0000002e}html[data-theme=sketch] .commit-primary{border-color:var(--ink);color:var(--ink);box-shadow:var(--shadow-object)}html[data-theme=sketch] .commit-primary:active:not(:disabled){transform:translate(1px,2px);box-shadow:none}html[data-theme=sketch] .commit-primary--orange{box-shadow:var(--shadow-button)}html[data-theme=sketch] .commit-primary--orange:active:not(:disabled){transform:translate(2px,3px);box-shadow:none}html[data-theme=sketch] .commit-revise{box-shadow:var(--shadow-button)}html[data-theme=sketch] .commit-revise:active:not(:disabled){transform:translate(2px,3px);box-shadow:none}html[data-theme=sketch] .btn:not(.btn-primary){border:2px solid var(--ink);color:var(--ink);box-shadow:var(--shadow-object)}html[data-theme=sketch] .btn:not(.btn-primary):active{transform:translate(1px,2px);box-shadow:none}html[data-theme=sketch] .btn-outline{border:2px solid var(--ink);box-shadow:var(--shadow-object)}html[data-theme=sketch] .btn-outline:active{transform:translate(1px,2px);box-shadow:none}html[data-theme=sketch] .write-field,html[data-theme=sketch] .write-field:hover,html[data-theme=sketch] .write-field:focus{box-shadow:none}html[data-theme=sketch] .btn-primary:active{transform:translate(2px,3px);box-shadow:none}html[data-theme=sketch] .main-card--glow{background-color:var(--bg-elev);background-image:linear-gradient(to bottom,transparent,var(--glow-inner) 70%,var(--glow-outer) 100%);background-size:100% 2400px;background-position:top;background-repeat:no-repeat}html[data-theme=sketch] .ask-sidebar{top:80px;right:16px;bottom:16px;height:auto;width:288px;border-radius:var(--radius-xl);background:var(--bg-elev);backdrop-filter:none;-webkit-backdrop-filter:none;border:2px solid var(--ink);box-shadow:var(--shadow-object);overflow:hidden}html[data-theme=sketch] .river--has-ask-sidebar{padding-right:320px}.cv-upload-zone{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.cv-upload-label{cursor:pointer}.cv-upload-input{display:none}.cv-video-wrap{position:relative;width:100%;max-width:640px;margin:8px auto}.cv-video-wrap video{width:100%;display:block;border-radius:6px}.cv-calib-canvas,.cv-overlay-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair}.cv-progress-bar{height:6px;background:var(--color-border, #ddd);border-radius:3px;overflow:hidden;margin:12px 0}.cv-progress-fill{height:100%;background:var(--color-accent, #4c78a8);transition:width .2s ease}.cv-confidence-strip{width:100%;height:32px;margin:8px 0}.cv-stat-row{font-size:var(--fs-label);color:var(--color-muted, #888);display:flex;gap:16px;margin:8px 0;flex-wrap:wrap}.cv-length-row{display:flex;align-items:center;gap:8px;margin:8px 0}.cv-length-input{width:72px;border:1px solid var(--color-border, #ddd);border-radius:6px;padding:4px 8px;font-size:var(--fs-body-sm);background:transparent;color:inherit}.cv-hint{font-size:var(--fs-label);color:var(--color-muted, #888);margin:4px 0}.author-cq-tool-badge{display:inline-flex;flex-direction:column;gap:1px;padding:2px 6px;border-radius:8px;margin-left:6px;vertical-align:middle;letter-spacing:.02em}.cq-badge-label{font-size:var(--fs-micro);font-weight:600;line-height:1.2}.cq-badge-sub{font-size:var(--fs-micro);opacity:.65;line-height:1.2}.author-cq-tool-badge--regression-linear,.author-cq-tool-badge--regression{background:#e8f0fb;color:#3b6abf}.author-cq-tool-badge--clustering-kmeans{background:#fdebd0;color:#b45309}.regression-stage{display:flex;flex-direction:column;gap:6px}.regression-stage-label,.instrument-instruction{font-size:var(--fs-body-sm);font-weight:600;color:var(--color-muted, #888)}.instrument-instruction{display:block;margin:0}.regression-form-buttons{display:flex;flex-direction:column;gap:6px;margin:0 0 8px}.regression-form-btn{display:flex;align-items:center;gap:10px;height:44px;flex:1;min-width:0;padding:0 12px;text-align:left;border-radius:7px;border:1.5px solid var(--color-border, #ddd);background:transparent;cursor:pointer;font-size:var(--fs-body);color:inherit;transition:border-color .15s,background .15s}.regression-form-btn:disabled{opacity:.35;cursor:not-allowed}.regression-form-btn.active.active--linear{border-color:#1b5f94;background:#e6eef4;color:#164e7a}.regression-form-btn.active.active--exponential{border-color:#d88533;background:#faf0e0;color:#8f5618}.regression-form-btn.active.active--quadratic{border-color:#5d8a52;background:#eaf1e7;color:#3e5d37}.regression-form-btn.active.active--logarithmic{border-color:#cf2d56;background:#fae5ea;color:#971f3d}.regression-form-icon{width:32px;height:22px;flex-shrink:0}.regression-form-name{flex:0 0 auto}.regression-form-btn-stats{display:flex;align-items:center;flex:0 0 auto;font-size:var(--fs-body-sm);opacity:0;transition:opacity .18s ease}.regression-form-btn.active .regression-form-btn-stats{opacity:1}.regression-r2{font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-muted, #666)}.regression-decide-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px}.regression-decide-chip{padding:5px 16px;border-radius:999px;border:1.5px solid var(--color-border, #ddd);background:transparent;font-size:var(--fs-body);font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.regression-decide-chip.chip--linear{border-color:#1b5f94;color:#164e7a}.regression-decide-chip.chip--exponential{border-color:#d88533;color:#8f5618}.regression-decide-chip.chip--quadratic{border-color:#5d8a52;color:#3e5d37}.regression-decide-chip.chip--logarithmic{border-color:#cf2d56;color:#971f3d}.regression-decide-chip.chip--linear[data-selected=true]{background:#e6eef4;box-shadow:0 0 0 1.5px #1b5f94}.regression-decide-chip.chip--exponential[data-selected=true]{background:#faf0e0;box-shadow:0 0 0 1.5px #d88533}.regression-decide-chip.chip--quadratic[data-selected=true]{background:#eaf1e7;box-shadow:0 0 0 1.5px #5d8a52}.regression-decide-chip.chip--logarithmic[data-selected=true]{background:#fae5ea;box-shadow:0 0 0 1.5px #cf2d56}.regression-formula{font-family:monospace;font-size:var(--fs-label-sm);color:var(--color-muted, #666)}.regression-wiggle{color:var(--color-muted, #888)}.regression-skipped{font-size:var(--fs-label-sm);color:var(--color-muted, #aaa);font-style:italic}.regression-commit-area{margin:12px 0 0;min-height:40px;display:flex;align-items:center;gap:10px}.regression-commit-area .btn[data-shown=false]{opacity:0;pointer-events:none}.regression-commit-area .btn{transition:opacity .18s ease}.regression-commit-hint{font-size:var(--fs-label-sm);color:var(--color-muted, #888)}.regression-selffit summary{font-size:var(--fs-body-sm);cursor:pointer;color:var(--color-muted, #888)}.regression-selffit-forms{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.regression-selffit-active{display:flex;flex-direction:column;gap:8px;margin-top:8px}.regression-selffit-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.regression-selffit-cancel{background:none;border:none;color:var(--color-muted, #888);font-size:var(--fs-label);cursor:pointer}.regression-selffit-hint{font-size:var(--fs-label-sm);color:var(--error, #c0392b)}.regression-selffit-done{font-size:var(--fs-label);color:var(--color-muted, #888)}.miss-meter{display:flex;flex-direction:column;gap:3px}.miss-meter-track{position:relative;height:10px;border-radius:999px;background:#00000012;overflow:visible}.miss-meter-fill{height:100%;border-radius:999px;background:#888;transition:width .12s ease}.miss-meter-notch{position:absolute;top:-2px;width:2px;height:14px;background:#2a2a2a}.miss-meter-cap{font-size:var(--fs-label-sm);color:var(--color-muted, #888)}@keyframes selffit-handle-pulse{0%{transform:scale(1);opacity:.6}70%{transform:scale(2.6);opacity:0}to{transform:scale(2.6);opacity:0}}.selffit-handle-pulse{transform-box:fill-box;transform-origin:center;animation:selffit-handle-pulse 1.6s ease-out infinite;pointer-events:none}@media (prefers-reduced-motion: reduce){.selffit-handle-pulse{animation:none;opacity:.5}}.prompt-sub{font-size:var(--fs-body-sm);color:var(--color-muted, #888);margin:-4px 0 8px}.hyp-echo{color:var(--color-ink, #2a2a2a);font-style:italic}.regression-form-btn.focus{box-shadow:0 0 0 2px var(--color-ink, #2a4f7e)}.reflection-hypothesis{font-size:var(--fs-body-sm);color:var(--color-muted, #777);margin:0 0 6px}.reflection-hypothesis .hyp-echo{color:var(--color-ink, #2a2a2a)}.vision-toggle{position:fixed;top:20px;right:20px;z-index:9000;width:40px;height:40px;border-radius:50%;border:none;background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 0 1px #1f1d1b17,0 2px 8px #1f1d1b14;color:var(--quiet);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:visible;transition:color .22s ease,box-shadow .22s ease}.vision-toggle svg{width:18px;height:18px;flex-shrink:0}.vision-toggle:hover{color:var(--ink);box-shadow:0 0 0 1px #1f1d1b29,0 2px 10px #1f1d1b1f}.vision-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.vision-label{position:absolute;right:calc(100% + 9px);top:50%;transform:translateY(-50%);font-family:var(--sans);font-size:12px;font-weight:500;color:var(--quiet);white-space:nowrap;background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:4px 9px;border-radius:7px;box-shadow:0 0 0 1px #1f1d1b17;opacity:0;pointer-events:none;transition:opacity .16s ease}.vision-toggle:hover .vision-label,.vision-toggle:focus-visible .vision-label{opacity:1}html[data-vision=on]{--bg: #FFFFFF;--bg-elev: #FFFFFF;--bg-glass: rgba(255, 255, 255, .97);--ink: #000000;--ink-soft: #2A2826;--quiet: #2A2826;--hush: #5C5852;--stone: #6B6660;--stone-soft:#8C8680;--sand: #EEEBE6;--sand-warm: #EEEBE6;--surface: #FFFFFF;--ink-2: #2A2826;--ink-3: #6B6660;--line: #8C8680;--line-2: #EEEBE6;--primary: #000000;--primary-soft: #EEEBE6;--cart-a-blue: var(--ink);--cart-b-coral: var(--ink);--impact-warm: var(--stone);--mark-warm: var(--quiet);--mark-warm-active: var(--quiet);--mark-warm-ready: var(--quiet);--sage: var(--quiet);--chart-bg-cool: var(--bg);--sim-floor-warm: rgba(0, 0, 0, 0);--teal: var(--ink);--teal-deep: var(--ink)}html[data-vision=on] .sim-cart-a .sim-cart-body,html[data-vision=on] .sim-cart-b .sim-cart-body,html[data-vision=on] .sim-cart-a .sim-cart-wheel,html[data-vision=on] .sim-cart-b .sim-cart-wheel{fill:var(--bg-elev);opacity:1}html[data-vision=on] .phase-nav-item.active .phase-nav-num{background:var(--ink);color:var(--bg)}html[data-vision=on] .phase-nav-item.done .phase-nav-num{background:var(--quiet);color:var(--bg)}html[data-vision=on] .write-field.committed,html[data-vision=on] .write-field.committed:hover,html[data-vision=on] .write-field.committed:focus{color:var(--ink)}html[data-vision=on] body{font-size:22px;line-height:1.7}html[data-vision=on] .prompt{font-size:clamp(26px,3.4vw,33px);font-weight:500}html[data-vision=on] .movement-scene .scene-text{font-size:clamp(30px,4.3vw,40px);font-weight:500}html[data-vision=on] .write-field{font-weight:500}html[data-vision=on] .movement{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}html[data-vision=on] body:before{background-image:none}html[data-vision=on] .vision-toggle{background:#fff;border:2px solid #000000;backdrop-filter:none;-webkit-backdrop-filter:none;color:#000}html[data-vision=on] .vision-label{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(0,0,0,.5);color:#000}html[data-vision=on] .pebble-wrap{color:var(--quiet);opacity:1}html[data-vision=on] :focus-visible{outline:3px solid #000000!important;outline-offset:2px!important;border-radius:2px}html[data-vision=on] .btn,html[data-vision=on] .btn-commit,html[data-vision=on] a,html[data-vision=on] [role=button]{text-decoration:underline;text-underline-offset:3px}html[data-vision=on] .btn-send,html[data-vision=on] .vision-toggle{text-decoration:none}html[data-vision=on] .ia-siteheader{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:2px solid var(--ink)}html[data-vision=on] .omni-input,html[data-vision=on] .omni-shelf-card{box-shadow:0 0 0 2px var(--ink)}html[data-vision=on] .omni-input:focus,html[data-vision=on] .omni-shelf-card:hover:not(:disabled){box-shadow:0 0 0 3px var(--ink)}html[data-vision=on] .hl:before{background:none;top:auto;bottom:0;left:0;right:0;border-bottom:4px solid var(--ink);border-radius:0;transform:none;opacity:1}html[data-vision=on] .ia-hbtn,html[data-vision=on] .ia-chip,html[data-vision=on] .ia-footlink-btn{text-decoration:underline;text-underline-offset:3px}html[data-vision=on] .eyebrow,html[data-vision=on] .ia-faint,html[data-vision=on] .omni-shelf-meta{color:var(--ink-2)}html[data-vision=on] .ia-splotch{animation:none}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.auth-screen--wide .auth-card{max-width:640px}.auth-card{width:100%;max-width:420px;background:var(--card-bg, #fff);border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:32px;box-shadow:0 12px 40px #00000014;display:flex;flex-direction:column;gap:14px;position:relative}.auth-title{margin:0;font-size:var(--fs-display);font-weight:700}.auth-sub{margin:0 0 8px;color:var(--muted, #667085)}.auth-muted{color:var(--muted, #667085)}.auth-chooser-row{display:flex;gap:16px;margin-top:8px}.auth-big-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:var(--card-bg, #fff);font-size:var(--fs-body);font-weight:600;color:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.auth-big-btn:hover{transform:translateY(-2px);border-color:var(--accent, #6366f1);box-shadow:0 8px 24px #0000001a}.auth-big-emoji{font-size:2rem}.auth-field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-body-sm);font-weight:600;color:var(--muted, #475467)}.auth-field input{padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:10px;font-size:var(--fs-body);font-weight:400;color:inherit;background:var(--input-bg, #fff)}.auth-field input:focus{outline:none;border-color:var(--primary, #d94b16)}.auth-code-input{letter-spacing:.18em;text-transform:uppercase;font-weight:700}.auth-submit{margin-top:4px;padding:12px 16px;border:none;border-radius:10px;background:var(--primary, #d94b16);color:#fff;font-size:var(--fs-body);font-weight:700;cursor:pointer}.auth-submit:hover:not(:disabled){background:var(--teal-deep, #b83d10)}.auth-submit:disabled{opacity:.5;cursor:not-allowed}.auth-submit--inline{margin:0;padding:8px 14px;font-size:var(--fs-body-sm)}.auth-link{background:none;border:none;color:var(--primary, #d94b16);cursor:pointer;font-size:var(--fs-body-sm);text-decoration:underline}.auth-home-bar{display:flex;justify-content:flex-end;align-items:center;min-height:30px}.auth-back{position:absolute;top:16px;left:16px;background:none;border:none;color:var(--muted, #667085);cursor:pointer;font-size:var(--fs-body-sm)}.auth-error{color:#d92d20;font-size:var(--fs-body-sm);margin:0}.auth-activity-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.auth-activity{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(0,0,0,.08);border-radius:12px}.auth-activity-id{display:flex;flex-direction:column;gap:2px;min-width:0}.auth-activity-name{font-weight:600}.auth-activity-code{font-size:var(--fs-label, 12.5px);color:var(--ink-3, #9a8a7a)}.auth-link--block{display:block;width:100%;padding:12px;margin-top:10px;min-height:44px;text-align:center}.auth-splash{font-size:2rem;color:var(--muted, #98a2b3)}.auth-chip-btn{border:none;background:#0000000f;border-radius:999px;padding:4px 10px;cursor:pointer;font-size:var(--fs-label);color:inherit}.auth-chip-btn:hover{background:#0000001f}.auth-classes-create{display:flex;gap:8px}.auth-classes-create input{flex:1;padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:10px;font-size:var(--fs-body);color:inherit;background:var(--input-bg, #fff)}.auth-classes-create input:focus{outline:none;border-color:var(--accent, #6366f1)}.auth-class{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:12px 14px;border:1px solid rgba(0,0,0,.08);border-radius:12px}.auth-class-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-join-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;letter-spacing:.18em;background:#0000000f;padding:4px 10px;border-radius:8px}.auth-roster{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.auth-roster-name{background:#0000000d;border-radius:6px;padding:2px 8px;font-size:var(--fs-body-sm)}.auth-assign-label{display:flex;align-items:center;gap:8px;cursor:pointer}.auth-assign-label input{width:18px;height:18px}.auth-class-actions{display:flex;gap:12px;align-items:center}.run-view{min-height:100vh;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;gap:20px}.run-bar{display:flex;align-items:center;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.run-class-name{font-size:var(--fs-student);font-weight:700;color:var(--ink);background:none;border:none;cursor:pointer}.run-count{margin-left:auto;color:var(--stone);font-weight:600}.run-join{text-align:center;padding:8px}.run-join-label{color:var(--muted, #667085);text-transform:uppercase;letter-spacing:.1em;font-size:var(--fs-label)}.run-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(3rem,12vw,7rem);font-weight:800;letter-spacing:.15em;line-height:1.1}.run-join-hint{color:var(--muted, #667085);font-size:var(--fs-body-sm)}.run-error{text-align:center}.run-roster{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-content:flex-start;flex:1}.run-name-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:var(--card-bg, #fff);min-width:110px}.run-name{border:none;background:none;font-size:var(--fs-student);font-weight:600;cursor:pointer;color:inherit}.run-name-input{font-size:var(--fs-student);font-weight:600;text-align:center;border:1px solid var(--accent, #6366f1);border-radius:8px;padding:4px 8px;width:9ch}.run-name-actions{display:flex;gap:6px;min-height:20px}.run-mini{border:none;background:#0000000f;border-radius:999px;padding:2px 8px;font-size:var(--fs-label-sm);cursor:pointer;color:var(--muted, #475467)}.run-mini:hover{background:#0000001f}.run-mini--accent{background:var(--accent, #6366f1);color:#fff}.run-merge-hint{font-size:var(--fs-label-sm);color:var(--accent, #6366f1)}.run-tray{border-top:1px dashed rgba(0,0,0,.15);padding-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.run-tray-label{color:var(--muted, #98a2b3);font-weight:600;font-size:var(--fs-body-sm)}.run-tray-item{display:inline-flex;align-items:center;gap:6px;background:#0000000a;border-radius:8px;padding:4px 8px;font-size:var(--fs-body-sm);color:var(--muted, #667085)}.run-dash{display:flex;flex-direction:column;gap:16px;width:100%;max-width:640px;margin:0 auto}.run-metrics{display:flex;gap:12px;justify-content:center}.run-metric{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;padding:14px 8px;border:1px solid var(--stone-soft, #f0e3cf);border-radius:14px;background:var(--card-bg, #fff)}.run-metric-num{font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;color:var(--ink, #1a1410);line-height:1}.run-metric-label{font-size:var(--fs-label);color:var(--stone, #9a8a7a);text-transform:uppercase;letter-spacing:.06em}.run-dash-empty{text-align:center;color:var(--stone, #9a8a7a);font-size:var(--fs-body-sm);margin:0}.run-progress{display:flex;flex-direction:column;gap:2px}.run-progress-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px}.run-progress-row:nth-child(odd){background:#00000006}.run-progress-name{font-weight:600;color:var(--ink, #1a1410)}.run-progress-step{margin-left:auto;font-size:var(--fs-body-sm);color:var(--ink-2, #5b4a3c)}.run-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--stone, #9a8a7a)}.run-dot--working{background:var(--alive, #1f7ae0)}.run-dot--finished{background:var(--sage, #7A9A7E)}.run-dot--idle{background:var(--stone, #9a8a7a)}.run-dot--not_started{background:var(--stone-soft, #d9cdb8)}.run-tidy-note{text-align:center;color:var(--muted, #667085);font-size:var(--fs-body-sm);margin:0}.run-suggestions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:640px;margin:0 auto}.run-suggestion{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid #f59e0b;background:#f59e0b14;border-radius:12px}.run-suggestion-text{font-size:var(--fs-body-sm)}.run-suggestion-actions{display:flex;gap:6px;flex-shrink:0}.auth-assigned{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.auth-assigned-chip{display:inline-flex;align-items:center;gap:6px;background:#6366f11a;color:var(--accent, #6366f1);border-radius:999px;padding:3px 10px;font-size:var(--fs-label);font-weight:600}.auth-assigned-chip button{border:none;background:none;color:inherit;cursor:pointer;font-size:var(--fs-body);line-height:1;padding:0}.auth-assign-add{border:1px dashed rgba(0,0,0,.2);background:none;border-radius:999px;padding:3px 10px;font-size:var(--fs-label);cursor:pointer;color:var(--muted, #667085)}.auth-assign-picker{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.auth-assign-option{border:1px solid rgba(0,0,0,.15);background:var(--card-bg, #fff);border-radius:8px;padding:4px 10px;font-size:var(--fs-label);cursor:pointer;color:inherit}.auth-assign-option:hover{border-color:var(--accent, #6366f1)}.auth-also{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;background:#6366f114;border:1px solid rgba(99,102,241,.3);border-radius:12px;font-size:var(--fs-body-sm)}.auth-also-chip{border:none;background:var(--accent, #6366f1);color:#fff;border-radius:999px;padding:4px 12px;font-size:var(--fs-body-sm);cursor:pointer}.run-join-main{display:flex;gap:32px;align-items:center;justify-content:center;flex-wrap:wrap}.run-join-code-block{display:flex;flex-direction:column;align-items:center;gap:8px}.run-qr{display:flex;flex-direction:column;align-items:center;gap:6px}.run-qr>svg{background:#fff;padding:10px;border-radius:12px;box-shadow:0 4px 16px #00000014}.run-qr-cap{color:var(--muted, #667085);font-size:var(--fs-label)}.auth-hint{display:flex;align-items:flex-start;gap:8px;font-size:var(--fs-label);color:var(--muted, #667085);background:#00000008;border-radius:8px;padding:8px 10px;margin:0}.auth-hint-x{border:none;background:none;cursor:pointer;color:inherit;font-size:var(--fs-body);line-height:1;margin-left:auto}.claim-bridge{position:fixed;bottom:18px;left:50%;transform:translate(-50%);z-index:1100;display:flex;align-items:center;gap:12px;max-width:92vw;padding:10px 16px;background:var(--card-bg, #fff);border:1px solid rgba(0,0,0,.1);border-radius:14px;box-shadow:0 10px 30px #00000029;font-size:var(--fs-body-sm)}.claim-bridge--form{flex-direction:column;align-items:stretch;gap:10px;width:300px}.claim-bridge--done{color:var(--sage, #4f7a52);font-weight:600}.claim-bridge-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.run-class-name:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.run-class-name-input{font-size:var(--fs-student);font-weight:700;border:1px solid var(--accent, #6366f1);border-radius:8px;padding:2px 8px;width:16ch;color:inherit;background:var(--input-bg, #fff)}.rd-wrap{max-width:1240px;margin:0 auto;padding:8px 28px 70px}.rd-river-card{position:relative;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-object);margin-top:18px;padding:20px 26px 12px;overflow:hidden}.rd-riverbed{position:absolute;left:0;right:0;bottom:0;height:9px;background:linear-gradient(90deg,#d94b1657,#1f7ae04d 55%,#7a9a7e73);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.rd-stations{display:grid;gap:0;position:relative}.rd-station{position:relative;padding-bottom:10px;text-align:center}.rd-station+.rd-station:before{content:"";position:absolute;left:0;top:14px;bottom:38px;width:1px;background:var(--line)}.rd-st-head{display:flex;flex-direction:column;align-items:center;gap:3px;height:64px}.rd-st-label{font-family:var(--font-heading);font-size:14.5px;color:var(--ink);line-height:1.2}.rd-st-count{font-size:var(--fs-label);color:var(--stone);font-variant-numeric:tabular-nums}.rd-st-count b{color:var(--ink-2);font-weight:var(--fw-semibold)}.rd-station--bank .rd-st-label,.rd-station--shelf .rd-st-label{color:var(--ink-2)}.rd-station--shelf{background:linear-gradient(180deg,#7a9a7e12,#7a9a7e24);border-radius:0 var(--radius-lg) 0 0}.rd-station--flash .rd-st-head{animation:rd-flash .9s var(--spring-soft) 2;border-radius:var(--radius-md)}@keyframes rd-flash{0%,to{background:transparent}50%{background:var(--teal-soft)}}.rd-pool{height:190px}.rd-dot-layer{position:absolute;top:0;right:0;bottom:0;left:0}.rd-dot{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:none;background:var(--sand-warm);box-shadow:0 0 0 1.5px var(--line-2),0 3px 8px -4px #1a141059;font-family:var(--font-heading);font-weight:var(--fw-medium);font-size:13.5px;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;animation:rd-pop var(--t-base) var(--spring-pop) both;transition:left var(--t-slow) var(--spring-glide),top var(--t-slow) var(--spring-glide),background var(--t-base),box-shadow var(--t-base),opacity var(--t-base)}.rd-dot:hover,.rd-dot--open{z-index:6;box-shadow:0 0 0 1.5px var(--ink),0 6px 14px -6px #1a141066}.rd-dot:focus-visible{outline:2px solid var(--alive);outline-offset:2px;z-index:6}.rd-dot--working{background:var(--paper-pure);box-shadow:0 0 0 2px var(--alive),0 3px 8px -4px #1a141059}.rd-dot--working:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid var(--alive);animation:rd-ripple 2.4s var(--spring-soft) infinite;pointer-events:none}.rd-dot--idle{opacity:.55}.rd-dot--stuck{opacity:.75}.rd-dot--stuck:before{content:"";position:absolute;left:9px;right:9px;bottom:-8px;height:3px;border-radius:2px;background:var(--impact-warm)}.rd-dot--done{background:var(--sage);color:var(--paper-pure);box-shadow:0 0 0 1.5px #7a9a7e66,0 3px 8px -4px #1a14104d}.rd-dot--waiting{background:transparent;box-shadow:inset 0 0 0 2px var(--line-2);color:var(--stone)}@keyframes rd-ripple{0%{transform:scale(1);opacity:.55}70%,to{transform:scale(1.45);opacity:0}}@keyframes rd-pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.rd-river-caption{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:10px 2px 14px}.rd-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:var(--fs-label);color:var(--stone)}.rd-lg{display:inline-flex;align-items:center;gap:6px}.rd-lg i{width:12px;height:12px;border-radius:50%;display:inline-block}.rd-lg--working i{background:var(--paper-pure);box-shadow:0 0 0 2px var(--alive)}.rd-lg--idle i{background:var(--sand-warm);box-shadow:0 0 0 1.5px var(--line-2);opacity:.55}.rd-lg--stuck i{background:var(--sand-warm);box-shadow:0 0 0 1.5px var(--line-2),0 3px 0 -1px var(--impact-warm)}.rd-lg--done i{background:var(--sage)}.rd-lg--waiting i{background:transparent;box-shadow:inset 0 0 0 2px var(--line-2)}.rd-pulse{margin-left:auto;font-size:var(--fs-body-sm);color:var(--ink-2);font-style:italic}.tnum{font-variant-numeric:tabular-nums}.rd-axis{position:absolute;top:84px;right:8px;height:190px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:var(--fs-label-sm);color:var(--stone);pointer-events:none}.rd-axis span{writing-mode:vertical-rl;text-orientation:mixed}.rd-axis i{flex:1;width:2px;border-radius:1px;background:linear-gradient(180deg,#7a9a7e8c,#d8853373)}.rd-popover{position:absolute;width:320px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:16px 18px 14px;z-index:9;animation:rd-pop var(--t-fast) var(--spring-soft) both;text-align:left}.rd-popover:before{content:"";position:absolute;top:52px;left:-6px;width:12px;height:12px;background:var(--surface);transform:rotate(45deg);box-shadow:-2px 2px 3px -2px #1a14102e}.rd-popover--flip:before{left:auto;right:-6px;box-shadow:2px -2px 3px -2px #1a14102e}.rd-popover-close{position:absolute;top:8px;right:10px;color:var(--stone);font-size:15px;padding:5px}.rd-popover-close:hover{color:var(--ink)}.rd-popover-name{font-family:var(--font-heading);font-weight:var(--fw-medium);font-size:19px;margin:0}.rd-popover-rename{font-family:var(--font-heading);font-size:17px;border:none;border-bottom:2px solid var(--primary);background:transparent;padding:2px 0;width:80%}.rd-popover-rename:focus{outline:none}.rd-popover-status{font-size:var(--fs-label);color:var(--ink-2);margin:5px 0 12px}.rd-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.rd-status-dot--working{background:var(--alive)}.rd-status-dot--idle{background:var(--line-2)}.rd-status-dot--stuck{background:var(--impact-warm)}.rd-status-dot--done{background:var(--sage)}.rd-status-dot--waiting{background:transparent;box-shadow:inset 0 0 0 2px var(--line-2)}.rd-popover-river{max-height:240px;overflow-y:auto}.rd-kept{border-left:3px solid var(--line-2);padding:2px 0 2px 12px;margin-bottom:10px}.rd-kept-label{font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--stone);display:flex;gap:6px;align-items:center}.rd-kept-text{font-size:var(--fs-label);color:var(--ink);margin-top:2px;line-height:var(--lh-snug)}.rd-kept--live{border-left-color:var(--primary)}.rd-kept--live .rd-kept-text{color:var(--ink-2);font-style:italic;animation:rd-think 2.2s ease-in-out infinite}@keyframes rd-think{0%,to{opacity:.6}50%{opacity:1}}.rd-chip-sound,.rd-chip-shaky{font-style:normal;font-size:var(--fs-label-sm);font-weight:var(--fw-semibold);border-radius:var(--radius-pill);padding:1px 7px;margin-left:auto}.rd-chip-sound{color:var(--sage);box-shadow:inset 0 0 0 1px #7a9a7e80}.rd-chip-shaky{color:var(--impact-warm);box-shadow:inset 0 0 0 1px #d8853380}.rd-popover-empty{font-size:var(--fs-label);color:var(--stone);font-style:italic}.rd-popover-admin{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:flex;gap:6px;flex-wrap:wrap}.rd-chip-btn{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-label);font-weight:var(--fw-medium);padding:6px 11px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--ink);line-height:1;transition:box-shadow var(--t-fast),color var(--t-fast)}.rd-chip-btn:hover{box-shadow:inset 0 0 0 1.5px var(--primary);color:var(--primary)}.rd-chip-btn--accent{color:var(--primary);box-shadow:inset 0 0 0 1.5px var(--primary-soft)}.rd-project-btn{font-weight:var(--fw-semibold);font-size:var(--fs-body-sm);border-radius:var(--radius-pill);padding:9px 16px;background:var(--primary);color:var(--paper-pure);box-shadow:var(--shadow-object);line-height:1;transition:background var(--t-fast),transform var(--t-fast) var(--spring-pop)}.rd-project-btn:hover{background:var(--teal-deep)}.rd-project-btn:active{transform:scale(.96)}.rd-attention{margin-top:24px}.rd-sec-label{font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--stone);display:flex;align-items:center;gap:8px;margin-bottom:10px}.rd-att-item{display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-object);padding:11px 16px;margin-bottom:9px;animation:rd-rise var(--t-slow) var(--spring-soft) both}.rd-att-text{font-size:var(--fs-body-sm);color:var(--ink-2)}.rd-att-text b{color:var(--ink);font-weight:var(--fw-semibold)}.rd-att-actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}@keyframes rd-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rd-findings{margin-top:28px}.rd-finding-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;align-items:start}.rd-finding{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-object);transition:transform var(--t-base) var(--spring-glide),box-shadow var(--t-base)}.rd-finding:hover{transform:translateY(-2px);box-shadow:var(--shadow-raised)}.rd-finding--open{grid-column:1 / -1;transform:none}.rd-finding-head{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:13px 16px;text-align:left}.rd-finding-name{font-family:var(--font-heading);font-size:15.5px;display:flex;align-items:center;gap:8px}.rd-finding-name i{width:9px;height:9px;border-radius:50%;background:var(--sage);display:inline-block}.rd-finding-q{font-size:var(--fs-label);color:var(--stone)}.rd-findings-empty{font-size:var(--fs-body-sm);color:var(--stone);font-style:italic}.rd-finding-body{margin:0;padding:0 16px 14px;display:flex;flex-direction:column;gap:11px}.rd-finding-field dt{font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--stone);margin-bottom:2px}.rd-finding-field dd{margin:0;font-size:var(--fs-body-sm);color:var(--ink);white-space:pre-wrap}.rd-merge-banner{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 16px;background:var(--teal-soft);border-radius:var(--radius-lg);font-size:var(--fs-body-sm);color:var(--ink-2)}.rd-merge-banner b{color:var(--ink)}.rd-drawer{margin-top:26px}.rd-drawer summary{cursor:pointer;font-size:var(--fs-label);font-weight:var(--fw-semibold);color:var(--stone);list-style:none;display:inline-flex;align-items:center;gap:7px}.rd-drawer summary::-webkit-details-marker{display:none}.rd-drawer summary:before{content:"▸";transition:transform var(--t-fast)}.rd-drawer[open] summary:before{transform:rotate(90deg)}.rd-drawer-body{margin-top:12px;display:flex;flex-direction:column;gap:10px}.rd-drawer-names{display:flex;flex-wrap:wrap;gap:8px}.rd-drawer-name{font-size:var(--fs-body-sm);padding:6px 12px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line-2)}.rd-tray{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--fs-body-sm);color:var(--stone)}.rd-tray-item{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-pill);background:var(--sand-warm);color:var(--ink-2);text-decoration:line-through}.rd-tray-item button{text-decoration:none}.rd-projector{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:40px;animation:rd-fadein var(--t-base) ease both}@keyframes rd-fadein{0%{opacity:0}to{opacity:1}}.rd-pj-class{font-family:var(--font-heading);font-size:clamp(19px,2.2vw,26px);color:var(--ink-2);text-align:center;max-width:34ch;margin:0}.rd-pj-main{display:flex;align-items:center;gap:64px;flex-wrap:wrap;justify-content:center}.rd-pj-code-label{font-size:15px;font-weight:var(--fw-semibold);color:var(--stone);letter-spacing:.18em;text-transform:uppercase;text-align:center;margin-bottom:8px}.rd-pj-code{font-family:var(--font-heading);font-weight:var(--fw-medium);font-size:clamp(72px,11vw,144px);letter-spacing:.1em;line-height:1;color:var(--ink)}@keyframes rd-code-in{0%{opacity:0;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes rd-qr-in{0%{opacity:0}to{opacity:1}}.rd-pj-code-letter{display:inline-block;animation:rd-code-in .36s var(--spring-pop) both}.rd-pj-qr{animation:rd-qr-in .4s ease both;animation-delay:.52s;background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-object);padding:20px;text-align:center}.rd-pj-qr-cap{font-size:var(--fs-body-sm);color:var(--stone);margin-top:8px}.rd-pj-bank{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;max-width:900px;min-height:46px}.rd-pj-name{font-family:var(--font-heading);font-size:19px;background:var(--surface);border-radius:var(--radius-pill);box-shadow:var(--shadow-object);padding:10px 20px;animation:rd-pop var(--t-base) var(--spring-pop) both}.rd-pj-pulse{font-size:18px;color:var(--ink-2);font-style:italic}.rd-pj-exit{position:fixed;bottom:22px;right:26px;opacity:.5;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--ink-2);padding:8px 12px;transition:opacity var(--t-fast)}.rd-pj-exit:hover{opacity:1;color:var(--ink)}@media (max-width: 900px){.rd-st-label{font-size:12px}.rd-axis{display:none}}@media (prefers-reduced-motion: reduce){.rd-dot,.rd-popover,.rd-att-item,.rd-pj-name,.rd-projector{animation:none;transition:none}.rd-dot--working:after,.rd-kept--live .rd-kept-text,.rd-station--flash .rd-st-head{animation:none}}.stability-shake{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}.stability-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.4}.stability-toggle input{accent-color:var(--primary);width:15px;height:15px;cursor:pointer}.star-shake-frame{margin:0 0 4px;font-size:var(--fs-body);line-height:1.5;color:var(--ink-2);max-width:46ch}.star-shake-frame em{color:var(--ink);font-style:italic}.star-shake-why{margin:0 0 4px;font-size:var(--fs-body);line-height:1.55;color:var(--ink-2);max-width:52ch}.star-shake-predict{display:inline-flex;align-items:baseline;gap:12px;flex-wrap:wrap}.star-shake-predict-q{font-size:var(--fs-body-sm);font-weight:600;color:var(--color-muted, #9a8a7a)}.star-shake-choices{display:inline-flex;gap:10px}.star-shake-choice{background:none;border:1px solid transparent;padding:3px 10px;cursor:pointer;font-family:var(--sans);font-size:var(--fs-body-sm);color:var(--ink-2);border-radius:var(--radius-sm);line-height:1.3;transition:color var(--t-fast) ease,background var(--t-fast) ease,border-color var(--t-fast) ease}.star-shake-choice:hover{color:var(--ink);border-color:var(--line-2)}.star-shake-choice.is-on{color:var(--primary);font-weight:600;background:var(--teal-soft);border-color:#d94b1666}.stability-guess{margin:0;font-size:var(--fs-body-sm);color:var(--ink-2)}.stability-report{display:flex;flex-direction:column;gap:2px}.star-reposition-btn{align-self:flex-start;margin-top:12px}.tile-confidence{margin-top:12px;padding:10px 10px 11px;display:flex;flex-direction:column;gap:8px;background:#5a4a3c0d;border-radius:var(--radius-sm)}.tile-confidence-label{font-size:var(--fs-body-sm);font-weight:600;color:var(--ink-2)}.tile-confidence-choices{display:flex;gap:8px;flex-wrap:wrap}.tile-confidence-choices .gc-choice{border-color:var(--line-2);background:#fff;padding:6px 12px}.tile-confidence-choices .gc-choice:hover{border-color:var(--ink-3, #9a8a7a)}.cluster-card--unjudged{box-shadow:inset 0 0 0 1.5px var(--line-2)}.star-judge-nudge{margin:12px 0 0;font-size:var(--fs-body-sm);color:var(--ink-2)}.star-groups-step{margin:0 0 12px;font-size:var(--fs-body-sm);font-weight:600;line-height:1.5;color:var(--color-muted, #9a8a7a);max-width:60ch}.stability-count{margin:0;font-size:var(--fs-body);color:var(--ink)}.stability-flippers{margin:0;font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.45;max-width:42ch}.group-confidence{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.group-confidence-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gc-swatch{width:11px;height:11px;border-radius:3px;flex:0 0 auto}.gc-name{font-size:var(--fs-body);color:var(--ink);min-width:9ch}.gc-choices{display:inline-flex;align-items:baseline;gap:16px;margin-left:auto}.gc-choice{background:none;border:1px solid transparent;padding:3px 10px;cursor:pointer;font-family:var(--sans);font-size:var(--fs-body-sm);color:var(--ink-2);border-radius:var(--radius-sm);line-height:1.3;transition:color var(--t-fast) ease,background var(--t-fast) ease,border-color var(--t-fast) ease,opacity var(--t-fast) ease}.gc-choice:hover{color:var(--ink);border-color:var(--line-2)}.gc-choice.is-on{color:var(--ink);font-weight:600}.tile-confidence.is-judged .gc-choice:not(.is-on){opacity:.4}.gc-choice.is-on[data-level=solid]{color:#4a6b4f;background:#7a9a7e2e;border-color:#7a9a7e8c}.gc-choice.is-on[data-level=probably]{color:#a15c17;background:#d8853329;border-color:#d8853380}.gc-choice.is-on[data-level="not sure"]{color:#b23b34;background:#e4575624;border-color:#e4575680}.cluster-card[data-confidence]{transition:background var(--t-fast) ease}.cluster-card[data-confidence=solid]{background:#7a9a7e12}.cluster-card[data-confidence=probably]{background:#d8853312}.cluster-card[data-confidence="not sure"]{background:#e4575612}.star-scene{display:flex;flex-direction:column;gap:16px}.star-scene-stage{max-width:860px}.star-sky-wrap{position:relative;width:100%;aspect-ratio:8 / 5;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 14px 44px -20px #0a0d18bf;cursor:default}.star-sky-wrap.is-pointing{cursor:pointer}.star-sky-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;background:radial-gradient(140% 115% at 78% 16%,#3a4c7a38,#0b0d1600 55%),radial-gradient(130% 125% at 22% 108%,#12162a,#080a12 64%)}@media (max-width: 640px){.star-sky-wrap{aspect-ratio:4 / 5}}.star-notebook-side{position:absolute;top:12px;right:12px;z-index:4;width:168px;display:flex;flex-direction:column;gap:8px;background:#101422b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(233,231,245,.14);border-radius:var(--radius-md);padding:10px 11px 12px}.star-notebook-side .star-notebook-label{color:#e9e7f5d9}.star-notebook-empty{margin:0;font-size:var(--fs-body-sm);color:#e9e7f594;line-height:1.4}.star-notebook-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.star-notebook-side .star-notebook-chip{width:100%;justify-content:flex-start;background:#e9e7f514;border-color:#e9e7f529;color:#e9e7f5eb}.star-notebook-side .star-notebook-chip:hover{border-color:var(--primary)}@media (max-width: 640px){.star-notebook-side{width:44%;top:10px;right:10px;padding:8px 9px 10px}.star-notebook-list{max-height:40vh}}.star-card-pop{position:absolute;z-index:6;width:min(260px,70%);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-object);padding:14px 16px 16px}.star-axis{fill:#e9e7f58c;font-family:var(--sans);font-size:11px}.star-card-anchor{position:absolute;z-index:6;pointer-events:none;right:3%;top:50%;transform:translateY(-50%);width:min(280px,42%);max-height:92%}.star-card-focus{position:static;z-index:auto;width:100%;max-height:100%;overflow-y:auto;transform-origin:center;pointer-events:auto}@media (max-aspect-ratio: 6 / 5){.star-card-anchor{right:auto;left:50%;top:auto;bottom:4%;transform:translate(-50%);width:min(320px,90%);max-height:56%}}.star-reset{position:absolute;right:12px;bottom:13px;z-index:4;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:var(--fs-body-sm);color:#e9e7f5d9;padding:6px 11px;border-radius:var(--radius-md);background:#101422a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(233,231,245,.14);transition:color var(--t-fast) ease,border-color var(--t-fast) ease}.star-reset:hover{color:#fff;border-color:#e9e7f54d}.star-card-close{position:absolute;top:6px;right:8px;z-index:1;cursor:pointer;line-height:1;background:none;border:none;font-size:20px;color:var(--ink-3, #9a8a7a);padding:2px 6px}.star-card-close:hover{color:var(--ink)}.star-a11y-list{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;list-style:none}.star-a11y-list button{position:absolute;width:1px;height:1px;overflow:hidden;background:none;border:0;color:inherit}.star-a11y-list button:focus{position:static;width:auto;height:auto}.star-exposure{position:absolute;left:14px;bottom:13px;z-index:4;display:flex;align-items:center;gap:11px;flex-wrap:wrap;padding:7px 13px;border-radius:var(--radius-md);background:#101422a8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(233,231,245,.14)}.star-exposure-label{font-size:var(--fs-body-sm);font-weight:600;color:#e9e7f5e6}.star-exposure-range{width:148px;accent-color:var(--primary);cursor:pointer}.star-exposure-count{font-size:var(--fs-body-sm);color:#e9e7f5b3;font-variant-numeric:tabular-nums}.star-readout{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 18px 20px;min-height:200px}.star-readout-empty{margin:0;font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.5}.star-readout-head{display:flex;align-items:center;gap:9px;margin:0 0 12px}.star-swatch{width:14px;height:14px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 1px var(--line-2)}.star-name{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-title);color:var(--ink);margin:0;letter-spacing:-.01em}.star-stats{margin:0 0 14px;display:flex;flex-direction:column;gap:8px}.star-stats div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.star-stats dt{font-size:var(--fs-body-sm);color:var(--ink-2);margin:0}.star-stats dd{font-size:var(--fs-body);color:var(--ink);margin:0;font-variant-numeric:tabular-nums}.star-size{display:flex;align-items:center;gap:12px;padding:2px 0 4px}.star-size-svg{flex:0 0 auto;width:120px;height:56px}.star-size-sun{fill:#ffd98a}.star-size-star{opacity:.95}.star-size-cap{fill:var(--ink-2);font-family:var(--sans);font-size:9px}.star-size-text{font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.45}.star-size-derived{display:block;color:var(--ink-2);font-size:var(--fs-label);margin-top:3px}.star-fact{margin:0;font-size:var(--fs-body);line-height:1.5;color:var(--ink-2);padding-top:12px;border-top:1px solid var(--line)}.star-add-btn{margin-top:12px;width:100%;cursor:pointer;font-family:var(--sans);font-size:var(--fs-body-sm);font-weight:600;background:var(--primary);color:var(--surface);border:none;border-radius:var(--radius-md);padding:8px 12px;transition:background var(--t-fast) ease,box-shadow var(--t-fast) ease}.star-add-btn:hover{background:var(--teal-deep, var(--primary))}.star-add-btn.is-added{background:transparent;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2)}.star-add-btn.is-added:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-2)}.star-notebook-caption{display:block;font-size:var(--fs-body-sm);color:var(--ink-2);margin-top:2px}.star-notebook-ring{fill:none;stroke:var(--primary);stroke-width:2.2;animation:star-nb-pulse 2.2s ease-in-out infinite}@keyframes star-nb-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.star-notebook-ring{animation:none;opacity:.55}}.star-notebook{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.star-notebook-label{font-size:var(--fs-body-sm);font-weight:600;color:var(--ink-2);margin-right:4px}.star-notebook-chip{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:var(--bg-elev, #fff);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:3px 9px;font-family:var(--sans);font-size:var(--fs-body-sm);color:var(--ink)}.star-notebook-chip:hover{border-color:var(--primary)}.star-notebook-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.star-scene-foot{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap;margin-top:4px}@media (max-width: 720px){.star-scene-stage{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.star-fly,.star-axis-fade{transition:none}}.star-ending{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.star-ending-h{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-hero, 30px);color:var(--ink);margin:0;letter-spacing:-.02em}.star-ending-claim{margin:0;font-size:var(--fs-student);line-height:1.5;color:var(--ink)}.star-ending-plot{display:flex;flex-direction:column;gap:10px}.star-ending-plot svg{width:100%;height:auto;background:radial-gradient(120% 100% at 30% 0%,#1a2036,#10131f 70%);border:1px solid var(--line);border-radius:var(--radius-lg)}.star-life-mover{filter:drop-shadow(0 0 4px rgba(255,255,255,.7))}.star-ending-legend{display:flex;flex-wrap:wrap;gap:8px 16px}.star-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-body-sm);color:var(--ink)}.star-legend-dot{width:11px;height:11px;border-radius:50%}.star-legend-n{color:var(--ink-2)}.star-ending-section{padding-top:14px;border-top:1px solid var(--line)}.star-ending-sub{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-title);color:var(--ink);margin:0 0 10px;letter-spacing:-.01em}.star-ending-line{margin:0 0 8px;font-size:var(--fs-body);line-height:1.55;color:var(--ink)}.star-ending-line strong{font-weight:600}.star-ending-note{margin:0;font-size:var(--fs-body);line-height:1.55;color:var(--ink-2);max-width:60ch}.star-ending-note strong{color:var(--ink);font-weight:600}.star-ending-foot{margin-top:6px}.star-ending-toggle{display:inline-flex;gap:8px}.star-view-choice{background:#fff;border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:6px 14px;font-family:var(--sans);font-size:var(--fs-body-sm);color:var(--ink-2);cursor:pointer;transition:color var(--t-fast) ease,background var(--t-fast) ease,border-color var(--t-fast) ease}.star-view-choice:hover{border-color:var(--ink-3, #9a8a7a);color:var(--ink)}.star-view-choice.is-on{color:var(--primary);font-weight:600;background:var(--teal-soft);border-color:#d94b1666}.star-ending-legend-row{display:flex;flex-direction:column;gap:8px}.star-ending-cap{font-size:var(--fs-body-sm);color:var(--ink-2)}.star-ending-label{fill:#e9e7f5d1;font-family:var(--sans);font-size:10px}.star-ending-dwarf-ring{fill:none;stroke:#fff;stroke-width:1.6;animation:star-dwarf-pulse 2s ease-in-out infinite}@keyframes star-dwarf-pulse{0%,to{opacity:.32;stroke-width:1.2}50%{opacity:.95;stroke-width:2}}@media (prefers-reduced-motion: reduce){.star-ending-dwarf-ring{animation:none;opacity:.85}}.star-ending-insights{display:flex;flex-direction:column;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.starpred-lines{display:flex;flex-direction:column;gap:16px;margin:18px 0 22px}.starpred-line{margin:0;font-size:var(--fs-student);line-height:1.7;color:var(--ink)}.starpred-choices{display:inline-flex;align-items:baseline;gap:12px}.starpred-choice{background:none;border:none;padding:2px 0;cursor:pointer;font-family:var(--sans);font-size:var(--fs-body);color:var(--ink-2);box-shadow:inset 0 -1.5px 0 var(--line-2);line-height:1.3;transition:color var(--t-fast) ease,box-shadow var(--t-fast) ease}.starpred-choice:hover{color:var(--ink);box-shadow:inset 0 -1.5px 0 var(--ink-2)}.starpred-choice.is-on{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--primary)}.starpred-commit{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.starpred-hint{font-size:var(--fs-body-sm);color:var(--ink-2)}.starq-block{margin:0 0 20px}.starq-label{display:block;font-size:var(--fs-body-sm);font-weight:600;color:var(--ink-2);margin-bottom:8px}.starq-notice,.starq-why{width:100%;font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-md);padding:10px 12px;line-height:1.5;resize:vertical}.starq-notice:focus,.starq-why:focus{outline:none;border-color:var(--primary)}.starq-choices{display:flex;flex-direction:column;gap:8px;max-width:520px}.starq-choice{text-align:left;cursor:pointer;font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 14px;line-height:1.4;transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) ease}.starq-choice:hover{border-color:var(--line-2)}.starq-choice.is-on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);color:var(--ink);font-weight:500}.starq-commit{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.starq-hint{font-size:var(--fs-body-sm);color:var(--ink-2)}.starq-kept-noticing{margin:8px 0 0;font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.5}.star-kmeans-intro{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;margin:0 0 18px;max-width:560px}.star-kmeans-diagram{flex:0 0 auto}.star-kmeans-diagram svg{width:140px;height:94px;background:var(--bg);border-radius:var(--radius-md)}.star-kmeans-dot{fill:var(--ink-2)}.star-kmeans-mid line{stroke:var(--primary);stroke-width:2.4;stroke-linecap:round}.star-kmeans-copy{flex:1 1 260px}.star-kmeans-title{font-family:var(--font-heading);font-weight:500;font-size:var(--fs-title);color:var(--ink);margin:0 0 8px;letter-spacing:-.01em}.star-kmeans-copy p{margin:0 0 8px;font-size:var(--fs-body);line-height:1.5;color:var(--ink-2)}.star-kmeans-copy strong{color:var(--ink);font-weight:600}.star-kmeans-punch{color:var(--ink)!important;padding:8px 0 2px}.star-kmeans-copy .btn{margin-top:8px}.star-how-bar{margin:0 0 8px}.star-how-btn{background:none;border:none;padding:0;cursor:pointer;font-family:var(--sans);font-size:var(--fs-body-sm);color:var(--primary);box-shadow:inset 0 -1px #d94b1659}.star-how-btn:hover{box-shadow:inset 0 -1px 0 var(--primary)}.star-how{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 18px;margin:0 0 16px}.star-how-steps{margin:0 0 10px;padding-left:20px;display:flex;flex-direction:column;gap:4px}.star-how-steps li{font-size:var(--fs-body);color:var(--ink);line-height:1.4}.star-how-why{margin:0;font-size:var(--fs-body-sm);color:var(--ink-2);line-height:1.5}.star-how-why strong{color:var(--ink);font-weight:600}
