:root{color-scheme:dark;--bg:#11191c;--panel:#192226;--gold:#dcba80;--muted:#adb5af;--text:#f4ead6;--line:#dfc89d28;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:#080d0f;color:var(--text);font:16px/1.6 system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{opacity:.48;cursor:not-allowed}[hidden]{display:none!important}#app{max-width:760px;margin:auto;box-shadow:0 0 100px #000;min-height:100svh}button{border:1px solid var(--line);background:transparent}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}.eyebrow,.edition{font-size:.75rem;font-weight:600;letter-spacing:.19em;color:var(--gold)}.round{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:22px;color:var(--gold);background:#14202670}.primary{min-height:52px;width:100%;padding:13px 18px;border:1px solid #f3dca970;border-radius:5px;background:linear-gradient(130deg,#e0c08a,#b18a51);color:#192025;font-weight:650;box-shadow:0 6px 25px #0003}.secondary{min-height:48px;padding:10px 16px;border-radius:5px;border-color:#dabe8959;color:var(--gold)}.quiet{border:0;padding:12px;color:var(--muted);min-height:44px}.full{width:100%}#title-screen{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:24px 28px 20px;overflow:hidden}.title-art{position:absolute;inset:0;z-index:-3;background-image:url(assets/theatre.webp);background-size:auto 200%;background-position:0 0;animation:opening 20s ease-out both}.title-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(#09151cb0,#0e161c33 24%,#10191ba8 51%,#111b1df8 89%)}.title-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.edition{font-size:.75rem;letter-spacing:.13em}.title-brand{text-align:center;margin:12px 0 60px;text-shadow:0 3px 28px #000}.ornament{font-size:26px;color:var(--gold);margin:7px 0}.title-brand h1{font-size:clamp(50px,12vw,76px);line-height:1;letter-spacing:-.05em}.title-brand h1 span{display:block;font-size:.63em;letter-spacing:-.025em;line-height:1.4}.title-brand>p{font-family:var(--serif);font-style:italic;color:#e3d3b3;margin-top:13px;font-size:18px}.case-card{max-width:425px;width:100%;text-align:center;margin-top:auto;border-top:1px solid #d7b97870;padding-top:22px}.case-card h2{font-size:clamp(32px,8vw,47px);line-height:1.1;margin:12px 0 18px}.case-card>p:not(.series-note){font-size:.95rem;color:#c7c9bd;margin-bottom:24px}.case-card .primary+.primary{background:transparent;color:var(--gold);box-shadow:none;margin-top:9px}.case-meta{display:flex;justify-content:space-between;gap:10px;color:#aab3aa;font-size:.75rem;margin:17px 0}.series-note{font:italic 15px var(--serif);color:#b7a787;padding:8px}.game-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:linear-gradient(#202b2e,#131d21);border-bottom:1px solid var(--line)}.location{text-align:center;min-width:0}.location h1{font-size:clamp(20px,5vw,27px);line-height:1.25;margin-top:5px}.location .eyebrow{font-size:12px;letter-spacing:.09em}.world-wrap{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#111b1e;isolation:isolate}#world{display:block;width:100%;height:100%;touch-action:none}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 70px #070e1170;background:linear-gradient(#101c2050,transparent 18%,transparent 80%,#111c21ae)}.world-top,.world-bottom{position:absolute;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.world-top{top:15px}.world-bottom{bottom:15px}.world-top>*,.world-bottom>button{pointer-events:auto}.glass{min-height:44px;background:#102027d6;border:1px solid #d9c7a543;color:#efe7d3;padding:8px 13px;border-radius:30px;backdrop-filter:blur(10px);font-size:14px}.glass span{margin-left:9px;font-size:19px}.clock{display:flex;flex-direction:column;background:#112129b9;border:1px solid #d9c7a531;border-radius:5px;padding:6px 12px;line-height:1.3;backdrop-filter:blur(10px)}#clock{font:23px var(--serif);font-variant-numeric:tabular-nums}#clock-note{font-size:12px;letter-spacing:.06em;color:#d3c299}.clock.late{border-color:#b4754f;color:#efb083}#movement-hint{font-size:12px;color:#e5ded0;text-shadow:0 1px 8px #000}footer{background:linear-gradient(#142025,#182226);padding:12px 18px calc(8px + env(safe-area-inset-bottom))}.objective{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:11px;min-height:54px}.objective>span{font-size:26px;color:var(--gold)}.objective p{font-size:14px;line-height:1.45;color:#e4dccb}nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}nav button{border:0;position:relative;min-height:63px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.4;font-size:14px;color:#b6c0b9}.nav-icon{font-size:23px;color:var(--gold)}nav b{position:absolute;top:3px;right:25%;border-radius:20px;min-width:17px;font-size:12px;background:#34433f;color:var(--gold)}nav i{position:absolute;top:8px;right:27%;width:6px;height:6px;border-radius:50%;background:var(--gold)}#save-status{text-align:center;color:#82968d;font-size:12px;padding-top:5px}#toast{position:absolute;bottom:72px;left:20px;right:20px;padding:12px;border:1px solid #dbbd7f66;border-radius:6px;background:#12272df5;color:#f1e7cd;font-size:14px;text-align:center;opacity:0;transform:translateY(10px);transition:.3s;pointer-events:none;z-index:3}#toast.visible{opacity:1;transform:none}#travel-flash{position:absolute;inset:0;pointer-events:none;background:#10181d;opacity:0}#travel-flash.active{animation:travel .55s ease-out}dialog{color:var(--text);background:linear-gradient(145deg,#243033,#172126 60%);border:1px solid #d8bd8547;border-radius:15px 15px 5px 5px;padding:0;width:calc(100% - 20px);max-width:630px;max-height:86svh;overflow:auto;margin:auto auto 10px;box-shadow:0 15px 80px #0009}dialog::backdrop{background:#06101870;backdrop-filter:blur(3px)}.sheet-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#1b282df5;padding:12px 18px 6px}.sheet-top .round{width:36px;height:36px;font-size:24px}#sheet-content{padding:16px 22px 24px}#sheet h2{font-size:30px;line-height:1.2;margin-bottom:16px}#sheet h3{font-size:23px;margin-bottom:10px}.narrative .sheet-top{background:none;position:static;padding:0 22px}.narrative .sheet-top:has(#sheet-label:empty){display:none}.narrative #sheet-content{padding-top:27px}.prose{font:18px/1.7 var(--serif);color:#e6e1d4;white-space:pre-line}.prose p{margin-bottom:17px}.narrative .prose:first-letter{font-size:1.1em}.page-count{display:flex;gap:5px;justify-content:center;margin:18px 0 4px}.page-count span{width:18px;height:2px;background:#dfc58b26}.page-count .on{background:#dfc58b}.choices{display:grid;gap:9px;margin-top:22px}.choice{text-align:left;min-height:50px;line-height:1.4;padding:13px 15px;border:1px solid #c9c09c35;border-radius:5px;background:#101b2066;transition:background .2s,border-color .2s;font-size:15px}.choice:hover{background:#31403d;border-color:#cfb47880}.choice small{display:block;color:#adbaad;font-size:12px;margin-top:5px}.small{font-size:14px;color:#aeb9b1;line-height:1.6}.notice{padding:12px 14px;border-left:2px solid var(--gold);background:#c6ae7810;font-size:14px;line-height:1.6;margin:16px 0}.tool-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.tool-tabs button{padding:8px 12px;border-radius:4px;min-height:44px;font-size:14px}.tool-tabs .selected{background:#d6b574;color:#152025}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.place-card{padding:0;overflow:hidden;text-align:left;border-radius:6px;background:#112127}.place-image{display:block;height:115px;background-size:200% 200%;filter:saturate(.8)}.place-card .place-copy{display:block;padding:10px;font-size:14px}.place-card small{display:block;font-size:12px;color:#a8b6ae;margin-top:3px}.place-card.current{border-color:var(--gold)}.place-card:disabled .place-image{filter:grayscale(.7) brightness(.4)}.evidence-list{display:grid;gap:9px}.evidence-card{padding:14px;text-align:left;border-radius:5px;background:#101a1e;display:grid;grid-template-columns:36px 1fr;gap:8px}.evidence-card>span{font-size:24px;color:var(--gold);grid-row:1/3}.evidence-card strong{font-weight:500;font-family:var(--serif);font-size:20px;line-height:1.2}.evidence-card small{font-size:12px;color:#9daea5}.document{background:#e7d8b8;color:#2e2b24;padding:30px 23px;margin:15px 0 21px;border-radius:2px;box-shadow:0 7px 20px #0004;white-space:pre-line;font:16px/1.9 'Courier New',monospace;border-top:4px double #504835;border-bottom:4px double #504835;position:relative}.document:before{content:'BAKER STREET · PIÈCE À CONVICTION';display:block;font:10px system-ui;letter-spacing:.12em;color:#796c56;margin-bottom:22px}.document.letter{font:italic 20px/1.6 var(--serif)}.document.ticket{background:#c8b88d;border:1px dashed #665f49}.document.sample{background:#c7ccbb;font-family:var(--serif)}.deduction{padding:14px;border:1px solid #c5b17840;margin:12px 0;border-radius:5px}.deduction.solved{border-color:#85a28a70;background:#29413b50}.deduction p{font-size:14px;color:#aebdb1}.deduction h3{font-size:21px!important}.field{display:block;margin:16px 0}.field span{display:block;font-size:14px;color:var(--gold);margin-bottom:7px}select{width:100%;color:#eee8d7;background:#111d23;border:1px solid #d8c29345;border-radius:5px;padding:12px;min-height:49px;font-size:15px}option{background:#142027}.journal-entry{border-left:1px solid #c7b68e4d;padding:4px 0 15px 15px;margin-left:6px}.journal-entry small{color:var(--gold);font-size:12px}.journal-entry p{font-size:15px}.suspects{display:grid;gap:10px}.suspect{text-align:left;padding:15px;min-height:70px;background:#111b20;border-radius:5px}.suspect span{display:block;color:#aeb9b1;font-size:13px}.ending-title{font-size:35px!important;color:var(--gold);padding:5px 0}.ending-ornament{font-size:36px;text-align:center;color:var(--gold);margin:12px}.dice-room{text-align:center;padding:27px}.dice-room>p{color:#cfc9b8;font-size:15px}#dice-context{font-family:var(--serif);font-size:21px}.die-orbit{width:160px;height:160px;margin:27px auto;display:grid;place-items:center;border:1px solid #c9af7828;border-radius:50%;background:radial-gradient(#d7bd761a,transparent 70%);box-shadow:0 0 50px #ddb8670c}#die{font:64px var(--serif);color:#ecd29b;width:104px;height:112px;display:grid;place-items:center;clip-path:polygon(50% 0,100% 26%,100% 75%,50% 100%,0 75%,0 26%);background:linear-gradient(130deg,#806b45,#26322d 45%,#b0955d);text-shadow:0 2px 6px #000}#die.rolling{animation:roll .22s linear infinite}#dice-math{font-size:22px;color:var(--gold);min-height:36px}#dice-result{min-height:48px;margin:8px 0 20px}.success{color:#a5d5b1!important}.error{color:#efb58e!important}.empty{text-align:center;padding:24px 12px;color:#b6c1b4}.end-actions{display:grid;gap:9px;margin-top:24px}@keyframes opening{from{transform:scale(1.1)}to{transform:scale(1)}}@keyframes travel{0%{opacity:.75}100%{opacity:0}}@keyframes roll{50%{transform:rotate(12deg) scale(.92)}100%{transform:rotate(-12deg)}}@media(min-width:800px){body{padding:20px}#app{border:1px solid var(--line);border-radius:12px;overflow:hidden}#title-screen{min-height:920px}.title-art{background-size:200% 200%}.world-wrap{max-height:660px}dialog{margin:auto;border-radius:12px}.title-brand{margin-bottom:120px}#game{min-height:calc(100svh - 40px)}}@media(max-width:799px){#game{height:100svh;display:flex;flex-direction:column}.game-header{flex:0 0 auto}.world-wrap{flex:1 1 auto;min-height:260px;aspect-ratio:auto}footer{flex:0 0 auto}.game-header{padding-top:calc(10px + env(safe-area-inset-top))}#title-screen{padding-top:calc(20px + env(safe-area-inset-top))}}@media(max-height:740px) and (max-width:799px){.title-brand{margin-bottom:25px}.title-brand h1{font-size:49px}.title-brand>p{margin-top:8px}.case-card{padding-top:13px}.case-card h2{font-size:33px;margin:8px 0 12px}.case-card>p:not(.series-note){margin-bottom:14px}.case-meta{margin:10px 0}.game-header .eyebrow{display:none}nav button{min-height:53px}footer{padding-top:7px}.objective p{font-size:13px}.world-wrap{min-height:230px}.series-note{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.reading-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line)}.reading-back{min-height:44px;min-width:88px;padding:9px 16px;border-radius:5px;border-color:#c9c09c45;color:var(--gold);font-size:15px}.reading-back:hover:not(:disabled){background:#31403d}.reading-position{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
