:root{--font-display:"Bungee", "Arial Black", system-ui, sans-serif;--font-brush:"Permanent Marker", "Bungee", cursive;--font-body:"Space Grotesk", system-ui, -apple-system, sans-serif;--font-mono:"VT323", ui-monospace, monospace;--radius:22px;--radius-sm:14px;--horizon:62%;--line:1.5px}:root[data-theme=light]{--focus:#3b1a8c;--on-accent:#22103d;--on-fail:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-top:#ff9bd2;--bg-mid:#ffc29e;--bg-bottom:#ffe48f;--ground:#e4cdff;--grid-line:#ff2e8899;--horizon-glow:#fffc;--sun-a:#fff27a;--sun-b:#ff5fa2;--sun-opacity:1;--star-opacity:0;--palm:#5b2ec852;--palm-glow:none;--scan-opacity:0;--crt-opacity:0;--line:3px;--text:#22103d;--text-dim:#4b3a74;--panel:#faf5ffed;--panel-border:#22103d;--panel-shadow:6px 6px 0 #ff2e88;--panel-blur:10px;--control-border:#22103d;--accent-1:#ff2e88;--accent-1-ink:#c2005b;--accent-2:#00a9cc;--accent-3:#ffb703;--accent-4:#7b4dff;--success:#00804f;--fail:#cc004c;--tile-bg:linear-gradient(160deg, #fff7c2 0%, #ffd27a 45%, #ff9ec7 100%);--tile-text:#22103d;--tile-die-fill:#ffffffa6;--tile-border:#22103d;--tile-shadow:4px 4px 0 #22103d;--tile-ring:#00a9cc;--btn-bg:linear-gradient(135deg, #ff2e88 0%, #ff6a3d 55%, #ffb703 100%);--btn-text:#fff;--btn-shadow:0 0 0 3px #22103d, 5px 5px 0 3px #22103d;--tray-bg:linear-gradient(180deg, #bff0ff 0%, #dccdff 100%);--tray-floor:#ff2e8880;--tray-border:#22103d;--die-body:#ff4f9f;--die-edge:#fff;--die-emissive:#ff2e88;--die-rim-a:#ffb703;--die-rim-b:#00a9cc;--die-glow:#ff2e8866;--readout-fill:#fff;--readout-stroke:#22103d;--glow:#ff2e8859;--card:#fff;--input-bg:#fff;--brand-top:#22103d;--brand-stroke:#22103d;--ray-a:#ff7eb6;--ray-b:#ffd27a}:root[data-theme=dark]{--focus:#2de2ff;--on-accent:#1a0030;--on-fail:#1a0030;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-top:#05021a;--bg-mid:#170a3d;--bg-bottom:#330c55;--ground:#090320;--grid-line:#ff3ea58c;--horizon-glow:#ff3ea58c;--sun-a:#ff3ea5;--sun-b:#6a2bff;--sun-opacity:0;--star-opacity:.85;--palm:#04010e;--palm-glow:drop-shadow(0 0 1.5px #2de2ff) drop-shadow(0 0 7px #2de2ff99);--scan-opacity:.05;--crt-opacity:0;--text:#f6eeff;--text-dim:#bcaae0;--panel:#100728c2;--panel-border:#ff3ea56b;--panel-shadow:0 0 0 1px #2de2ff14 inset, 0 0 32px #ff3ea529, 0 18px 40px #00000073;--panel-blur:12px;--control-border:#2de2ffb3;--accent-1:#ff3ea5;--accent-1-ink:#ff7cc4;--accent-2:#2de2ff;--accent-3:#ffd23f;--accent-4:#a56bff;--success:#3dffa8;--fail:#ff5c8a;--tile-bg:linear-gradient(160deg, #2e1166 0%, #190838 100%);--tile-text:#ffe6f6;--tile-die-fill:#2de2ff1f;--tile-border:#2de2ff80;--tile-shadow:0 0 0 1px #ff3ea540 inset, 0 0 18px #2de2ff29;--tile-ring:#ff3ea5;--btn-bg:linear-gradient(135deg, #ff3ea5 0%, #a56bff 100%);--btn-text:#fff;--btn-shadow:0 0 0 2px #ffffff24 inset, 0 0 28px #ff3ea58c;--tray-bg:radial-gradient(ellipse at 50% 125%, #ff3ea561, transparent 60%), linear-gradient(180deg, #0b0424, #180839);--tray-floor:#2de2ff61;--tray-border:#2de2ff61;--die-body:#2a1260;--die-edge:#2de2ff;--die-emissive:#ff3ea5;--die-rim-a:#ff3ea5;--die-rim-b:#2de2ff;--die-glow:#2de2ff99;--readout-fill:#fff;--readout-stroke:#ff3ea5;--glow:#ff3ea5bf;--card:#1f0c46cc;--input-bg:#120630;--brand-top:#2de2ff;--brand-stroke:#160733;--ray-a:#ff3ea5;--ray-b:#5a1fbf}:root[data-theme=never-stop]{--focus:#fff;--on-accent:#1a0030;--on-fail:#1a0030;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-top:#0d0026;--bg-mid:#4a0a72;--bg-bottom:#ff2e88;--ground:#0b0018;--grid-line:#00f0ffe6;--horizon-glow:#ffe60080;--sun-a:#ffe600;--sun-b:#ff2e88;--sun-opacity:1;--star-opacity:1;--palm:#0b0018;--palm-glow:drop-shadow(0 0 1.5px #ff2e88) drop-shadow(0 0 9px #ff2e88bf);--scan-opacity:.16;--crt-opacity:.09;--text:#fff;--text-dim:#ffd2f1;--panel:#0c001eb8;--panel-border:#00f0ff;--panel-shadow:0 0 0 2px #ff2e88, 0 0 24px #00f0ff8c, 0 0 60px #ff2e8859;--panel-blur:6px;--control-border:#00f0ff;--accent-1:#ff2e88;--accent-1-ink:#ff7ab8;--accent-2:#00f0ff;--accent-3:#ffe600;--accent-4:#b026ff;--success:#39ff14;--fail:#f35;--tile-bg:linear-gradient(160deg, #ffe600 0%, #ff8a00 42%, #ff2e88 100%);--tile-text:#1a0030;--tile-die-fill:#ffffff80;--tile-border:#fff;--tile-shadow:0 0 0 3px #1a0030, 0 0 22px #ffe6008c;--tile-ring:#00f0ff;--btn-bg:linear-gradient(90deg, #00f0ff, #b026ff, #ff2e88, #ffe600, #00f0ff);--btn-text:#fff;--btn-shadow:0 0 0 3px #1a0030, 0 0 30px #ff2e88cc, 0 0 64px #00f0ff80;--tray-bg:radial-gradient(ellipse at 50% 118%, #ffe60073, transparent 55%), linear-gradient(180deg, #14002e, #3d0063);--tray-floor:#00f0ffa6;--tray-border:#ffe600;--die-body:#ff2e88;--die-edge:#ffe600;--die-emissive:#b026ff;--die-rim-a:#00f0ff;--die-rim-b:#ffe600;--die-glow:#00f0ffd9;--readout-fill:#fff;--readout-stroke:#b026ff;--glow:#00f0ffe6;--card:#1a0030d1;--input-bg:#1a0030;--brand-top:#ffe600;--brand-stroke:#1a0030;--ray-a:#ff2e88;--ray-b:#b026ff}#backdrop{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bd-sky{background:linear-gradient(180deg, var(--bg-top) 0%, var(--bg-mid) 48%, var(--bg-bottom) var(--horizon));position:absolute;inset:0}.bd-stars,.bd-stars:after{inset:0 0 calc(100% - var(--horizon)) 0;opacity:var(--star-opacity);background-image:radial-gradient(1.6px 1.6px at 20px 30px,#fff 50%,#0000 55%),radial-gradient(1.2px 1.2px at 140px 80px,#fff 50%,#0000 55%),radial-gradient(2px 2px at 90px 160px,#ffd6f5 50%,#0000 55%),radial-gradient(1.4px 1.4px at 210px 120px,#bdf6ff 50%,#0000 55%),radial-gradient(1px 1px at 260px 40px,#fff 50%,#0000 55%);background-size:300px 200px;position:absolute}.bd-stars:after{content:"";background-position:120px 60px;background-size:470px 310px;inset:0}.bd-glow{left:-10%;right:-10%;top:var(--horizon);background:radial-gradient(ellipse 55% 45% at 50% 50%, var(--horizon-glow), transparent 70%);height:60vh;position:absolute;transform:translateY(-50%)}.bd-sun{left:50%;top:var(--horizon);aspect-ratio:1;width:min(58vmin,540px);opacity:var(--sun-opacity);position:absolute;transform:translate(-50%,-74%)}.bd-sun:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--sun-b) 55%, transparent) 0%, transparent 66%);border-radius:50%;position:absolute;inset:-22%}.bd-sun:after{content:"";background:linear-gradient(180deg, var(--sun-a) 12%, var(--sun-b) 88%);--stripes:linear-gradient(180deg, #000 0 50%, transparent 50% 53%, #000 53% 60%, transparent 60% 64%, #000 64% 70%, transparent 70% 75%, #000 75% 80%, transparent 80% 86%, #000 86% 90%, transparent 90%);-webkit-mask-image:var(--stripes);-webkit-mask-image:var(--stripes);mask-image:var(--stripes);border-radius:50%;position:absolute;inset:0}.bd-ground{left:0;right:0;top:var(--horizon);background:var(--ground);perspective:240px;perspective-origin:50% 0;position:absolute;bottom:0;overflow:hidden}.bd-grid{transform-origin:50% 0;background-image:linear-gradient(to bottom, var(--grid-line) 2px, transparent 2px), linear-gradient(to right, var(--grid-line) 2px, transparent 2px);background-size:48px 24px,48px 24px;height:240px;position:absolute;top:0;left:-150%;right:-150%;transform:rotateX(76deg)}.bd-ground:after{content:"";background:linear-gradient(180deg, var(--ground), transparent);height:30%;position:absolute;inset:0 0 auto}.bd-palm{height:min(54vh,480px);fill:var(--palm);filter:var(--palm-glow);position:absolute;bottom:-2vh}.bd-palm.left{left:-3vw}.bd-palm.right{height:min(44vh,400px);right:-3vw;transform:scaleX(-1)}.bd-scan{opacity:var(--scan-opacity);background:repeating-linear-gradient(#000000e6 0 1px,#0000 1px 3px);position:absolute;inset:0}.bd-track{opacity:0;background:linear-gradient(#0000,#ffffff12 40%,#ffffff1f 50%,#ffffff12 60%,#0000);height:14vh;position:absolute;top:-20vh;left:0;right:0}[data-theme=never-stop][data-motion=full] .bd-grid{animation:.7s linear infinite grid-roll}[data-theme=never-stop][data-motion=full] .bd-track{opacity:1;animation:9s linear infinite tracking}[data-motion=full] .bd-stars{animation:3.2s ease-in-out infinite alternate twinkle}[data-motion=full] .bd-stars:after{animation:4.6s ease-in-out infinite alternate-reverse twinkle}[data-theme=never-stop][data-motion=full] .bd-sun{animation:6s ease-in-out infinite sun-breathe}[data-motion=full] .sun-pulse .bd-sun{animation:.7s ease-out sun-pulse}@keyframes grid-roll{to{background-position:0 24px,0 0}}@keyframes tracking{to{top:110vh}}@keyframes twinkle{0%{opacity:calc(var(--star-opacity) * .55)}to{opacity:var(--star-opacity)}}@keyframes sun-breathe{50%{transform:translate(-50%,-76%)scale(1.03)}}@keyframes sun-pulse{30%{filter:brightness(1.4)saturate(1.3);transform:translate(-50%,-76%)scale(1.12)}}@media (width<=760px){.bd-palm{height:30vh}.bd-palm.right{height:25vh}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);min-height:100dvh;color:var(--text);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.45;overflow-x:hidden}button,input,select{font:inherit;color:inherit}a{color:var(--accent-1-ink);font-weight:700}.back-link{color:var(--text)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{z-index:1;flex-direction:column;gap:20px;max-width:1100px;min-height:100dvh;margin:0 auto;padding:16px 16px 48px;display:flex;position:relative}.muted{color:var(--text-dim)}.small{font-size:14px}.loading{color:var(--text-dim);text-align:center;margin:40px 0}.crt{z-index:20;pointer-events:none;opacity:var(--crt-opacity);background:repeating-linear-gradient(#000000d9 0 1px,#0000 1px 3px);position:fixed;inset:0}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.brand{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:flex-start;padding:6px 4px 0;line-height:.9;text-decoration:none;display:inline-flex;transform:rotate(-4deg)}.brand-top{font-family:var(--font-display);letter-spacing:.06em;color:var(--brand-top);font-size:clamp(16px,2.1vw,22px);font-weight:400}.brand-brush{font-family:var(--font-brush);color:var(--accent-1);-webkit-text-stroke:3px var(--brand-stroke);paint-order:stroke fill;text-shadow:4px 4px 0 var(--accent-2);margin-top:-2px;font-size:clamp(32px,4.4vw,48px);font-weight:400}.brand-tag{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:70vw;margin-top:6px;font-size:19px;font-weight:400;overflow:hidden;transform:rotate(4deg)}[data-theme=never-stop] .brand-top{background:linear-gradient(#fff 0%,#b9f6ff 38%,#4b1380 50%,#ff7ad9 54%,#fff 100%);color:#0000;filter:drop-shadow(2px 0 #ff0050b3)drop-shadow(-2px 0 #00f0ffb3);-webkit-background-clip:text;background-clip:text}.settings{border-radius:var(--radius-sm);background:var(--panel);border:var(--line) solid var(--panel-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(var(--panel-blur)) saturate(1.3);flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 14px;display:flex}.seg{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.seg-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-right:2px;font-size:11px}.seg-opt{position:relative}.seg-opt input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg-opt span{border:2px solid var(--control-border);white-space:nowrap;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-block}.seg-opt input:checked+span{background:var(--accent-1);border-color:var(--accent-1);color:var(--on-accent);box-shadow:0 0 16px color-mix(in srgb, var(--accent-1) 55%, transparent)}.seg-opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.settings-toggle{border:2px solid var(--control-border);background:var(--panel);min-height:44px;font-family:var(--font-display);letter-spacing:.08em;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:13px;display:none}.settings-toggle svg{width:18px;height:18px}.panel{border-radius:var(--radius);background:var(--panel);border:var(--line) solid var(--panel-border);min-width:0;box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(var(--panel-blur)) saturate(1.3);padding:20px}.panel-title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-1-ink);margin:0 0 12px;font-size:15px;font-weight:400}.eyebrow{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:11px}.btn{appearance:none;cursor:pointer;font-family:var(--font-display);letter-spacing:.06em;color:var(--btn-text);background:var(--btn-bg);box-shadow:var(--btn-shadow);text-shadow:0 2px #1a00308c,0 0 3px #1a003099;background-size:300% 100%;border:0;border-radius:999px;padding:14px 32px;font-size:20px;transition:transform .12s,filter .12s;position:relative;overflow:hidden}.btn:after{content:"";pointer-events:none;background:linear-gradient(#ffffff80,#fff0);border-radius:999px 999px 0 0;position:absolute;inset:0 0 52%}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(2px)}.btn:disabled{cursor:not-allowed;filter:saturate(.5)brightness(.92)}.btn[aria-busy=true]{cursor:progress}.btn-small{padding:10px 22px;font-size:16px}[data-theme=never-stop][data-motion=full] .btn:not(:disabled){animation:3s linear infinite btn-cycle}@keyframes btn-cycle{to{background-position:300% 0}}.ghost-btn{border:2px solid var(--accent-1);min-height:40px;color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.ghost-btn:disabled{opacity:.5;cursor:not-allowed}.ghost-btn.danger{border-color:var(--fail);color:var(--fail)}.text-btn{appearance:none;color:var(--accent-1-ink);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:700;text-decoration:underline}.text-btn:disabled{color:var(--text-dim);cursor:default;text-decoration:none}.stack{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field.grow{flex:1}.field-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.field input,.title-input{border-radius:var(--radius-sm);border:2px solid var(--control-border);background:var(--input-bg);width:100%;min-height:48px;padding:0 14px;font-size:17px}.field input::placeholder{color:var(--text-dim);opacity:.6}.code-input{letter-spacing:.35em;text-align:center;font-family:var(--font-display)!important;min-height:64px!important;font-size:34px!important}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-error{border-radius:var(--radius-sm);border:2px solid var(--fail);color:var(--fail);background:var(--card);margin:0;padding:10px 14px;font-weight:700}.form-notice{border-radius:var(--radius-sm);border:2px solid var(--success);color:var(--success);background:var(--card);margin:12px 0 0;padding:10px 14px;font-weight:700}.centre{justify-content:center;padding-top:4vh;display:flex}.login{width:min(100%,480px)}.login-heading{font-family:var(--font-display);margin:4px 0 12px;font-size:clamp(26px,5vw,36px);font-weight:400;line-height:1.05}.login-intro{margin:0}.login .panel-title{margin-top:22px}.login-links{flex-wrap:wrap;justify-content:space-between;gap:8px 18px;margin-top:6px;display:flex}.dev-mailbox{border-radius:var(--radius-sm);border:2px dashed var(--accent-3);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:10px 12px;font-size:14px;display:flex}.dev-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-3);font-size:18px}[data-theme=light] .dev-tag{color:var(--accent-1-ink)}.dev-code{font-family:var(--font-display);letter-spacing:.15em;font-weight:400}.seat-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.seat{border-radius:var(--radius-sm);background:var(--card);justify-content:space-between;gap:12px;padding:10px 12px;font-weight:700;display:flex}.status{font-size:13px;font-weight:700}.status.on{color:var(--success)}.status.off{color:var(--text-dim)}.console{flex-direction:column;gap:20px;display:flex}.console>.muted{margin:0}.card-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.card{border-radius:var(--radius-sm);background:var(--card);border:1.5px solid color-mix(in srgb, var(--panel-border) 35%, transparent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.card p{margin:2px 0 0}.card-title{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:400;text-decoration:none}.player-main{flex-direction:column;gap:2px;min-width:0;display:flex}.player-main .muted{overflow-wrap:anywhere}.player-actions{flex-wrap:wrap;gap:8px;display:flex}.add-player{margin-top:16px}.archived{margin-top:14px}.archived summary{cursor:pointer;color:var(--text-dim);margin-bottom:10px;font-weight:700}.campaign-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.rename{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.title-input{font-family:var(--font-display);background:0 0;border-color:#0000;flex:1;min-width:0;padding:0 8px;font-size:clamp(22px,4vw,30px)}.title-input:hover,.title-input:focus{border-color:var(--control-border);background:var(--input-bg)}.link-box{border-radius:var(--radius-sm);background:var(--card);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.link-text{min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere;flex:1;font-size:20px}@media (width<=760px){.app{gap:14px;padding:12px 16px 40px}.settings-toggle{display:inline-flex}.settings{order:3;width:100%;display:none}.settings.open{display:flex}.topbar-actions{width:auto}.panel{padding:16px}.inline-form>*{flex-basis:100%}.inline-form .btn{width:100%}.centre{padding-top:0}.campaign-head{flex-direction:column;align-items:stretch}.campaign-head .btn{width:100%}.link-box .field-label,.link-text{flex-basis:100%}}.app:has(.table){max-width:1480px}.app:has(.table) .topbar-actions{position:relative}.app:has(.table) .settings-toggle{display:inline-flex}.app:has(.table) .settings{display:none}.app:has(.table) .settings.open{z-index:26;width:max-content;max-width:min(92vw,560px);display:flex;position:absolute;top:calc(100% + 8px);right:0}.table{grid-template-columns:minmax(300px,360px) minmax(0,1fr) minmax(280px,340px);grid-template-areas:"tracker tracker tracker""sheet stage feed";align-items:start;gap:16px;display:grid}.tracker{grid-area:tracker}.stage{grid-area:stage}.sheet-panel{grid-area:sheet}.feed{grid-area:feed}.sheet-panel,.feed{max-height:calc(100dvh - 32px);position:sticky;top:16px}.sheet-panel{overflow-y:auto}.conn-banner{background:var(--accent-3);color:#1a0030;border-radius:999px;align-self:center;margin:0;padding:6px 16px;font-size:14px;font-weight:700}.toast{z-index:45;border-radius:var(--radius-sm);border:2px solid var(--fail);background:var(--card);max-width:min(90vw,480px);box-shadow:var(--panel-shadow);margin:0;padding:10px 18px;font-weight:700;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.tracker{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.tracker.empty p{margin:0}.tracker-title{display:none}.tracker-list{scroll-snap-type:x proximity;flex:1;gap:10px;margin:0;padding:4px 4px 8px;list-style:none;display:flex;overflow-x:auto}.tracker-list>li{scroll-snap-align:start;display:flex}.tracker-card{border-radius:var(--radius-sm);border:var(--line) solid var(--panel-border);background:var(--panel);min-width:200px;max-width:260px;box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(var(--panel-blur)) saturate(1.3);color:var(--text);text-align:left;cursor:pointer;flex:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px 14px;display:grid}.tracker-card[aria-pressed=true]{outline:3px solid var(--focus);outline-offset:2px}.presence-dot{background:var(--text-dim);opacity:.45;border-radius:50%;width:10px;height:10px;display:inline-block}.presence-dot.on{background:var(--success);opacity:1;box-shadow:0 0 8px var(--success)}.tracker-names{flex-direction:column;min-width:0;display:flex}.tracker-hero{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.tracker-player{color:var(--text-dim);font-size:12px}.tracker-tokens{flex-direction:column;align-items:center;line-height:1;display:flex}.tracker-tokens b{font-family:var(--font-mono);color:var(--accent-1-ink);font-size:36px;font-weight:400}.tracker-tokens span{font-family:var(--font-display);letter-spacing:.12em;color:var(--text-dim);font-size:9px}.tracker-injury{border:1.5px solid var(--accent-2);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;grid-column:1/-1;justify-self:start;padding:1px 8px;font-size:11px;font-weight:700}.injury-2 .tracker-injury,.injury-3 .tracker-injury{border-color:var(--fail);color:var(--fail)}.tracker-gm{color:var(--text-dim);align-items:center;gap:6px;margin:0;display:flex}.stage-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.stage-skill{font-family:var(--font-display);overflow-wrap:anywhere;margin:2px 0 0;font-size:clamp(24px,3vw,38px);font-weight:400;line-height:1}.stage-die{color:var(--accent-1-ink);vertical-align:.25em;font-size:.55em}.total{text-align:right}.total output{font-family:var(--font-display);font-size:42px;line-height:1;display:block}.total output:empty:before{content:"–";font-family:var(--font-body);color:var(--text-dim)}.tray{border-radius:var(--radius);background:var(--tray-bg);border:max(2px, var(--line)) solid var(--tray-border);isolation:isolate;height:clamp(240px,36vh,380px);position:relative;overflow:hidden}.tray-floor{transform-origin:50% 100%;background-image:linear-gradient(to bottom, var(--tray-floor) 2px, transparent 2px), linear-gradient(to right, var(--tray-floor) 2px, transparent 2px);background-size:44px 44px;height:46%;position:absolute;bottom:-2px;left:-60%;right:-60%;transform:perspective(260px)rotateX(58deg);-webkit-mask-image:linear-gradient(#0000,#000 60%);mask-image:linear-gradient(#0000,#000 60%)}.die-host{z-index:1;position:absolute;inset:0}.die-host canvas{width:100%;height:100%;filter:drop-shadow(0 0 16px var(--die-glow));display:block}.readout{z-index:3;pointer-events:none;opacity:0;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.readout-num{font-family:var(--font-display);color:var(--readout-fill);-webkit-text-stroke:6px var(--readout-stroke);paint-order:stroke fill;text-shadow:0 6px 0 #0003, 0 0 34px var(--glow);font-size:clamp(64px,9vw,120px);line-height:1}.readout-cap{background:var(--accent-1);color:var(--on-accent);font-family:var(--font-display);letter-spacing:.14em;border-radius:999px;margin-top:2px;padding:2px 10px;font-size:13px}.readout.show{opacity:1}.readout.max .readout-num{color:var(--accent-3)}.chain{z-index:2;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:12px;left:12px;right:12px}.chain li{align-items:center;gap:4px;display:inline-flex}.plus{font-family:var(--font-display);color:var(--text-dim)}.die-icon polygon{fill:var(--card);stroke:var(--accent-2);stroke-width:6px;stroke-linejoin:round}.die-icon text{font-family:var(--font-display);fill:var(--text)}.die-icon.blew polygon{fill:var(--accent-3);stroke:var(--accent-1)}.die-icon.blew text{fill:#1a0030}.die-icon.nat polygon{fill:#ffe600;stroke:#fff;filter:drop-shadow(0 0 6px #ffe600)}.die-icon.nat text{fill:#1a0030}.chain .die-icon{width:44px;height:44px}.stamp{z-index:4;pointer-events:none;white-space:nowrap;font-family:var(--font-brush);color:var(--accent-3);-webkit-text-stroke:4px #1a0030;paint-order:stroke fill;text-shadow:5px 5px 0 var(--accent-1), 0 0 30px var(--glow);opacity:0;font-size:clamp(40px,6.5vw,80px);line-height:1;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-9deg)}.stamp[data-tier="3"]{color:#fff;font-size:clamp(46px,7.5vw,92px)}.stamp[data-tier="4"]{color:var(--accent-2);font-size:clamp(50px,8.5vw,104px)}.stamp[data-tier="5"]{color:var(--accent-3);font-size:clamp(54px,9.5vw,116px)}.verdict{z-index:4;background:var(--card);font-family:var(--font-display);letter-spacing:.06em;white-space:nowrap;opacity:0;pointer-events:none;border:4px solid;border-radius:12px;padding:4px 18px;font-size:clamp(18px,2.6vw,30px);position:absolute;bottom:16px;left:50%;transform:translate(-50%)rotate(-4deg)}.verdict.success{color:var(--success);opacity:1}.verdict.fail{color:var(--fail);opacity:1}.flat-die{place-items:center;display:grid;position:absolute;inset:0}.flat-die .die-icon{width:min(46%,180px);height:auto}.flat-die.tumble .die-icon{animation:flat-tumble var(--dur,.9s) cubic-bezier(.2, .8, .3, 1) both}.flat-die.pop .die-icon{animation:.42s ease-in both flat-pop}@keyframes flat-tumble{0%{transform:translate(-140%,-60%)rotate(-540deg)scale(.6)}to{transform:none}}@keyframes flat-pop{50%{filter:brightness(2);transform:scale(1.5)}to{opacity:0;transform:scale(0)}}.roll-controls{flex-direction:column;gap:14px;margin-top:14px;display:flex}.roll-controls .form-error{margin:0}.roll-row{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dc-field{flex-direction:column;align-items:center;gap:4px;display:flex}.dc-field input{text-align:center;width:84px;height:54px;font-family:var(--font-display);border-radius:var(--radius-sm);border:2px solid var(--control-border);background:var(--input-bg);font-size:26px}.dc-field input::placeholder{color:var(--text-dim);opacity:.6;font-family:var(--font-body)}.roll-btn{appearance:none;cursor:pointer;max-width:340px;font-family:var(--font-display);letter-spacing:.08em;color:var(--btn-text);background:var(--btn-bg);box-shadow:var(--btn-shadow);text-shadow:0 2px #00000047;background-size:300% 100%;border:0;border-radius:999px;flex:1;padding:16px 32px;font-size:26px;transition:transform .12s,filter .12s;position:relative;overflow:hidden}.roll-btn:after{content:"";pointer-events:none;background:linear-gradient(#ffffff80,#fff0);border-radius:999px 999px 0 0;position:absolute;inset:0 0 52%}.roll-btn:hover:not(:disabled){transform:translateY(-2px)}.roll-btn:active:not(:disabled){transform:translateY(2px)}.roll-btn:disabled{opacity:.5;cursor:not-allowed}.roll-btn[aria-busy=true]{cursor:progress;filter:saturate(.7)brightness(.92)}.roll-btn-sub{opacity:.9;margin-left:6px;font-size:.55em}[data-theme=never-stop][data-motion=full] .roll-btn:not(:disabled){animation:3s linear infinite btn-cycle}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;display:grid}.skill-tile{appearance:none;border:max(2px, var(--line)) solid var(--tile-border);background:var(--tile-bg);min-height:88px;color:var(--tile-text);box-shadow:var(--tile-shadow);cursor:pointer;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;transition:transform .14s;display:flex;position:relative;overflow:hidden}.skill-tile:before{content:"";pointer-events:none;background:linear-gradient(#ffffff73,#fff0);position:absolute;inset:0 0 55%}.skill-tile:hover{transform:translateY(-2px)}.skill-tile[aria-pressed=true]{outline:4px solid var(--tile-ring);outline-offset:3px;transform:translateY(-3px)}.skill-tile .die-icon{width:44px;height:44px}.skill-tile .die-icon polygon{fill:var(--tile-die-fill);stroke:currentColor}.skill-tile .die-icon text{fill:currentColor}.skill-name{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.gm-dice{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.gm-die{min-height:70px}.gm-die .die-icon{width:48px;height:48px}.checks{flex-direction:column;gap:10px;margin:14px 0 0;padding:0;list-style:none;display:flex}.check-card{border-radius:var(--radius-sm);background:var(--card);border:1.5px solid color-mix(in srgb, var(--panel-border) 35%, transparent);border-left:6px solid var(--accent-2);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.check-card.mine{border-left-color:var(--accent-1);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-1) 35%, transparent)}.check-card.requested,.check-card.waiting{border-left-color:var(--accent-3)}.check-card.danger{border-left-color:var(--fail)}.check-card p{margin:0}.check-title{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:15px;display:flex}.check-title b{font-family:var(--font-display);font-weight:400}.check-dc{color:var(--text-dim);font-weight:700}.check-dc b{color:var(--text);font-weight:700}.check-total b{font-family:var(--font-display);font-size:20px;font-weight:400}.check-total.making{color:var(--success)}.check-total.short{color:var(--text)}.check-actions,.check-answer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.check-actions .roll-btn{flex:0 auto;padding:12px 24px;font-size:20px}.check-choices{flex-direction:column;gap:8px;display:flex}.boost-list{margin:0;padding-left:18px}.dc-mini{align-items:center;gap:6px;font-weight:700;display:inline-flex}.dc-mini input{border:2px solid var(--control-border);background:var(--input-bg);text-align:center;width:64px;min-height:36px;font-family:var(--font-display);border-radius:10px;font-size:18px}.chip-row,.skill-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-toggle{position:relative}.chip-toggle input{opacity:0;pointer-events:none;position:absolute}.chip-toggle span{border:2px solid var(--control-border);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-block}.chip-toggle.on span,.chip-toggle input:checked+span{border-color:var(--accent-1);background:var(--accent-1);color:var(--on-accent)}.chip-toggle input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.seg-tabs{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.session{align-items:flex-start}.session p{margin:0}.ask-hint{flex:1;margin:0}.feed-notice{background:color-mix(in srgb, var(--accent-2) 16%, transparent);text-align:center;border-radius:999px;align-self:center;max-width:92%;padding:4px 12px;font-size:13px;font-style:italic}.feed-note.danger,.down-note{color:var(--fail);font-weight:700}.down-note{text-transform:capitalize;margin:0}.tracker-injury.down{border-color:var(--fail);background:var(--fail);color:var(--on-fail)}.sheet-picker{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.sheet-tab{border:2px solid var(--control-border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700}.sheet-tab[aria-selected=true]{border-color:var(--accent-1);background:var(--accent-1);color:var(--on-accent)}.sheet{flex-direction:column;gap:14px;display:flex}.sheet-head{flex-direction:column;gap:8px;display:flex}.sheet .field input{min-height:42px;font-size:16px}.sheet .field-big input{font-family:var(--font-display);font-size:20px}.sheet .field input:disabled{opacity:.75}.sheet-name{font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:400}.catchphrase{font-family:var(--font-brush);color:var(--accent-1-ink);margin:0;font-size:20px}.builder{border-radius:var(--radius-sm);border:2px dashed var(--accent-1);background:color-mix(in srgb, var(--accent-1) 10%, transparent);padding:12px 14px}.builder .btn{width:100%}.builder p{margin:6px 0}.builder-steps{margin:8px 0;padding-left:22px}.builder-steps li{margin:2px 0}.builder-steps li.done{color:var(--text-dim);text-decoration:line-through}.builder-note{color:var(--text-dim);margin:0}.sheet-meters{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.meter{flex-direction:column;gap:6px;display:flex}.stepper{align-items:center;gap:8px;display:flex}.stepper-value{min-width:2ch;font-family:var(--font-mono);text-align:center;color:var(--accent-1-ink);font-size:44px;line-height:1}.icon-btn{border:2px solid var(--control-border);width:38px;height:38px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:22px;line-height:1;display:inline-grid}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn svg{width:20px;height:20px}.icon-btn[aria-pressed=true]{border-color:var(--fail);color:var(--fail)}.injury-seg{flex-wrap:wrap;gap:4px;display:flex}.injury-opt{position:relative}.injury-opt input{opacity:0;pointer-events:none;position:absolute}.injury-opt span{border:2px solid var(--control-border);cursor:pointer;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;display:inline-block}.injury-opt input:disabled+span{cursor:default}.injury-opt input:checked+span{border-color:var(--accent-2);background:var(--accent-2);color:#1a0030}.injury-opt.level-2 input:checked+span,.injury-opt.level-3 input:checked+span{border-color:var(--fail);background:var(--fail);color:var(--on-fail)}.injury-opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.injury-note{color:var(--text-dim);margin:0}.sheet-section{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-1-ink);margin:4px 0 -4px;font-size:13px;font-weight:400}.skill-rows{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.skill-row{grid-template-columns:72px auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.skill-row-name{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.ladder{gap:3px;display:flex}.ladder-die{opacity:.3;background:0 0;border:0;width:28px;height:28px;padding:0;display:inline-flex}button.ladder-die{cursor:pointer}button.ladder-die:hover{opacity:.8}.ladder-die.passed{opacity:.55}.ladder-die.current{opacity:1;filter:drop-shadow(0 0 6px var(--glow));transform:scale(1.18)}.ladder-die .die-icon{width:100%;height:100%}.ladder-die.current .die-icon polygon{fill:var(--accent-3);stroke:var(--accent-1)}.ladder-die.current .die-icon text{fill:#1a0030}.skill-mods{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.tag{border:1.5px solid var(--accent-2);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.ability-chosen,.ability-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ability-chosen li,.ability-option{border-radius:var(--radius-sm);background:var(--card);border-left:4px solid var(--accent-2);justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.ability-chosen p,.ability-option p{margin:2px 0 0}.ability-option strong+.tag,.ability-chosen strong+.tag{margin-left:6px}.ability-list{max-height:340px;margin-top:8px;overflow-y:auto}.ability-add{flex-shrink:0;align-items:center;gap:6px;display:flex}.ability-add select,.sheet select{border:2px solid var(--control-border);background:var(--input-bg);border-radius:10px;min-height:36px;padding:0 8px}.ability-details summary,.sheet-extra summary{cursor:pointer;font-weight:700}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.sheet-gm-tools{color:var(--text-dim);margin:0}.feed{flex-direction:column;display:flex}.feed-list{flex-direction:column;flex:1;gap:8px;min-height:220px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.feed-empty{color:var(--text-dim);margin:0;font-size:15px}.msg{border-radius:var(--radius-sm);background:var(--card);border:1.5px solid color-mix(in srgb, var(--panel-border) 35%, transparent);align-self:flex-start;max-width:92%;padding:8px 12px}.msg.mine{background:color-mix(in srgb, var(--accent-1) 14%, var(--card));align-self:flex-end}.msg-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.msg-who{font-family:var(--font-display);color:var(--accent-1-ink);font-size:13px}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}.feed-entry{border-radius:var(--radius-sm);background:var(--card);border:1.5px solid color-mix(in srgb, var(--panel-border) 35%, transparent);border-left:6px solid var(--accent-2);padding:10px 12px}.feed-entry.success{border-left-color:var(--success)}.feed-entry.fail{border-left-color:var(--fail)}.feed-entry.rolling{border-left-color:var(--accent-3);color:var(--text-dim);font-style:italic}.feed-head{font-family:var(--font-display);justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;display:flex}.feed-time{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:18px}.feed-chain{flex-wrap:wrap;align-items:center;gap:2px;margin:6px 0;display:flex}.feed-step{align-items:center;gap:2px;display:inline-flex}.feed-chain .die-icon{width:32px;height:32px}.feed-total{font-size:15px}.feed-total b{font-family:var(--font-display);font-size:20px;font-weight:400}.feed-verdict.success{color:var(--success);font-weight:700}.feed-verdict.fail{color:var(--fail);font-weight:700}.feed-note{color:var(--accent-1-ink);margin-top:4px;font-size:14px;font-weight:700}.chat-form{align-items:flex-end;gap:8px;margin-top:10px;display:flex}.chat-form textarea{border-radius:var(--radius-sm);border:2px solid var(--control-border);background:var(--input-bg);min-height:52px;color:var(--text);font:inherit;resize:none;flex:1;padding:10px 12px}.chat-form textarea::placeholder{color:var(--text-dim);opacity:.7}.sound{align-items:center;gap:8px;display:flex}.sound input[type=range]{width:110px;accent-color:var(--accent-1)}.tabbar{display:none}.badge{background:var(--fail);min-width:22px;color:var(--on-fail);font-family:var(--font-body);border-radius:999px;padding:2px 6px;font-size:12px;font-weight:700;position:absolute;top:-6px;right:10px}@media (width<=1180px){.table{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"tracker tracker""stage stage""sheet feed"}.sheet-panel,.feed{max-height:80vh;position:static}}@media (width<=760px){.app:has(.table){padding-bottom:96px}.table{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""below";gap:12px}.tracker,.sheet-panel,.feed{grid-area:below;max-height:none}.table:not(.tab-party) .tracker,.table:not(.tab-sheet):not(.tab-notes):not(.tab-log) .sheet-panel,.table:not(.tab-chat) .feed,.table:not(.tab-dice) .roll-controls,.table:not(.tab-dice) .stage .seg-tabs{display:none}.tray{height:200px}.table:not(.tab-dice) .tray{height:140px}.total output{font-size:34px}.stage-head{margin-bottom:8px}.feed-list{min-height:180px;max-height:calc(100dvh - 520px)}.roll-btn{padding:14px 20px;font-size:22px}.skill-grid,.gm-dice{grid-template-columns:repeat(3,minmax(0,1fr))}.tracker{border-radius:var(--radius);background:var(--panel);border:var(--line) solid var(--panel-border);box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(var(--panel-blur)) saturate(1.3);gap:8px;padding:16px}.tracker-title{flex-basis:100%;margin:0;display:block}.tracker-list{flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 0 4px;display:grid;overflow:visible}.tracker-card{gap:2px 8px;min-width:0;max-width:none;padding:8px 10px}.tracker-hero{white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.15;display:-webkit-box}.tracker-tokens b{font-size:28px}.toast{bottom:92px}.chat-form{scroll-margin-bottom:96px}.tracker,.sheet-panel,.roll-controls{scroll-margin-top:12px}.app:has(.table) .settings.open{width:100%;max-width:none;position:static}.tabbar{z-index:25;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:var(--panel);border-top:var(--line) solid var(--panel-border);-webkit-backdrop-filter:blur(var(--panel-blur)) saturate(1.3);gap:8px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-btn{border:2px solid var(--control-border);min-width:0;min-height:48px;color:var(--text);font-family:var(--font-display);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:999px;flex:1;padding:0 4px;font-size:13px;position:relative}.tabbar-btn[aria-pressed=true]{border-color:var(--accent-1);background:var(--accent-1);color:var(--on-accent)}}.page-switch{margin:0 0 14px}.page-intro{margin:0 0 10px}.table.page-wide{grid-template-columns:minmax(380px,1.25fr) minmax(0,1fr) minmax(280px,340px)}.live-page{flex-direction:column;gap:8px;display:flex}.page-opening,.page-status{margin:0}.page-toolbar{z-index:2;background:var(--panel);flex-wrap:wrap;gap:4px;padding:6px 0;display:flex;position:sticky;top:-16px}.page-tool{border:2px solid var(--control-border);min-width:36px;height:34px;color:var(--text);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:10px;padding:0 8px;font-size:15px;font-weight:700}.page-tool[aria-pressed=true]{border-color:var(--accent-1);background:var(--accent-1);color:var(--on-accent)}.page-tool:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.tool-italic{font-family:Georgia,serif;font-style:italic}.tool-subheading{font-size:13px}.page-tool-gap{flex:1}.page-body{border-radius:var(--radius-sm);border:2px solid var(--control-border);background:var(--input-bg);min-height:46vh;color:var(--text);overflow-wrap:anywhere;padding:14px 16px;font-size:16px;line-height:1.55}.page-body:focus{outline:3px solid var(--focus);outline-offset:2px}.page-body>:first-child{margin-top:0}.page-body p{margin:0 0 .6em}.page-body h2,.page-body h3{font-family:var(--font-display);margin:1em 0 .4em;font-weight:400;line-height:1.2}.page-body h2{color:var(--accent-1-ink);font-size:22px}.page-body h3{font-size:17px}.page-body ul,.page-body ol{margin:0 0 .6em;padding-left:1.4em}.page-body blockquote{border-left:4px solid var(--accent-2);margin:0 0 .6em;padding-left:12px;font-style:italic}.page-body a{color:var(--accent-1-ink)}.page-body hr{border:0;border-top:2px dashed var(--accent-2)}.page-body code{font-family:var(--font-mono);font-size:1.1em}.page-body p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--text-dim);opacity:.7;pointer-events:none}.collaboration-carets__caret{word-break:normal;pointer-events:none;border-left:2px solid;border-right:0;margin:0 -1px;position:relative}.collaboration-carets__label{color:#1a0030;font-family:var(--font-body);white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:6px 6px 6px 0;padding:1px 6px;font-size:11px;font-style:normal;font-weight:700;line-height:normal;position:absolute;top:-1.45em;left:-2px}.viewer{z-index:50;-webkit-backdrop-filter:blur(6px);background:#0a0418d1;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.viewer-figure{flex-direction:column;gap:10px;max-width:100%;max-height:100%;margin:0;display:flex}.viewer-figure img{border-radius:var(--radius-sm);border:var(--line) solid var(--panel-border);width:auto;max-width:min(96vw,1600px);height:auto;max-height:calc(100dvh - 120px);box-shadow:0 0 40px var(--glow);object-fit:contain;margin:0 auto;display:block}.viewer-bar{border-radius:var(--radius-sm);background:var(--panel);border:var(--line) solid var(--panel-border);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.viewer-name{flex-direction:column;font-size:18px;font-weight:700;display:flex}.viewer-actions{align-items:center;gap:8px;display:flex}.shown-card{border-radius:var(--radius-sm);background:var(--card);border:2px solid var(--accent-1);justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:8px;display:flex}.shown-open{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.shown-open img{object-fit:cover;border-radius:8px;flex-shrink:0;width:72px;height:48px}.shown-open>span{flex-direction:column;min-width:0;display:flex}.shown-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.feed-thumb{cursor:zoom-in;background:0 0;border:0;margin-top:6px;padding:0;display:block}.feed-thumb img{border-radius:10px;max-width:100%;max-height:160px;display:block}.gm-images{gap:12px}.gm-images-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.gm-images-head p{flex:220px;margin:0}.upload-btn{cursor:pointer;position:relative}.upload-btn.disabled{opacity:.7;cursor:progress}.upload-btn:focus-within{outline:3px solid var(--focus);outline-offset:3px}.image-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.image-tile{border-radius:var(--radius-sm);background:var(--card);border:2px solid var(--control-border);flex-direction:column;gap:6px;padding:8px;display:flex;position:relative}.image-tile.showing{border-color:var(--accent-1);box-shadow:0 0 0 2px var(--accent-1)}.image-tile img{aspect-ratio:3/2;object-fit:cover;background:var(--tray-bg);border-radius:8px;width:100%}.image-caption{min-width:0;color:var(--text);font:inherit;background:0 0;border:1.5px solid #0000;border-radius:8px;padding:4px 6px;font-size:14px;font-weight:700}.image-caption:hover,.image-caption:focus{border-color:var(--control-border);background:var(--input-bg)}.image-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.image-actions .btn-small,.image-actions .ghost-btn{padding:6px 12px;font-size:13px}.image-secret{background:var(--card);position:absolute;top:14px;left:14px}.inventory{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.item-row{border-radius:var(--radius-sm);background:var(--card);border-left:4px solid var(--accent-3);align-items:center;gap:6px;padding:4px 6px 4px 10px;display:flex}.item-row>span.item-text{padding:6px 0}.item-text{min-width:0;color:var(--text);font:inherit;background:0 0;border:1.5px solid #0000;border-radius:8px;flex:1;padding:6px;font-size:15px}button.item-text{text-align:left;cursor:text;overflow-wrap:anywhere}button.item-text:hover,input.item-text{border-color:var(--control-border);background:var(--input-bg)}.sheet .item-pass{width:72px;min-height:32px;padding:0 4px;font-size:13px}.item-drop{flex-shrink:0;width:32px;height:32px;font-size:18px}.item-add{align-items:center;gap:6px;display:flex}.item-add input{border:2px solid var(--control-border);background:var(--input-bg);min-width:0;min-height:38px;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:0 10px;font-size:15px}.prepared-form{flex-wrap:wrap;flex:100%}.prepared-form input{flex-basis:100%}.ability-chosen li:has(.prepared-form){flex-wrap:wrap}@media (width<=1180px){.table.page-wide{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width<=760px){.table.page-wide{grid-template-columns:minmax(0,1fr)}.page-switch{display:none}.page-body{min-height:50dvh}.page-toolbar{gap:3px;top:0}.page-tool{min-width:31px;padding:0 5px}.page-tool-gap{display:none}.tabbar{gap:4px;padding-left:8px;padding-right:8px}.tabbar-btn{letter-spacing:.02em;padding:0 2px;font-size:12px}.viewer{padding:8px}.viewer-figure img{max-height:calc(100dvh - 140px)}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fx-canvas{z-index:35;pointer-events:none;width:100vw;height:100vh;position:fixed;inset:0}.shake{animation:shake var(--shake-dur,.5s) cubic-bezier(.36, .07, .19, .97) both}@keyframes shake{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(calc(var(--shake) * -1), calc(var(--shake) * .6)) rotate(-.5deg)}20%{transform:translate(var(--shake), calc(var(--shake) * -.8)) rotate(.5deg)}30%{transform:translate(calc(var(--shake) * -.8), calc(var(--shake) * .4)) rotate(-.3deg)}45%{transform:translate(calc(var(--shake) * .6), calc(var(--shake) * -.4)) rotate(.2deg)}60%{transform:translate(calc(var(--shake) * -.35), calc(var(--shake) * .25))}80%{transform:translate(calc(var(--shake) * .15), 0)}}.flash{z-index:30;pointer-events:none;background:var(--flash-color,#fff);opacity:0;position:fixed;inset:0}.flash.go{animation:.56s ease-out both flash}@keyframes flash{0%{opacity:0}14%{opacity:var(--flash-max,.25)}to{opacity:0}}.stamp.show{animation:stamp var(--stamp-dur,.95s) cubic-bezier(.2, 1.4, .4, 1) both}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(-20deg)scale(2.8)}16%{opacity:1;transform:translate(-50%,-50%)rotate(-9deg)scale(1)}78%{opacity:1;transform:translate(-50%,-50%)rotate(-7deg)scale(1.06)}to{opacity:0;transform:translate(-50%,-64%)rotate(-7deg)scale(1.1)}}.glitch .tray,.glitch .stage-skill,.glitch .brand{animation:.46s steps(3,end) both glitch}@keyframes glitch{0%{filter:drop-shadow(4px 0 #ff0050cc)drop-shadow(-4px 0 #00f0ffcc);transform:translate(0)}33%{filter:drop-shadow(-5px 0 #ff0050cc)drop-shadow(5px 0 #00f0ffcc);transform:translate(-3px,1px)skew(-2deg)}66%{filter:drop-shadow(3px 0 #ff0050b3)drop-shadow(-3px 0 #00f0ffb3);transform:translate(3px,-1px)skew(2deg)}to{filter:none;transform:none}}.banner{z-index:32;pointer-events:none;border-top:5px solid var(--accent-3);border-bottom:5px solid var(--accent-1);height:clamp(90px,16vh,150px);box-shadow:0 0 40px var(--glow);opacity:0;background:repeating-linear-gradient(-45deg,#0b0018 0 22px,#1f0040 22px 44px);justify-content:center;align-items:center;display:flex;position:fixed;top:38%;left:-10vw;right:-10vw;overflow:hidden;transform:translate(-120%)skewY(-6deg)}.banner span{font-family:var(--font-display);letter-spacing:.04em;white-space:nowrap;font-size:clamp(36px,8vw,92px)}.banner.go{opacity:1;animation:1.4s cubic-bezier(.7,0,.3,1) both banner-sweep}@keyframes banner-sweep{0%{transform:translate(-120%)skewY(-6deg)}28%,72%{transform:translate(0)skewY(-6deg)}to{transform:translate(120%)skewY(-6deg)}}.takeover{z-index:40;pointer-events:none;visibility:hidden;opacity:0;background:radial-gradient(circle at 50% 55%, var(--to-core) 0%, var(--to-edge) 75%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.takeover.d20{--to-core:#ff2e88;--to-edge:#1a0030;--to-ray-a:#ffe60052;--to-ray-b:#ffe60000}.takeover.nat20{--to-core:#ffe600;--to-edge:#ff6a00;--to-ray-a:#ffffff73;--to-ray-b:#fff0}.takeover .rays{background:repeating-conic-gradient(from 0deg, var(--to-ray-a) 0deg 12deg, var(--to-ray-b) 12deg 30deg);position:absolute;inset:-60%}.takeover-text{text-align:center;flex-direction:column;align-items:center;padding:0 16px;line-height:.92;display:flex;position:relative;transform:rotate(-6deg)}.to-1{font-family:var(--font-display);letter-spacing:.04em;font-size:clamp(38px,8.5vw,116px)}.to-2{font-family:var(--font-brush);color:#fff;-webkit-text-stroke:6px #1a0030;paint-order:stroke fill;text-shadow:8px 8px 0 var(--accent-2);font-size:clamp(64px,14vw,190px)}.takeover.nat20 .to-1{-webkit-text-stroke:2px #1a0030;paint-order:stroke fill}.takeover.nat20 .to-2{font-family:var(--font-display);color:#fff;text-shadow:10px 10px #ff2e88,0 0 60px #fff;font-size:clamp(110px,26vw,320px)}.to-3{color:var(--accent-3);font-family:var(--font-display);letter-spacing:.1em;background:#1a0030;border-radius:999px;margin-top:12px;padding:6px 18px;font-size:clamp(16px,2.6vw,30px)}.takeover.go{visibility:visible;animation:takeover var(--to-dur,2.2s) ease both}.takeover.go .rays{animation:24s linear infinite rays-turn}.takeover.go .takeover-text{animation:takeover-text var(--to-dur,2.2s) cubic-bezier(.2, 1.3, .4, 1) both}@keyframes takeover{0%{opacity:0}10%{opacity:1}82%{opacity:1}to{opacity:0}}@keyframes rays-turn{to{transform:rotate(360deg)}}@keyframes takeover-text{0%{filter:blur(10px);opacity:0;transform:rotate(-6deg)scale(3.2)}14%{filter:blur();opacity:1;transform:rotate(-6deg)scale(1)}82%{opacity:1;transform:rotate(-4deg)scale(1.08)}to{opacity:0;transform:rotate(-4deg)scale(1.4)}}.readout.show{animation:.42s cubic-bezier(.2,1.6,.4,1) both readout-pop}@keyframes readout-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.skill-tile.upgraded{animation:.9s cubic-bezier(.2,1.5,.4,1) both tile-upgrade}@keyframes tile-upgrade{0%{transform:scale(1)}30%{box-shadow:0 0 0 6px var(--accent-3), 0 0 30px var(--accent-3);transform:scale(1.16)rotate(-4deg)}to{transform:translateY(-3px)}}.verdict.success,.verdict.fail{animation:.5s cubic-bezier(.2,1.5,.4,1) both verdict-in}@keyframes verdict-in{0%{opacity:0;transform:translate(-50%)rotate(-14deg)scale(2.2)}to{opacity:1;transform:translate(-50%)rotate(-4deg)scale(1)}}.feed-entry.fresh{animation:.42s ease-out both feed-in}@keyframes feed-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}[data-motion=calm] .stamp.show{animation:fade-hold var(--stamp-dur,.7s) ease both}[data-motion=calm] .banner.go{animation:.9s both fade-hold;transform:translate(0)skewY(-6deg)}[data-motion=calm] .takeover.go .rays,[data-motion=calm] .takeover.go .takeover-text{animation:none}[data-motion=calm] .readout.show{animation:.2s both fade-in}[data-motion=calm] .skill-tile.upgraded{box-shadow:0 0 0 5px var(--accent-3), var(--tile-shadow);animation:none}[data-motion=calm] .verdict.success,[data-motion=calm] .verdict.fail{animation:.25s both verdict-fade}@keyframes fade-hold{0%{opacity:0}20%,75%{opacity:1}to{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes verdict-fade{0%{opacity:0}to{opacity:1}}[data-motion=off] *,[data-motion=off] :before,[data-motion=off] :after{transition:none!important;animation:none!important}[data-motion=off] .stamp.show{opacity:1}[data-motion=off] .skill-tile.upgraded{box-shadow:0 0 0 5px var(--accent-3), var(--tile-shadow)}.chrome-text{background:linear-gradient(#fff 0%,#b9f6ff 38%,#4b1380 50%,#ff7ad9 54%,#fff 100%);color:#0000;filter:drop-shadow(2px 0 #ff0050b3)drop-shadow(-2px 0 #00f0ffb3);-webkit-background-clip:text;background-clip:text}
