:root{color-scheme:light;--ink:#193732;--muted:#59716b;--paper:#f3f5ef;--line:#dbe5da;--teal:#176858;--mint:#e5f2dd;--orange:#d78a35;--white:#fff;--focus:#a74b0d;font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:10px 15px;border-radius:12px;cursor:pointer;font-weight:600;min-height:44px}button:hover:enabled{background:var(--mint);border-color:#aac5b1}button:disabled{opacity:.42;cursor:default}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button.primary:hover:enabled{background:#0f5043}input{accent-color:var(--teal)}input[type=range]{width:100%;margin:8px 0 17px}input[type=checkbox],input[type=radio]{width:17px;height:17px;flex-shrink:0}select{width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:white;margin:6px 0 20px}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 4%;background:var(--white);border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:-.3px}.brand-mark{display:grid;place-items:center;background:var(--teal);color:white;border-radius:9px;width:30px;height:30px;font-size:23px}.brand-divider{color:#9cac9e;font-weight:400}.research-label{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:4px 12px}main{max-width:1480px;padding:30px 4% 0;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:11px;font-weight:700;color:var(--teal);margin:0 0 12px}h1{font-size:clamp(25px,3vw,38px);line-height:1.15;letter-spacing:-1px;margin:0 0 10px}h2{font-size:19px;line-height:1.3;letter-spacing:-.4px;margin:0 0 12px}p{margin:0 0 16px}.intro p:last-child{color:var(--muted);margin:0}.offline{font-size:12px;background:var(--mint);border-radius:20px;padding:7px 13px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(210px,250px) minmax(360px,1fr) minmax(220px,270px);gap:18px;align-items:start}.panel{background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden}.lesson-panel,.results-panel{padding:24px}.lesson-panel>label{font-size:12px;font-weight:650}.lesson-panel>p:not(.eyebrow){font-size:13px;color:var(--muted)}.prediction{border:0;background:#f3f7ef;border-radius:12px;padding:14px;margin:22px 0 0;font-size:13px}.prediction legend{font-weight:650;padding:0 3px}.prediction label,.check{display:flex;gap:8px;align-items:center;min-height:33px}.divider{height:1px;background:var(--line);margin:23px 0}.slider-label{display:flex;justify-content:space-between;align-items:baseline;gap:5px}.slider-label output{font-variant-numeric:tabular-nums;color:var(--teal);font-size:12px}.small{font-size:12px!important;color:var(--muted);margin:12px 0 0}.stage-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;gap:10px;font-size:12px;border-bottom:1px solid var(--line)}.status-dot{display:inline-block;width:7px;height:7px;background:var(--teal);border-radius:50%;margin-right:6px}#run-status{font-weight:650}canvas{display:block;width:100%;height:420px;background:#f5f8f2}.stage-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;padding:10px 16px;font-size:11px;color:var(--muted);background:#f5f8f2}.stage-legend span{display:flex;align-items:center;gap:5px}.legend-dot{height:7px;width:7px;border-radius:50%;display:inline-block}.target-dot{background:var(--orange)}.path-dot{background:var(--teal)}.transport{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:24px 12px 18px}.transport button{font-size:13px;padding:10px 12px}.readouts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:6px 18px 24px;text-align:center}.readouts span{display:block;font-size:11px;color:var(--muted)}.readouts strong{display:block;font-size:18px;letter-spacing:-.4px;margin-top:5px;font-variant-numeric:tabular-nums}.feedback{padding:16px;background:var(--mint);border-radius:12px;margin:20px 0;font-size:14px}.observation{display:flex;gap:10px;margin:18px 0}.number{flex-shrink:0;width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:11px;color:var(--teal)}.observation p{font-size:12px;color:var(--muted);margin:0}.result-actions{display:grid;gap:9px;margin:25px 0}.result-actions button{font-size:12px}details{border-top:1px solid var(--line);padding-top:16px}summary{font-size:13px;font-weight:650;cursor:pointer;min-height:30px}dl{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:12px}dd{margin:0;font-variant-numeric:tabular-nums}.scope{font-size:11px;color:var(--muted);margin:20px 0 0}footer{display:flex;justify-content:space-between;gap:16px;padding:24px 0;font-size:11px;color:var(--muted)}
@media(min-width:1400px){canvas{height:480px}}@media(max-width:1100px){.workspace{grid-template-columns:230px minmax(320px,1fr)}.results-panel{grid-column:1/-1;display:block}.observation{display:inline-flex;vertical-align:top;width:30%;margin-right:2%}.result-actions{display:flex}.result-actions button{flex:1}}@media(max-width:650px){main{padding:24px 16px 0}.topbar{padding:14px 16px}.brand{font-size:12px;gap:7px}.research-label{display:none}.intro{display:block}.offline{display:inline-block;margin-top:14px}.workspace{display:flex;flex-direction:column}.panel{width:100%}.stage-panel{order:0}.lesson-panel{order:1}.results-panel{order:2}canvas{height:350px}.observation{display:flex;width:auto;margin-right:0}.transport{gap:7px}.transport button{padding:9px 10px;font-size:12px}.stage-heading{padding:14px;font-size:11px}.readouts{padding-left:10px;padding-right:10px}.readouts strong{font-size:16px}footer{display:block}footer span{display:block;margin:4px 0}.result-actions{display:grid}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.nav-links{display:flex;gap:8px;align-items:center}.nav-link{text-decoration:none;font-size:12px;font-weight:600;padding:6px 12px;border-radius:18px;color:var(--muted);border:1px solid transparent;transition:all .15s}.nav-link:hover{background:var(--mint);color:var(--teal)}.nav-link.active{background:var(--teal);color:white;border-color:var(--teal)}
.matrix-table{border-collapse:collapse;margin:6px 0 12px;font-family:monospace;font-size:11px;background:#f8faf6;border:1px solid var(--line);border-radius:6px}.matrix-table td{padding:4px 8px;text-align:right;border:1px solid #e7efe5}
.inspector-table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:11px}.inspector-table th,.inspector-table td{padding:5px 6px;text-align:left;border-bottom:1px solid var(--line)}.inspector-table th{color:var(--muted);font-weight:600}
.slider-group{margin-bottom:12px}.digest-badge{font-family:monospace;font-size:11px;background:#eaf2e8;padding:3px 7px;border-radius:6px;color:var(--teal);word-break:break-all}

/* Studio controls remain usable on narrow screens and with touch/keyboard input. */
.topbar{flex-wrap:wrap}.nav-links{flex-wrap:wrap}
.tree-studio .panel{min-width:0}
#viewport3d{touch-action:none;cursor:grab}
#viewport3d:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
#tip-coords span{display:inline;font:inherit;color:inherit}
.error-message{color:#9b3025;font-size:12px;padding:0 18px;overflow-wrap:anywhere}
.error-message:empty{display:none}
.tree-studio .inspector-table th,.tree-studio .inspector-table td{padding:5px 3px}
.tree-studio .inspector-table td{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:650px){.nav-links{width:100%}.nav-link{flex:1;text-align:center}.tree-studio .stage-legend{font-size:10px}}
