@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-ext-600-normal-BEFdM_VE.woff2)format("woff2"),url(/assets/cinzel-latin-ext-600-normal-BY9Mq9iK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cinzel-latin-600-normal-Dd5YO2UX.woff2)format("woff2"),url(/assets/cinzel-latin-600-normal-CH_LB4su.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cinzel-latin-ext-800-normal-BVA5zD9y.woff2)format("woff2"),url(/assets/cinzel-latin-ext-800-normal-gMcvnDsD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/cinzel-latin-800-normal-CwkMVn6z.woff2)format("woff2"),url(/assets/cinzel-latin-800-normal-69OYDlL6.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-ext-400-normal-CBouUAPx.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-400-normal-ClLgPhqT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-cyrillic-400-normal-CFUoBDld.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-400-normal-C2XSGevv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-ext-400-normal-CaUEPd_u.woff2)format("woff2"),url(/assets/alegreya-sans-greek-ext-400-normal-D6j-TQLM.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-greek-400-normal-B87Md6o9.woff2)format("woff2"),url(/assets/alegreya-sans-greek-400-normal-8U5NAP_q.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-vietnamese-400-normal-D7fwYHgb.woff2)format("woff2"),url(/assets/alegreya-sans-vietnamese-400-normal-BFvpiE3j.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-ext-400-normal-D7N6b6bd.woff2)format("woff2"),url(/assets/alegreya-sans-latin-ext-400-normal-DpBVrRWA.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/alegreya-sans-latin-400-normal-DtLlO8BS.woff2)format("woff2"),url(/assets/alegreya-sans-latin-400-normal-DmA8jeke.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-cyrillic-ext-500-normal-BjdEjhHc.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-500-normal-CBZLRaMr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-cyrillic-500-normal-kQHBM3cE.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-500-normal-gEBUHwKD.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-greek-ext-500-normal-8OvC5Vmr.woff2)format("woff2"),url(/assets/alegreya-sans-greek-ext-500-normal-Cp0bGOKK.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-greek-500-normal-CjlmbScm.woff2)format("woff2"),url(/assets/alegreya-sans-greek-500-normal-BwxJMQU_.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-vietnamese-500-normal-CFLbXWhL.woff2)format("woff2"),url(/assets/alegreya-sans-vietnamese-500-normal-B1LHNMw0.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-ext-500-normal-TH5u60nj.woff2)format("woff2"),url(/assets/alegreya-sans-latin-ext-500-normal-CxFoZ42m.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/alegreya-sans-latin-500-normal-DS713u5J.woff2)format("woff2"),url(/assets/alegreya-sans-latin-500-normal-vXxrTKJT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-cyrillic-ext-700-normal-Cpzx2u2L.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-ext-700-normal-YOec_wOb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-cyrillic-700-normal-BMO00Gdb.woff2)format("woff2"),url(/assets/alegreya-sans-cyrillic-700-normal-qSextXl4.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-greek-ext-700-normal-ChNZoGr1.woff2)format("woff2"),url(/assets/alegreya-sans-greek-ext-700-normal-BVJ8GoGc.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-greek-700-normal-CTof9pYC.woff2)format("woff2"),url(/assets/alegreya-sans-greek-700-normal-BZuMtSJ5.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-vietnamese-700-normal-CHYTK2w7.woff2)format("woff2"),url(/assets/alegreya-sans-vietnamese-700-normal-D0056cUE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-ext-700-normal-HuHd3-Mg.woff2)format("woff2"),url(/assets/alegreya-sans-latin-ext-700-normal-CkNjzB9Y.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Alegreya Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/alegreya-sans-latin-700-normal-DEbcy2sF.woff2)format("woff2"),url(/assets/alegreya-sans-latin-700-normal-BnzUNlma.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#efe3c8;--ink-dim:#b9a888;--ink-mute:#84765f;--gold:#d9b56a;--gold-hi:#f3d58e;--iron:#2a2622;--iron-2:#1d1a17;--iron-edge:#5a4c39;--blood:#b8402f;--panel:linear-gradient(180deg, #2b241df0, #181410f0);--display:"Cinzel", "Times New Roman", serif;--body:"Alegreya Sans", "Segoe UI", sans-serif;--r:6px}*{box-sizing:border-box}html,body,#root{height:100%;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#15110d;margin:0;font-size:15px;overflow:hidden}.app{position:fixed;inset:0}.scene{z-index:0;position:absolute;inset:0}.hud{z-index:1}.vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 55%,#0805038c 100%);position:absolute;inset:0}.hud{pointer-events:none;position:absolute;inset:0}.hud>*{pointer-events:auto}.panel{background:var(--panel);border:1px solid var(--iron-edge);border-radius:var(--r);position:relative;box-shadow:0 0 0 1px #0009,inset 0 1px #ffe6b414,0 10px 30px #00000073}.panel:before{content:"";pointer-events:none;background:radial-gradient(circle at 0 0,#8a7454 1.6px,#0000 2.2px) 0 0/10px 10px no-repeat,radial-gradient(circle at 100% 0,#8a7454 1.6px,#0000 2.2px) 100% 0/10px 10px no-repeat,radial-gradient(circle at 0 100%,#8a7454 1.6px,#0000 2.2px) 0 100%/10px 10px no-repeat,radial-gradient(circle at 100% 100%,#8a7454 1.6px,#0000 2.2px) 100% 100%/10px 10px no-repeat;border-radius:3px;position:absolute;inset:4px}h1,h2,h3,h4{font-family:var(--display);letter-spacing:.04em;color:var(--gold-hi);margin:0;font-weight:600}.muted{color:var(--ink-mute)}.name{font-weight:700}kbd{font-family:var(--body);border:1px solid var(--iron-edge);color:var(--gold-hi);background:#120f0c;border-radius:4px;padding:1px 6px;font-size:.85em}.btn{font-family:var(--display);letter-spacing:.05em;color:var(--ink);cursor:pointer;background:linear-gradient(#3c3229,#241d17);border:1px solid #6e5c43;border-radius:5px;padding:8px 16px;font-size:14px;font-weight:600;transition:filter .12s,transform 80ms,border-color .12s;box-shadow:inset 0 1px #ffe6b41f,0 2px 6px #0006}.btn:hover:not(:disabled){filter:brightness(1.18);border-color:var(--gold)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{color:#fff4da;text-shadow:0 1px #00000080;background:linear-gradient(#8c6a30,#5a3f17);border-color:#c79a4a}.btn.small{padding:5px 10px;font-size:12px}.topbar{white-space:nowrap;align-items:center;gap:22px;min-height:60px;padding:8px 10px 8px 22px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.topbar small{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-mute);font-size:11px;display:block}.topbar b{font-family:var(--display);font-size:19px;font-weight:600}.tb-round b i{color:var(--ink-mute);font-size:13px;font-style:normal}.tb-phases{background:#110e0b;border:1px solid #3c3227;border-radius:5px;gap:2px;padding:3px;display:flex}.tb-phase{font-family:var(--display);color:var(--ink-mute);border-radius:3px;padding:5px 12px;font-size:13px}.tb-phase.on{color:#fff1d0;background:linear-gradient(#6b5228,#43321a);box-shadow:inset 0 0 0 1px #b48d48}.tb-turn{border-left:3px solid var(--pc);padding-left:14px}.tb-turn b{color:var(--pc);text-shadow:0 0 14px color-mix(in srgb, var(--pc) 45%, transparent)}.tb-broken{font-family:var(--display);color:var(--blood);flex-direction:column;font-size:12px;animation:1.4s ease-in-out infinite throb;display:flex}.end-turn{min-width:220px;box-shadow:inset 0 1px 0 #ffe6b433, 0 0 0 1px #00000080, 0 0 18px color-mix(in srgb, var(--pc) 25%, transparent);flex-direction:column;align-items:center;padding:10px 18px;font-size:15px;display:flex}.end-turn small{font-family:var(--body);letter-spacing:.04em;text-transform:none;color:#f8e2b0;opacity:.85;font-size:11px}.log{flex-direction:column;width:310px;padding:12px 6px 10px 14px;display:flex;position:absolute;top:88px;bottom:140px;left:12px}.log.collapsed{bottom:auto}.log h3,.card h3{font-size:15px}.log h3{cursor:pointer;border-bottom:1px solid #3c3227;justify-content:space-between;margin-bottom:8px;padding-bottom:6px;padding-right:10px;display:flex}.chev{color:var(--ink-mute)}.log-body{scrollbar-width:thin;scrollbar-color:#5a4c39 transparent;flex:1;padding-right:8px;font-size:14px;line-height:1.35;overflow-y:auto}.log-body p{color:var(--ink-dim);margin:0 0 5px}.log-body .log-round{font-family:var(--display);color:var(--gold);letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #3c3227;margin-top:8px;padding-top:6px;font-size:13px}.log-body .log-phase{color:var(--ink-mute);font-size:13px;font-style:italic}.log-body .log-strike,.log-body .log-fight,.log-body .log-shot{color:var(--ink)}.log-body .log-death,.log-body .log-morale{color:#e9a08e}.log-body .log-end{font-family:var(--display);color:var(--gold-hi);font-size:15px}.card{border-top:3px solid var(--pc,var(--iron-edge));width:310px;padding:14px 16px;position:absolute;top:88px;right:12px}.card.empty p{margin:8px 0 0;font-size:14px}.card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card-head h3{color:var(--pc);font-size:19px}.card-head small{color:var(--ink-mute);font-size:13px}.wounds{gap:3px;padding-top:5px;display:flex}.wounds i{background:#2a2422;border:1px solid #5d2a22;border-radius:50%;width:11px;height:11px}.wounds i.on{background:radial-gradient(circle at 35% 35%,#ff7a62,#b3261b);border-color:#e86a55}.stats{grid-template-columns:repeat(4,1fr);gap:4px;margin:12px 0 10px;display:grid}.stat{text-align:center;background:#120f0c;border:1px solid #3a3026;border-radius:4px;padding:4px 0 3px}.stat small{text-transform:uppercase;letter-spacing:.12em;color:var(--ink-mute);font-size:10px;display:block}.stat b{font-family:var(--display);color:var(--ink);font-size:17px}.weapon{border-top:1px solid #3a3026;padding:6px 0;font-size:14px}.weapon b{color:var(--gold)}.traits,.flags{flex-wrap:wrap;gap:4px;margin:6px 0;display:flex}.traits span,.flags span{color:var(--ink-dim);background:#3a2f22;border:1px solid #54452f;border-radius:10px;padding:2px 7px;font-size:12px}.flags span{background:#2c2a24}.card-reason{border-left:3px solid var(--blood);color:#f0b4a5;background:#b8402f1f;margin:8px 0;padding:7px 10px;font-size:14px}.btn.push{align-items:center;gap:8px;width:100%;margin:8px 0 4px;font-size:14px;display:flex}.btn.push small{font-family:var(--body);color:var(--ink-dim);letter-spacing:0;margin-left:auto;font-size:12px}.btn.push .pip{border:1px solid var(--gold);border-radius:50%;width:12px;height:12px}.btn.push.on{border-color:var(--gold-hi);box-shadow:0 0 14px #f3d58e59}.btn.push.on .pip{background:var(--gold-hi);box-shadow:0 0 8px var(--gold-hi)}.blurb{color:var(--ink-dim);margin:8px 0 0;font-size:14px;font-style:italic;line-height:1.35}.bottom{pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;display:grid;position:absolute;bottom:12px;left:12px;right:12px}.bottom>*{pointer-events:auto}.roster{opacity:.88;border-bottom:3px solid #0000;min-width:260px;max-width:470px;padding:8px 12px 10px}.roster:last-child{justify-self:end}.roster.active{border-bottom-color:var(--pc);opacity:1}.roster-head{font-family:var(--display);justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.roster-head b{color:var(--pc)}.roster-head span{color:var(--ink-dim)}.broken{color:var(--blood);margin-left:8px;font-style:normal}.chips{flex-wrap:wrap;gap:3px;display:flex}.chip{border:1.5px solid var(--pc);width:24px;height:24px;color:var(--ink-dim);font-family:var(--body);cursor:pointer;background:#1a1612;border-radius:50%;padding:0;font-size:10px;font-weight:700}.chips.dense .chip{border-width:1px;width:19px;height:19px;font-size:8px}.chip.hero{width:30px;height:30px;color:var(--gold-hi);box-shadow:0 0 0 2px #120f0c, 0 0 0 3px var(--gold);font-size:11px}.chip.sel{background:var(--pc);color:#120f0c}.chip.dead{opacity:.28;filter:grayscale();cursor:default;border-color:#555;text-decoration:line-through}.tray{flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:10px;max-width:640px;padding:10px 14px;display:flex}.roll{border-right:1px solid #3a3026;flex-direction:column;align-items:center;gap:5px;padding:0 8px;animation:.25s ease-out rollin;display:flex}.roll:last-child{border-right:none}.roll-label{text-align:center;font-size:12px;line-height:1.15}.roll-label small{color:var(--ink-mute);display:block}.roll-res{font-family:var(--display);font-size:12px}.roll.good .roll-res{color:var(--gold-hi)}.roll.bad .roll-res{color:var(--ink-mute)}.dice{gap:4px;display:flex}.die{opacity:.55;background:linear-gradient(#ddd2bb,#b9ab8f);border-radius:5px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:26px;height:26px;padding:3px;animation:.35s ease-out tumble;display:grid;box-shadow:inset 0 -2px #00000040,0 2px 4px #00000080}.die i.p{background:#2a2017;border-radius:50%;place-self:center;width:5px;height:5px}.die.ok{opacity:1;background:linear-gradient(#ffe7a8,#d6a64a);box-shadow:inset 0 -2px #00000040,0 0 10px #ffd27899}.die.ok i.p{background:#5a1d10}.controls{align-items:center;gap:8px;padding:6px 8px;display:flex;position:absolute;top:auto;bottom:140px;right:12px}.seg{background:#110e0b;border:1px solid #3c3227;border-radius:5px;padding:2px;display:flex}.seg button{font-family:var(--display);color:var(--ink-dim);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:4px 9px;font-size:12px}.seg button.on,.seg button:hover{color:var(--gold-hi);background:#3d3121}.hint{color:var(--ink);white-space:nowrap;background:#0e0b08b8;border:1px solid #3c3227;border-radius:14px;padding:5px 14px;font-size:14px;position:absolute;top:86px;left:50%;transform:translate(-50%);pointer-events:none!important}.help-btn{border-radius:50%;width:42px;height:42px;padding:0;font-size:18px;position:absolute;top:12px;left:12px}.ruler-tag,.reason-tag,.target-tag{font-family:var(--body);white-space:nowrap;pointer-events:none;transform:translateY(-50%)}.ruler-tag{color:var(--ink);background:#100c09e0;border:1px solid #c9a35a;border-radius:4px;align-items:baseline;gap:8px;padding:3px 8px;font-size:13px;display:flex}.ruler-tag b{font-family:var(--display);color:var(--gold-hi);font-size:16px}.ruler-tag.small b{font-size:13px}.ruler-tag.charge{border-color:#ff7a3d;box-shadow:0 0 12px #ff7a3d80}.ruler-tag.charge span{color:#ffb08a;font-family:var(--display);letter-spacing:.1em;font-weight:800}.reason-tag{color:#ffd6cc;background:#3c100ae6;border:1px solid #d0553f;border-radius:4px;padding:3px 9px;font-size:13px}.target-tag{color:var(--ink-dim);background:#100c09e6;border:1px solid #a67c38;border-radius:4px;flex-direction:column;align-items:center;padding:3px 8px;font-size:12px;line-height:1.2;display:flex}.target-tag b{color:var(--gold-hi);font-size:14px}.target-tag em{color:var(--ink-mute);font-size:11px}.target-tag span{align-items:baseline;gap:5px;display:flex}.target-tag.compact{flex-direction:row;gap:6px;padding:2px 7px}.target-tag.hot{border-color:var(--gold-hi);transform:translateY(-50%)scale(1.12);box-shadow:0 0 14px #f3d58e73}.target-tag.fight{border-color:#b8402f}.target-tag.fight.hot{border-color:#ff7a5a;box-shadow:0 0 14px #ff7a5a73}.banner{text-align:center;border-top:1px solid color-mix(in srgb, var(--pc) 70%, transparent);border-bottom:1px solid color-mix(in srgb, var(--pc) 70%, transparent);white-space:nowrap;background:linear-gradient(90deg,#0000,#0e0a07e0 18% 82%,#0000);padding:18px 70px;animation:1.7s ease-out forwards banner;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);pointer-events:none!important}.banner h2{color:var(--pc);text-shadow:0 0 22px color-mix(in srgb, var(--pc) 50%, transparent), 0 2px 0 #000;font-size:38px;font-weight:800}.banner p{letter-spacing:.08em;color:var(--ink);margin:4px 0 0;font-size:16px}.banner.small{padding:8px 50px;animation-duration:1.1s;top:22%}.banner.small h2{font-size:22px}.banner.small p{font-size:13px}.overlay{z-index:50;background:radial-gradient(#0a070599,#0a0705e0);place-items:center;display:grid;position:absolute;inset:0}.gameover{text-align:center;border-top:4px solid var(--pc);min-width:480px;padding:34px 56px 30px}.gameover small{text-transform:uppercase;letter-spacing:.2em;color:var(--ink-mute)}.gameover h1{color:var(--pc);text-shadow:0 0 26px color-mix(in srgb, var(--pc) 45%, transparent);margin:6px 0 4px;font-size:42px;font-weight:800}.gameover .reason{color:var(--ink-dim);margin:0 0 18px;font-size:17px}.go-counts{justify-content:center;gap:40px;margin:18px 0 24px;display:flex}.go-counts div{flex-direction:column;display:flex}.go-counts b{font-family:var(--display);font-size:34px}.go-counts span{color:var(--ink-dim);font-size:13px}.go-actions{justify-content:center;gap:12px;display:flex}.go-actions .btn{padding:10px 26px;font-size:16px}.reopen{position:absolute;top:150px;left:50%;transform:translate(-50%)}.howto{max-width:640px;color:var(--ink);padding:26px 32px;font-size:15px;line-height:1.45}.howto h2{margin-bottom:8px;font-size:26px}.howto h4{margin-top:12px;font-size:15px}.howto ol{padding-left:20px}.howto li{margin-bottom:8px}.howto b{color:var(--gold-hi)}.howto .btn{margin-top:10px}.toasts{z-index:60;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:150px;left:50%;transform:translate(-50%);pointer-events:none!important}.toast{pointer-events:auto;border:1px solid var(--iron-edge);border-left:4px solid var(--gold);cursor:pointer;background:#140f0bf2;border-radius:4px;padding:8px 16px;font-size:14px;animation:.2s ease-out rollin;box-shadow:0 6px 18px #00000080}.toast.warn{border-left-color:#e0a33a}.toast.error{border-left-color:var(--blood);color:#ffd6cc}.splash{text-align:center;background:radial-gradient(#2b2219,#0e0b08);place-content:center;display:grid;position:absolute;inset:0}.splash h1{letter-spacing:.12em;font-size:64px;font-weight:800}.splash p{color:var(--ink-dim);font-size:18px}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%)scale(.92)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}78%{opacity:1}to{opacity:0}}@keyframes rollin{0%{opacity:0;transform:translateY(6px)}}@keyframes tumble{0%{transform:rotate(-90deg)scale(.6)}to{transform:none}}@keyframes throb{50%{opacity:.55}}@media (max-width:1280px){.log,.card{width:260px}.topbar{gap:14px}}.select-box{border:1px solid var(--gold-hi);pointer-events:none;z-index:5;background:#f3d58e1a;position:absolute;box-shadow:0 0 0 1px #00000080,inset 0 0 12px #f3d58e26}.menu-btn{align-self:center}.hint-row{align-items:center;gap:8px;display:flex;position:absolute;top:86px;left:50%;transform:translate(-50%);pointer-events:none!important}.hint-row .hint{position:static;transform:none}.wp-btn{pointer-events:auto;white-space:nowrap;font-size:12px}.wp-btn small{font-family:var(--body);color:var(--ink-mute);letter-spacing:0;margin-left:4px}.ruler-tag .wp-hint{color:var(--ink-mute);font-size:11px;font-style:normal}.traits .trait,.trait{color:var(--gold);cursor:help;background:#3a2f22;border:1px solid #6a5434;border-radius:10px;padding:2px 8px;font-size:12px;display:inline-block;position:relative}.trait .tip{z-index:80;border:1px solid var(--gold);width:240px;color:var(--ink);white-space:normal;text-align:left;background:#15110d;border-radius:5px;padding:8px 10px;font-size:13px;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0009}.trait .tip b{font-family:var(--display);color:var(--gold-hi);margin-bottom:2px;display:block}.trait:hover .tip,.trait:focus .tip{display:block}.card .trait .tip{left:auto;right:-10px;transform:none}.odds{background:#00000040;border:1px solid #3a3026;border-radius:4px;margin:8px 0 2px;padding:6px 8px}.odds h4{color:var(--ink-mute);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:12px}.odds-row{grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding:2px 0;font-size:13px;display:grid}.odds-row span{color:var(--ink-dim);font-size:12px}.odds-row b{font-family:var(--display);color:var(--gold-hi)}.odds-row b small{font-family:var(--body);color:var(--ink-mute);font-size:11px}.odds-row.on{background:#f3d58e14}.target-tag .chance{font-family:var(--display);color:var(--gold-hi);letter-spacing:.03em;font-size:13px}.target-tag small{color:var(--ink-mute);font-size:11px}.group-help{color:var(--ink);font-size:14px;line-height:1.4}.group-help b{color:var(--gold-hi)}.keys{color:var(--ink-dim);margin:8px 0 0;padding:0;font-size:13px;list-style:none}.keys li{padding:2px 0}kbd{font-family:var(--body);color:var(--ink);background:#241d16;border:1px solid #6a5434;border-bottom-width:2px;border-radius:3px;padding:1px 5px;font-size:11px}.tray{flex-direction:row;gap:14px;max-width:760px}.tray-group{flex-direction:column;gap:6px;min-width:0;animation:.25s ease-out rollin;display:flex}.tray-group+.tray-group{border-left:1px solid #4a3d2c;padding-left:14px}.tg-title{font-family:var(--display);color:var(--ink-dim);letter-spacing:.04em;text-align:center;white-space:nowrap;font-size:12px}.tg-count{color:var(--gold-hi);font-family:var(--body);margin-left:8px}.tg-rolls{align-items:stretch;gap:0;max-width:720px;display:flex;overflow-x:auto}.tg-rolls.compact{flex-wrap:wrap;justify-content:center;gap:4px;max-width:520px}.tg-rolls.compact .roll{border:none;padding:0}.tg-rolls.compact .die{width:18px;height:18px;padding:2px}.tg-rolls.compact .die i.p{width:3px;height:3px}.die-wrap{align-items:center;gap:2px;display:inline-flex}.rerolled{opacity:.6;position:relative;transform:scale(.8)}.rerolled:after{content:"";background:var(--blood);height:2px;position:absolute;top:50%;left:-2px;right:-2px;transform:rotate(-30deg)}.floater{font-family:var(--display);white-space:nowrap;pointer-events:none;text-shadow:0 2px #000,0 0 10px #000000e6;font-size:18px;font-weight:800;animation:1.6s ease-out forwards floatup}.floater.bad{color:#ff6b4f}.floater.good{color:#f3d58e}.floater.info{color:#e6dcc6;font-size:15px}@keyframes floatup{0%{opacity:0;transform:translateY(8px)scale(.8)}12%{opacity:1;transform:translateY(0)scale(1.1)}70%{opacity:1}to{opacity:0;transform:translateY(-26px)scale(1)}}.coach{z-index:40;border-color:var(--gold);width:330px;padding:12px 16px;animation:.3s ease-out rollin;position:absolute;box-shadow:0 0 0 1px #0009,0 0 24px #f3d58e40;pointer-events:none!important}.coach .btn{pointer-events:auto;margin-top:6px}.coach small{color:var(--ink-mute);text-transform:uppercase;letter-spacing:.15em;font-size:11px}.coach h4{color:var(--gold-hi);margin:2px 0 4px;font-size:17px}.coach p{margin:0;font-size:14px;line-height:1.4}.coach.at-center{top:130px;left:50%;transform:translate(-50%)}.coach.at-end{top:92px;right:360px}.coach.at-end:after{content:"";border:9px solid #0000;border-top:none;border-bottom-color:var(--gold);position:absolute;top:-9px;right:30px}.settings{z-index:45;flex-direction:column;gap:8px;width:300px;padding:14px 16px;display:flex;position:absolute;bottom:190px;right:12px}.settings h4{color:var(--gold-hi);margin:0 0 2px}.settings label{cursor:pointer;align-items:flex-start;gap:8px;font-size:14px;display:flex}.settings input{accent-color:var(--gold);margin-top:3px}.start{pointer-events:auto;background:radial-gradient(at 50% 0,#d9b56a1f,#0000 60%),radial-gradient(#2b2219,#0e0b08);padding:22px 28px;position:absolute;inset:0;overflow:auto}.start header{text-align:center;margin-bottom:14px}.start h1{letter-spacing:.14em;color:var(--gold-hi);text-shadow:0 0 30px #f3d58e40,0 3px #000;margin:0;font-size:54px;font-weight:800}.start header p{color:var(--ink-dim);margin:4px 0 0;font-size:16px}.sides{grid-template-columns:1fr 170px 1fr;align-items:start;gap:18px;max-width:1500px;margin:0 auto;display:grid}.side{border-top:4px solid var(--pc);padding:14px 18px 16px}.side .who{text-transform:uppercase;letter-spacing:.2em;color:var(--ink-mute);font-size:12px}.fpick{gap:6px;margin:8px 0 10px;display:flex}.fpick button{font-family:var(--display);color:var(--ink-dim);cursor:pointer;background:#1a1511;border:1px solid #4a3d2c;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:7px;padding:7px 8px;font-size:13px;display:flex}.fpick button i{background:var(--fc);width:10px;height:10px;box-shadow:0 0 6px var(--fc);border-radius:50%}.fpick button.on{border-color:var(--fc);color:var(--ink);background:color-mix(in srgb, var(--fc) 16%, #1a1511)}.side h2{color:var(--pc);margin:0;font-size:26px}.fblurb{color:var(--ink-dim);min-height:40px;margin:4px 0 8px;font-size:14px;font-style:italic;line-height:1.4}.preview{background:radial-gradient(at 50% 70%,#3a2e21,#120e0a);border:1px solid #3a3026;border-radius:5px;height:210px;overflow:hidden}.lineup-count{font-family:var(--display);color:var(--ink);text-shadow:0 1px #000;font-size:14px;font-weight:800}.starter{margin-top:10px}.starter-head{color:var(--ink-dim);border-bottom:1px solid #3a3026;justify-content:space-between;margin-bottom:4px;padding-bottom:4px;font-size:13px;display:flex}.starter-head b{font-family:var(--display);color:var(--gold)}.srow{grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:3px 0;font-size:14px;display:grid}.srow .cnt{font-family:var(--display);color:var(--gold-hi)}.srow em{color:var(--pc);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-style:normal}.srow .tr{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.srow .trait .tip{left:auto;right:0;transform:none}.weapon-chip{color:var(--ink-dim);background:#2c2a24;border:1px solid #4a4436;border-radius:10px;padding:2px 8px;font-size:12px}.vs{flex-direction:column;align-items:center;gap:18px;padding-top:200px;display:flex}.vs span{font-family:var(--display);color:var(--ink-mute);font-size:30px}.btn.play{padding:14px 22px;font-size:18px}.floater-layer{z-index:3;position:absolute;inset:0;overflow:hidden;pointer-events:none!important}.floater-pos{will-change:transform;position:absolute;top:0;left:0}.html-labels{pointer-events:none;z-index:2;position:absolute;inset:0}.log.collapsed{width:300px;padding:6px 10px 6px 12px;bottom:auto}.log.collapsed h3{margin-bottom:4px;padding-bottom:3px;font-size:13px}.log-strip{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;margin:0;font-size:13px;overflow:hidden}.roster{min-width:220px;max-width:430px;padding:4px 10px 5px}.roster-head{margin-bottom:3px;font-size:12px}.chip{width:19px;height:19px;font-size:8px}.chip.hero{width:23px;height:23px;font-size:9px}.chips.dense .chip{width:15px;height:15px;font-size:0}.chips.dense .chip.hero{width:19px;height:19px;font-size:8px}.chip.target{color:#ffcf5a;box-shadow:0 0 0 2px #120f0c,0 0 0 3px #ffcf5a}.tray,.tray *{pointer-events:none}.tray{padding:6px 12px}.push-trade{color:#9fd7ff;font-size:12px;font-style:normal;display:block}.push-trade.on{color:#c9ecff;font-weight:700}.odds-row .push-trade{grid-column:1/-1}.group-tag .reach{color:#ffe9b5}.group-tag .short{color:#cfb2ff;margin-left:4px}.group-tag .stuck{color:#ff8f84;margin-left:4px}.dread-hint{color:#d7b2ff;font-size:11px;font-style:normal;display:block}.audio-set{border-bottom:1px solid #3c3227;flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.settings label.slider{align-items:center}.settings label.slider span{width:60px}.settings label.slider input{flex:1;margin-top:0}.sides{grid-template-columns:1fr 200px 1fr}.fpick{flex-wrap:wrap}.fpick button{min-width:120px;font-size:12px}.vs{gap:14px;padding-top:120px}.mode-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.seg.mode button{font-family:var(--display);padding:5px 12px;font-size:13px}.seg button:disabled{opacity:.4;cursor:not-allowed}.table-pick{text-align:center;flex-direction:column;align-items:stretch;gap:5px;width:100%;display:flex}.table-pick small{text-transform:uppercase;letter-spacing:.18em;color:var(--ink-mute);font-size:11px}.table-pick .btn.on{border-color:var(--gold);color:var(--gold-hi);background:#2a2117}.table-pick .seg{justify-content:center}.table-blurb{color:var(--ink-dim);margin:2px 0 0;font-size:12px;font-style:italic;line-height:1.35}.list-problem{color:#f0a48f;text-align:center;margin:0;font-size:13px;line-height:1.35}.builder{flex-direction:column;gap:6px;margin-top:10px;display:flex}.bu-total{grid-template-columns:auto 1fr;align-items:baseline;gap:4px 10px;display:grid}.bu-total b{font-family:var(--display);color:var(--gold-hi);font-size:18px}.bu-total.over b{color:#f0a48f}.bu-total span{color:var(--ink-dim);justify-self:end;font-size:13px}.bu-bar{background:#2a231b;border-radius:3px;grid-column:1/-1;height:5px;overflow:hidden}.bu-bar i{background:var(--pc);height:100%;transition:width .2s;display:block}.bu-total.over .bu-bar i{background:#c0533f}.bu-msg{margin:0;font-size:13px}.bu-msg.ok{color:#a9c98a}.bu-msg.bad{color:#f0a48f}.bu-units{border-top:1px solid #3a3026;flex-direction:column;display:flex}.bu-row{border-bottom:1px solid #2c251d;padding:3px 0}.bu-row.has .bu-name{color:var(--ink)}.bu-line{grid-template-columns:1fr auto auto;align-items:center;gap:10px;display:grid}.bu-name{color:var(--ink-dim);font-family:var(--body);text-align:left;cursor:pointer;background:0 0;border:none;padding:2px 0;font-size:14px}.bu-name:hover{color:var(--gold-hi)}.bu-name em{color:var(--pc);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-style:normal}.bu-name small{color:var(--ink-mute)}.bu-pts{color:var(--ink-mute);font-size:12px}.bu-ctl{align-items:center;gap:6px;display:flex}.bu-ctl .btn{text-align:center;width:26px;padding:2px 0}.bu-ctl b{text-align:center;min-width:18px;font-family:var(--display);color:var(--gold-hi)}.bu-card{padding:6px 4px 4px}.bu-stats{flex-wrap:wrap;gap:8px;display:flex}.bu-stats span{flex-direction:column;align-items:center;min-width:30px;display:flex}.bu-stats small{color:var(--ink-mute);text-transform:uppercase;font-size:10px}.bu-stats b{font-family:var(--display)}.bu-weapon{color:var(--ink-dim);margin:4px 0;font-size:13px}.bu-card .blurb{margin:4px 0 0;font-size:12px}.bu-save{gap:6px;display:flex}.bu-save input{color:var(--ink);font-family:var(--body);background:#15110d;border:1px solid #4a3d2c;border-radius:4px;flex:1;padding:4px 8px}.bu-saved{flex-wrap:wrap;gap:6px;display:flex}.bu-chip{border:1px solid #4a3d2c;border-radius:12px;display:inline-flex;overflow:hidden}.bu-chip button{color:var(--ink-dim);cursor:pointer;background:#1d1813;border:none;padding:2px 10px;font-size:12px}.bu-chip button.x{border-left:1px solid #4a3d2c;padding:2px 7px}.bu-chip button:hover{color:var(--gold-hi)}.controls{bottom:96px}.settings{bottom:146px}.log:not(.collapsed){bottom:96px}.html-labels{overflow:hidden}.btn.play-online{width:100%;margin-top:10px}.resume-offer{border-left:4px solid var(--gold);text-align:left;align-items:center;gap:14px;padding:12px 18px;display:flex}.resume-offer>div{flex-direction:column;flex:1;gap:2px;display:flex}.resume-offer b{font-family:var(--display);color:var(--gold-hi)}.resume-offer span{color:var(--ink-dim)}.resume-offer.compact{max-width:620px;margin:10px auto 0}.net-error-inline{color:#ffb4a3!important}.online-entry{flex-direction:column;gap:16px;max-width:760px;margin:10px auto 0;display:flex}.net-field{flex-direction:column;gap:6px;padding:14px 18px;display:flex}.net-field small,.room-options small,.list-pick small,.room-head small{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-mute);font-size:11px}.online input[type=text],.online select,.chat input[type=text]{font-family:var(--body);color:var(--ink);-webkit-user-select:text;user-select:text;background:#110e0b;border:1px solid #4a3e30;border-radius:5px;outline:none;padding:8px 10px;font-size:16px}.online input[type=text]:focus,.online select:focus,.chat input[type=text]:focus{border-color:var(--gold)}.online-cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.net-card{flex-direction:column;gap:10px;padding:18px 20px;display:flex}.net-card h2{font-size:22px}.net-card p{color:var(--ink-dim);flex:1;margin:0}.net-card.dim{opacity:.7}.net-card.lit{border-color:var(--gold)}.code-row{gap:8px;display:flex}.online input.code-input{font-family:var(--display);letter-spacing:.3em;text-align:center;text-transform:uppercase;width:160px;font-size:22px}.net-error{border-left:4px solid var(--blood);color:#ffd6cc;background:#50140c73;border-radius:4px;margin:0;padding:10px 14px}.online .back{align-self:center}.tiny{margin:2px 0;font-size:12px}.room-head{flex-direction:column;align-items:center;gap:4px;display:flex}.start .room-code{letter-spacing:.32em;margin-right:-.32em;font-size:72px;line-height:1}.copy-link{align-items:center;gap:8px;display:flex}.online .copy-link input{width:340px;color:var(--ink-dim);font-size:13px}.copy-msg{min-width:140px;color:var(--gold);font-size:13px}.room-grid{grid-template-columns:1fr 250px 1fr;align-items:start;gap:18px;max-width:1300px;display:grid}.seat-card{border-top:4px solid var(--pc,#6e5c43);flex-direction:column;gap:10px;min-height:220px;padding:14px 18px 16px;display:flex}.seat-card.ready{box-shadow:0 0 0 1px #0009, 0 0 24px color-mix(in srgb, var(--pc) 35%, transparent)}.seat-card h2{font-size:26px}.seat-card .who{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-mute)}.seat-head{justify-content:space-between;align-items:center;display:flex}.presence{color:var(--ink-dim);align-items:center;gap:6px;font-size:12px;display:inline-flex}.presence:before{content:"";background:#6fbf5a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #6fbf5a}.presence.off:before{background:#c9853a;box-shadow:0 0 6px #c9853a}.seat-card.empty{text-align:center;border-top-style:dashed;justify-content:center;align-items:center}.seat-card .waiting{color:var(--ink-dim);font-size:20px}.dots:after{content:"";text-align:left;width:1.2em;animation:1.4s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.my-warband{flex-direction:column;gap:10px;display:flex}.list-pick{flex-direction:column;gap:4px;display:flex}.warband-line{background:#00000040;border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:8px 10px;display:flex}.warband-line b{font-family:var(--display);font-size:17px}.warband-line span{color:var(--ink-dim)}.warband-line .list-problem{color:#ffb4a3;flex-basis:100%;font-size:13px;font-style:normal}.ready-btn{padding:10px;font-size:18px}.ready-flag{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);border:1px solid #4a3e30;border-radius:10px;align-self:flex-start;padding:3px 10px;font-size:12px}.ready-flag.on{color:#1a140d;background:var(--gold);border-color:var(--gold-hi)}.room-mid{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.room-options{flex-direction:column;gap:6px;display:flex}.room-options .table-blurb{color:var(--ink-dim);margin:0 0 6px;font-size:13px}.room-status{font-family:var(--display);color:var(--gold-hi);margin:6px 0 0;font-size:15px}.conn-line{color:var(--ink-dim);margin:0;font-size:13px}.conn-line.peerAway,.conn-line.reconnecting{color:#e0a33a}.confirm-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.room-body{grid-template-columns:340px 1fr;align-items:start;gap:18px;margin-top:18px;display:grid}.room-chat{position:sticky;top:0}.room-chat .chat.room{height:min(560px,100vh - 230px)}@media (max-width:1100px){.room-body{grid-template-columns:1fr}.room-chat{order:2;position:static}}.chat{-webkit-user-select:text;user-select:text;flex-direction:column;gap:6px;width:340px;padding:8px 10px 10px;display:flex}.chat.room{height:320px}.chat.game{height:250px}.chat-head{align-items:center;gap:6px;display:flex}.chat-head h3{flex:1;font-size:14px}.chat-icon{color:var(--ink-dim);cursor:pointer;font-size:11px;font-family:var(--body);background:0 0;border:1px solid #3c3227;border-radius:4px;padding:2px 8px}.chat-icon.on{color:#e0a33a;border-color:#6e5c43}.chat-body{flex-direction:column;flex:1;gap:4px;padding-right:4px;font-size:14px;display:flex;overflow-y:auto}.chat-body p{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.chat-sys{color:var(--ink-mute);font-size:13px;font-style:italic}.chat-msg{flex-direction:column;display:flex}.chat-meta{color:var(--ink-mute);font-size:11px}.chat-meta b{color:var(--gold)}.chat-msg.me .chat-meta b{color:var(--ink-dim)}.chat-empty{font-size:13px}.chat-quick{flex-wrap:wrap;gap:4px;display:flex}.chat-quick button{font-family:var(--body);color:var(--ink-dim);cursor:pointer;background:#1a1511;border:1px solid #3c3227;border-radius:10px;padding:2px 9px;font-size:12px}.chat-quick button:hover:not(:disabled){border-color:var(--gold);color:var(--gold-hi)}.chat-input{gap:6px;display:flex}.chat-input input{flex:1;min-width:0;padding:6px 8px!important;font-size:14px!important}.chat-tab{align-self:flex-start;position:relative}.chat-unread{background:var(--blood);color:#fff;min-width:20px;height:20px;font-family:var(--body);text-align:center;border-radius:10px;padding:0 5px;font-size:12px;line-height:20px;position:absolute;top:-8px;right:-8px;box-shadow:0 0 0 2px #15110d}.left-col{pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;display:flex}.left-col>*{pointer-events:auto}.hud.net .log:not(.collapsed){bottom:380px}.conn-badge{align-items:center;gap:10px;min-width:140px;padding:7px 14px 7px 12px;display:flex;position:absolute;top:12px;right:12px}.conn-badge>div{flex-direction:column;display:flex}.conn-badge b{font-family:var(--display);letter-spacing:.06em;font-size:14px}.conn-badge small{color:var(--ink-mute);font-size:11px}.conn-badge small.warn{color:#e0a33a}.conn-badge .dot{background:#6fbf5a;border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 8px #6fbf5a}.conn-badge.relay .dot{background:var(--gold);box-shadow:0 0 8px var(--gold)}.conn-badge.away .dot{background:#e0a33a;animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 8px #e0a33a}.conn-badge.bad .dot{background:var(--blood);box-shadow:0 0 8px var(--blood);animation:.8s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.net-pending{border:2px solid var(--gold);opacity:0;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.9s linear infinite spin,.2s ease-out .35s forwards fadein}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadein{to{opacity:.85}}.turn-pill{font-family:var(--display);letter-spacing:.06em;white-space:nowrap;border:1px solid color-mix(in srgb, var(--pc) 70%, #000);color:var(--ink-dim);background:#0e0b08d9;border-radius:14px;padding:5px 14px;font-size:14px}.turn-pill.mine{background:linear-gradient(180deg, color-mix(in srgb, var(--pc) 55%, #2a1d0e), color-mix(in srgb, var(--pc) 30%, #120c06));color:#fff4da;border-color:var(--pc);box-shadow:0 0 16px color-mix(in srgb, var(--pc) 45%, transparent)}.away-notice{text-align:center;border-left:4px solid #e0a33a;flex-direction:column;align-items:center;gap:2px;padding:10px 22px;display:flex;position:absolute;top:128px;left:50%;transform:translate(-50%)}.away-notice b{font-family:var(--display);color:#f0c27a}.away-notice span{color:var(--ink-dim);font-size:14px}.net-overlay{z-index:70}.net-dialog{border-top:4px solid var(--gold);max-width:520px;padding:24px 30px 22px}.net-dialog.bad{border-top-color:var(--blood)}.net-dialog.warn{border-top-color:#e0a33a}.net-dialog h2{margin-bottom:8px;font-size:24px}.net-dialog p{color:var(--ink);line-height:1.45}.dlg-actions{gap:10px;margin-top:14px;display:flex}.net-error-strip{border-left:4px solid var(--blood);z-index:65;align-items:center;gap:12px;max-width:640px;padding:8px 10px 8px 16px;display:flex;position:absolute;top:170px;left:50%;transform:translate(-50%)}.start .net-error-strip{position:fixed}
