@charset "UTF-8";
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color-scheme:dark;color:#e8eee2;background:#111812;font-synthesis:none;--muted:#a5b19f;--line:#344337;--lime:#d6f76a;--mono:"Cascadia Code","SFMono-Regular",Consolas,monospace}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #6e941b;outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1264px;margin:auto;padding:0 48px}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;text-decoration:none;font-size:30px;font-weight:800;letter-spacing:-1.8px}.brand-ending{color:#69775b}.brand-mark{display:grid;place-items:center;transform:rotate(-5deg);width:34px;height:34px;margin-right:12px;color:#22291b;background:var(--lime);border:1px solid #a6c34d;font-size:31px;border-radius:6px;letter-spacing:0}.site-header nav{display:flex;gap:30px}.nav-button{background:none;border:0;padding:10px 0;font-size:13px;font-weight:600}.nav-button span{margin-left:10px;color:#6e7668}.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:56px;padding:59px 0 46px}.eyebrow,.small-label,.section-label,.terminal-bar,.message-label,.level-badge{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:1.25px}.eyebrow{display:flex;align-items:center;gap:9px;color:#59634d;margin:0 0 20px}.live-dot{display:inline-block;background:#7c9d32;width:6px;height:6px;border-radius:50%}h1{font-size:clamp(42px,4.7vw,62px);letter-spacing:-3.5px;line-height:1.05;margin:0;font-weight:650}h1 span{color:#778368}.hero-description{max-width:315px;padding-bottom:4px;font-size:14px;line-height:1.7;color:var(--muted)}.hero-description p{margin:0 0 10px}.hero-description p:first-child{color:#353b2e;font-weight:600}.small-label{display:block;font-size:9px;margin-top:22px;color:#58624c}.game-grid{display:grid;grid-template-columns:232px minmax(0,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sidebar{border-right:1px solid var(--line);padding:29px 26px 28px 0}.section-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.8px;color:#77806d}.section-label span{color:#414c34}progress{appearance:none;display:block;height:3px;width:100%;border:0;background:#e2e6da;margin:17px 0 24px;color:#8da94e}progress::-webkit-progress-bar{background:#e2e6da}progress::-webkit-progress-value{background:#8da94e}progress::-moz-progress-bar{background:#8da94e}.level-list{list-style:none;padding:0;margin:0}.level-list li{display:flex;align-items:center;gap:12px;margin:6px 0;padding:12px 10px;font-size:12px;color:#7d8575;border:1px solid transparent;border-radius:5px;min-height:42px}.level-list li.current{background:#eaf0de;border-color:#d9e2c6;color:#253517;font-weight:650}.level-list li.done{color:#455c2b}.level-number{font:10px var(--mono);color:#929b87;min-width:19px}.current .level-number{color:#587d20}.level-status{margin-left:auto;font-size:12px}.session-stats{border-top:1px solid var(--line);padding-top:20px;margin:30px 0 20px}.session-stats div{display:flex;justify-content:space-between;font-size:11px;margin:0 0 13px;color:var(--muted)}.session-stats strong{font:11px var(--mono);color:#3b442f}.text-button{border:0;background:none;padding:7px 0;color:#69765b;font-size:12px}.text-button:hover,.nav-button:hover{color:#2f4615}.game-panel{padding:29px 0 32px 36px;min-width:0}.challenge-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:25px}.challenge-heading .eyebrow{margin-bottom:9px;font-size:9px}h2{font-size:26px;line-height:1.15;letter-spacing:-.8px;margin:0 0 10px;font-weight:650}.muted{color:var(--muted);font-size:12px;line-height:1.6;margin:0}.level-badge{border:1px solid #d4dacb;border-radius:50%;min-width:43px;height:43px;display:grid;place-items:center;color:#748064;font-size:15px;margin-top:8px}.terminal{border:1px solid #252e25;border-radius:9px;overflow:hidden;background:#191e1a;color:#e5ecdc;box-shadow:0 4px 10px #2333130c}.terminal-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;border-bottom:1px solid #343b31;font-size:9px;letter-spacing:.7px;color:#a3b496;background:#20271f}.terminal-dot{display:inline-block;background:var(--lime);width:5px;height:5px;border-radius:50%;margin-right:7px}#response-state{font-size:8px;color:#a0b78b}.transcript{padding:22px 22px 18px;min-height:155px;max-height:340px;overflow:auto;scrollbar-color:#5a654b #191e1a}.message{margin-bottom:22px;overflow-wrap:anywhere}.message:last-child{margin-bottom:0}.message-label{font-size:9px;color:#b6d28e}.message p{white-space:pre-wrap;font-family:var(--mono);font-size:12px;line-height:1.8;margin:10px 0 0;color:#dae2d2}.message.user .message-label{color:#85917b}.message.user p{color:#aeb9a3}.message.blocked p{color:#e0c487}.prompt-form{margin:0 13px 13px;padding:15px;border:1px solid #424c38;border-radius:5px;background:#252d23}.prompt-form textarea{width:100%;display:block;resize:vertical;border:0;background:transparent;color:#e2e9d9;min-height:69px;max-height:260px;padding:0;font:12px/1.7 var(--mono)}.prompt-form textarea::placeholder{color:#929e87}.prompt-form textarea:focus-visible{outline:0;box-shadow:0 2px #a7c775}.prompt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.input-meta{display:flex;gap:15px;font:9px var(--mono);color:#94a184}.keyboard-hint{color:#7f8b73}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:40px;padding:11px 17px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s}.primary{background:var(--lime);color:#29311d}.primary:hover:not(:disabled){background:#e1ff83}.dark{background:#2a3524;color:#f4f7ed}.dark:hover:not(:disabled){background:#435735}.secondary{background:#f5f7ef;color:#435338;border-color:#d4dccb}.hint{margin:15px 0 25px;font-size:11px;color:#6a785c}.hint summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:5px 0}.hint summary::-webkit-details-marker{display:none}.hint p{line-height:1.6;margin:9px 0 0;padding-left:12px;border-left:2px solid #bfd28e}.hint[open] summary span{transform:rotate(45deg)}.guess-form{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px}.guess-form label{font-size:12px;font-weight:600}.guess-form p{font-size:10px;color:var(--muted);margin:7px 0 0}.guess-controls{display:flex;gap:8px;min-width:0}input{background:#fff;border:1px solid #d1d7c8;border-radius:5px;padding:11px 12px;min-width:0;color:#35412a}#password{width:160px;font:11px var(--mono);text-transform:uppercase;letter-spacing:1px}input::placeholder{color:#8c957f;font-size:10px}.site-footer{display:flex;justify-content:space-between;gap:16px;color:#8a9280;font-size:10px;padding:24px 0 30px}.footer-divider{margin:0 12px;color:#b6bdad}.notice,.connection-error{padding:15px 18px;margin:0 0 22px;border:1px solid #c8d9a7;border-radius:6px;background:#edf4e0;font-size:12px;line-height:1.6}.notice.error,.connection-error{border-color:#dac8b9;background:#f7eee5;color:#734b2f}.connection-error{display:flex;align-items:center;justify-content:space-between;gap:18px}.connection-error p{margin:0}.completion{padding:50px 36px;text-align:center;align-self:center}.success-symbol{display:grid;place-items:center;width:70px;height:70px;background:var(--lime);border-radius:16px;font-size:52px;transform:rotate(-6deg);margin:0 auto 28px}.completion .eyebrow{justify-content:center}.completion h2{font-size:46px;letter-spacing:-2px}.completion>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted)}.completion-stats{font-family:var(--mono)}#name-form{margin:27px auto 18px;max-width:430px}#name-form label{font-size:12px;display:block;text-align:left;margin-bottom:10px}.name-controls{display:flex;gap:8px}.name-controls input{flex:1;width:0}dialog{border:1px solid #d5ddc9;border-radius:12px;padding:30px;max-width:560px;width:calc(100% - 32px);background:#f8faf3;color:#2f3827;box-shadow:0 25px 100px #111a1840}dialog::backdrop{background:#1b2615a6;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-heading .eyebrow{margin:0}.close-button{background:transparent;border:0;font-size:26px;color:#6e7b60;padding:0 5px}.instructions{padding-left:20px;font-size:13px;line-height:1.8}.instructions li{padding-left:8px;margin:20px 0}.instructions strong{display:block}.dialog-note,dialog>p{font-size:12px;line-height:1.8;color:#69765b}.dialog-note{border-top:1px solid var(--line);padding-top:16px;margin-bottom:25px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.leaderboard-table{border-collapse:collapse;width:100%;font-size:12px;margin:22px 0;text-align:left}.leaderboard-table th{font:9px var(--mono);color:#7b896b;padding:10px 8px;border-bottom:1px solid var(--line)}.leaderboard-table td{padding:13px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;max-width:220px}.leaderboard-empty{padding:24px 0;font-size:13px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:16px;background:var(--lime);padding:12px;z-index:5}.skip-link:focus{top:10px}
@media(min-width:1400px){.hero{padding-top:70px;padding-bottom:56px}.transcript{min-height:180px}.site-header{height:112px}}
@media(max-width:1050px){.shell{padding-left:30px;padding-right:30px}.game-grid{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-right:20px}.game-panel{padding-left:26px}.hero{gap:30px}.hero-description{max-width:265px}.keyboard-hint{display:none}.guess-form{align-items:flex-start;flex-direction:column;gap:16px}.guess-controls{width:100%}#password{width:auto;flex:1}.level-list li{font-size:11px;gap:8px;padding-left:7px;padding-right:7px}}
@media(max-width:700px){.shell{padding-left:20px;padding-right:20px}.site-header{height:80px}.brand{font-size:26px}.brand-mark{width:28px;height:28px;font-size:25px;margin-right:9px}.site-header nav{gap:16px}.nav-button{font-size:11px}.nav-button span{display:none}.hero{display:block;padding:35px 0 30px}h1{font-size:47px;letter-spacing:-2.8px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-description{max-width:100%;margin-top:24px;font-size:13px}.small-label{margin-top:17px}.game-grid{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:20px 0 15px}.section-label{font-size:9px}progress{margin:12px 0 14px}.level-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.level-list li{flex:1;justify-content:center;min-width:0;padding:10px 3px;margin:0;gap:0;min-height:35px;border-color:var(--line)}.level-title,.level-status{display:none}.level-number{min-width:0}.session-stats{display:flex;gap:20px;border:0;padding:0;margin:15px 0 0}.session-stats div{gap:10px;margin-bottom:0;font-size:10px}.session-stats strong{font-size:10px}#reset-button{font-size:10px;margin-top:8px}.game-panel{padding:25px 0}.challenge-heading{margin-bottom:20px}.challenge-heading h2{font-size:24px}.challenge-heading .muted{font-size:11px}.terminal-bar{padding:13px 14px;font-size:8px}.transcript{padding:18px 16px;min-height:145px;max-height:300px}.message p{font-size:11px}.prompt-form{margin:0 9px 9px;padding:12px}.prompt-form textarea{font-size:11px}.prompt-toolbar{gap:8px}.button{padding:11px 13px;font-size:11px;gap:10px}.input-meta{font-size:8px}.guess-form{padding-top:20px;gap:14px}.site-footer{flex-direction:column;font-size:9px;gap:10px;padding:23px 0}.completion{padding:35px 0}.completion h2{font-size:37px}.completion .eyebrow{font-size:9px}dialog{padding:23px}.connection-error{align-items:flex-start}.level-badge{width:38px;min-width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.level-list li{padding:0}.level-select{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:12px 10px;text-align:left;border:0;border-radius:5px;background:transparent;color:inherit;font:inherit;cursor:pointer}.level-select:hover:not(:disabled),.level-select:focus-visible{background:#eaf0de;outline:2px solid #8da94e;outline-offset:-2px}.level-select:disabled{cursor:default}.level-select .level-status{margin-left:auto}@media(max-width:700px){.level-select{justify-content:center;min-height:35px;padding:10px 3px;gap:0}}
.level-help{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.5}

/* The game opens in dark mode on every device. */
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:var(--lime)}
.brand-ending{color:#9bc776}.brand-mark{border-color:#bad96b}
.nav-button span,.eyebrow,.small-label,.section-label,.section-label span,h1 span{color:#a6bb96}
.hero-description p:first-child{color:#e3ebda}
progress,progress::-webkit-progress-bar{background:#303d30}
.level-list li{color:#a0afa0}
.level-list li.current,.level-select:hover:not(:disabled),.level-select:focus-visible{background:#2c4129;border-color:#587846;color:#eef9e4}
.level-list li.done,.current .level-number{color:#b4dd86}
.level-number{color:#adbb9f}
.session-stats strong{color:#dce9d3}
.text-button,.hint,.hint summary{color:#badb9b}
.text-button:hover,.nav-button:hover{color:#e1ffae}
.level-badge{border-color:#52664d;color:#c2d6b4}
.terminal{border-color:#455542;box-shadow:0 8px 30px #0005}
.secondary{background:#273529;color:#e3efda;border-color:#52664d}
.secondary:hover:not(:disabled){background:#364b35}
.dark{background:#40583a;color:#f5fbea}
.dark:hover:not(:disabled){background:#55754a}
.hint p{border-left-color:#81a965}
input{background:#1c281e;border-color:#53654f;color:#edf5e5}
input::placeholder{color:#abb9a3}
.site-footer{color:#a2af9c}.footer-divider{color:#758772}
.notice,.connection-error{border-color:#597848;background:#273b25;color:#e1f3d7}
.notice.error,.connection-error{border-color:#946e52;background:#3a2b23;color:#f2d3bb}
dialog{border-color:#52664d;background:#1b261d;color:#e8eee2;box-shadow:0 25px 100px #0009}
dialog::backdrop{background:#080e0bc9}
.close-button,.dialog-note,dialog>p{color:#b1c3a5}
.leaderboard-table th,.leaderboard-empty{color:#aebfa4}
