/* VR3: a calmer workspace, one meaningful action at a time. */
.nav-more{margin-top:10px}.nav-more>summary{cursor:pointer;color:var(--muted);padding:11px 14px;font-size:12px;list-style-position:inside}.nav-more[open]>summary{color:var(--text)}
.journey-home{max-width:1100px;margin:auto}.journey-greeting{margin:12px 0 30px}.journey-greeting h1{font-size:clamp(27px,3.2vw,40px);letter-spacing:-1.2px;line-height:1.3;margin:12px 0}.journey-greeting>p{max-width:660px;color:var(--muted);line-height:1.9;font-size:15px}
.journey-feature{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:36px;border:1px solid var(--border);border-radius:22px;background:var(--surface);text-decoration:none;color:var(--text);position:relative;overflow:hidden;box-shadow:0 8px 35px #0b404008}.journey-feature>div:first-child{max-width:520px}.journey-feature h2{font-size:27px;line-height:1.4;margin:14px 0}.journey-feature p{color:var(--muted);margin-bottom:26px;line-height:1.8}.journey-feature .primary{pointer-events:none}.journey-art{display:flex;align-items:center;direction:ltr;min-width:270px}.journey-bit{display:grid;place-items:center;font:22px monospace;width:42px;height:42px;flex-shrink:0;border-radius:12px;border:1px solid var(--border);color:var(--muted)}.journey-bit.lit{background:#d9f2e6;color:#22664e;border-color:#a7d7bf}.journey-wire{height:2px;background:var(--border);width:22px}.journey-chip{background:#122e32;color:#a6ddcc;border:7px solid #e5eeeb;border-radius:24px;width:144px;height:144px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;box-shadow:0 0 0 1px #b8ccc5}.journey-chip small{font:6px monospace;letter-spacing:1px}
.journey-path{margin:32px 0}.journey-path>ol{list-style:none;padding:0;display:grid;gap:10px}.journey-item{display:flex;align-items:center;gap:18px;padding:20px 23px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);text-decoration:none}.journey-item:hover,.journey-item:focus-visible{border-color:var(--purple)}.journey-index{width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;color:var(--muted);flex-shrink:0}.journey-item>span:nth-child(2){display:grid;gap:6px;flex:1}.journey-item strong{font-size:15px}.journey-item>span>span,.journey-item>small{font-size:12px;color:var(--muted)}.journey-item.is-next{border-inline-start:3px solid #387a68}.journey-item.is-complete .journey-index{background:#d9f2e6;color:#22664e}.journey-footnote{display:flex;justify-content:center;gap:8px;color:var(--muted);font-size:12px;line-height:1.8}
.tour-invitation{display:flex;align-items:center;gap:18px;margin-bottom:24px;background:var(--surface);border:1px dashed #91b8aa;border-radius:14px;padding:20px}.tour-invitation>div{flex:1}.tour-invitation h2{font-size:16px;margin:0 0 5px}.tour-invitation p{font-size:13px;margin:0;color:var(--muted)}
.tour-coach{display:flex;align-items:center;gap:20px;border:1px solid #79ad99;border-inline-start:4px solid #397764;border-radius:16px;background:var(--surface);padding:20px;margin:0 0 28px;box-shadow:0 8px 28px #1748390b}.tour-coach>div:nth-child(2){flex:1}.tour-coach h2{font-size:19px;line-height:1.5;margin:7px 0}.tour-coach p{font-size:13px;line-height:1.8;max-width:720px;margin:0;color:var(--muted)}.tour-meter{font-size:25px;font-weight:700;direction:ltr;color:var(--text)}.tour-meter span{font-size:12px;color:var(--muted);display:block}.tour-actions{display:grid;gap:6px}.tour-target{outline:3px solid #2e8a6b!important;outline-offset:5px;background-color:#dbf1e7!important;scroll-margin:180px}.tour-target:focus-visible{outline:3px solid #136c9b!important}.journey-achievements{margin:28px 0}.journey-achievements h2{font-size:18px}.journey-achievements>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.journey-badge{border:1px solid var(--border);border-radius:15px;padding:22px 14px;color:var(--muted);text-decoration:none;display:grid;gap:12px;background:var(--surface)}.journey-badge>span{width:40px;height:40px;border-radius:50%;background:var(--bg);display:grid;place-items:center}.journey-badge small{font-size:11px;line-height:1.8}.journey-badge.earned{border-color:#83b59e;color:var(--text)}.journey-badge.earned>span{background:#d9f2e6;color:#22664e}.journey-library{margin:24px 0}.journey-library>summary{cursor:pointer;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-weight:600}.journey-library[open]>summary{margin-bottom:20px}
.loading-screen{gap:20px}.loading-circuit{display:flex;gap:10px;align-items:center;direction:ltr}.loading-circuit span{width:10px;height:10px;background:#578b7c;border-radius:50%;animation:signal-load 1.2s ease-in-out infinite}.loading-circuit span:nth-child(2){animation-delay:.2s}.loading-circuit span:nth-child(3){animation-delay:.4s}.loading-circuit i{width:38px;height:2px;background:#bdd5cd}@keyframes signal-load{0%,75%,100%{opacity:.35;transform:scale(.8)}35%{opacity:1;transform:scale(1.2)}}
[data-theme=dark] .tour-target{background-color:#213f38!important}[data-theme=dark] .journey-chip{border-color:#243a35}[data-theme=dark] .journey-bit.lit{background:#254b3d;color:#d0eddf}
@media(max-width:1100px){.journey-art{transform:scale(.8);transform-origin:center;min-width:220px}.journey-achievements>div{grid-template-columns:repeat(2,1fr)}.tour-coach{flex-wrap:wrap}.tour-actions{display:flex;width:100%;justify-content:flex-end}}
@media(max-width:720px){.journey-greeting{margin-top:4px}.journey-greeting h1{letter-spacing:-.6px}.journey-feature{padding:24px;display:block}.journey-art{display:none}.journey-feature h2{font-size:23px}.journey-item{padding:16px 12px;gap:12px}.journey-item>small{display:none}.journey-item>span>span{line-height:1.8}.tour-invitation{flex-wrap:wrap}.tour-invitation>.icon-tile{display:none}.tour-invitation .button{width:100%}.tour-coach{padding:16px;gap:14px}.tour-coach h2{font-size:16px}.tour-coach .eyebrow{font-size:9px}.tour-coach p{font-size:12px}.tour-actions .button{font-size:11px}.tour-meter{font-size:20px}.journey-achievements>div{gap:8px}.journey-badge{padding:16px 12px}.journey-badge strong{font-size:13px}.journey-library .learning-grid{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.loading-circuit span{animation:none}}
[data-motion=reduced] .loading-circuit span{animation:none}
.coding-lesson{max-width:1260px;margin:auto}.coding-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--muted);font-size:11px;margin-bottom:26px}.coding-heading h1{font-size:30px;line-height:1.4;margin:12px 0 8px;letter-spacing:-.7px}.coding-heading>p{color:var(--muted);font-size:15px;margin-bottom:25px}.coding-stepper{display:flex;gap:5px;margin:0 0 26px;padding:6px;border:1px solid var(--border);border-radius:13px;background:var(--surface);overflow:auto}.coding-stepper button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;white-space:nowrap;border:0;border-radius:8px;background:transparent;padding:11px;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}.coding-stepper button>span{display:grid;place-items:center;border:1px solid var(--border);width:21px;height:21px;flex-shrink:0;border-radius:50%;font-size:10px}.coding-stepper [aria-current]{background:#e2eee9;color:#244f42;font-weight:600}.coding-stepper button:disabled{opacity:.5;cursor:default}.coding-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start}.coding-workspace{min-width:0}.coding-task{margin-bottom:22px}.coding-task h2{font-size:20px;line-height:1.7;margin:9px 0}.coding-task>p{color:var(--muted);font-size:13px;line-height:1.9}.coding-goals{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.coding-goals>span{display:flex;gap:12px;align-items:center;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:7px 12px;font-size:12px}.coding-goals b{color:#39735c}.coding-goals code{direction:ltr}.coding-workbench{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.coding-editor-panel,.coding-trace-panel{padding:20px;min-width:0}.coding-editor-panel{border-inline-end:1px solid var(--border)}.coding-panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.coding-panel-title h2{font-size:14px;margin:0}.coding-panel-title>span{font:10px monospace;border:1px solid var(--border);padding:4px 6px;border-radius:5px;color:var(--muted)}.coding-editor-label{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.coding-editor-panel textarea{width:100%;min-height:230px;resize:vertical;border:1px solid #32424d;border-radius:10px;padding:18px 14px;background:#15232c;color:#e1efe9;font:13px/2.1 'JetBrains Mono',ui-monospace,monospace;tab-size:2;white-space:pre;overflow:auto;box-sizing:border-box}.coding-editor-panel textarea:focus{outline:2px solid #54a08a;outline-offset:2px}.coding-editor-panel textarea[readonly]{color:#bfd7ca}.coding-editor-panel>.small{font-size:10px;line-height:1.8}.coding-run-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.coding-run-row .button{font-size:12px}.coding-reference{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:20px}.coding-reference-heading{display:flex;gap:10px;align-items:center;color:#447564}.coding-reference h2{font-size:13px;line-height:1.7;margin:0}.coding-reference p{font-size:12px;line-height:2;color:var(--muted)}.coding-reference pre,.coding-complete pre{background:var(--bg);padding:14px 12px;border:1px solid var(--border);border-radius:8px;overflow:auto;text-align:left;font:11px/1.9 monospace}.coding-reference ul{list-style:none;padding:0;display:grid;gap:10px;font-size:11px;line-height:1.8}.coding-reference li{border-inline-start:2px solid #82ac9b;padding-inline-start:10px}.coding-reference summary,.coding-goal-check summary{font-size:12px;cursor:pointer;padding:12px 0;line-height:1.7}.coding-hint-zone{border-top:1px solid var(--border);margin-top:14px;padding-top:20px}.coding-hint-zone .button{white-space:normal;width:100%;font-size:11px}.coding-hint{margin-top:18px}.coding-trace-empty{text-align:center;min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center}.coding-trace-empty h3{font-size:14px;margin:18px 0 8px;line-height:1.7}.coding-trace-empty p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.coding-placeholder{display:flex;gap:10px;direction:ltr;margin-top:22px}.coding-placeholder>span{display:grid;gap:12px;padding:9px 14px;border:1px dashed var(--border);border-radius:8px;font:10px monospace;color:var(--muted)}.coding-placeholder b{font-size:16px}.coding-feedback{display:flex;align-items:flex-start;gap:9px;border-radius:9px;padding:12px;background:var(--bg);margin-bottom:20px}.coding-feedback>svg{flex-shrink:0;color:#9c743e}.coding-feedback.passed>svg{color:#32775a}.coding-feedback strong{font-size:12px}.coding-feedback p{font-size:11px;line-height:1.9;color:var(--muted);margin:6px 0 0}.coding-trace-controls{display:flex;justify-content:space-between;font-size:11px;margin-bottom:14px}.coding-trace-controls>span{color:var(--muted)}.coding-trace-list{list-style:none;padding:0;max-height:240px;overflow:auto;margin:0 0 14px}.coding-trace-list button{width:100%;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:9px 7px;border-radius:5px;text-align:left;color:var(--muted);cursor:pointer}.coding-trace-list code{flex:1;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.coding-trace-list button>span{font:9px monospace;opacity:.6}.coding-trace-list [aria-current]{background:#e1eee7;color:#264e3f}.coding-value-flow{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 3px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.coding-value-flow>span{display:grid;gap:7px;text-align:center;font:10px monospace;color:var(--muted);min-width:42px}.coding-value-flow b{font:22px monospace;color:var(--text)}.coding-value-flow .changed{background:#e1eee7;padding:10px;border-radius:8px;color:#28563f}.coding-value-flow .changed b{color:#28563f}.coding-value-flow i{font-style:normal;color:var(--muted)}.coding-trace-caption{font-size:11px;line-height:1.9;color:var(--muted)}.coding-step-buttons{display:flex;justify-content:space-between;gap:6px}.coding-step-buttons .button{font-size:10px;padding:7px}.coding-goal-check{margin-top:14px}.coding-goal-check table{width:100%;border-collapse:collapse;font-size:10px}.coding-goal-check th,.coding-goal-check td{padding:8px 4px;text-align:start;border-bottom:1px solid var(--border)}.coding-goal-check th{font-weight:500}.coding-next{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.coding-next p{color:var(--muted);font-size:12px;line-height:1.8;max-width:440px}.coding-next .button{flex-shrink:0}.coding-complete{margin:25px auto;text-align:center;max-width:600px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:40px}.coding-complete h2{font-size:27px;margin:14px 0}.coding-complete>p{color:var(--muted);font-size:14px;line-height:1.9}.coding-complete .button-row{justify-content:center;margin:26px 0 16px}.coding-complete pre{text-align:left;max-width:360px;margin:25px auto}.mission-seal{display:grid;place-items:center;width:78px;height:78px;border:1px solid #a6c9b6;box-shadow:0 0 0 9px #ddece455;border-radius:50%;background:#deeee4;color:#377254;margin:5px auto 30px;animation:mission-arrive .35s ease-out}@keyframes mission-arrive{from{opacity:.4;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
[data-theme=dark] .coding-stepper [aria-current],[data-theme=dark] .coding-trace-list [aria-current],[data-theme=dark] .coding-value-flow .changed{background:#244439;color:#c6e7d8}[data-theme=dark] .coding-value-flow .changed b,[data-theme=dark] .coding-goals b{color:#b6ddc9}[data-theme=dark] .coding-reference-heading{color:#97c3af}
@media(max-width:1250px){.coding-layout{grid-template-columns:minmax(0,1fr) 220px}.coding-workbench{grid-template-columns:1fr}.coding-editor-panel{border-inline-end:0;border-bottom:1px solid var(--border)}.coding-editor-panel textarea{min-height:170px}.coding-trace-empty{min-height:140px}.coding-trace-empty .coding-placeholder{display:none}}
@media(max-width:850px){.coding-layout{grid-template-columns:1fr}.coding-reference{order:2}.coding-stepper{scrollbar-width:thin}.coding-stepper button{font-size:10px;min-width:max-content}.coding-heading h1{font-size:25px}.coding-topline{font-size:10px;align-items:flex-start}.coding-next{align-items:flex-start;gap:12px}.coding-next p{font-size:11px;margin:0}.coding-next .button{font-size:11px}.coding-task h2{font-size:18px}.coding-complete{padding:28px 18px}.coding-complete h2{font-size:24px}.coding-value-flow{justify-content:flex-start}.coding-trace-list code{font-size:12px}.coding-reference{display:block}.coding-reference pre{font-size:12px}}
@media(prefers-reduced-motion:reduce){.mission-seal{animation:none}}[data-motion=reduced] .mission-seal{animation:none}
.mission-reward{position:fixed;bottom:25px;inset-inline-end:25px;z-index:90;display:flex;align-items:center;gap:15px;padding:18px 15px 18px 20px;border:1px solid #83b59e;border-radius:15px;background:var(--surface);box-shadow:0 12px 40px #122e3226;max-width:min(440px,calc(100vw - 32px));animation:mission-arrive .3s ease-out}.reward-check{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;flex-shrink:0;background:#d9eee2;color:#347157}.mission-reward strong{font-size:14px}.mission-reward p{font-size:11px;color:var(--muted);line-height:1.8;margin:5px 0 0}.mission-reward .icon-button{flex-shrink:0}.mission-reward svg path{stroke-dasharray:60;stroke-dashoffset:0;animation:reward-check .5s ease-out}@keyframes reward-check{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.mission-reward,.mission-reward svg path{animation:none}}[data-motion=reduced] .mission-reward,[data-motion=reduced] .mission-reward svg path{animation:none}
body[data-touractive=true] .vr2 .gate-picker,body[data-touractive=true] .vr2 .truth-panel,body[data-touractive=true] .vr2 .studio-guide,body[data-touractive=true] .vr2 .journey-library,body[data-touractive=true] .vr2 .canvas-actions,body[data-touractive=true] .vr2 .canvas-foot .button{display:none}body[data-touractive=true] .vr2 .studio-split{grid-template-columns:1fr}body[data-touractive=true] .tour-coach{position:sticky;top:10px;z-index:25}
@media(max-width:720px){body[data-tournav=true] .tour-coach{position:fixed;inset:auto 12px 12px;z-index:60;margin:0;box-shadow:0 5px 35px #10201c44}body[data-touractive=true] .tour-coach{top:8px}body[data-tournav=true] .tour-coach{top:auto}body[data-tournav=true] .content{padding-bottom:260px}}
#sidebar .nav-item.tour-target{color:#1b523f!important}[data-theme=dark] #sidebar .nav-item.tour-target{color:#c7e8da!important}
@media(max-width:850px){.coding-lesson.is-watch .coding-reference{order:-1}.coding-reference{scroll-margin:20px}}
