@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600&family=Bebas+Neue&family=VT323&family=Cormorant+Garamond:wght@500;600;700&display=swap";:root{color:#efe6cf;font-synthesis:none;--panel:#0e1720f2;--brass:#c8a96c;--muted:#c5bda8;background:#272d39;font-family:Barlow Condensed,sans-serif;font-size:18px}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{width:100%;height:100%;display:block}#scene{position:fixed;inset:0}button,select,input{font:inherit;color:inherit}button,select{text-align:left;cursor:pointer;background:linear-gradient(120deg,#1c2734f7,#090f18fa);border:1px solid #65707870;border-radius:2px;padding:12px 18px;transition:border-color .12s,background .12s}button:hover,button:focus-visible,button.focus{outline:1px solid var(--brass);outline-offset:3px;border-color:var(--brass);background:#29313d}button:disabled{opacity:.38;cursor:default}button.focus:before{content:"◆";color:#bf7455;margin-right:12px;font-size:12px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:600}h2{font-size:38px}h3{font-size:25px}.eyebrow{text-transform:uppercase;letter-spacing:4px;color:#d9bd84;font-size:13px}.muted{color:var(--muted)}.title{background:linear-gradient(90deg,#0b1119dd,#0000 80%);flex-direction:column;align-items:flex-start;padding:8vh 7vw;display:flex;position:fixed;inset:0}.title h1{letter-spacing:-5px;text-shadow:0 3px 25px #0009;font-size:clamp(80px,10vw,145px);line-height:1.1}.title .tagline{letter-spacing:2px;color:#d8c9ac;margin:8px 0 35px}.title nav{gap:12px;width:285px;display:grid}.title nav button{padding:12px 22px;font-size:23px}.title footer{letter-spacing:1px;color:#c2b7a3;font-size:15px;position:absolute;bottom:35px;left:7vw}.edition{text-align:right;position:absolute;bottom:35px;right:4vw}.panel{background:var(--panel);border:1px solid #a88d5b66;box-shadow:0 12px 60px #080b1399}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080d1655;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sheet{width:min(760px,90vw);max-height:86vh;padding:32px;overflow:auto}.sheet p{margin:12px 0;line-height:1.6}.menu{gap:12px;margin-top:24px;display:grid}.menu button{min-height:46px}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.hud{pointer-events:none;position:fixed;inset:0}.hud button{pointer-events:auto}.place{text-shadow:0 2px 8px #111;position:absolute;top:27px;left:34px}.place h2{font-size:32px}.place{text-shadow:0 2px 6px #000,0 0 18px #000;background:radial-gradient(at 20% 40%,#0a0e18cc,#0000 72%);padding:10px 18px 12px 0}.place p{letter-spacing:2px;text-transform:uppercase;color:#e1cda4;font-size:15px}.party{gap:10px;display:flex;position:absolute;bottom:66px;left:30px}.hero{background:#111c28ed;border:1px solid #ada08155;gap:10px;width:170px;padding:12px;display:flex}.hero.active{border-color:var(--brass);box-shadow:0 0 0 2px #c8a96c33}.stamp{color:#fff;border:2px solid #ded2b080;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:43px;height:43px;font:19px Georgia;display:flex}.hero small{color:#d0c2a8;font-size:14px}.meter{background:#74767b;width:88px;height:4px;margin-top:5px}.meter i{background:#d1bd85;height:100%;display:block}.prompts{color:#d9ceb6;background:#0c1420ed;border-top:1px solid #7e745a77;gap:23px;min-height:45px;padding:12px 30px;font-size:16px;display:flex;position:absolute;bottom:0;left:0;right:0}.location-tag{text-align:right;color:#e6d5ad;position:absolute;top:30px;right:32px}.log{background:#101a26d9;border-left:2px solid #9b845f;width:330px;padding:12px 16px;font-size:16px;line-height:1.5;position:absolute;bottom:68px;right:28px}.target{width:270px;padding:18px;position:absolute;top:100px;right:28px}.target h3{margin-bottom:8px}.dialogue{width:min(860px,94vw);padding:28px 34px;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.dialogue .say{max-width:740px;margin:14px 0 22px;font:26px/1.35 Cormorant Garamond,Georgia,serif}.dialogue .options{gap:7px;display:grid}.dialogue .options button{padding:10px 15px;font-size:19px}.odds{float:right;color:#dcbf80;margin-left:20px;font-size:16px}.speaker{align-items:center;gap:12px;font-size:15px;display:flex}.speaker .stamp{width:33px;height:33px;font-size:13px}.dialogue .foot{color:#bdb49f;margin-top:18px;font-size:15px}.roll{text-align:center;min-width:420px;padding:26px 45px;position:fixed;top:18%;left:50%;transform:translate(-50%)}.dice{justify-content:center;gap:23px;margin:15px 0;display:flex}.die{color:#252c38;clip-path:polygon(50% 0,100% 24%,90% 78%,50% 100%,10% 78%,0 24%);background:#ddd0af;place-items:center;width:88px;height:94px;font:48px Georgia;display:grid}.tumble{animation:.15s infinite alternate tumble}@keyframes tumble{to{transform:rotate(18deg)translateY(-9px)}}.clean{color:#abd6b8}.mess{color:#ed9f8c}.radial{background:#08111a66;place-items:center;display:grid;position:fixed;inset:0}.wheel{background:radial-gradient(circle,#182332e8 0,#182332ec 55%,#0000 56%);border-radius:50%;width:560px;height:560px;position:relative}.wheel>div{text-align:center;max-width:140px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wheel h3{font-size:27px}.wheel button{text-align:center;width:136px;min-height:52px;padding:9px;font-size:17px;position:absolute;transform:translate(-50%,-50%)}.toast{text-align:center;pointer-events:none;background:#172333ef;border:1px solid #ae9362;max-width:600px;padding:16px 25px;position:fixed;top:17%;left:50%;transform:translate(-50%)}#perf{color:#ead8a9;background:#0d1521;padding:6px;font:12px monospace;position:fixed;top:6px;right:10px}.credits{font-size:21px}.settings label{border-bottom:1px solid #675e4d;justify-content:space-between;align-items:center;padding:13px 0;display:flex}.small{font-size:14px;line-height:1.5}.result{text-align:center;padding:24px 40px;position:fixed;top:12%;left:50%;transform:translate(-50%)}.victory{font-size:42px}.hidden{display:none}@media (max-width:850px){.hero{width:130px}.party{left:12px}.log{width:240px;font-size:14px}.dialogue{bottom:45px}.dialogue .say{font-size:23px}.title{padding-top:5vh}.title h1{font-size:88px}.title nav{width:240px}.title nav button{padding:8px 16px}.wheel{transform:scale(.8)}}.title{background:linear-gradient(90deg,#070a12e6 0,#070a12a0 34%,#0000 62%)}.title h1{color:#f3e6c8;letter-spacing:4px;text-shadow:0 4px 30px #000a;font-family:Bebas Neue,Impact,sans-serif;font-size:clamp(96px,11vw,168px);font-weight:400;line-height:.9}.title .tagline{letter-spacing:1px;color:#e9dcc0;text-transform:lowercase;margin:6px 0 34px;font-family:VT323,monospace;font-size:26px}.title footer,.edition,.prompts,.foot,#perf{font-family:VT323,monospace}.title footer{font-size:21px}.edition{color:#d8cbb0;font-size:20px}.edition span{color:#ffb12a;letter-spacing:2px}.menu button,.options button,.wheel button,.title nav button{color:#efe6cf;background:radial-gradient(120% 140% at 20% 0,#172238e6,#07090fe6);border:1px solid #e6e0d247;border-radius:3px}.menu button.focus,.options button.focus,.wheel button.focus,.title nav button.focus,button.focus{outline-offset:2px;background:radial-gradient(120% 140% at 20% 0,#2b344ef2,#0c0e16f2);border-color:#ffb12a;outline:2px solid #ffb12a;box-shadow:0 0 18px #ffb12a40}button.focus:before{color:#ffb12a}.title nav button{letter-spacing:1.5px;padding:10px 22px;font-family:Bebas Neue,Impact,sans-serif;font-size:30px}.sheet h2,.result h2{letter-spacing:1.5px;color:#f3e6c8;font-family:Bebas Neue,Impact,sans-serif;font-size:44px;font-weight:400}.prompts{flex-wrap:wrap;gap:18px;font-size:20px}.tags,.floats{pointer-events:none;position:fixed;inset:0;overflow:hidden}.tag{color:#f3e6c8;letter-spacing:.5px;white-space:nowrap;background:#0a0e18c7;border:1px solid #f0dfb459;border-radius:3px;padding:3px 10px;font:17px Barlow Condensed,sans-serif;transition:opacity .25s;position:absolute;top:0;left:0}.float{letter-spacing:1px;text-shadow:0 2px #000,0 0 14px #000c;white-space:nowrap;font:400 44px Bebas Neue,Impact,sans-serif;position:absolute;top:0;left:0}.float.hit{color:#ffd34d;font-size:54px}.float.graze{color:#f0b27a;font-size:40px}.float.miss{color:#cfd6e4;font-size:38px}.float.heal{color:#8fe0a0}.float.burn{color:#ff8a3c}.float.shock{color:#8ff0ff}.odds-big{align-items:baseline;gap:8px;margin:8px 0 4px;display:flex}.odds-big .lab{margin-right:14px}.odds-big span{font-family:Bebas Neue,Impact,sans-serif}.odds-big .hit{color:#ffd34d;font-size:52px;line-height:1}.odds-big .graze{color:#f0b27a;font-size:30px}.odds-big .lab{color:#cfc4ab;font-family:VT323,monospace;font-size:22px}.target{width:300px}.target .ok{color:#a7e0b0}.target .warn{color:#f0a48a}.target b{color:#ffd34d;font-weight:500}.enemy-phase{color:#ff9a7a}.dialogue .options button{justify-content:flex-start;align-items:baseline;gap:0;display:flex}.dialogue .options .odds{float:none;white-space:nowrap;margin-left:auto}.odds b{color:#ffd34d;font-weight:600}.verdict{letter-spacing:2px;font:400 40px Bebas Neue,Impact,sans-serif}.verdict.made{color:#e9dcc0}.verdict.missed{color:#c9b8b0}.verdict.clean{color:#9fe0b2}.verdict.mess{color:#ed9f8c}
