@import url('/fonts.css');
:root{--bg:#10110f;--panel:#151611;--ink:#d6d1bd;--muted:#878a78;--line:#303229;--acid:#c4c69f;--red:#b35d45;--mono:'Courier New',monospace;--serif:Georgia,'Times New Roman',serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{cursor:wait;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--acid);outline-offset:5px}button{border:0}button, .primary{transition:background .2s,color .2s,transform .2s}.plain{background:none;padding:8px 0;font:12px var(--mono);letter-spacing:1.2px;color:var(--muted)}.plain:hover{color:var(--ink)}.outline{border:1px solid var(--line);background:transparent;padding:12px 17px;font:12px var(--mono);letter-spacing:1.5px}.outline:hover{border-color:var(--muted);background:#ffffff05}.primary{background:var(--acid);color:#1b2018;padding:19px 25px;font:bold 13px var(--mono);letter-spacing:1.7px;display:inline-flex;align-items:center;justify-content:space-between;gap:45px}.primary:hover{background:#dedfc0;transform:translateY(-1px)}.primary span{font-size:19px}.grain{pointer-events:none;position:fixed;inset:0;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.22' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.065}.topbar{height:100px;margin:0 5.2%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:15px var(--serif);letter-spacing:3px}.brand svg{width:35px;fill:none;stroke:var(--ink);stroke-width:1}.brand small{display:block;font:12px var(--mono);letter-spacing:2px;color:var(--muted);margin-top:7px}.topbar nav{display:flex;align-items:center;gap:26px}.connection{font:12px var(--mono);letter-spacing:1.4px;color:var(--muted)}.connection i,.evidence-top i{width:5px;height:5px;display:inline-block;border-radius:50%;background:var(--acid);margin-right:8px}.volume-label{width:46px;display:flex}input[type=range]{width:100%;accent-color:var(--acid);height:3px}.eyebrow{font:12px/1.5 var(--mono);letter-spacing:2px;color:var(--muted)}.red-line{display:inline-block;background:var(--red);width:25px;height:1px;vertical-align:middle;margin-right:10px}#landing{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1fr;padding:45px 8% 0;min-height:calc(100svh - 100px);position:relative;align-items:center}.landing-copy{padding:25px 0 50px;z-index:1}.landing-copy h1{font:clamp(48px,5.1vw,82px)/1.08 var(--serif);font-weight:normal;letter-spacing:-3px;margin:30px 0}.landing-copy h1 em{font-weight:normal;color:#a7aa85}.intro{font-size:16px;line-height:1.9;color:#919482;margin-bottom:30px}.small-note{font:12px var(--mono);color:#707563;letter-spacing:.4px;margin-top:17px}.landing-facts{display:flex;gap:40px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);max-width:380px}.landing-facts span{font:12px var(--mono);letter-spacing:2px;color:var(--muted)}.landing-facts b{font:23px var(--serif);display:block;color:var(--ink);letter-spacing:0;margin-bottom:4px}.hero-art{width:100%;max-width:620px;align-self:center;margin-top:-20px}.hero-art svg{display:block;width:100%;max-height:650px}.art-caption{display:flex;justify-content:space-between;font:11px var(--mono);letter-spacing:1.5px;color:#737762;gap:12px;padding:0 25px}.landing-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;font:12px var(--mono);letter-spacing:1.2px;color:#777b67;border-top:1px solid var(--line);padding:23px 0;margin-top:30px}.landing-footer span:first-child{color:#a8ac8a}#game{display:grid;grid-template-columns:100px 1fr;max-width:1280px;margin:0 auto;padding:30px 55px 0;gap:55px}#game[hidden],#landing[hidden],[hidden]{display:none!important}.progress-rail{display:flex;align-items:center;flex-direction:column;gap:16px;padding-top:10px;border-right:1px solid var(--line);padding-right:30px}.rail-label{font:12px var(--mono);letter-spacing:2px;color:var(--muted)}.progress-rail strong{font:37px var(--serif);font-weight:normal}.rail-track{height:260px;width:1px;background:var(--line);margin:10px 0;position:relative}.rail-track>div{width:1px;background:var(--acid);height:1%;transition:height 1s}.rail-bottom{font:12px var(--mono);color:var(--muted)}#map-button{font-size:23px}.room{min-width:0}.room-meta{display:flex;justify-content:space-between;color:var(--muted);font:12px var(--mono);letter-spacing:1.6px;padding:10px 0 20px;border-bottom:1px solid var(--line);gap:10px}#saved{font-size:11px;color:#8e9a72}.room-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px}.room-heading h1{font:36px/1.2 var(--serif);font-weight:normal;margin:7px 0 10px;letter-spacing:-.8px}.difficulty{display:flex;gap:3px;align-items:flex-end}.difficulty i{display:block;width:3px;background:#303428;height:9px}.difficulty i:nth-child(2n){height:14px}.difficulty i.active{background:#999c7a}.lore{max-width:650px;font:italic 17px/1.7 var(--serif);color:#969985;border-left:1px solid #5e644d;padding-left:17px;margin:17px 0 26px}.evidence-frame{background:#131510;border:1px solid #30372b;position:relative;box-shadow:0 20px 60px #0000001a}.evidence-frame:before,.evidence-frame:after{content:'+';position:absolute;font:14px var(--mono);color:#858d71;top:-9px;left:-5px}.evidence-frame:after{left:auto;right:-5px}.evidence-top,.evidence-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;color:#707965;font:12px var(--mono);letter-spacing:1.4px}.evidence-top{border-bottom:1px solid #262d23}.evidence-top i{background:#858e69;width:4px;height:4px}.evidence-bottom{border-top:1px solid #262d23;padding:8px 18px;font-size:11px}.evidence-bottom button{font-size:12px}.evidence{min-height:235px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:32px 30px;background:radial-gradient(ellipse at 50% 30%,#30372422,transparent 70%);overflow:auto}.evidence pre{font:16px/2 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;text-align:center;max-width:100%;color:#babfa5;margin:0}.evidence.code pre{text-align:left;font-size:16px;letter-spacing:.5px}.evidence .door-icon{width:68px;height:91px;border:1px solid #646d51;border-radius:40px 40px 0 0;display:grid;place-items:center;color:#9ca37c;font:32px var(--serif);position:relative}.door-icon:after{content:'';height:4px;width:4px;border-radius:50%;background:var(--red);position:absolute;right:9px;bottom:30px}.evidence img{max-width:100%;max-height:360px;display:block}.evidence .image-caption{font:12px var(--mono);letter-spacing:1px;color:var(--muted)}.grid-view{display:grid;gap:8px}.grid-row{display:flex;gap:8px}.grid-cell{width:39px;height:39px;display:grid;place-items:center;background:#1c2118;border:1px solid #39412d;font:18px var(--mono)}.prompt{font:15px/1.8 Arial,sans-serif;color:#989f8b;max-width:730px;margin:22px 0}.answer-row{display:flex;align-items:center;border-bottom:1px solid #686f52;gap:15px;margin-top:8px;background:#171b13}.answer-row>span{padding-left:20px;font:20px var(--mono);color:#737e5b}.answer-row input{min-width:0;flex:1;background:none;color:var(--ink);border:0;padding:19px 0;font:18px var(--mono);outline-offset:0}.answer-row input::placeholder{color:#68715c;font:16px var(--serif);font-style:italic}.answer-row .primary{padding:16px 21px;gap:30px}.answer-row .primary span{font-size:18px}#answer-form>label,#notes-dialog label{font:12px var(--mono);letter-spacing:1.7px;color:var(--muted)}#feedback{min-height:22px;color:#bd8169;font:13px var(--mono);margin:11px 0}.room-actions{display:flex;gap:25px;justify-content:space-between;padding-bottom:22px}.room-actions button{font-size:12px}.room-footer{display:flex;justify-content:space-between;font:11px var(--mono);letter-spacing:1.6px;color:#59614f;padding:20px 0 25px;border-top:1px solid var(--line);gap:10px}.hint-panel{background:#1b1c14;border:1px solid #494d36;padding:22px;margin-bottom:20px}.hint-panel p{white-space:pre-wrap;font:14px/1.8 var(--mono);color:#b0b397}.hint-panel button{font-size:12px}.switches{display:flex;gap:20px}.switch{background:#24291e;border:1px solid #576145;padding:15px 20px;font:18px var(--mono)}.switch.on{background:var(--acid);color:#14190f}.audio-button{background:#282e21;border:1px solid #66734b;padding:15px 25px;font:13px var(--mono);letter-spacing:2px}.waveform{display:flex;height:40px;align-items:center;gap:4px}.waveform i{width:2px;background:#89966c;display:block}.symbol-option{background:none;border:1px solid var(--line);font-size:25px;padding:10px;margin:4px}.symbol-option:hover{border-color:var(--acid)}dialog{background:#171a13;color:var(--ink);border:1px solid #4a523d;padding:32px;width:min(650px,calc(100% - 30px));max-height:85svh;box-shadow:0 30px 150px #000b}dialog::backdrop{background:#080b08d9;backdrop-filter:blur(8px)}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:20px}.dialog-head h2{font:30px var(--serif);font-weight:normal;margin:7px 0}.close{font-size:19px;padding:0 4px}.muted,dialog p{color:#929b83;font-size:14px;line-height:1.8}dialog h3{font:15px var(--serif);font-weight:normal}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.menu-grid button{text-align:left;font-size:12px}.rules{border-top:1px solid var(--line);margin-top:25px;padding-top:10px}.rules h3{font:15px var(--serif)}#notes{width:100%;height:220px;resize:vertical;margin:14px 0 0;background:#10140d;border:1px solid #3e4932;color:var(--ink);padding:17px;font:14px/1.8 var(--mono)}#fragments{display:grid;gap:7px}#fragments p{font:12px var(--mono);background:#20251a;border-left:1px solid #6c7c4e;margin:0;padding:12px}.map-chapter{margin-bottom:20px}.map-chapter h3{font:12px var(--mono);letter-spacing:1.5px;color:#939d80}.map-rooms{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.map-rooms button{background:#22281b;color:#b5c19e;padding:10px 2px;font:12px var(--mono);border:1px solid #455337}.map-rooms button.current{background:var(--acid);color:#10150c}.map-rooms button:disabled{opacity:.35;cursor:default;background:transparent}.archive-notice{font:12px var(--mono);color:var(--acid)}#terminal-output{height:270px;overflow:auto;white-space:pre-wrap;font:14px/1.8 var(--mono);color:#a8bc88}#terminal-form{display:flex;gap:12px;border-top:1px solid #475738;padding-top:15px;font:14px var(--mono);color:#92ae6d}#terminal-input{min-width:0;flex:1;background:none;border:0;color:var(--ink)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:150;background:#c6cba7;color:#161d10;padding:16px 25px;font:13px var(--mono);box-shadow:0 10px 40px #0009;max-width:90vw}.ending{padding:65px 20px;text-align:center}.ending h1{font:60px var(--serif);font-weight:normal}.ending .prize{border:1px solid #67794c;padding:25px;white-space:pre-wrap;font:18px var(--mono);overflow-wrap:anywhere}.ending p{max-width:620px;margin:20px auto;color:#a6b394}.ending a{color:var(--acid)}.back-current{margin:10px 0}.error-retry{max-width:600px;margin:30px auto;border:1px solid var(--red);padding:25px}
@media(min-width:1600px){#landing{padding-left:100px;padding-right:100px}}@media(max-width:1000px){.topbar{margin:0 4%;height:85px}.topbar nav{gap:16px}.connection{display:none}#landing{padding:30px 6% 0}.landing-copy h1{font-size:55px}.hero-art{transform:scale(1.05)}.landing-facts{gap:30px}.landing-footer span:nth-child(2){display:none}#game{padding:25px 35px;gap:25px;grid-template-columns:65px 1fr}.progress-rail{padding-right:20px}.room-actions{gap:15px}.room-actions button{font-size:11px}}
@media(max-width:650px){.topbar{height:75px;gap:10px}.brand{font-size:12px;letter-spacing:1.8px;gap:8px}.brand svg{width:28px}.brand small{font-size:10px;letter-spacing:1px}.topbar nav{gap:12px}.sound span,.volume-label{display:none}.sound{font-size:18px}.topbar .outline{font-size:12px;padding:10px}.topbar .outline span{display:none}#landing{display:flex;flex-direction:column;padding:42px 7% 0;align-items:stretch}.landing-copy{padding:0;order:0}.landing-copy h1{font-size:55px;letter-spacing:-2px;margin:24px 0}.eyebrow{font-size:11px;letter-spacing:1.4px}.intro{font-size:15px}.landing-facts{margin-top:28px}.hero-art{max-width:380px;align-self:center;margin:-10px 0 5px;transform:none;order:1}.hero-art svg{max-height:420px}.landing-footer{order:2;font-size:10px;line-height:1.8;margin-top:20px;gap:20px}.art-caption{font-size:10px;padding:0}#game{display:block;padding:20px 6%}.progress-rail{display:none}.room-meta{font-size:10px;letter-spacing:1px}#saved{display:none}.room-heading h1{font-size:29px}.room-heading{margin-top:18px}.lore{font-size:16px}.evidence{min-height:220px;padding:25px 15px}.evidence pre,.evidence.code pre{font-size:14px}.evidence-top{font-size:10px;padding:10px}.evidence-bottom{padding:7px 10px;font-size:10px}.evidence-bottom button{font-size:11px}.prompt{font-size:14px}.answer-row{gap:10px;flex-wrap:wrap}.answer-row>span{padding-left:12px}.answer-row input{font-size:16px;min-width:180px}.answer-row .primary{width:100%;padding:14px 17px}.room-actions{flex-wrap:wrap;justify-content:start;gap:10px 23px}.room-actions button{font-size:11px}.room-footer{font-size:10px;letter-spacing:.7px}.difficulty{gap:2px}.difficulty i{width:2px}.menu-grid{grid-template-columns:1fr}dialog{padding:23px}.map-rooms{gap:3px}.map-rooms button{font-size:12px;padding:9px 1px}.ending h1{font-size:38px}.landing-copy .primary{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
