@font-face{font-family:SlovoDisplay;src:url('/fonts/playfair-latin-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:SlovoDisplay;src:url('/fonts/playfair-latin-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{
  --ink:#0c1112;--ink-2:#111819;--panel:#151d1d;--panel-2:#1a2322;--paper:#eee5cf;--paper-dark:#cabb9a;
  --text:#eee9dd;--muted:#9ca39d;--faint:#69736f;--gold:#c5a566;--gold-bright:#e0c687;--burgundy:#713845;
  --green:#263e35;--line:rgba(217,196,148,.2);--line-soft:rgba(255,255,255,.075);--shadow:0 28px 80px rgba(0,0,0,.52);
  --display:SlovoDisplay,Georgia,'Times New Roman',serif;--ui:Inter,Segoe UI,Arial,sans-serif;--max:1540px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--ui);font-size:16px;line-height:1.55}
body.text-large{font-size:19px}
img{display:block;max-width:100%}
button,a{color:inherit;font:inherit}
a{text-decoration:none}
button{border:0}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
[hidden]{display:none!important}
.sr-only{position:absolute!important;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;z-index:200;left:12px;top:12px;padding:10px 14px;background:var(--paper);color:#111;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.eyebrow{margin:0;color:var(--gold);font-size:.67rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.muted{color:var(--muted)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:.98}
h2{font-size:clamp(3rem,6vw,6.8rem);letter-spacing:-.045em}
.button{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:.2s ease}
.button:hover{border-color:var(--gold);transform:translateY(-1px)}
.button-primary{border-color:var(--gold);background:var(--gold);color:#111510}
.button-primary:hover{background:var(--gold-bright);border-color:var(--gold-bright)}
.button-ghost{background:rgba(7,11,11,.42);backdrop-filter:blur(8px)}
.button-vk{border-color:#72a7d7;background:#315f8d;color:#fff}.button-vk:hover{border-color:#9bc4e8;background:#3d75aa}
.text-button{padding:0;background:none;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Landing */
.landing-page{overflow-x:hidden}
.landing-header{position:absolute;z-index:20;top:0;left:0;right:0;height:82px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}
.wordmark{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:1.07rem;line-height:1.08}
.wordmark small{display:block;color:var(--gold);font-family:var(--ui);font-size:.52rem;letter-spacing:.16em;text-transform:uppercase}
.wordmark-seal{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:var(--display);font-size:.65rem;transform:rotate(45deg)}
.wordmark-seal+span{transform:none}
.landing-header nav{display:flex;align-items:center;gap:26px}
.landing-header nav>a:not(.button){color:#d3d0c7;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.hero{position:relative;min-height:780px;height:100svh;display:flex;align-items:center;overflow:hidden;background:#080e11}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,10,11,.97) 0%,rgba(6,10,11,.72) 35%,rgba(6,10,11,.1) 72%),linear-gradient(0deg,rgba(6,10,11,.76),transparent 42%)}
.snow{position:absolute;inset:-20%;opacity:.42;background-image:radial-gradient(circle,#fff 0 1px,transparent 1.5px);background-size:93px 93px;animation:snow 17s linear infinite;pointer-events:none}
@keyframes snow{to{transform:translate3d(40px,95px,0)}}
.hero-copy{position:relative;z-index:2;width:min(calc(100% - 48px),1420px);margin:72px auto 0}
.hero h1{margin:24px 0 28px;font-size:clamp(5rem,10.5vw,11.5rem);line-height:.71;letter-spacing:-.065em}
.hero h1 em{color:var(--gold);font-weight:400}
.hero-lead{margin:0;color:#d4d0c5;font-family:var(--display);font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.38}
.hero-actions{display:flex;gap:10px;margin-top:35px}
.case-meta{display:flex;gap:28px;margin-top:42px;color:#989f9b;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.case-meta span{display:flex;gap:6px}.case-meta b{color:var(--paper);font-family:var(--display);font-size:1.1rem;font-weight:400}
.hero-whisper{position:absolute;right:28px;bottom:50px;margin:0;color:rgba(255,255,255,.45);font-family:var(--display);font-size:.85rem;letter-spacing:.08em;writing-mode:vertical-rl}
.landing-section{position:relative;width:min(calc(100% - 64px),1380px);margin:auto;padding:135px 0}
.section-label{position:absolute;top:54px;left:0;color:var(--gold);font-size:.6rem;letter-spacing:.19em;text-transform:uppercase}
.case-section{border-bottom:1px solid var(--line-soft)}
.case-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,9vw,150px);align-items:start}
.case-grid h2,.cast-heading h2{margin:20px 0 0}
.case-copy{padding-top:85px;color:#b4bbb6;font-family:var(--display);font-size:1.17rem;line-height:1.62}
.case-copy p{margin:0 0 24px}.case-copy blockquote{margin:46px 0 14px;padding:24px 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);color:var(--paper);font-size:clamp(1.8rem,3vw,3.4rem);line-height:1.12}
.scene-section{width:100%;max-width:none;padding-left:clamp(24px,5vw,80px);padding-right:clamp(24px,5vw,80px);background:#0f1516}
.scene-section>.section-label{left:clamp(24px,5vw,80px)}
.scene-feature{position:relative;min-height:700px;overflow:hidden;border:1px solid var(--line)}
.scene-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,12,.92),rgba(8,12,12,.24) 60%,transparent)}
.scene-feature-copy{position:relative;z-index:2;width:min(620px,80%);padding:110px 5vw}
.scene-feature-copy h2{margin:22px 0 34px}.scene-feature-copy>p:last-child{max-width:510px;color:#b8bdb8;font-size:1rem}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;gap:12px}
.method-grid article{min-height:300px;padding:34px;border:1px solid var(--line);background:#141b1b}
.method-grid article>span{color:var(--gold);font-family:var(--display);font-style:italic}
.method-grid h3{margin:80px 0 12px;font-size:2rem}.method-grid p{margin:0;color:var(--muted);font-size:.85rem}
.cast-heading{display:grid;grid-template-columns:1fr .6fr;gap:90px;align-items:end;margin-bottom:65px}.cast-heading>p{color:var(--muted);max-width:420px}
.landing-cast{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.landing-cast figure{position:relative;aspect-ratio:4/5;margin:0;overflow:hidden;background:#141a1a}
.landing-cast figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,8,.96),transparent 48%)}
.landing-cast img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);transition:.45s}.landing-cast figure:hover img{transform:scale(1.025);filter:saturate(.9)}
.landing-cast figcaption{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}.landing-cast b{display:block;font-family:var(--display);font-size:1.55rem;font-weight:400}.landing-cast span{color:var(--gold);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}
.promise-section{width:100%;max-width:none;padding:150px 5vw;text-align:center;background:linear-gradient(rgba(5,10,10,.65),rgba(5,10,10,.92)),url('../assets/img/scenes/counting-house.webp') center/cover fixed}
.promise-section h2{margin:22px auto 44px;max-width:1200px}.promise-section h2 em{color:var(--gold);font-weight:400}.promise-section>.muted{font-size:.72rem}
.community-section{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(45px,8vw,120px);align-items:end;border-bottom:1px solid var(--line-soft)}.community-section h2{margin:20px 0 0;font-size:clamp(3.1rem,6vw,6.5rem)}.community-section h2 em{color:var(--gold);font-weight:400}.community-copy{padding-top:70px}.community-copy p{max-width:620px;margin:0 0 20px;color:#adb4af;font-family:var(--display);font-size:1.08rem}.community-copy .button{margin-top:10px}
.history-note{display:grid;grid-template-columns:.35fr 1fr;gap:80px;border-bottom:1px solid var(--line-soft)}
.history-note .section-label{position:static}.history-note h2{margin:0 0 35px;font-size:clamp(2.8rem,5vw,5rem)}.history-note p{max-width:850px;color:var(--muted)}
.site-footer{padding:45px clamp(22px,5vw,80px);background:#080c0d;color:#727b76;font-size:.66rem;line-height:1.65}
.footer-row{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:32px}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.site-footer a,.site-footer button{text-decoration:underline;text-underline-offset:3px}.site-footer>p{max-width:1100px}

/* Game shell */
.game-page{min-height:100svh;overflow-x:hidden;background:#080d0e}
.game-page::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.14;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='.82' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}
.game-shell{position:relative;width:min(100%,var(--max));min-height:100svh;margin:auto;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);background:var(--ink-2)}
.game-header{position:sticky;z-index:30;top:0;min-height:72px;padding:0 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;border-bottom:1px solid var(--line);background:rgba(10,15,16,.94);backdrop-filter:blur(16px)}
.game-brand{display:flex;align-items:center;gap:11px;font-family:var(--display)}.game-brand>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-size:.62rem;transform:rotate(45deg)}
.case-heading{text-align:center;line-height:1.15}.case-heading>*{display:block}.case-heading small{color:var(--gold);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase}.case-heading b{font-family:var(--display);font-size:1.05rem;font-weight:400}
.investigation-nav{display:flex;justify-content:flex-end;gap:5px}.investigation-nav button{position:relative;min-width:62px;min-height:42px;padding:5px 9px;border:1px solid transparent;background:none;color:#aab0ac;cursor:pointer}.investigation-nav button:hover{border-color:var(--line);color:var(--paper)}.investigation-nav button>span{display:block;color:var(--gold);font-family:var(--display);font-size:1rem;line-height:1}.investigation-nav button>b{display:block;margin-top:3px;font-size:.52rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.investigation-nav button>i{position:absolute;right:4px;top:2px;min-width:16px;height:16px;padding:0 3px;border-radius:9px;background:var(--burgundy);font-size:.55rem;font-style:normal;line-height:16px}
.scene{padding-bottom:24px}.scene-visual{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111}.scene-visual>img{width:100%;height:100%;object-fit:cover;transition:opacity .28s,transform 5s ease}.scene-visual.is-changing>img{opacity:.2;transform:scale(1.015)}
.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(5,9,9,.66),transparent 34%);box-shadow:inset 0 0 130px rgba(0,0,0,.45)}
.scene-grain{position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 130 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
.scene-stamp{position:absolute;z-index:4;left:18px;top:18px;padding:10px 13px;border-left:1px solid var(--gold);background:rgba(7,11,11,.72);backdrop-filter:blur(8px);font-family:var(--display)}.scene-stamp>*{display:block}.scene-stamp small{color:var(--gold);font-family:var(--ui);font-size:.54rem;letter-spacing:.13em;text-transform:uppercase}.scene-stamp span{font-size:1.1rem}
.hotspots{position:absolute;z-index:5;inset:0}.hotspot{position:absolute;border:1px solid transparent;border-radius:50%;background:rgba(197,165,102,0);cursor:pointer;transition:.18s}.hotspot::before,.hotspot::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}.hotspot::before{width:12px;height:12px;border:1px solid rgba(230,204,144,.72);box-shadow:0 0 0 7px rgba(197,165,102,.06)}.hotspot::after{width:3px;height:3px;background:var(--gold)}
.hotspot:hover,.hotspot:focus-visible,.hotspot.is-armed{border-color:rgba(224,198,135,.75);background:rgba(197,165,102,.1);box-shadow:0 0 36px rgba(197,165,102,.14)}
.hotspot.is-found{border-style:dashed;border-color:rgba(224,198,135,.19);background:transparent}.hotspot.is-found::before{width:21px;height:21px;border-color:rgba(224,198,135,.44)}.hotspot.is-found::after{content:"✓";width:auto;height:auto;background:none;color:var(--gold);font-size:.65rem}
.hotspot.is-locked{opacity:.45}.hotspot.is-locked::after{content:"×";width:auto;height:auto;background:none;color:var(--paper)}
.scene-card{position:relative;z-index:7;display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end;margin:-105px 34px 0;padding:28px 30px;border:1px solid rgba(217,196,148,.28);background:linear-gradient(135deg,rgba(21,29,29,.98),rgba(12,18,18,.98));box-shadow:var(--shadow)}
.scene-card h1{margin:7px 0 12px;font-size:clamp(2.3rem,4vw,4.6rem);letter-spacing:-.035em}.scene-card-copy>p:last-child{max-width:820px;margin:0;color:#b4bbb6;font-family:var(--display);font-size:1.07rem;line-height:1.48}
.scene-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:430px}.scene-actions .button{min-height:44px}.scene-actions .action-note{width:100%;margin:0;color:var(--muted);font-size:.7rem;text-align:right}
.case-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;margin:18px 34px 34px;border:1px solid var(--line);background:var(--line)}.case-strip>div{min-height:88px;padding:16px;background:#111818}.case-strip small{display:block;color:var(--faint);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.case-strip b{display:block;margin-top:8px;color:var(--gold);font-family:var(--display);font-size:1.06rem;font-weight:400}.case-strip b.is-solved{color:var(--paper)}
.game-footer{display:grid;grid-template-columns:.45fr 1.55fr;gap:35px;padding:30px;border-top:1px solid var(--line);background:#080d0e;color:#66706b;font-size:.62rem}.game-footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.game-footer a,.game-footer button{text-decoration:underline;text-underline-offset:3px}.game-footer p{margin:0}

/* Panels */
.game-panel{position:fixed;z-index:80;top:0;right:0;width:min(720px,100%);height:100svh;padding:0 28px 70px;border-left:1px solid var(--line);background:#111818;box-shadow:-30px 0 100px rgba(0,0,0,.62);overflow:auto}.panel-backdrop{position:fixed;z-index:70;inset:0;width:100%;height:100%;background:rgba(0,0,0,.68);backdrop-filter:blur(4px);cursor:pointer}
.panel-header{position:sticky;z-index:3;top:0;display:flex;justify-content:space-between;align-items:flex-start;padding:28px 0 18px;border-bottom:1px solid var(--line);background:#111818}.panel-header h2{margin:8px 0 0;font-size:3.1rem}.panel-close,.dialog-close{width:42px;height:42px;background:none;color:var(--paper);cursor:pointer;font-size:2rem;line-height:1}.panel-body{padding-top:24px}
.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-card{position:relative;min-height:190px;padding:18px;overflow:hidden;border:1px solid var(--line);background:#151e1e;text-align:left;cursor:pointer}.map-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;filter:saturate(.55)}.map-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#121919 0%,transparent 95%)}.map-card>div{position:relative;z-index:2}.map-card small{color:var(--gold);font-size:.55rem;letter-spacing:.13em;text-transform:uppercase}.map-card strong{display:block;margin:58px 0 5px;font-family:var(--display);font-size:1.45rem;font-weight:400}.map-card p{margin:0;color:#929b96;font-size:.7rem}.map-card.is-locked{cursor:not-allowed}.map-card.is-locked img{filter:grayscale(1);opacity:.08}.map-card.is-current{border-color:var(--gold)}
.people-list{display:grid;gap:10px}.person-card{display:grid;grid-template-columns:92px 1fr;gap:17px;padding:14px;border:1px solid var(--line);background:#151e1e}.person-portrait{width:92px;aspect-ratio:4/5;overflow:hidden;background:#0c1112;display:grid;place-items:center;color:var(--gold);font-family:var(--display);font-size:2rem}.person-portrait img{width:100%;height:100%;object-fit:cover}.person-card h3{margin:0 0 2px;font-size:1.45rem}.person-card .person-role{margin:0;color:var(--gold);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}.person-card .person-summary{margin:8px 0;color:#9ba39e;font-size:.73rem}.person-facts{display:flex;flex-wrap:wrap;gap:5px}.person-facts span{padding:4px 6px;border:1px solid var(--line);color:#aab0ac;font-size:.56rem}.person-topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.topic-button{min-height:36px;padding:7px 10px;border:1px solid var(--line);background:#111818;color:#d5d2c9;cursor:pointer;font-size:.65rem}.topic-button:hover{border-color:var(--gold)}.topic-button:disabled{opacity:.38;cursor:not-allowed}
.filter-row{display:flex;gap:6px;overflow:auto;margin-bottom:14px;padding-bottom:4px}.filter-row button{white-space:nowrap;padding:7px 10px;border:1px solid var(--line);background:none;color:var(--muted);cursor:pointer;font-size:.62rem}.filter-row button.is-active{border-color:var(--gold);color:var(--paper)}
.clue-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.clue-card{min-height:170px;padding:16px;border:1px solid var(--line);background:#151e1e;text-align:left;cursor:pointer}.clue-card:hover{border-color:rgba(224,198,135,.55)}.clue-icon{float:right;color:var(--gold);font-family:var(--display);font-size:1.35rem}.clue-card small{color:var(--gold);font-size:.54rem;letter-spacing:.09em;text-transform:uppercase}.clue-card h3{margin:30px 0 7px;font-size:1.25rem}.clue-card p{margin:0;color:#939c97;font-size:.7rem}.clue-card .source{display:block;margin-top:10px;color:#67716c;font-size:.58rem}
.empty-state{padding:55px 24px;border:1px dashed var(--line);color:var(--muted);text-align:center}.empty-state strong{display:block;margin-bottom:8px;color:var(--paper);font-family:var(--display);font-size:1.5rem;font-weight:400}
.deduction-list{display:grid;gap:9px}.deduction-card{padding:18px;border:1px solid var(--line);background:#151e1e}.deduction-head{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center}.deduction-number{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:var(--display);font-style:italic}.deduction-head small{display:block;color:var(--gold);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase}.deduction-head h3{margin:2px 0 0;font-size:1.3rem}.deduction-status{color:var(--faint);font-size:.65rem}.deduction-card.is-solved{border-color:rgba(197,165,102,.48)}.deduction-card.is-solved .deduction-status{color:var(--gold)}.deduction-card>p{margin:13px 0;color:var(--muted);font-size:.73rem}.deduction-card .button{min-height:38px;padding:0 13px;font-size:.61rem}
.finale-callout{margin-top:18px;padding:20px;border:1px solid var(--gold);background:linear-gradient(135deg,rgba(113,56,69,.3),rgba(197,165,102,.08))}.finale-callout h3{margin:5px 0 10px;font-size:1.8rem}.finale-callout p{color:#b5bbb7}.finale-callout .button{width:100%}
.settings-list{display:grid;gap:4px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line-soft)}.setting-row select,.setting-row input{accent-color:var(--gold)}.settings-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.danger-button{min-height:42px;padding:0 14px;border:1px solid #773b47;background:none;color:#cf9aa5;cursor:pointer}

/* Dialogs, documents, puzzles */
dialog{color:var(--text)}
.game-dialog,.cookie-dialog{width:min(920px,calc(100% - 28px));max-height:calc(100svh - 28px);padding:0;border:1px solid var(--line);background:#111818;box-shadow:var(--shadow);overflow:auto}.game-dialog::backdrop,.cookie-dialog::backdrop,.intro-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}.game-dialog>.dialog-close,.cookie-dialog>.dialog-close{position:sticky;z-index:5;float:right;top:12px;margin:12px 12px -54px 0;background:rgba(8,12,12,.75)}
.dialog-content{padding:34px}.dialog-content h2{margin:8px 0 20px;font-size:clamp(2.4rem,5vw,4.6rem)}.dialog-content>p{color:#aab2ad}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.dialog-actions>button:not(.button){min-height:44px;padding:0 16px;border:1px solid var(--line);background:none;color:var(--paper);cursor:pointer}
.story-visual{width:100%;margin:18px 0 22px;overflow:hidden;border:1px solid var(--line);background:#0b1011}.story-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.78) contrast(1.03)}.story-visual figcaption{padding:10px 12px;border-top:1px solid var(--line);color:#9da59f;font-size:.67rem;line-height:1.5}.document-wrap>.story-visual{width:min(760px,100%);margin:0 auto 20px}.ending-copy>.story-visual{max-width:720px;margin-top:28px;background:rgba(8,12,12,.9)}
.dialogue-stage{display:grid;grid-template-columns:240px 1fr;min-height:570px}.dialogue-person{position:relative;overflow:hidden;background:#0b1011}.dialogue-person img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}.dialogue-person::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0c1112 0%,transparent 55%)}.dialogue-person div{position:absolute;z-index:2;left:18px;right:18px;bottom:20px}.dialogue-person strong{display:block;font-family:var(--display);font-size:1.5rem;font-weight:400}.dialogue-person span{color:var(--gold);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase}.dialogue-copy{padding:34px}.dialogue-copy h2{margin:8px 0 30px;font-size:2.7rem}.dialogue-lines{display:grid;gap:13px}.dialogue-line{padding:14px 16px;border-left:1px solid var(--gold);background:#151e1e}.dialogue-line.is-player{border-left-color:#758780}.dialogue-line b{display:block;margin-bottom:3px;color:var(--gold);font-size:.58rem;letter-spacing:.09em;text-transform:uppercase}.dialogue-line p{margin:0;color:#d1d3cc;font-family:var(--display);font-size:1rem}.dialogue-reward{margin-top:20px;color:var(--gold);font-size:.7rem}
.document-wrap{padding:36px;background:radial-gradient(circle at 50% 10%,#26312f,#0d1314 72%)}.document-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.document-toolbar span{color:var(--muted);font-size:.67rem}.paper-document{position:relative;width:min(680px,100%);min-height:560px;margin:auto;padding:clamp(28px,6vw,62px);overflow:hidden;color:#2b2419;background:#e9dfc6;box-shadow:0 18px 55px rgba(0,0,0,.46);font-family:Georgia,'Times New Roman',serif}.paper-document::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:radial-gradient(#7c6646 .55px,transparent .65px);background-size:6px 6px}.paper-document>*{position:relative}.paper-document h2{margin:0 0 8px;color:#3b2b1a;font-size:2rem;letter-spacing:.03em;text-align:center}.paper-document .doc-subtitle{text-align:center;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.paper-document hr{border:0;border-top:1px solid #7f6b49;margin:22px 0}.paper-document p{color:#342c21}.doc-amount{margin:34px 0;padding:18px;border-top:3px double #675538;border-bottom:3px double #675538;font-size:1.6rem;text-align:center}.doc-signature{margin-top:50px;text-align:right;font-style:italic}.stamp{position:absolute;right:8%;bottom:16%;width:110px;height:110px;display:grid;place-items:center;border:4px double #8b3c37;border-radius:50%;color:#8b3c37;font-size:.63rem;font-weight:700;text-align:center;transform:rotate(-8deg);opacity:.78}.stamp::before{content:"1891";font-family:var(--display);font-size:1.7rem}.ledger-table{width:100%;margin-top:25px;border-collapse:collapse;font-size:.78rem}.ledger-table th,.ledger-table td{padding:9px;border-bottom:1px solid #7f6b49;text-align:left}.ledger-table td:last-child,.ledger-table th:last-child{text-align:right}.ledger-table .suspicious{background:rgba(123,55,47,.13);font-weight:700}.hand-note{font-size:1.5rem;font-style:italic;line-height:1.5;transform:rotate(-1deg)}
.puzzle-shell{padding:34px}.puzzle-shell h2{margin:8px 0 14px;font-size:3.2rem}.puzzle-shell>.puzzle-lead{color:#abb2ae}.hint-row{display:flex;align-items:center;gap:8px;margin:18px 0}.hint-row button{min-height:38px;padding:0 12px;border:1px solid var(--line);background:none;color:var(--gold);cursor:pointer;font-size:.65rem}.hint-text{margin:8px 0 18px;padding:12px;border-left:1px solid var(--gold);background:#151e1e;color:#c2c6c1;font-size:.75rem}.option-list{display:grid;gap:8px}.option-button{min-height:48px;padding:12px 14px;border:1px solid var(--line);background:#151e1e;color:#d7d6d0;text-align:left;cursor:pointer}.option-button:hover{border-color:var(--gold)}.option-button.is-wrong{border-color:var(--burgundy);color:#dfa4af;animation:shake .3s}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ledger-compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.mini-ledger{padding:16px;border:1px solid var(--line);background:#151e1e}.mini-ledger h3{margin:0 0 12px;color:var(--gold);font-size:1.35rem}.mini-ledger div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-soft);font-family:var(--display);font-size:.88rem}.mini-ledger .gap{color:#e0b0a4}
.timeline-list{display:grid;gap:7px;margin:20px 0}.timeline-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);background:#151e1e}.timeline-row>span:first-child{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);color:var(--gold);font-family:var(--display)}.timeline-controls{display:flex;gap:4px}.timeline-controls button{width:34px;height:34px;border:1px solid var(--line);background:none;color:var(--paper);cursor:pointer}
.clue-picker{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:360px;padding:2px;overflow:auto}.clue-choice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);background:#151e1e;cursor:pointer}.clue-choice input{margin-top:4px;accent-color:var(--gold)}.clue-choice strong{display:block;font-family:var(--display);font-weight:400}.clue-choice small{color:var(--muted)}
.accusation-form{display:grid;gap:25px}.accusation-question{padding:18px;border:1px solid var(--line);background:#151e1e}.accusation-question>span{display:block;color:var(--gold);font-size:.57rem;letter-spacing:.12em;text-transform:uppercase}.accusation-question h3{margin:4px 0 14px;font-size:1.5rem}.accusation-options{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.accusation-options label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);cursor:pointer}.accusation-options input{accent-color:var(--gold)}
.ending{position:relative;min-height:690px;display:flex;align-items:flex-end;overflow:hidden}.ending>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ending::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,10,10,.98) 8%,rgba(6,10,10,.65) 55%,rgba(6,10,10,.05))}.ending-copy{position:relative;z-index:2;width:100%;padding:42px}.ending-copy h2{margin:8px 0 16px;font-size:clamp(3.4rem,7vw,6.5rem)}.ending-copy .ending-summary{max-width:700px;color:#c4c7c1;font-family:var(--display);font-size:1.18rem}.ending-copy blockquote{max-width:760px;margin:24px 0;color:var(--gold);font-family:var(--display);font-size:1.5rem}.ending-community{max-width:760px;margin-top:30px;padding:20px;border:1px solid rgba(114,167,215,.55);background:rgba(8,15,20,.9);backdrop-filter:blur(10px)}.ending-community h3{margin:7px 0 10px;font-size:2rem}.ending-community>p:not(.eyebrow){margin:0;color:#b9c2c4;font-size:.78rem}.ending-community .button{margin-top:18px}.ending-copy .ending-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}
.intro-dialog{width:min(980px,calc(100% - 28px));padding:0;border:1px solid var(--line);background:#101617;box-shadow:var(--shadow)}.intro-dialog[open]{display:grid;grid-template-columns:1.1fr .9fr}.intro-art{min-height:620px}.intro-art img{width:100%;height:100%;object-fit:cover}.intro-copy{display:flex;flex-direction:column;justify-content:center;padding:45px}.intro-copy h2{margin:12px 0 28px;font-size:clamp(3.5rem,7vw,6.6rem)}.intro-copy>p:not(.eyebrow){color:#b7bdb8;font-family:var(--display);font-size:1.05rem}.intro-copy>small{margin-top:24px;color:var(--faint);font-size:.6rem}.intro-actions{display:grid;gap:8px;margin-top:28px}.intro-actions .button{width:100%}
.toast{position:fixed;z-index:120;left:50%;bottom:25px;transform:translateX(-50%);max-width:min(520px,calc(100% - 24px));padding:12px 18px;border:1px solid var(--gold);background:#141c1c;box-shadow:var(--shadow);font-size:.75rem;text-align:center}
.cookie-consent{position:fixed;z-index:140;left:18px;right:18px;bottom:18px;max-width:1120px;margin:auto;padding:18px 20px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;border:1px solid rgba(224,198,135,.4);background:rgba(14,20,20,.97);box-shadow:var(--shadow);backdrop-filter:blur(15px)}.cookie-consent strong{font-family:var(--display);font-size:1.2rem;font-weight:400}.cookie-consent p{max-width:720px;margin:4px 0 0;color:#909993;font-size:.72rem}.cookie-actions{display:flex;align-items:center;gap:10px}.cookie-actions>a,.cookie-actions>button:not(.button){padding:8px;border:0;background:none;color:#aeb4af;cursor:pointer;font-size:.7rem;text-decoration:underline;text-underline-offset:3px}.cookie-actions .button{min-height:44px}.cookie-dialog{width:min(520px,calc(100% - 28px));padding:30px}.cookie-dialog h2{font-size:2.5rem}.noscript{margin:0;padding:30px;background:#3a1d23;text-align:center}
@media print{.cookie-consent,.landing-header,.game-header,.hotspots,.scene-actions,.investigation-nav{display:none!important}}
