/* A photographic case surface, independent of the surrounding site theme. */
.detective-page .navbar{position:relative;top:auto}
.detective-page #detectiveGame,.detective-page #sceneWorld{scroll-margin-top:20px}
.detective-shell .eyebrow{display:block;min-height:0;background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.detective-page .detective-shell{--case-ink:#0e1418;--case-paper:#f4ecdd;--case-muted:#abb7b9;--case-gold:#edc780;--case-line:#ffffff20;max-width:1440px;width:calc(100% - 64px);margin:auto;padding:30px 0 60px;color:var(--case-paper);font-family:Inter,system-ui,sans-serif}
.detective-shell [hidden],.detective-page dialog:not([open]){display:none!important}
.detective-shell button,.detective-page dialog button{font:inherit;cursor:pointer;transition:background .15s,transform .12s;border-radius:5px;box-shadow:none}
.detective-shell button:active:not(:disabled),.detective-page dialog button:active{transform:translateY(2px);filter:brightness(.9)}
.detective-shell button:disabled{cursor:not-allowed;opacity:.55}.detective-shell button:focus-visible,.detective-shell a:focus-visible,.detective-page dialog button:focus-visible{outline:3px solid #f4c87c;outline-offset:4px}
.detective-masthead{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:24px}.detective-brand{color:inherit;text-decoration:none;font-size:15px;letter-spacing:.18em;font-weight:750}.detective-brand span{font-weight:400;color:var(--case-gold);margin-left:10px}.edition{font-size:10px;letter-spacing:.18em;color:var(--case-muted)}
.eyebrow{font-size:10px!important;letter-spacing:.18em;font-weight:700;color:var(--case-gold);line-height:1.6}.scenery{background-image:url('assets/detective/locations-v2.png');background-size:200% 200%;background-position:0 0;background-repeat:no-repeat}.scenery[data-scene=station]{background-position:100% 0}.scenery[data-scene=home]{background-position:0 100%}.scenery[data-scene=workshop]{background-position:100% 100%}
.case-cover{min-height:680px;position:relative;isolation:isolate;border:1px solid var(--case-line);border-radius:12px;overflow:hidden;background:#0e1418}.cover-photo{position:absolute;right:0;top:0;bottom:0;width:68%;filter:saturate(.75);z-index:-2}.case-cover:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0e1418 8%,#0e1418e6 38%,#0e141842 75%),linear-gradient(0deg,#0e1418b0,transparent 70%)}.cover-copy{position:relative;max-width:680px;padding:58px}.cover-copy h1{font:clamp(56px,6.5vw,94px)/1 Georgia,serif;letter-spacing:-.04em;margin:23px 0;color:#faf2e4}.cover-copy h1 em{font-weight:400;color:var(--case-gold)}.cover-hook{font-size:19px;line-height:1.6;color:#f0eadd;margin:20px 0}.cover-description{font-size:14px;line-height:1.8;color:#c2c9c8;max-width:400px}.cover-tags{display:flex;gap:9px;margin:24px 0}.cover-tags span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;border:1px solid #ffffff30;padding:8px 10px;border-radius:3px}.cover-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:15px}.cover-actions a{color:#edc780;font-size:14px}.primary-action{background:#edc780;color:#171b1b;border:0;padding:15px 22px;font-weight:700!important}.primary-action:hover{background:#ffe0a1}.access-status{font-size:13px;color:#d1dbd9;line-height:1.6;max-width:450px}.price-note{font-size:12px;color:#b4c0bd;margin-top:16px;line-height:1.6}.cover-disclaimer{font-size:10px;line-height:1.7;color:#adb8b5;margin-top:18px;max-width:385px}
.case-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:8px 0 24px}.case-toolbar h1{font:30px/1.3 Georgia,serif;color:inherit;margin:4px 0}.case-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.case-tools>span{font-size:10px;color:var(--case-muted)}.case-tools button{background:#182127;border:1px solid #ffffff25;padding:9px 12px;color:#e4e6df;font-size:11px}
.investigation-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.scene-column{min-width:0}.scene-world{position:relative;aspect-ratio:3/2;border:1px solid #ffffff20;border-radius:10px;overflow:hidden;background-color:#142228;isolation:isolate}.scene-world:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#041015b3,transparent 38%,#05101621)}.scene-top{display:flex;justify-content:space-between;align-items:start;gap:10px;padding:24px 26px;pointer-events:none;position:relative;z-index:1;text-shadow:0 1px 7px #000}.scene-top h2{font:25px/1.3 Georgia,serif;margin:6px 0 0;color:#fff1d9}.scene-top>span{font-family:monospace;font-size:10px;padding-top:6px;color:#f2ebdf;text-align:right}.scene-world.arriving{animation:case-arrive .55s ease-out}@keyframes case-arrive{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}
.dialogue-panel{position:absolute;bottom:0;left:0;right:0;display:flex;gap:22px;padding:23px;background:linear-gradient(0deg,#091219fa 75%,#091219e8);border-top:1px solid #ecce962e;z-index:2;min-height:208px;align-items:start}.portrait{flex-shrink:0;width:106px;aspect-ratio:1;border-radius:5px;background-color:#253337;background-image:url('assets/detective/characters-v2.png');background-size:300% 200%;border:1px solid #dbc9a242;box-shadow:0 8px 22px #0005}.portrait[data-person="0"]{background-position:0 0}.portrait[data-person="1"]{background-position:50% 0}.portrait[data-person="2"]{background-position:100% 0}.portrait[data-person="3"]{background-position:0 100%}.portrait[data-person="4"]{background-position:50% 100%}.portrait[data-person="5"]{background-position:100% 100%}.portrait[data-person=none]{background-image:none;display:grid;place-items:center;color:#c6b692;font:28px Georgia,serif}.dialogue-copy{flex:1;min-width:0}.speaker-line{display:flex;justify-content:space-between;gap:10px;align-items:center}.speaker-line strong{font-size:15px;color:#eed19a}.speaker-line span{font-family:monospace;font-size:10px;color:#a8b6b9}#speakerRole{font-size:10px;color:#a3b2b8;margin:5px 0 12px}#dialogueText{color:#f0eee6;font-size:15px;line-height:1.7;margin:0}.dialogue-copy button{display:block;margin:12px 0 0 auto;background:transparent;border:0;color:#f3ce86;font-size:12px;padding:5px 0 5px 12px}.dialogue-copy button span{padding-left:15px}.scene-inspect-note{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:10px 15px;background:#0b141ee6;border:1px solid #ffffff30;color:#ebdfc8;border-radius:5px;text-align:center;font-size:11px}
.hotspots{position:absolute;inset:0}.hotspot{position:absolute;transform:translate(-50%,-50%);background:#101c24ed;border:1px solid #f0ce85;box-shadow:0 3px 18px #0009!important;padding:11px 14px;color:#fff2dc;display:flex;align-items:center;gap:9px;font-size:12px!important;white-space:nowrap}.hotspot:before{content:'+';font-size:18px;color:#ffd789}.hotspot.collected{border-color:#9ac9b9}.hotspot.collected:before{content:'✓';color:#9bd6be}.detective-shell .hotspot:active:not(:disabled){transform:translate(-50%,-47%)}.hotspot:hover{background:#29404b}
.decision-panel{padding:26px;background:#111a21;border:1px solid var(--case-line);border-radius:10px;margin-top:16px}.decision-panel h2{font:28px/1.2 Georgia,serif;color:#f2e9d9;margin:10px 0}.decision-panel #objective{color:#aebdc2;font-size:12px;line-height:1.7;margin-bottom:20px}.choice-stack{display:grid;gap:8px}.case-choice{text-align:left;width:100%;padding:15px 16px;background:#1a252d;color:#f1e8d6;border:1px solid #ffffff20;display:flex;align-items:start;gap:14px;font-size:13px!important}.case-choice:hover:not(:disabled){border-color:#ecc780;background:#26323a}.choice-number{color:#dcb87e;font:12px monospace;line-height:1.6}.case-choice span:last-child{flex:1}.case-choice small{display:block;line-height:1.7;color:#b7c6ca;font-size:11px;margin-top:4px}.case-choice:disabled{opacity:.75!important;background:#121c23;border-style:dashed}.dialogue-wait{font-size:12px;color:#9fafb5;padding:14px 0}.case-notebook{background:#10191e;border:1px solid var(--case-line);border-radius:10px;padding:20px;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#52646a #152127}.notebook-heading{display:flex;justify-content:space-between;align-items:center;padding:1px 0 17px}.notebook-heading>span:last-child{font:11px monospace;color:#aababd}.notebook-tabs{display:flex;border-bottom:1px solid #ffffff25;gap:15px}.notebook-tabs button{background:none;border:0;border-radius:0;color:#9dadb4;padding:12px 0;font-size:12px}.notebook-tabs button[aria-selected=true]{color:#f4d497;border-bottom:2px solid #eac483}.notebook-instruction{font-size:11px;color:#b4c3c5;line-height:1.8;margin:16px 0}.evidence-card{display:flex;gap:9px;align-items:center;border:1px solid #ffffff16;background:#162127;border-radius:5px;margin:7px 0;padding:10px}.evidence-card.selected{border-color:#e3bf7c;background:#302c22}.evidence-card input{width:19px!important;height:19px!important;min-width:19px;accent-color:#dbb776;cursor:pointer;margin:0!important}.evidence-card button{background:transparent;border:0;color:#e9e2d2;text-align:left;font-size:12px;line-height:1.4;flex:1;padding:0}.evidence-card small{display:block;font-size:9px;letter-spacing:.07em;color:#a7bcc1;text-transform:uppercase;margin-bottom:5px}.connect-bar{position:sticky;bottom:-20px;margin:15px -6px 0;padding:10px 6px 16px;background:#10191ef5;border-top:1px solid #ffffff20;z-index:1}.connect-bar p{color:#b7c8cb;font-size:10px;margin-bottom:8px}.connect-bar button{padding:12px;width:100%;border:1px solid #c6aa76;color:#efcd8e;background:#322b20;font-size:12px}.deduction-note{border-left:2px solid #bda879;padding:9px 0 9px 13px;margin:13px 0;font-size:11px;color:#bdc9c8;line-height:1.7}.deduction-note strong{display:block;color:#eed29d;font-size:12px;margin-bottom:4px}.lead-button{display:block;width:100%;text-align:left;background:#18252c;border:1px solid #ffffff1c;color:#eae3d4;padding:13px;margin:8px 0}.lead-button span{display:block;font-size:12px}.lead-button small{display:block;font-size:10px;line-height:1.6;color:#b0c1c6;margin-top:5px}.lead-button.current{border-color:#d4b77b}.lead-button:disabled{opacity:.7!important;background:#10191e}.person-card{display:flex;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #ffffff15}.person-card .portrait{width:54px}.person-card strong{font-size:12px;color:#edd6ad}.person-card p{font-size:10px;line-height:1.6;color:#b4c4ca;margin-top:4px}.game-footnote{font-size:11px;color:#a5b2b6;line-height:1.8;margin:24px 0}.end-summary{border-top:1px solid #d1b07555;padding-top:20px;margin-top:15px}.end-summary h3{font:23px Georgia,serif;color:#f2d59e;margin:10px 0}.end-summary p,.end-summary li{font-size:13px;color:#c3cecf;line-height:1.8}.end-summary ul{padding-left:20px;margin:15px 0}.end-summary button{margin-top:16px;padding:12px 16px;border:1px solid #d2b177;background:#312b21;color:#f3d7a8}
.detective-page dialog{position:fixed;margin:auto;width:min(540px,calc(100% - 32px));max-height:88vh;overflow:auto;background:#142129;color:#f0e7d7;border:1px solid #baa376;border-radius:12px;padding:28px;box-shadow:0 25px 100px #0008;font-family:Inter,system-ui,sans-serif}.detective-page dialog::backdrop{background:#020b13b8;backdrop-filter:blur(4px)}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.modal-top button{background:#25343d;color:#f0e5d0;border:1px solid #ffffff20;width:36px;height:36px}.detective-page dialog h2{font:30px/1.2 Georgia,serif;margin:20px 0 10px;color:#f4dfb9}#modalSource{color:#b6c4c7;font-size:11px;line-height:1.6}#modalText{font-size:14px;line-height:1.9;color:#e2e6df;margin-top:20px}#modalDocument{background:#e7decb;color:#25353a;padding:25px 20px;margin-top:20px;font:12px/2 monospace;white-space:pre-line;border-radius:3px;box-shadow:3px 4px 0 #0003}#modalDocument:before{content:'FICTIONAL GAME RECORD';display:block;font-size:9px;letter-spacing:.16em;border-bottom:1px solid #25353a45;margin-bottom:13px;color:#755539}#modalActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}#modalActions button{border:1px solid #d1b176;color:#f0d4a0;background:#322f26;padding:11px 16px;font-size:12px}.game-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);background:#e4cca0;color:#17242a;border-radius:5px;padding:12px 20px;z-index:50;box-shadow:0 8px 40px #0006;font-size:12px}
body.aware-light .detective-masthead,body.aware-light .case-toolbar{color:#182c37}body.aware-light .edition,body.aware-light .case-tools>span,body.aware-light .game-footnote{color:#475d69}body.aware-light .detective-brand span,body.aware-light .case-toolbar .eyebrow{color:#735424}
@media(min-width:1500px){.dialogue-panel{padding:30px;min-height:230px}#dialogueText{font-size:17px}.portrait{width:120px}}
@media(max-width:1050px){.detective-page .detective-shell{width:calc(100% - 36px)}.investigation-layout{grid-template-columns:minmax(0,1fr) 270px;gap:14px}.dialogue-panel{padding:16px;gap:14px;min-height:230px}.portrait{width:76px}#dialogueText{font-size:13px}.scene-top{padding:18px}.scene-top h2{font-size:22px}.scene-world{aspect-ratio:4/3}.cover-copy{padding:42px}.case-tools>span{display:none}}
@media(max-width:820px){.investigation-layout{grid-template-columns:1fr}.case-notebook{position:static;max-height:none}.scene-world{aspect-ratio:3/2}.dialogue-panel{min-height:200px;padding:20px}.portrait{width:90px}#dialogueText{font-size:15px}.cover-copy{padding:36px}.cover-photo{width:100%;opacity:.6}.case-cover:after{background:linear-gradient(90deg,#0e1418eb,#0e141895),linear-gradient(0deg,#0e1418,transparent)}.notebook-tabs{gap:30px}#evidenceList{display:grid;grid-template-columns:1fr 1fr;gap:8px}.evidence-card{margin:0}.connect-bar{position:static;margin:15px 0 0}.edition{display:none}}
@media(max-width:520px){.detective-page .detective-shell{width:calc(100% - 24px);padding-top:20px}.detective-masthead{margin-bottom:18px}.detective-brand{font-size:12px}.cover-copy{padding:32px 24px}.cover-copy h1{font-size:60px}.cover-hook{font-size:17px}.cover-tags{gap:6px;flex-wrap:wrap}.cover-tags span{font-size:9px;padding:7px}.case-cover{min-height:0}.case-toolbar{align-items:start;gap:8px}.case-toolbar h1{font-size:24px}.case-tools{gap:6px;justify-content:flex-end;max-width:135px}.case-tools button{padding:8px;font-size:10px}.scene-world{aspect-ratio:auto;height:510px;background-size:200% 200%}.scene-top{padding:18px 15px}.scene-top h2{font-size:22px;max-width:215px}.scene-top>span{max-width:88px;line-height:1.6;font-size:8px}.dialogue-panel{min-height:257px;padding:17px 15px;gap:12px}.portrait{width:64px}.speaker-line strong{font-size:13px}#speakerRole{font-size:9px}#dialogueText{font-size:14px;line-height:1.7}.dialogue-copy button{font-size:12px;min-height:38px}.hotspot{font-size:10px!important;padding:12px 9px;gap:5px;max-width:68%;white-space:normal;text-align:left}.decision-panel{padding:23px 18px}.decision-panel h2{font-size:27px}.case-choice{font-size:12px!important;padding:14px 12px}.scene-inspect-note{font-size:10px;bottom:16px}.case-notebook{padding:20px 18px}#evidenceList{grid-template-columns:1fr}.detective-page dialog{padding:22px}.detective-page dialog h2{font-size:26px}.person-card .portrait{width:60px}}
/* Crop an atlas tile like object-fit:cover, without stretching the photograph. */
.scene-world,.cover-photo{background-image:none;container-type:size}
.scene-world::before,.cover-photo::before{content:'';position:absolute;left:50%;top:50%;width:max(100cqw,150cqh);height:max(100cqh,66.6667cqw);transform:translate(-50%,-50%);background-image:url('assets/detective/locations-v2.png');background-size:200% 200%;background-position:inherit;z-index:-2}
@media(prefers-reduced-motion:reduce){.scene-world.arriving{animation:none}.detective-shell button{transition:none}html{scroll-behavior:auto}}
