: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]{--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]{--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]{--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}:focus-visible{outline:3px solid var(--accent-2);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:#fff;box-shadow:0 0 16px color-mix(in srgb, var(--accent-1) 55%, transparent)}.seg-opt input:focus-visible+span{outline:3px solid var(--accent-2);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 #00000047;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%}}
