@font-face{font-family:'Open Sans';src:url('assets/open-sans.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'Open Sans';src:url('assets/open-sans-bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:'Playfair Display';src:url('assets/playfair-display.ttf') format('truetype');font-weight:400 900;font-display:swap}
:root{--ink:#191919;--body:#333333;--gold:#CA9B52;--cream:#FAF8F4;--line:#E5D6BE;--muted:#655f56;--accent:#795526;--green:#28533e}*{box-sizing:border-box}body{margin:0;color:var(--body);background:white;font:15px/1.75 'Open Sans',Arial,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;color:var(--ink);font-weight:500;line-height:1.15}h1{font-size:clamp(3.6rem,7.5vw,6.7rem);letter-spacing:-.04em;margin-bottom:10px}h1 em{font-style:normal;color:var(--accent)}h2{font-size:40px;letter-spacing:-.025em}h3{font-size:21px;line-height:1.4;color:var(--ink);font-weight:700}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:var(--ink)}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header,main,footer{max-width:1200px;margin:auto}header{padding:27px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{font:27px/1.3 'Playfair Display',Georgia,serif;text-decoration:none}.brand span{display:block;font:9px/1.5 'Open Sans',Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:7px}.blog-link{font-size:12px;text-decoration:none}main{padding:0 40px}.eyebrow,.card-label{font-size:10px;letter-spacing:.14em;color:var(--accent);font-weight:700}.eyebrow{margin-bottom:17px}.intro{display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:center;padding:62px 0}.intro>div>p:not(.eyebrow):not(.subtitle):not(.facts){max-width:470px}.subtitle{font:23px 'Playfair Display',Georgia,serif;letter-spacing:.08em;color:var(--accent);margin:12px 0 25px}.lead{font-size:19px;line-height:1.6}.primary,.secondary{min-height:48px;padding:13px 22px;border:1px solid var(--ink);border-radius:5px;font-size:13px;font-weight:700}.primary{background:var(--ink);color:white}.primary:hover:not(:disabled){background:#3c3327}.primary:disabled{opacity:.6}.primary span{margin-left:25px}.secondary{background:white}.secondary:hover{background:var(--cream)}.intro .primary{margin-top:14px}.facts{display:flex;gap:14px;color:var(--muted);font-size:11px;margin:18px 0 0}.facts span{color:var(--gold)}.lab-art{background:var(--cream);border:1px solid var(--line);border-radius:12px;height:460px;position:relative;overflow:hidden}.art-label{position:absolute;top:25px;left:26px;font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--accent)}.lab-door{position:absolute;width:150px;height:235px;top:116px;left:42%;border:7px solid #dac5a4;border-radius:70px 70px 7px 7px;background:#272622;box-shadow:10px 10px 0 #1919190d,inset 0 0 0 3px #795526}.door-label{display:block;font-size:12px;letter-spacing:.2em;color:#eadbc1;text-align:center;margin-top:42px}.door-display{margin:18px 19px;padding:9px 0;background:#111;border:1px solid #b48a4c;text-align:center;font:24px Georgia,serif;color:var(--gold);letter-spacing:.15em;border-radius:4px}.door-handle{height:29px;width:7px;background:var(--gold);position:absolute;right:14px;bottom:47px;border-radius:7px}.bot{position:absolute;left:38px;bottom:91px;width:97px;height:98px;background:#d8c49e;border:2px solid #b78c4f;border-radius:30px 30px 24px 24px;transform:rotate(-5deg);box-shadow:5px 8px 0 #1919190a}.bot-antenna{width:5px;height:25px;background:var(--accent);position:absolute;left:48px;top:-25px}.bot-antenna:before{content:'';position:absolute;width:13px;height:13px;background:var(--gold);border-radius:50%;left:-4px;top:-8px}.bot-face{background:var(--ink);border-radius:20px;height:45px;margin:17px 10px;display:flex;justify-content:center;align-items:center;gap:15px}.bot-face i{background:#ead8b7;width:10px;height:14px;border-radius:5px;transform:rotate(6deg)}.bot-feet:before,.bot-feet:after{content:'';position:absolute;background:#34312b;width:25px;height:13px;bottom:-10px;border-radius:5px}.bot-feet:before{left:10px}.bot-feet:after{right:10px}.bot>span{font-size:9px;position:absolute;bottom:-37px;left:10px;white-space:nowrap;color:var(--accent)}.art-card{position:absolute;top:70px;left:29px;width:145px;border:1px solid var(--line);background:white;border-radius:6px;padding:16px;transform:rotate(-8deg);box-shadow:5px 6px 0 #19191905}.art-card span{font-size:8px;letter-spacing:.12em;color:var(--accent);font-weight:700}.art-card p{font:20px/1.45 'Playfair Display',Georgia,serif;margin:8px 0 0}.stars{position:absolute;right:30px;top:67px;font-size:35px;color:var(--gold);transform:rotate(10deg)}.stars span{font-size:22px;margin:0 14px}.floor-line{position:absolute;bottom:102px;right:25px;width:82%;height:1px;background:var(--line);z-index:0}.art-caption{position:absolute;bottom:22px;width:100%;text-align:center;font-size:10px;color:var(--muted)}.adventure-top{display:flex;align-items:center;justify-content:space-between;margin:25px 0 10px}.adventure-top .eyebrow{margin:0}.text-button{background:none;border:0;padding:10px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.room-map{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.room-map li{display:flex;align-items:center;gap:10px;border:1px solid #ddd7ce;border-radius:5px;padding:15px;font-size:11px;color:var(--muted)}.room-map li span{font-weight:700}.room-map small{margin-left:auto;font-size:9px}.room-map .current{border-color:var(--accent);background:var(--cream);color:var(--accent)}.room-map .complete{border-color:#b7cbb9;background:#f3f7f3;color:var(--green)}.inventory{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}#keys{display:flex;gap:10px}.key{background:var(--cream);border:1px solid var(--line);border-radius:30px;padding:5px 12px;font-size:10px;color:var(--muted);white-space:nowrap}.key b{margin-left:10px;font-size:15px;color:var(--accent)}.key.collected{background:#f4eddf;border-color:#c9a970;color:var(--accent)}.room-heading{padding:30px 0 16px;max-width:760px}.room-heading .eyebrow{margin-bottom:8px}.room-heading h2{margin-bottom:14px}.room-heading .lead{font-size:16px}.room-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;padding-bottom:40px}.explore{background:var(--cream);border:1px solid var(--line);border-radius:8px;padding:24px;align-self:start}.room-scene{border:1px solid var(--line);border-radius:6px;background:#efe8dc;overflow:hidden;margin-bottom:23px}.scene-wall{height:170px;position:relative;border-bottom:1px solid #cdb99b}.scene-wall>span{position:absolute;top:15px;left:17px;font-size:8px;font-weight:700;letter-spacing:.13em;color:var(--accent)}.mini-door{position:absolute;right:32px;bottom:0;background:#38352f;border:4px solid #b99053;width:82px;height:130px;border-radius:42px 42px 0 0;box-shadow:6px 0 0 #c5b294}.mini-door span{display:block;text-align:center;margin-top:40px;font-size:8px;color:#eadbc1;letter-spacing:.08em}.mini-door i{position:absolute;right:9px;bottom:32px;width:4px;height:18px;background:var(--gold);border-radius:3px}.mini-door.open{background:#eee2ca;box-shadow:inset -25px 0 0 #d4bb90}.mini-door.open span{color:var(--accent)}.desk{position:absolute;left:35px;bottom:0;width:126px;height:99px}.monitor{margin:0 23px;background:var(--ink);border:4px solid #ac8d62;border-radius:7px;color:var(--gold);height:47px;text-align:center;font:22px monospace;padding-top:8px}.desk-top{height:9px;background:#886b47;width:126px;position:absolute;top:55px;border-radius:3px}.desk-legs:before,.desk-legs:after{content:'';position:absolute;top:62px;bottom:0;width:7px;background:#9d8059}.desk-legs:before{left:10px}.desk-legs:after{right:10px}.shelf{position:absolute;left:43px;top:38px;border-bottom:4px solid #9d8059;display:flex;gap:16px;padding:0 8px;font:22px Georgia;color:#8c6a36}.scene-caption{margin:0;padding:10px;font-size:10px;text-align:center;background:#f7f2e9;color:var(--accent)}.explore>h3{font-size:18px;margin-bottom:7px}.tiny{font-size:11px;color:var(--muted)}.clue-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.clue-button{border:1px solid #d2c4b0;background:white;padding:9px 10px;min-height:40px;border-radius:4px;font-size:10px}.clue-button[aria-pressed=true]{border-color:var(--accent);background:#e9ddc7;color:var(--accent);font-weight:700}.clue-panel{border:1px solid var(--line);background:white;padding:19px;border-radius:5px}.clue-panel .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:8px}.clue-panel h3{font:23px 'Playfair Display',Georgia,serif;margin-bottom:16px}.clue-panel p{font-size:12px;margin-bottom:12px}.clue-panel p:last-child{margin-bottom:0}.puzzle>.eyebrow{margin-bottom:8px}.puzzle>h3{font:29px/1.3 'Playfair Display',Georgia,serif;margin-bottom:12px}.puzzle>p:not(.eyebrow){font-size:13px}#puzzle-controls{display:grid;gap:17px;margin:23px 0}.setting{display:block;font-size:12px;font-weight:700}select{display:block;width:100%;min-height:47px;border:1px solid #bfb7aa;border-radius:5px;background:white;color:var(--body);padding:10px 32px 10px 10px;font-size:12px;margin-top:7px;line-height:1.5}.claim{background:var(--cream);padding:16px;border:1px solid var(--line);border-radius:5px}.claim p{font-size:13px;margin:0 0 10px}.claim select{margin:0}.feedback{border-left:3px solid var(--gold);background:var(--cream);padding:16px;font-size:12px;margin:20px 0}fieldset{border:0;padding:0;margin:0;display:grid;gap:9px}legend{font-size:12px;font-weight:700;margin-bottom:12px}.source-option,.action-option{display:flex;align-items:center;gap:12px;border:1px solid #d7d0c5;border-radius:5px;padding:13px;cursor:pointer;font-size:12px;line-height:1.6}.source-option input,.action-option input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0;margin:0}.source-option:has(input:checked),.action-option:has(input:checked){border-color:var(--accent);background:#f8f1e5}#hint{border-top:1px solid var(--line);padding-top:18px;margin-top:23px;font-size:12px}#hint summary{width:fit-content;text-decoration:underline;text-underline-offset:4px}#hint p{margin:13px 0}.unlocked{background:#f3f6ef;border:1px solid #b8cbb4;border-radius:6px;padding:23px;margin-top:24px}.unlocked .eyebrow{color:var(--green);margin-bottom:8px}.unlocked h3{font:25px/1.3 'Playfair Display',Georgia,serif;margin-bottom:12px}.unlocked>p,#unlock-copy{font-size:13px}#unlock-copy{margin-bottom:16px}.fragment{font:24px 'Playfair Display',Georgia,serif!important;color:var(--accent);border-top:1px solid #cad4c1;padding-top:17px}.audit-notes{padding-left:18px;font-size:12px}.audit-notes li{margin-bottom:8px}.exit-panel{max-width:650px;margin:40px auto;text-align:center;padding:35px;border:1px solid var(--line);background:var(--cream);border-radius:10px}.exit-panel h2{font-size:43px}.exit-panel>p{font-size:14px}.exit-lock{display:flex;justify-content:center;gap:12px;margin:30px}.exit-lock span{border:1px solid #c7a46b;background:#28251f;color:var(--gold);padding:6px 20px;font-size:35px;border-radius:7px}#exit-form label{display:block;font-size:12px;font-weight:700}#exit-code{display:block;width:160px;margin:12px auto;border:1px solid var(--accent);border-radius:6px;background:white;color:var(--ink);text-align:center;padding:10px;font-size:30px;letter-spacing:.3em}#exit-feedback{min-height:25px;font-size:12px}.results{padding:48px 0 42px;max-width:930px;margin:auto}.results h1{font-size:clamp(3rem,5.5vw,5rem)}.escaped-icon{color:var(--gold);font-size:50px;margin-bottom:10px}.results>p{max-width:750px}.results>p:not(.lead):not(.eyebrow){font-size:13px}.takeaway-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:30px 0}.takeaway-cards article{border:1px solid var(--line);background:var(--cream);padding:21px;border-radius:6px}.takeaway-cards span{font-size:9px;letter-spacing:.08em;color:var(--accent);font-weight:700}.takeaway-cards h2{font-size:25px;line-height:1.3;margin:15px 0 12px}.takeaway-cards p{font-size:12px;margin:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0}.related{font-size:12px}.about{border-top:1px solid var(--line);padding:24px 0;font-size:12px}.about summary{width:fit-content;font-weight:700}.about p{max-width:850px;margin:16px 0}footer{padding:20px 40px 30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:10px;color:var(--muted)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}
@media(max-width:900px){.intro{gap:30px}.lab-art{height:420px}.lab-door{left:49%;width:120px}.art-card{width:125px;font-size:18px;left:20px}.bot{left:25px;width:84px;height:90px}.room-grid{gap:25px}.room-map li{flex-wrap:wrap}.room-map small{width:100%;margin:0}.inventory{flex-wrap:wrap}.scene-wall .desk{left:17px}.mini-door{right:20px}}
@media(max-width:680px){header{padding:22px}.brand{font-size:23px}.brand span{font-size:8px}.blog-link{font-size:10px;max-width:90px;text-align:right}main{padding:0 22px}.intro{grid-template-columns:1fr;padding:40px 0;gap:30px}h1{font-size:4rem}.intro .lead{font-size:17px}.intro>div>p{font-size:13px}.intro .subtitle{font-size:22px}.lab-art{max-width:450px;width:100%;margin:auto;height:390px}.lab-door{top:95px;width:132px;left:49%;height:210px}.bot{bottom:85px}.art-card{top:65px}.floor-line{bottom:84px}.art-label{left:20px;font-size:7px}.stars{right:12px;top:40px;font-size:28px}.stars span{margin:0 7px}.room-map{gap:6px}.room-map li{padding:10px;font-size:9px;gap:5px}.room-map li span{width:100%;font-size:10px;line-height:1.4}.inventory{gap:12px;padding:17px 0}#keys{gap:6px;flex-wrap:wrap}.key{padding:5px 10px;font-size:9px}.key b{margin-left:5px}.room-heading h2{font-size:34px}.room-heading .lead{font-size:14px}.room-grid{grid-template-columns:1fr;gap:27px}.explore{padding:19px}.scene-wall{height:150px}.scene-wall .desk{left:32px}.mini-door{right:32px;height:115px}.shelf{left:39px;top:25px}.puzzle>h3{font-size:28px}.takeaway-cards{grid-template-columns:1fr}.exit-panel{padding:23px 18px}.exit-panel h2{font-size:33px}.exit-lock{gap:9px;margin:23px 0}.exit-lock span{padding:5px 17px}.results h1{font-size:3rem}.results .lead{font-size:17px}.adventure-top .eyebrow{font-size:8px}.text-button{font-size:11px}footer{padding:20px 22px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s}.mini-door{transition:background .4s}.unlocked{animation:arrive .4s ease-out}.escaped-icon{animation:arrive .6s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
