/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.table{display:table}}:root{--ink:#111629;--night:#18213b;--night-soft:#222e51;--paper:#f3e8cf;--paper-soft:#fff8e9;--gold:#d7a44d;--gold-bright:#f2c86e;--coral:#e6755a;--teal:#82c7bd;--mist:#bdc8de;--line:#f3e8cf2b}*{box-sizing:border-box}html{background:var(--ink);min-width:320px}body{background:radial-gradient(circle at 10% 5%, #d7a44d29, transparent 23rem), radial-gradient(circle at 88% 7%, #82c7bd17, transparent 21rem), var(--ink);color:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif}button,textarea{font:inherit}button{cursor:pointer}.game-shell{min-height:100vh;padding:24px;position:relative;overflow:hidden}.game-shell:before,.game-shell:after{content:"";pointer-events:none;filter:blur(3px);border-radius:999px;position:fixed}.game-shell:before{background:#e6755a14;width:19rem;height:19rem;top:27%;left:-12rem}.game-shell:after{background:#82c7bd14;width:23rem;height:23rem;bottom:-5rem;right:-13rem}.topbar{z-index:1;justify-content:space-between;align-items:center;gap:20px;width:min(1440px,100%);margin:0 auto 18px;display:flex;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:41px;height:41px;color:var(--gold-bright);font:700 20px/1 var(--font-geist-mono), monospace;background:linear-gradient(150deg,#d7a44d36,#111629cc);border:1px solid #f2c86eb3;border-radius:12px 12px 18px 18px;place-items:center;display:grid;box-shadow:inset 0 0 0 4px #11162959,0 9px 24px #0000003d}.eyebrow,.micro-label{color:var(--gold-bright);font:700 .67rem/1.2 var(--font-geist-mono), monospace;letter-spacing:.16em;text-transform:uppercase;margin:0}.brand-name{color:var(--paper-soft);margin:2px 0 0;font-size:1.06rem;font-weight:750}.topbar-actions{align-items:center;gap:11px;display:flex}.plain-button,.icon-button{color:var(--mist);background:0 0;border:1px solid #bdc8de3d;border-radius:10px;padding:9px 12px;font-size:.82rem}.plain-button:hover,.icon-button:hover{color:var(--paper-soft);border-color:#f2c86eb8}.mission-progress{color:var(--mist);align-items:center;gap:9px;font-size:.78rem;display:flex}.mission-progress strong{color:var(--paper-soft);font-weight:700}.mission-track{background:#bdc8de2b;border-radius:999px;width:92px;height:7px;overflow:hidden}.mission-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--coral), var(--gold-bright));height:100%;transition:width .3s;display:block}.game-board{border:1px solid var(--line);z-index:1;background:#18213bd1;border-radius:22px;grid-template-columns:272px minmax(0,1fr) 300px;width:min(1440px,100%);min-height:calc(100vh - 108px);margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:0 32px 80px #0000004d}.chapter-rail,.side-panel{background:#0d1222b8}.chapter-rail{border-right:1px solid var(--line);padding:28px 18px}.side-panel{border-left:1px solid var(--line);padding:28px 20px}.chapter-rail h2,.side-panel h2{color:var(--paper-soft);letter-spacing:-.02em;margin:8px 0 4px;font-size:1.03rem}.rail-subtitle,.side-panel>p{color:var(--mist);margin:0;font-size:.78rem;line-height:1.5}.challenge-list{gap:9px;margin:26px 0 0;padding:0;list-style:none;display:grid}.challenge-item{text-align:left;width:100%;min-height:70px;color:var(--mist);background:0 0;border:1px solid #0000;border-radius:13px;grid-template-columns:30px 1fr;align-items:center;gap:10px;padding:10px;display:grid}.challenge-item:not(:disabled):hover{color:var(--paper-soft);background:#f3e8cf0d}.challenge-item.active{color:var(--paper-soft);background:linear-gradient(135deg,#d7a44d2e,#e6755a0f);border-color:#d7a44d75}.challenge-item:disabled{cursor:not-allowed;opacity:.46}.seal{width:27px;height:27px;color:var(--mist);font:700 .72rem/1 var(--font-geist-mono), monospace;border:1px solid #bdc8de52;border-radius:50%;place-items:center;display:grid}.challenge-item.done .seal{border-color:var(--teal);color:var(--teal);background:#82c7bd1f}.challenge-name{font-size:.8rem;font-weight:700;line-height:1.2;display:block}.challenge-type{font:.62rem/1.2 var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.74;margin-top:4px;display:block}.rail-footnote{color:var(--mist);background:#d7a44d0d;border:1px dashed #d7a44d4f;border-radius:13px;margin-top:28px;padding:14px;font-size:.76rem;line-height:1.48}.rail-footnote span{color:var(--gold-bright)}.puzzle-stage{background:linear-gradient(130deg,#222e5180,#18213bdb);min-width:0;padding:clamp(25px,4vw,58px)}.puzzle-stage-inner{max-width:770px;margin:0 auto}.puzzle-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.puzzle-header h1{max-width:35rem;color:var(--paper-soft);letter-spacing:-.06em;margin:8px 0 10px;font-size:clamp(2rem,4vw,3.35rem);line-height:.98}.puzzle-header .description{max-width:45rem;color:var(--mist);margin:0;font-size:.96rem;line-height:1.55}.difficulty{color:#f2c86e52;letter-spacing:2px;flex:none;align-items:center;gap:4px;padding-top:7px;font-size:1rem;display:flex}.difficulty .lit{color:var(--gold-bright)}.story-card{border-left:3px solid var(--coral);color:#e7d9c0;background:#080c1842;margin:29px 0 24px;padding:15px 17px;font-family:Georgia,Times New Roman,serif;font-size:1rem;font-style:italic;line-height:1.48}.task-tabs{border:1px solid var(--line);background:#080c1859;border-radius:10px;gap:4px;margin-bottom:13px;padding:4px;display:inline-flex}.task-tabs span{color:var(--mist);font:700 .67rem/1 var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;border-radius:7px;padding:6px 10px}.task-tabs .active{color:var(--ink);background:var(--gold-bright)}.task-prompt{color:var(--paper-soft);margin:0 0 15px;font-size:1rem;font-weight:650;line-height:1.45}.code-wrap{position:relative}.code-wrap textarea,.answer-box{resize:vertical;color:#f5efdf;background:#0f162a;border:1px solid #bdc8de59;border-radius:14px;outline:none;width:100%;transition:border-color .16s,box-shadow .16s;display:block;box-shadow:inset 0 1px #ffffff0a}.code-wrap textarea{min-height:224px;font:.86rem/1.6 var(--font-geist-mono), monospace;tab-size:4;padding:18px}.answer-box{min-height:118px;font:.9rem/1.55 var(--font-geist-mono), monospace;padding:15px}.code-wrap textarea:focus,.answer-box:focus{border-color:var(--gold-bright);box-shadow:0 0 0 3px #f2c86e1f}.editor-label{color:#bdc8de8c;font:.64rem/1 var(--font-geist-mono), monospace;letter-spacing:.08em;pointer-events:none;position:absolute;top:10px;right:12px}.task-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:13px;display:flex}.task-actions-left{align-items:center;gap:9px;display:flex}.primary-button{color:#1b1b20;background:linear-gradient(115deg, var(--gold-bright), #e5aa56);border:0;border-radius:11px;padding:11px 15px;font-size:.84rem;font-weight:850;box-shadow:0 7px 16px #0003}.primary-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.68;transform:none}.secondary-button{color:var(--mist);background:0 0;border:1px solid #bdc8de45;border-radius:10px;padding:9px 11px;font-size:.77rem}.secondary-button:hover{color:var(--paper-soft);border-color:#f2c86e94}.runtime-label{color:#bdc8dea3;font:.67rem/1.3 var(--font-geist-mono), monospace;text-align:right}.runtime-dot{background:var(--teal);width:6px;height:6px;box-shadow:0 0 10px var(--teal);border-radius:50%;margin-right:5px;display:inline-block}.result-card{background:#080c1857;border:1px solid #bdc8de38;border-radius:14px;margin-top:19px;padding:17px}.result-card.pass{background:#29676621;border-color:#82c7bd8c}.result-card.fail{background:#9e47391c;border-color:#e6755a8c}.result-card h3{color:var(--paper-soft);margin:0 0 5px;font-size:.94rem}.result-card p{color:var(--mist);margin:0;font-size:.8rem;line-height:1.48}.test-list{gap:6px;margin:13px 0 0;padding:0;list-style:none;display:grid}.test-list li{color:var(--mist);font:.7rem/1.35 var(--font-geist-mono), monospace;align-items:center;gap:8px;display:flex}.test-list .success{color:var(--teal)}.test-list .failure{color:#f29b82}.continue-button{margin-top:14px}.workshop{background:linear-gradient(140deg,#d7a44d1f,#080c1836);border:1px solid #d7a44d52;border-radius:14px;margin-top:18px;padding:18px}.workshop h3{color:var(--gold-bright);margin:0 0 7px;font-size:.91rem}.workshop p{color:#e4d8c3;margin:0;font-size:.84rem;line-height:1.52}.hint-stack{gap:8px;margin-top:12px;display:grid}.hint{border-left:2px solid var(--coral);color:var(--mist);background:#080c183d;padding:10px 11px;font-size:.78rem;line-height:1.45}.hint b{color:var(--paper-soft)}.side-block+.side-block{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.concept-tags{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.concept-tag{color:var(--teal);font:.64rem/1.2 var(--font-geist-mono), monospace;background:#82c7bd17;border:1px solid #82c7bd40;border-radius:999px;padding:6px 8px}.clue-list{gap:9px;margin:13px 0 0;padding:0;list-style:none;display:grid}.clue-list li{color:var(--mist);font-size:.76rem;line-height:1.45}.clue-list b{color:var(--paper-soft)}.hint-button{width:100%;color:var(--gold-bright);background:#d7a44d14;border:1px solid #d7a44d6b;border-radius:10px;margin-top:13px;padding:10px;font-size:.77rem;font-weight:750}.hint-button:hover{background:#d7a44d29}.hint-button:disabled{cursor:default;opacity:.5}.status-legend{gap:8px;margin-top:12px;display:grid}.status-row{color:var(--mist);justify-content:space-between;align-items:center;font-size:.74rem;display:flex}.status-pill{font:.61rem/1 var(--font-geist-mono), monospace;border-radius:999px;padding:4px 7px}.status-pill.steady{color:var(--teal);background:#82c7bd1f}.status-pill.learning{color:var(--gold-bright);background:#d7a44d1f}.room-report{text-align:center;background:linear-gradient(140deg,#f3e8cf1a,#18213be6);border:1px solid #d7a44d73;border-radius:25px;max-width:740px;margin:8vh auto;padding:clamp(28px,6vw,68px);box-shadow:0 30px 80px #0000004d}.room-report .key-orbit{border:1px solid var(--gold-bright);width:84px;height:84px;color:var(--gold-bright);border-radius:50%;place-items:center;margin:0 auto 22px;font-size:2rem;display:grid;transform:rotate(-24deg);box-shadow:inset 0 0 0 10px #d7a44d17,0 0 42px #d7a44d2e}.room-report h1{color:var(--paper-soft);letter-spacing:-.06em;margin:9px 0 13px;font-size:clamp(2.4rem,5vw,4rem)}.room-report p{max-width:38rem;color:var(--mist);margin:0 auto;line-height:1.6}.report-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0;display:grid}.report-stat{background:#080c183d;border:1px solid #bdc8de30;border-radius:13px;padding:14px}.report-stat span{color:var(--gold-bright);font:700 .66rem/1.2 var(--font-geist-mono), monospace;text-transform:uppercase;letter-spacing:.08em;display:block}.report-stat b{color:var(--paper-soft);margin-top:6px;font-size:.86rem;display:block}@media (max-width:1080px){.game-board{grid-template-columns:224px minmax(0,1fr)}.side-panel{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.side-block+.side-block{border-top:0;margin-top:0;padding-top:0}}@media (max-width:730px){.game-shell{padding:12px}.topbar{align-items:flex-start}.topbar-actions{flex-direction:column-reverse;align-items:flex-end}.game-board{min-height:0;display:block}.chapter-rail{border-right:0;border-bottom:1px solid var(--line)}.challenge-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:15px}.challenge-item{grid-template-columns:24px 1fr;min-height:57px;padding:7px}.challenge-name{font-size:.68rem}.challenge-type,.rail-footnote{display:none}.puzzle-stage{padding:27px 20px}.puzzle-header{display:block}.difficulty{padding-top:12px}.side-panel{display:block}.side-block+.side-block{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.task-actions{flex-direction:column;align-items:flex-start}.runtime-label{text-align:left}.report-grid{grid-template-columns:1fr}}
