@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--bg:#111b1b;--panel:#192525;--panel2:#202e2c;--ink:#eee8db;--muted:#b4b8aa;--gold:#d0ac72;--line:#ffffff23;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 80% 10%,#33413766,transparent 60%),var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button{color:var(--ink);border:1px solid var(--line);background:transparent;padding:12px 18px;border-radius:3px;transition:background .2s,border-color .2s,transform .2s}button:hover{background:#ffffff0b;border-color:var(--gold)}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button.primary{background:var(--gold);border-color:var(--gold);color:#14201d;padding:17px 24px;font-weight:600;text-align:left;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;line-height:1.4}button.primary:hover{background:#e6c694;transform:translateY(-2px)}button.primary span{font-size:22px;line-height:1}.text-button{padding:12px 0;border-color:transparent;border-radius:0;color:var(--gold);text-decoration:underline;text-underline-offset:6px}.text-button:hover{border-color:transparent;background:transparent;color:#f5d9ad}.icon{width:44px;height:44px;flex-shrink:0}header{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;min-height:100px;margin:0 5%;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:13px;letter-spacing:2px;font-size:9px;line-height:1.8;text-decoration:none}.brand strong{font-size:11px;font-weight:500;letter-spacing:2.2px}.brand-mark{font-size:42px;color:var(--gold);line-height:1}nav{display:flex;gap:8px}nav button{font-size:12px;border:0;display:flex;align-items:center;gap:7px;padding:10px;color:#dddcd1}nav button[aria-pressed=true]{color:var(--gold);background:#d0ac7210}main{outline:none;position:relative;z-index:1;min-height:calc(100vh - 170px)}footer{margin:0 5%;border-top:1px solid var(--line);padding:25px 0;display:flex;justify-content:space-between;gap:15px;color:#a3aa9d;font-size:10px;letter-spacing:1px}.grain{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.035;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:2.2px;color:var(--gold);font-weight:600;line-height:1.8;margin:0 0 20px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(52px,6vw,90px);line-height:.99;letter-spacing:-1.4px;margin-bottom:25px}h1 em{color:#d9bb8b;font-weight:400}h2{font-size:36px;line-height:1.15}h3{font-size:27px;line-height:1.2}p{line-height:1.75}small,.small{font-size:12px;line-height:1.7}.muted{color:var(--muted)}.lede{font-size:16px;color:#d0d0c3;line-height:1.9;max-width:470px}.actions{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.centered{justify-content:center}.welcome{position:relative;min-height:760px;padding:65px 7% 0;isolation:isolate;overflow:hidden}.welcome:before{content:'';position:absolute;inset:-110px 0 0;z-index:-2;background:url('assets/mansion.png') 65% 40%/cover no-repeat;opacity:.8;animation:breathe 24s ease-in-out infinite alternate}.welcome:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111b1bfa 0%,#111b1bea 22%,#111b1b90 44%,#111b1b0a 75%),linear-gradient(0deg,#111b1b 0%,transparent 30%,transparent 80%,#111b1b60 100%)}.hero-copy{max-width:570px}.hero-copy h1{font-size:clamp(60px,6.6vw,100px);line-height:.95;margin:28px 0}.hero-copy .lede{max-width:385px;font-size:15px}.hero-copy .actions{margin-top:32px}.tiny-star{font-size:19px;margin-right:10px}.hero-meta{font-size:9px;letter-spacing:1.7px;margin:23px 0 0;color:var(--muted)}.hero-meta b{margin:0 10px;color:var(--gold)}.hero-caption{position:absolute;right:6%;bottom:180px;text-align:right;display:flex;align-items:center;gap:15px}.hero-caption p{font-size:9px;letter-spacing:2px;line-height:2;color:#d6c4a3}.hero-caption strong{font-size:12px;font-weight:500}.hero-caption small{font-size:10px;letter-spacing:0;color:#d3cfc2}.caption-line{width:50px;height:1px;background:var(--gold)}.welcome-bottom{display:flex;justify-content:space-between;align-items:center;padding:40px 0 25px;margin-top:55px;border-top:1px solid #ffffff20;color:var(--muted);font-size:9px;letter-spacing:1.4px}.welcome-bottom p{font-size:11px;letter-spacing:0;text-align:right;margin:0}.paper-page{max-width:1140px;margin:0 auto;padding:65px 38px 70px}.page-intro{max-width:560px}.page-intro p:not(.eyebrow){color:var(--muted);max-width:420px}.identity-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-top:35px}.monster-preview{position:relative;text-align:center;padding:45px 30px;border:1px solid #c9ab703d;background:radial-gradient(ellipse at 50% 30%,#5b695444,transparent 70%);min-height:440px}.monster-preview:before,.achievement-card:before{content:'';position:absolute;inset:10px;border:1px solid #c9ab7022;pointer-events:none}.big-ghost{position:relative;width:140px;height:140px;color:#e5dfcc;filter:drop-shadow(0 0 15px #c0d6a622);margin-bottom:28px;animation:float 5s ease-in-out infinite}.monster-preview h2{position:relative;font-size:35px;margin:10px auto 28px;max-width:330px}.monster-preview .eyebrow{display:block}.seal-small{font-size:9px;letter-spacing:2px;color:var(--gold)}.identity-form label{display:block;font-size:12px;color:#c9cbbc;margin:0 0 18px}.identity-form select,.identity-form input{margin-top:9px}.identity-form .primary{width:100%;margin-top:15px}.identity-form .text-button{margin-bottom:20px}input,select,textarea{background:#101b1b;color:var(--ink);border:1px solid #ffffff30;padding:13px 14px;width:100%;border-radius:3px;line-height:1.55}select{padding-right:30px}textarea{resize:vertical}.optional{font-size:11px;color:var(--muted)}.room-page{max-width:1240px;padding:25px 42px 65px;margin:auto}.case-strip{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px;letter-spacing:.8px;line-height:1.7}.case-strip b{color:var(--gold);margin:0 8px}.alias-tag{text-align:right;max-width:270px}.room-progress{list-style:none;display:flex;padding:22px 0 28px;margin:0;gap:24px;max-width:750px}.room-progress li{display:flex;align-items:center;gap:10px;color:#9aa398;font-size:11px;flex:1;border-bottom:1px solid var(--line);padding-bottom:16px}.room-progress li span{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:50%;font-size:9px;flex-shrink:0}.room-progress .active{color:var(--gold);border-color:var(--gold)}.room-progress .active span{background:var(--gold);color:var(--bg)}.room-progress .done{color:#b6c3a1}.room-heading{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.room-heading h1{font-size:clamp(48px,5.5vw,73px);margin-bottom:18px}.room-heading .eyebrow span{color:#69786c;margin:0 10px}.period{color:var(--gold)}.mission{font-size:14px;color:#c9cdbd;max-width:610px;line-height:1.7}.room-emblem{display:grid;place-items:center;width:110px;height:110px;border:1px solid #d0ac7230;transform:rotate(45deg);margin:0 30px 20px 40px;background:radial-gradient(#d0ac7211,transparent)}.room-emblem .icon{width:65px;height:65px;transform:rotate(-45deg);color:var(--gold)}.host{display:flex;align-items:center;gap:22px;padding:24px 28px;margin:10px 0 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(110deg,#d0ac720a,transparent)}.host .eyebrow{font-size:8px;letter-spacing:2px}.host p{font-family:var(--serif);font-size:23px;line-height:1.45;margin:7px 0 0;color:#dcd8c9}.host-seal{flex-shrink:0;width:52px;height:65px;display:grid;place-items:center;border:1px solid #d0ac7240;border-radius:50% 50% 4px 4px;color:var(--gold)}.host-seal .icon{width:36px;height:36px}.investigation{display:grid;grid-template-columns:1fr 1.1fr;gap:46px;align-items:start}.section-label{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-label h2{font-size:27px;margin:0}.section-label>span{font-size:8px;letter-spacing:1.2px;color:var(--gold);white-space:nowrap}.evidence-panel>.small{margin:10px 0 18px}.evidence-list{display:grid;gap:12px}.evidence-list details{border:1px solid var(--line);background:#182422;transition:border-color .2s}.evidence-list details[open]{border-color:#d0ac7266}.evidence-list summary{padding:18px;display:flex;align-items:center;gap:17px;cursor:pointer;list-style:none}.evidence-list summary::-webkit-details-marker{display:none}.evidence-icon{display:grid;place-items:center;width:54px;height:58px;background:#0e1a19;border:1px solid #d0ac7222;color:var(--gold);flex-shrink:0}.evidence-icon .icon{width:34px;height:34px}.evidence-list summary small{display:block;font-size:7px;letter-spacing:1.5px;color:var(--muted);margin-bottom:5px}.evidence-list summary strong{font-family:var(--serif);font-size:24px;font-weight:400}.plus{margin-left:auto;color:var(--gold);font-size:22px}.evidence-body{padding:0 22px 9px;border-top:1px solid #ffffff0b}.evidence-body p{font-size:13px;line-height:1.85;margin-top:17px}.evidence-detail{color:#d1b47f;border-left:2px solid #d0ac7255;padding-left:14px;font-size:12px!important}.desk-note{display:flex;align-items:center;gap:15px;margin:26px 0;color:#9ca68e}.desk-note span{font-size:30px}.desk-note p{font-family:var(--serif);font-size:22px;line-height:1.2;margin:0}.puzzle-panel{padding:30px;background:linear-gradient(140deg,#2b3830,#1b2926);border:1px solid #d0ac723b;box-shadow:0 15px 50px #0002}.puzzle-panel .eyebrow{margin-bottom:14px;font-size:8px}.puzzle-panel h2{font-size:31px;margin-bottom:24px}.puzzle-panel>p:not(.eyebrow):not(.route-label):not(.small){font-size:14px;color:#d8d8cb}.choices{display:grid;gap:11px;margin-bottom:24px}.choice{display:flex;gap:12px;align-items:flex-start;padding:17px 15px;border:1px solid #ffffff26;background:#0e1b194d;font-size:13px;line-height:1.65;cursor:pointer;transition:background .2s,border-color .2s}.choice:hover,.choice.selected{border-color:var(--gold);background:#d0ac7210}.choice input{width:16px;height:16px;margin:3px 0 0;accent-color:var(--gold);flex-shrink:0}.choice-letter{color:var(--gold);font-size:10px;margin-top:2px}.puzzle-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px}.puzzle-actions .primary{padding:14px 18px;font-size:12px;gap:15px}.puzzle-actions .text-button{font-size:11px}.puzzle-panel>.small:last-child{margin-top:20px;margin-bottom:0;font-size:10px}.hint,.feedback{padding:16px 18px;margin:15px 0;border-left:2px solid var(--gold);background:#d0ac7210;font-size:13px;line-height:1.8}.hint p{font-size:13px;margin-bottom:0}.route-label{font-size:9px;letter-spacing:1.2px;color:#dbbd86;line-height:1.8;margin-bottom:20px}.route-label.support{color:#b8cfb2}.match-list label{font-size:12px;display:block;margin-bottom:20px}.match-list select{font-size:12px;max-width:100%;margin-top:10px}.step-no{color:var(--gold);font-size:11px;margin-right:10px}.order-list{list-style:none;padding:0;display:grid;gap:10px;margin:20px 0}.order-list li{display:flex;align-items:center;gap:8px;background:#0e1b194d;border:1px solid var(--line);padding:13px;font-size:12px;line-height:1.6}.order-list li>span:nth-child(2){flex:1}.order-list li>div{display:grid;gap:5px}.order-list button{padding:3px 10px;font-size:15px}.debrief{display:grid;grid-template-columns:1.2fr 1fr;gap:60px}.debrief-main h2{font-size:44px;color:#e4c99b}.teaching{font-size:17px;line-height:1.95}.nuance{border-left:2px solid var(--gold);padding:4px 0 4px 20px;margin:30px 0}.nuance strong{font-size:12px;color:var(--gold)}.nuance p{font-size:14px;color:var(--muted);margin:8px 0 0}.connection span{font-size:9px;letter-spacing:1.8px;color:var(--gold)}.connection p{font-size:13px;color:var(--muted);margin-top:10px}.reflection{background:#202e29;border:1px solid #d0ac7233;padding:30px}.reflection h3{font-size:29px;line-height:1.3}.reflection label{display:block;font-size:11px;margin-bottom:10px}.reflection .primary{margin-top:10px;width:100%;font-size:12px}.ending{text-align:center;max-width:900px}.ending>h1{font-size:68px;margin-bottom:45px}.achievement-card{position:relative;max-width:620px;margin:0 auto 32px;padding:40px 50px;background:radial-gradient(ellipse at 50% 30%,#53603b44,transparent),#192824;border:1px solid var(--gold);box-shadow:0 20px 80px #0004}.achievement-card>.eyebrow{font-size:8px}.award-ghost{width:85px;height:85px;color:var(--gold);margin-bottom:15px}.achievement-card h2{font-size:42px;max-width:450px;margin:0 auto 20px}.award-rule{width:80px;height:1px;background:var(--gold);margin:25px auto}.award-title{font-family:var(--serif);font-size:28px;color:#dcc395;line-height:1.2}.achievement-card>.small{color:var(--muted)}.achievement-card ul{list-style:none;padding:0;font-size:11px;line-height:2.3;margin:28px 0;color:#e0ddcc}.card-bottom{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:22px;font-size:8px;letter-spacing:1.1px;color:var(--gold)}.leaderboard .lede{max-width:650px}.fiction-label{font-size:9px;letter-spacing:1.6px;color:#b6bdab;margin:35px 0 17px}.board{margin-bottom:35px;border:1px solid var(--line)}.board-head{display:grid;grid-template-columns:210px 1fr;gap:30px;background:#ffffff05;padding:20px 28px;font-size:8px;color:var(--muted);letter-spacing:1.5px}.board-row{position:relative;display:grid;grid-template-columns:210px 1fr 22px;gap:30px;padding:28px;border-top:1px solid var(--line);align-items:center}.board-row.you{background:#c6a96c15;border:1px solid #c6a96c80;margin:-1px}.distinction{font-size:9px;color:var(--gold);letter-spacing:1.3px;line-height:1.8}.board-row h3{margin:0 0 8px;font-size:28px}.board-row p{font-size:12px;color:var(--muted);margin:0}.board-star{font-size:25px;color:var(--gold)}.you-tag{font:8px var(--sans);border:1px solid var(--gold);padding:3px 5px;vertical-align:middle;color:var(--gold);margin-left:8px}.adventure-cards{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:40px 0}.adventure-card{background:#192723;border:1px solid var(--line)}.adventure-card.recommended{border-color:#d0ac7280}.adventure-card-art{height:150px;background:linear-gradient(0deg,#17222080,#17222030),url('assets/mansion.png') center 35%/cover;display:flex;justify-content:space-between;align-items:center;padding:28px;color:#f7ddb0}.adventure-card-art .icon{width:70px;height:70px;filter:drop-shadow(0 2px 10px #000)}.adventure-card-art span{font-size:9px;letter-spacing:2px;background:#111b1bd9;padding:10px}.adventure-card>div:last-child{padding:28px}.adventure-card h2{font-size:36px}.adventure-card p{font-size:13px;color:var(--muted)}.adventure-card .eyebrow{font-size:8px;color:var(--gold)}.concept-tags{min-height:45px;color:var(--gold)!important;font-size:10px!important}.adventure-card .primary{font-size:12px;width:100%}dialog{background:#172522;color:var(--ink);border:1px solid #d0ac7280;max-width:700px;width:calc(100% - 32px);max-height:85vh;padding:38px}dialog::backdrop{background:#060b0bd9;backdrop-filter:blur(5px)}.close{float:right;font-size:25px;padding:0 10px;margin:-15px -15px 0 0}.journal-entry{padding:20px 0;border-top:1px solid var(--line)}.journal-entry h3{color:var(--gold)}.journal-entry p{font-size:14px}.journal-entry blockquote{border-left:2px solid var(--gold);padding-left:20px;margin:20px 0;font-family:var(--serif);font-size:23px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;background:var(--gold);color:#111;z-index:20;padding:12px}.skip:focus{top:12px}.reduced *,.reduced *:before,.reduced *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}@keyframes float{50%{transform:translateY(-9px)}}@keyframes breathe{to{transform:scale(1.035) translateX(-.4%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:1600px){.welcome{min-height:calc(100vh - 170px);padding-top:85px}.hero-copy h1{font-size:110px}.welcome-bottom{margin-top:80px}.hero-copy{max-width:650px}}@media(max-width:900px){header{margin:0 4%;min-height:90px}nav{gap:0}nav button{font-size:11px;padding:10px 8px}.welcome{padding-left:6%;padding-right:6%;min-height:750px}.hero-caption{right:4%;bottom:150px;max-width:220px}.identity-layout{gap:30px}.investigation{gap:25px;grid-template-columns:1fr 1.1fr}.room-page{padding-left:25px;padding-right:25px}.puzzle-panel{padding:22px}.debrief{gap:30px}.board-head,.board-row{grid-template-columns:155px 1fr;gap:20px}.board-star{display:none}.paper-page{padding:45px 25px}.room-emblem{width:85px;height:85px;margin-right:15px}.evidence-list summary{padding:14px;gap:12px}.evidence-list summary strong{font-size:22px}.brand strong{font-size:9px}}@media(max-width:650px){header{flex-wrap:wrap;gap:5px;padding:17px 0 8px;min-height:100px}.brand{font-size:8px}.brand strong{font-size:10px}nav{width:100%;justify-content:space-between}nav button{font-size:10px;padding:10px 4px}.brand-mark{font-size:30px}.welcome{min-height:740px;padding-top:45px}.welcome:before{background-position:59% center;opacity:.56}.welcome:after{background:linear-gradient(90deg,#111b1bea,#111b1b80),linear-gradient(0deg,#111b1b,transparent 40%)}.hero-copy h1{font-size:66px}.hero-copy .lede{font-size:14px;max-width:330px}.hero-copy .eyebrow{font-size:8px;letter-spacing:1.5px}.hero-caption{display:none}.welcome-bottom{margin-top:45px;align-items:flex-start;gap:25px;flex-direction:column;padding-top:22px}.welcome-bottom p{text-align:left}.hero-meta{font-size:8px;letter-spacing:1px}.hero-meta b{margin:0 4px}.actions{gap:12px}.identity-layout,.investigation,.debrief,.adventure-cards{grid-template-columns:1fr}.identity-layout{gap:30px}.monster-preview{min-height:320px;padding:25px}.big-ghost{width:90px;height:90px;margin-bottom:15px}.monster-preview h2{font-size:30px}.paper-page{padding:40px 22px}.room-page{padding:22px 20px 45px}.case-strip{font-size:9px;flex-direction:column;gap:7px}.alias-tag{text-align:left;max-width:none;color:var(--gold)}.room-progress{gap:12px;padding-top:20px}.room-progress li{font-size:9px;gap:6px;align-items:flex-start;line-height:1.5}.room-progress li span{width:19px;height:19px;font-size:8px}.room-heading{margin-top:10px}.room-heading h1{font-size:50px}.room-heading .eyebrow{font-size:8px}.room-emblem{display:none}.mission{font-size:13px}.host{padding:20px 15px;gap:14px}.host p{font-size:22px}.host-seal{width:38px;height:50px}.host-seal .icon{width:27px;height:27px}.investigation{gap:15px}.desk-note{display:none}.evidence-panel{margin-bottom:15px}.section-label h2{font-size:26px}.puzzle-panel{padding:24px 19px}.puzzle-panel h2{font-size:30px}.debrief-main h2{font-size:38px}.teaching{font-size:16px}.reflection{padding:23px}.ending>h1{font-size:54px}.achievement-card{padding:32px 22px}.achievement-card h2{font-size:34px}.achievement-card ul{font-size:10px;line-height:1.9}.achievement-card li{margin-bottom:9px}.card-bottom{font-size:6px}.board-head{display:none}.board-row{grid-template-columns:1fr;gap:9px;padding:22px}.board-row h3{font-size:28px}.fiction-label{font-size:8px;line-height:1.8}.leaderboard>.primary{font-size:12px;padding:16px}.adventure-cards{gap:25px}.adventure-card h2{font-size:35px}footer{flex-direction:column;font-size:8px;padding:20px 0;gap:8px}.order-list li{font-size:12px;padding:10px}.order-list button{min-height:32px;min-width:32px}.reflection .primary{font-size:13px}dialog{padding:28px 22px}}

.hero-caption{bottom:auto;top:52%;}
body[data-screen=room]:before{content:"";position:absolute;inset:100px 0 auto;height:550px;pointer-events:none;background:linear-gradient(0deg,#111b1b,transparent),linear-gradient(90deg,#111b1bee,#111b1bcb),url("assets/mansion.png") center 45%/cover;opacity:.65;}

