:root{color:#f0e8d5;font-synthesis:none;--muted:#c2b69b;--red:#9d4534;--line:#e8d7b533;font-family:Noto Serif SC,Songti SC,serif}*{box-sizing:border-box}body{background:#272d28;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline-offset:5px;outline:2px solid #ead4a7}#world{width:100%;height:100%;display:block;position:fixed;inset:0}#app{pointer-events:none;position:fixed;inset:0}button,input,a{pointer-events:auto}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 180px #101c1b45}.top{letter-spacing:.2em;justify-content:space-between;align-items:center;display:flex;position:absolute;top:32px;left:42px;right:42px}.brand{text-shadow:0 2px 15px #0008;align-items:center;gap:17px;font-size:24px;display:flex}.brand small{letter-spacing:.28em;border-left:1px solid var(--line);color:#e3d8c1;padding-left:17px;font:10px sans-serif}.actions{gap:10px;display:flex}.icon{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#15231c40;border-radius:2px;min-width:38px;height:38px;padding:0 12px;font:12px sans-serif}.hero{background:linear-gradient(90deg,#18231eeb 0%,#1b261eb0 27%,#15231c20 58%,#0000 80%);position:absolute;inset:0}.hero-content{max-width:410px;position:absolute;top:22%;left:8%}.eyebrow{letter-spacing:.5em;color:#c7ba95;align-items:center;gap:18px;font-size:11px;display:flex}.eyebrow:before{content:"";background:#c7ba95;width:34px;height:1px}.hero h1{letter-spacing:.23em;margin:15px 0 6px;font-size:clamp(70px,8vw,128px);font-weight:500;line-height:1.3}.seal{color:#f2d9b4;writing-mode:vertical-rl;letter-spacing:.3em;vertical-align:middle;background:#994a36;border:1px solid #e5af7566;margin-left:10px;padding:5px 7px;font-size:12px;display:inline-block;transform:rotate(-3deg)}.subtitle{letter-spacing:.45em;color:#d1c2a0;margin:12px 0 27px;font-size:17px}.intro{color:#c3baa7;letter-spacing:.08em;max-width:320px;font-size:13px;line-height:2.3}.start{letter-spacing:.23em;background:#b7a1761c;border:1px solid #c5b18480;justify-content:space-between;align-items:center;width:250px;margin-top:29px;padding:17px 23px;transition:all .25s;display:flex}.start:hover{background:#c4b28540;border-color:#e5cf9e}.start b{font-family:sans-serif;font-size:19px;font-weight:400}.subbutton{color:#cabda2;letter-spacing:.16em;background:0 0;border:0;border-bottom:1px solid #c2b69b50;margin:12px 20px 0 0;padding:8px 0;font-size:12px}.footer{color:#ded4bd99;letter-spacing:.16em;justify-content:space-between;align-items:end;font-size:10px;line-height:1.9;display:flex;position:absolute;bottom:25px;left:42px;right:42px}.footer .chapter-mark{color:#e0d2b4;font-size:12px}.location{text-shadow:0 2px 12px #000b;position:absolute;top:105px;left:42px}.location .small{letter-spacing:.25em;color:#ddd0ac;font-size:10px}.location h2{letter-spacing:.22em;margin:10px 0;font-size:24px;font-weight:400}.objective{letter-spacing:.08em;color:#ece2cb;font-size:12px}.objective:before{content:"◇";color:#d6b77c;margin-right:10px}.hint{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.1em;white-space:nowrap;background:#15211bd9;border:1px solid #c6b89455;align-items:center;gap:13px;padding:11px 21px;font-size:13px;display:flex;position:absolute;bottom:85px;left:50%;transform:translate(-50%)}.key{text-align:center;border:1px solid #cfbf9a80;border-radius:2px;min-width:24px;padding:5px 7px;font:12px sans-serif}.controls{color:#e5dbc499;letter-spacing:.08em;gap:20px;font:11px sans-serif;display:flex;position:absolute;bottom:30px;left:42px}.controls span{align-items:center;gap:7px;display:flex}.crosshair{background:#fff9;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:50%}.progress{align-items:center;gap:10px;display:flex;position:absolute;bottom:28px;right:42px}.progress i{background:#c6b58d55;width:5px;height:5px;transform:rotate(45deg)}.progress i.active{background:#ecd8a8}.dialog-layer{pointer-events:auto;background:linear-gradient(#0000 35%,#101b17ee);justify-content:center;align-items:flex-end;padding:0 40px 55px;display:flex;position:absolute;inset:0}.dialog{border-top:1px solid #cab38588;width:min(760px,90vw);padding-top:24px}.speaker{letter-spacing:.3em;color:#ddc392;margin-bottom:14px;font-size:13px}.dialog p{letter-spacing:.08em;min-height:70px;margin:0 0 20px;font-size:19px;line-height:1.95}.choices{flex-wrap:wrap;justify-content:flex-end;gap:14px;display:flex}.choice{letter-spacing:.1em;background:#bfa98210;border:1px solid #bfa98266;padding:12px 23px;font-size:13px}.choice:hover{background:#bfa98235}.notice{color:#abac9a;letter-spacing:.1em;margin-top:16px;font:10px sans-serif}.overlay{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);pointer-events:auto;background:#16211de8;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.panel{width:min(540px,86vw)}.panel h2{letter-spacing:.2em;font-size:31px;font-weight:400}.panel p{color:#c3baa7;font-size:13px;line-height:2}.panel .choice{text-align:left;width:100%;margin:10px 0;display:block}.setting{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;font-size:13px;display:flex}.setting select{color:#e2d1ad;border:1px solid var(--line);font:inherit;pointer-events:auto;background:#24372c;padding:7px}.fade{opacity:0;pointer-events:none;z-index:50;background:#18201b;flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:absolute;inset:0}.fade.on{opacity:1;pointer-events:auto}.fade span{letter-spacing:.6em;color:#bfae87;font-size:12px}.fade h2{letter-spacing:.4em;margin:18px;font-size:44px;font-weight:400}.toast{letter-spacing:.1em;border:1px solid var(--line);background:#1b2a20e8;padding:13px 23px;font-size:12px;position:absolute;top:100px;left:50%;transform:translate(-50%)}.loading{color:#d5c6a4;letter-spacing:.1em;font-size:11px;position:absolute;bottom:100px;left:8%}.maplist{grid-template-columns:1fr 1fr;gap:8px;display:grid}.maplist button{margin:0!important;font-size:12px!important}.endword{font-size:15px!important;line-height:2.6!important}.edition{letter-spacing:.18em;color:#e7d9ba99;font:10px sans-serif;position:absolute;top:102px;right:42px}.hidden{display:none!important}@media (width<=800px){.hero-content{top:18%;left:6%}.top,.footer{left:22px;right:22px}.controls{gap:10px;left:22px}.hero h1{font-size:80px}.brand small{display:none}.location{left:22px}.dialog p{font-size:16px}}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.top{z-index:6}.hero{z-index:1}.footer,.loading{z-index:2}.overlay{z-index:5}.dialog-layer{z-index:4}.ending-overlay{pointer-events:none;background:linear-gradient(90deg,#0000 35%,#15201a55 58%,#15201aed 83%);justify-content:flex-end;align-items:center;padding:6vw;display:flex;position:absolute;inset:0}.ending-panel{text-shadow:0 2px 10px #0008;width:360px;max-width:36vw}.ending-panel h2{letter-spacing:.12em;margin:25px 0;font-size:29px;font-weight:400;line-height:1.7}.ending-panel p{color:#c9c0ab;font-size:12px;line-height:2.2}.ending-panel .choice{width:100%;margin-top:24px}.at-ending .controls,.at-ending .crosshair,.at-ending .progress,.at-ending .objective,.at-ending .edition{display:none}.at-ending .location{opacity:.7}@media (width<=800px){.ending-overlay{background:linear-gradient(#0000,#15201aee);padding:28px}.ending-panel{align-self:flex-end;width:330px;max-width:100%}.ending-panel h2{font-size:23px}.ending-panel .endword{font-size:13px!important}}.ending-panel{transition:opacity 1.2s,transform 1.2s}.ending-overlay.arriving .ending-panel{opacity:0;pointer-events:none;transform:translateY(12px)}.ending-overlay.arriving{background:0 0}@media (prefers-reduced-motion:reduce){.ending-panel{transition:none}}@keyframes ending-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.ending-panel{animation:1.2s both ending-reveal}.arriving .ending-panel{visibility:hidden;animation:none}@media (prefers-reduced-motion:reduce){.ending-panel{animation:none}}.first-steps{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2;background:linear-gradient(110deg,#18291ef2,#25342be8);border-left:2px solid #c9b17b;width:320px;max-width:calc(100vw - 44px);padding:19px 21px;animation:.4s both guide-in;position:absolute;bottom:82px;left:42px;box-shadow:0 10px 35px #101a1533}.first-steps[hidden]{display:none}.guide-heading{letter-spacing:.18em;color:#cbbd9e;justify-content:space-between;font:10px sans-serif;display:flex}.guide-main{align-items:center;gap:13px;margin-top:16px;display:flex}.guide-main kbd{letter-spacing:.08em;white-space:nowrap;background:#e9d6aa0a;border:1px solid #d3be8f80;border-radius:3px;padding:8px 10px;font:13px sans-serif}.guide-main strong{font-size:15px;font-weight:400}.first-steps p{color:#dbd1ba;margin:12px 0;font-size:12px;line-height:1.9}.first-steps button,.controls button{color:#cfc3a8;background:0 0;border:0;border-bottom:1px solid #ccb99055;padding:3px 0;font:11px sans-serif}.controls button:hover,.first-steps button:hover{color:#fff1cf}.control-reference{margin:12px 0;font:12px sans-serif}.control-reference div{border-bottom:1px solid #e8d7b511;justify-content:space-between;padding:8px 0;display:flex}.control-reference dt{color:#e8d7b5}.control-reference dd{color:#bdb6a4;margin:0}.at-ending .first-steps{display:none}@keyframes guide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (width<=800px){.first-steps{left:22px}}@media (height<=740px){.overlay .panel{max-height:90vh;padding:12px 4px;overflow:auto}}@media (prefers-reduced-motion:reduce){.first-steps{animation:none}}.hero-content{max-width:340px;top:19%;left:6%}.hero h1{font-size:clamp(64px,7vw,110px)}.life-library{pointer-events:auto;flex-direction:column;display:flex;position:absolute;inset:16% 5% 13% 40%}.life-heading{letter-spacing:.2em;border-bottom:1px solid #d6be8e66;justify-content:space-between;align-items:baseline;gap:20px;padding:0 0 18px;font-size:22px;display:flex}.life-heading small{color:#c4b99f;letter-spacing:.08em;font:11px sans-serif}.life-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding:3px;display:grid;overflow:auto}.life-card{text-align:left;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#17211ee0;border:1px solid #cbb78c33;gap:14px;min-height:112px;padding:17px 16px 29px;display:flex;position:relative}.life-card.available{background:#413d2ce8;border-color:#dac28c99}.life-card.available:hover{background:#57503beb;border-color:#f3dda9}.life-card:disabled{cursor:default;color:#c8c0ad;opacity:.78}.life-number{color:#baa47c;font-size:12px;line-height:25px}.life-copy{flex-direction:column;gap:5px;display:flex}.life-copy strong{letter-spacing:.25em;font-size:20px;font-weight:400}.life-copy em{color:#d2be96;letter-spacing:.15em;font-size:11px;font-style:normal}.life-copy small{color:#bcb6a8;font-size:11px;line-height:1.65}.life-status{color:#b9aa89;letter-spacing:.08em;font:10px sans-serif;position:absolute;bottom:10px;right:15px}.available .life-status{color:#f1d49e}.life-note{color:#c0b6a0;letter-spacing:.12em;font-size:10px}@media (width<=1050px){.hero-content{max-width:280px;left:4%}.life-library{top:17%;left:37%;right:3%}.life-card{gap:8px;padding:12px 10px 26px}.life-copy small{font-size:10px}.life-heading{font-size:18px}.life-heading small{font-size:10px}}@media (width<=760px){.hero{pointer-events:auto;padding:110px 24px 85px;overflow:auto}.hero-content{max-width:none;position:static}.hero h1{font-size:64px}.intro{display:none}.hero .start{margin-top:15px}.life-library{margin-top:30px;position:static}.life-grid{overflow:visible}.life-heading{flex-wrap:wrap}.loading,.footer{display:none}}.life-heading{text-shadow:0 2px 8px #111a15}.life-heading small{color:#e4d8be;text-shadow:0 1px 5px #111}.wager-board{background:linear-gradient(125deg,#1b342bef,#11241fed);border:1px solid #c3a77577;max-width:580px;margin:10px 0 18px auto;padding:20px 24px;box-shadow:0 12px 40px #0005}.wager-heading{color:#cdbf9f;letter-spacing:.1em;justify-content:space-between;align-items:center;font-size:12px;display:flex}.wager-heading strong{font-weight:400}.wager-heading b{color:#f5dca0;margin:0 5px;font-size:24px}.wager-picks{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.wager-picks button{background:#11241c;border:1px solid #c9b68855;justify-content:center;align-items:center;gap:18px;padding:13px;display:flex}.wager-picks b{font-size:30px;font-weight:400}.wager-picks span{color:#c6bca7;font-size:12px}.wager-board button[aria-pressed=true]{background:#bda06b30;border-color:#e9c784;box-shadow:inset 0 0 0 1px #e9c784}.wager-label{color:#c2b599;margin-bottom:9px;font-size:11px}.wager-stakes{flex-wrap:wrap;gap:8px;display:flex}.wager-stakes button{background:#173025;border:1px solid #c9b68855;padding:10px 16px;font-size:12px}.wager-stakes .all-in{color:#f1cb8e;border-color:#d4a25c99;margin-left:auto}.wager-summary{color:#f2ddad;justify-content:space-between;margin:17px 0;font-size:12px;display:flex}.wager-summary span{color:#adbbac;font-size:11px}.wager-confirm{color:#17251e;letter-spacing:.15em;background:#baa072;border:1px solid #e8d2a5;width:100%;padding:13px;font-size:14px}.wager-confirm:hover{background:#dac298}.dialog:has(.wager-board){width:min(760px,92vw)}.dialog:has(.wager-board)>p{min-height:0;margin-bottom:12px;font-size:14px;line-height:1.6}.dialog-layer:has(.wager-board){background:linear-gradient(#0000 5%,#101b17f7);padding-bottom:28px}.dialog:has(.wager-board)>.notice{display:none}.dialog:has(.wager-board) .speaker{margin-bottom:8px}@media (height<=760px){.dialog-layer:has(.wager-board){align-items:center;padding-top:60px}.dialog:has(.wager-board){max-height:85vh;overflow:auto}.wager-board{padding:12px 18px}.wager-picks{margin:10px 0}.wager-picks button{padding:8px}}.dice-result{background:#12281ee8;border:1px solid #bca57255;align-items:center;gap:20px;margin:8px 0 18px;padding:10px 18px;display:flex}.dice-faces{color:#f1e4c5;white-space:nowrap;font:54px/1.2 Apple Symbols,Segoe UI Symbol,sans-serif}.dice-result strong{letter-spacing:.15em;font-size:22px;font-weight:400}.dice-result>b{color:#e8c88b;margin-left:auto;font-size:23px;font-weight:400}.dice-result.lost>b{color:#d79a84}.at-table .location,.at-table .edition,.at-table .controls,.at-table .crosshair,.at-table .progress,.at-table .top,.at-table .first-steps{display:none!important}.at-table .vignette{opacity:.25}.table-play{pointer-events:none;position:absolute;inset:0}.table-round{color:#ead8b3;letter-spacing:.18em;text-shadow:0 2px 6px #000;font-size:14px;position:absolute;top:28px;left:34px}.table-balance{text-shadow:0 2px 8px #000;align-items:baseline;gap:10px;display:flex;position:absolute;top:24px;right:36px}.table-balance small{color:#cbbd9b;font-size:11px}.table-balance b{color:#f5ddaa;font-size:30px;font-weight:400}.table-balance span{font-size:12px}.table-hit{pointer-events:auto;cursor:pointer;opacity:0;background:0 0;border:0;padding:0;position:absolute}.table-hit:hover{opacity:1;background:#f1d69016}.table-hit:focus-visible{opacity:1;outline-offset:-8px;background:#f1d69030;outline:3px solid #efd294}.table-bet-controls{pointer-events:auto;white-space:nowrap;background:#14271fec;border:1px solid #b9a07166;align-items:center;gap:15px;padding:15px 18px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 5px 22px #0005}.table-instruction{text-align:center;color:#eddbb6;text-shadow:0 2px 6px #000;padding:14px;font-size:13px;position:absolute;bottom:100%;left:0;right:0}.table-bet-controls .wager-confirm{width:auto;min-width:180px}.table-bet-controls button[aria-pressed=true]{color:#ffe3a7;background:#ad93593b;border-color:#efd395}.table-actions{pointer-events:auto;gap:12px;display:flex;position:absolute;bottom:30px;right:30px}.table-play:has(.table-bet-controls) .table-actions{inset:77px auto auto 34px}.table-result{text-align:center;background:linear-gradient(90deg,#13241d88,#13241df2,#13241d88);width:min(720px,88vw);padding:12px 22px;position:absolute;bottom:90px;left:50%;transform:translate(-50%)}.table-result p{color:#eadfc7;margin:8px 0;font-size:15px;line-height:1.8}.table-result .dice-result{background:0 0;border:0;justify-content:center;gap:20px;margin:0;padding:0}.table-result .dice-faces{font-size:36px}.table-result .dice-result>b{margin-left:10px}@media (width<=900px){.table-bet-controls{flex-wrap:wrap;justify-content:center;gap:8px;max-width:95vw;padding:10px;bottom:20px}.table-bet-controls .wager-stakes button{padding:9px}.table-round{top:18px;left:20px}.table-balance{top:15px;right:20px}.table-play:has(.table-bet-controls) .table-actions{top:52px;left:20px}}.dice-faces{align-items:center;gap:10px;display:inline-flex}.die-icon{filter:drop-shadow(0 2px 2px #0005);width:34px;height:34px;display:block}
