html,body{background:#0b0f16}#ui{position:fixed;inset:0;z-index:200;pointer-events:none}#ui .screen{position:absolute;inset:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center;background:radial-gradient(60% 42% at 50% 62%,#f0a04e4d,#f0a04e00 70%),linear-gradient(180deg,#0d1522,#17263c 42%,#2d3a4e 62%,#4a3d43 78%,#6b4636);font-family:Fredoka,system-ui,sans-serif;color:#f2f4f6}#ui .screen:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(52% 15% at 18% 84%,#0a0d13 0 99%,transparent 100%),radial-gradient(60% 17% at 74% 86%,#0a0d13 0 99%,transparent 100%),radial-gradient(46% 12% at 46% 80%,#141d2b 0 99%,transparent 100%),radial-gradient(58% 13% at 88% 79%,#141d2b 0 99%,transparent 100%),linear-gradient(180deg,transparent 0 78%,#090c12 88%)}#ui .screen>*{position:relative;z-index:1}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#ui .screen.has-bg{justify-content:flex-end;gap:12px;padding-bottom:calc(clamp(56px,16vh,132px) + env(safe-area-inset-bottom));background:url(/assets/welcome-bg-CyLhsI0Z.avif) center / cover no-repeat}#ui .screen.has-bg button{width:min(320px,78vw);padding:15px 0;border-radius:15px;transition:transform .12s ease,filter .12s ease}#ui .screen.has-bg button:not(.ghost){font-family:Luckiest Guy,cursive;font-size:21px;letter-spacing:.05em;box-shadow:0 10px 26px #e08a3c57}#ui .screen.has-bg button.ghost{background:#ffffff24;border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(8px);box-shadow:0 8px 22px #00000052}#ui .screen.has-bg button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}#ui .screen.has-bg button:active:not(:disabled){transform:translateY(0)}#ui .screen.has-bg button:disabled{opacity:.55;cursor:default;transform:none}#ui .screen.has-bg input{width:min(320px,78vw);min-width:0;background:#0a0d139e;border-color:#ffffff42;backdrop-filter:blur(8px)}@media (max-height: 520px){#ui .screen.has-bg{padding-bottom:calc(18px + env(safe-area-inset-bottom));gap:9px}#ui .screen.has-bg button{padding:11px 0}#ui .screen.has-bg button:not(.ghost){font-size:18px}#ui .screen.has-bg .tagline{font-size:15px}}#ui .screen.has-bg:after{background:linear-gradient(180deg,#06080c00 34%,#06080c33,#06080c85 82%,#06080cbd)}#ui .screen.has-bg .tagline{font-size:17px;text-shadow:0 2px 12px rgba(0,0,0,.92),0 0 3px rgba(0,0,0,.85)}#ui .title{font-family:Luckiest Guy,cursive;font-size:min(15vw,80px);line-height:1}#ui .title b{color:#e08a3c}#ui button{font:inherit;font-weight:600;cursor:pointer;border:none;border-radius:14px;padding:14px 32px;background:#e08a3c;color:#1a1206}#ui button.ghost{background:#ffffff1f;color:#f2f4f6}#ui input{font:inherit;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#f2f4f6;min-width:260px}#ui .card{background:#14181ddb;border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:16px 20px}#ui .total b{font-size:30px}#ui .screen.overlay{background:none}#ui .screen.overlay:after{content:none}#ui .screen.overlay .result-panel{display:flex;flex-direction:column;gap:12px;width:min(92vw,380px);padding:22px 22px 18px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 44px #00000080;max-height:calc(100dvh - 48px);overflow-y:auto}#ui .screen.overlay .title{font-size:34px;letter-spacing:.04em}#ui .screen.overlay .card{background:#ffffff0f}#ui .screen.overlay button{width:100%}body.ui-open .hud,body.ui-open #minimap,body.ui-open #tuner,body.ui-open .tc,body.ui-open #tc-help,body.ui-open #tc-full{display:none}body.ui-open>canvas{visibility:hidden}body.result-open>canvas{visibility:visible}body:not(.ui-open):not(:has(#help:not(.hidden)))>canvas{cursor:none}body.ui-open #tc-rotate .rot-exit{display:none}#ui .shell{--ink: #f4f6f8;--muted: #98a3b3;--line: rgba(255, 255, 255, .12);--panel: rgba(10, 13, 18, .88);--panel-hi: rgba(20, 25, 33, .94);--accent: #e08a3c;position:absolute;inset:0;pointer-events:auto;overflow-y:auto;color:var(--ink);font-family:Fredoka,system-ui,sans-serif;text-align:left;background:#0b0f16}#ui .shell:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(60% 42% at 50% 62%,#f0a04e4d,#f0a04e00 70%),linear-gradient(180deg,#0d1522,#17263c 42%,#2d3a4e 62%,#4a3d43 78%,#6b4636)}#ui .shell:after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(52% 15% at 18% 84%,#0a0d13 0 99%,transparent 100%),radial-gradient(60% 17% at 74% 86%,#0a0d13 0 99%,transparent 100%),radial-gradient(46% 12% at 46% 80%,#141d2b 0 99%,transparent 100%),radial-gradient(58% 13% at 88% 79%,#141d2b 0 99%,transparent 100%),linear-gradient(180deg,transparent 0 78%,#090c12 88%)}#ui .shell.has-bg:before{background:url(/assets/garage-bg-Dc0fFjU6.avif) center / cover no-repeat}#ui .shell>*{position:relative;z-index:1}#ui .shell-top{display:flex;align-items:center;gap:16px;padding:18px 28px}#ui .wordmark{font-family:Luckiest Guy,cursive;font-size:26px;letter-spacing:.04em;line-height:1;margin:0;white-space:nowrap}#ui .wordmark b{color:var(--accent);font-weight:inherit}#ui .shell-top .spacer{flex:1}#ui .shell .chip{display:inline-flex;align-items:center;gap:9px;font:inherit;font-weight:500;cursor:pointer;padding:8px 16px 8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}#ui .shell .chip:hover{border-color:#ffffff4d}#ui .shell .chip .avatar{display:block;margin:-2px 0}#ui .shell .chip .chip-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:17px;line-height:1;margin:-2px -2px -2px -1px}#ui .hub{max-width:1080px;margin:0 auto;padding:8px 28px 40px;display:flex;flex-direction:column;gap:22px}#ui .setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#ui .card-pick{font:inherit;text-align:left;cursor:pointer;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);display:flex;flex-direction:column}#ui .card-pick:hover{background:var(--panel-hi);border-color:#ffffff42}#ui .card-pick .art{position:relative;aspect-ratio:16 / 7;background:#06090dd1}#ui .card-pick .art canvas{position:absolute;top:0;left:0;display:block}#ui .card-pick .label{display:flex;align-items:baseline;gap:10px;padding:12px 16px 14px}#ui .card-pick .kind{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}#ui .card-pick .val{font-size:18px;font-weight:600}#ui .card-pick .meta{margin-left:auto;color:var(--muted);font-size:13px}#ui .shell .play{font-family:Luckiest Guy,cursive;font-size:27px;letter-spacing:.07em;cursor:pointer;align-self:center;padding:15px 76px;border:none;border-radius:15px;background:var(--accent);color:#1a1206;box-shadow:0 10px 26px #e08a3c52}#ui .shell .play:hover{filter:brightness(1.07);transform:translateY(-1px)}#ui .shell .play:active{transform:translateY(0)}#ui .shell .panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#ui .shell .panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px}#ui .shell .panel h2{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}#ui .shell .muted{color:var(--muted);margin:0;font-size:14px}#ui .shell .board{list-style:none;margin:0;padding:0}#ui .shell .board li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:5px 8px;border-radius:7px;font-size:14px}#ui .shell .board .pos{color:var(--muted);font-variant-numeric:tabular-nums}#ui .shell .board .who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#ui .shell .board .flag{margin-right:6px}#ui .shell .board .avatar{display:block}#ui .shell .board .t{font-variant-numeric:tabular-nums}#ui .shell .board li.me{background:#e08a3c29}#ui .shell .board li.me .pos,#ui .shell .board li.me .t{color:var(--accent)}#ui .specs{width:min(430px,100%);margin-top:18px;display:flex;flex-direction:column;gap:9px}#ui .spec{display:grid;grid-template-columns:84px minmax(0,1fr) 64px;align-items:center;gap:12px}#ui .spec-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}#ui .spec-value{font-size:13px;font-variant-numeric:tabular-nums;text-align:right}#ui .meter{height:6px;border-radius:3px;background:#ffffff1a;overflow:hidden}#ui .meter i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),#f0b657);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}#ui .shell .done{font-family:Luckiest Guy,cursive;font-size:22px;letter-spacing:.06em;cursor:pointer;margin-top:24px;padding:12px 56px;border:none;border-radius:14px;background:var(--accent);color:#1a1206}#ui .shell .done:hover{filter:brightness(1.07)}#ui .shell .ghost-btn{font:inherit;cursor:pointer;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}#ui .shell .ghost-btn:hover{border-color:#ffffff4d}#ui .shell-error{margin-top:12px;color:#f2a5a5;font-size:14px}#ui .profile{max-width:560px;margin:0 auto;padding:0 28px 40px;display:flex;flex-direction:column;gap:22px}#ui .identity{display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}#ui .identity-text{display:flex;flex-direction:column;min-width:0}#ui .identity-text b{font-family:Luckiest Guy,cursive;font-size:26px;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#ui .identity-text span{color:var(--muted);font-size:14px}#ui .profile section{display:flex;flex-direction:column;gap:9px}#ui .profile h2{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}#ui .profile input,#ui .profile select{font:inherit;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}#ui .profile select{cursor:pointer}#ui .profile input:focus-visible,#ui .profile select:focus-visible{outline:none;border-color:var(--accent)}#ui .profile .row{display:flex;gap:8px}#ui .profile .row input{flex:1}#ui .swatches{display:flex;flex-wrap:wrap;gap:10px}#ui .swatch{width:34px;height:34px;padding:0;cursor:pointer;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px #00000059}#ui .swatch.on{border-color:#fff}#ui .helmets{display:flex;flex-wrap:wrap;gap:8px}#ui .helmet{padding:6px;cursor:pointer;line-height:0;border:1px solid var(--line);border-radius:12px;background:var(--panel)}#ui .helmet.on{border-color:var(--accent);background:#e08a3c24}#ui .profile .done{align-self:stretch}#ui .profile .signout{align-self:center;margin-top:6px}#ui .profile .link-email{margin-top:6px}@media (max-width: 820px){#ui .shell-top{padding:14px 16px}#ui .wordmark{font-size:21px}#ui .hub{padding:4px 16px 32px;gap:16px}#ui .setup,#ui .shell .panels{grid-template-columns:minmax(0,1fr)}#ui .profile{padding:0 16px 28px}}#ui .identity-text b{display:flex;align-items:center;gap:10px}#ui .identity-text .identity-flag{font-size:2.1em;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;line-height:1}#ui .profile .readonly{padding:4px 0 2px;color:#cfd6e0;font-size:17px;word-break:break-all}#ui .install-take{position:fixed;inset:0;z-index:300;pointer-events:auto;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:28px 22px calc(28px + env(safe-area-inset-bottom));color:var(--ink, #f4f6f8);font-family:Fredoka,system-ui,sans-serif;text-align:center;background:radial-gradient(60% 42% at 50% 62%,#f0a04e4d,#f0a04e00 70%),linear-gradient(180deg,#0d1522,#17263c 42%,#2d3a4e 62%,#4a3d43 78%,#6b4636)}#ui .install-inner{width:100%;max-width:420px}#ui .install-mark{width:84px;height:84px;margin:0 auto 20px;display:grid;place-items:center;border-radius:24px;color:#1a1206;background:var(--accent, #e08a3c)}#ui .install-take h2{margin:0 0 12px;font-family:Luckiest Guy,cursive;font-weight:400;font-size:clamp(26px,7vw,34px);line-height:1.15}#ui .install-why{margin:0 0 26px;color:var(--muted, #98a3b3);font-size:15px;line-height:1.5}#ui .install-steps{list-style:none;margin:0 0 30px;padding:0;text-align:left}#ui .install-steps li{display:flex;align-items:center;gap:13px;padding:11px 0;font-size:16px;line-height:1.35;border-bottom:1px solid rgba(255,255,255,.09)}#ui .install-steps li:last-child{border-bottom:none}#ui .install-steps .num{flex:none;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#ffffff1f;font-size:14px;font-weight:600}#ui .install-steps svg{vertical-align:-4px;margin-left:4px;color:var(--accent, #e08a3c)}#ui .install-go{width:100%;padding:15px 20px;border:none;border-radius:14px;background:var(--accent, #e08a3c);color:#1a1206;font:inherit;font-family:Luckiest Guy,cursive;font-size:20px;cursor:pointer}#ui .install-skip{width:100%;margin-top:14px;padding:10px;border:none;background:none;color:var(--muted, #98a3b3);font:inherit;font-size:15px;text-decoration:underline;cursor:pointer}@media (max-height: 560px) and (min-width: 620px){#ui .install-take{padding:18px 26px}#ui .install-inner{max-width:780px;display:grid;grid-template-columns:1fr 1fr;column-gap:32px;align-items:center;text-align:left}#ui .install-mark{width:54px;height:54px;border-radius:17px;margin:0 0 12px}#ui .install-mark svg{width:30px;height:30px}#ui .install-take h2{font-size:24px;margin-bottom:8px}#ui .install-why{margin-bottom:0;font-size:14px}#ui .install-steps{margin-bottom:16px}#ui .install-steps li{padding:8px 0;font-size:15px}#ui .install-go{padding:13px 20px;font-size:18px}#ui .install-skip{margin-top:8px}}@media (max-height: 560px) and (max-width: 619px){#ui .install-take{align-items:flex-start;padding-top:18px}#ui .install-mark{width:48px;height:48px;border-radius:15px;margin-bottom:10px}#ui .install-mark svg{width:26px;height:26px}#ui .install-take h2{font-size:21px;margin-bottom:6px}#ui .install-why{margin-bottom:14px;font-size:13px}#ui .install-steps{margin-bottom:16px}#ui .install-steps li{padding:6px 0;font-size:14px}}#ui .board-modal{position:absolute;inset:0;z-index:5;display:grid;place-items:center}#ui .board-scrim{position:absolute;inset:0;border:0;padding:0;background:#04060abd;cursor:pointer}#ui .board-sheet{position:relative;width:min(420px,92vw);max-height:82vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:18px 18px 16px;border-radius:14px;border:1px solid var(--line);background:var(--panel-hi)}#ui .board-sheet h2{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:10px}#ui .board-sheet .board-track{color:var(--ink);letter-spacing:0;text-transform:none;font-size:13px}#ui .shell>.me-box{position:absolute;z-index:1;top:calc(18px + env(safe-area-inset-top));right:calc(20px + env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:8px}#ui .shell.has-bg:after{background:linear-gradient(180deg,#06080c47,#06080c00 18% 78%,#06080c4d)}#ui .shell.has-bg .wordmark{text-shadow:0 2px 12px rgba(0,0,0,.92),0 0 3px rgba(0,0,0,.85)}#ui .shell.tracks{display:flex;flex-direction:column;gap:18px;padding:18px 28px 28px}#ui .tracks-top{display:flex;align-items:center;gap:18px}#ui .tracks-title{font-family:Luckiest Guy,cursive;font-size:24px;letter-spacing:.04em;margin:0}#ui .track-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-content:start;overflow-y:auto;min-height:0}#ui .track-tile{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;color:var(--ink)}#ui .track-tile:hover{background:var(--panel-hi);border-color:#ffffff42}#ui .track-tile.senast{border-color:var(--accent)}#ui .tile-main{display:flex;flex-direction:column;gap:10px;width:100%;padding:0;text-align:left;cursor:pointer;background:none;border:none;color:inherit;font:inherit}#ui .tile-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#ui .tile-art{aspect-ratio:4 / 3;min-height:0}#ui .tile-art canvas{display:block}#ui .tile-txt{display:flex;flex-direction:column;gap:2px}#ui .tile-name{font-size:19px;font-weight:600}#ui .tile-meta{font-size:12px;color:var(--muted)}#ui .tile-rows{display:flex;flex-direction:column;gap:3px;font-size:12px}#ui .tile-row{display:flex;align-items:baseline;gap:8px}#ui .tile-label{color:var(--muted);flex:none}#ui .tile-value{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}#ui .tile-value .flag{margin-right:5px}#ui .tile-rank{margin-left:8px;color:var(--accent);font-weight:600}#ui .tile-board{align-self:flex-start;cursor:pointer;background:none;border:none;border-bottom:1px solid var(--line);padding:0;font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}#ui .tile-board:hover{color:var(--ink)}#ui .tile-board:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#ui .shell.garage{display:flex;flex-direction:column;padding:18px 28px 24px}#ui .shell.garage .wordmark{flex:none}#ui .garage-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;gap:12px}#ui .garage-car{flex:1 1 auto;min-width:0;height:100%}#ui .garage-car canvas{display:block}#ui .garage-nav{flex:none;width:64px;height:96px;display:flex;align-items:center;justify-content:center;font-family:Fredoka,system-ui,sans-serif;font-size:38px;line-height:1;cursor:pointer;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:16px}#ui .garage-nav:hover{background:var(--panel-hi);border-color:#ffffff42}#ui .garage-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#ui .garage-foot{flex:none;display:flex;align-items:center;justify-content:center;gap:28px;padding-top:14px}#ui .garage-name{display:flex;flex-direction:column;gap:2px}#ui .garage-name .kind{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}#ui .garage-name .val{font-size:26px;font-weight:600;line-height:1.1}#ui .garage-name .meta{font-size:13px;color:var(--muted)}#ui .shell.garage .specs{width:min(260px,34vw)}#ui .shell.garage .play{flex:none}#ui .shell.garage .about-link{position:absolute;left:calc(28px + env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));z-index:2}#ui .garage-foot{padding-left:118px}@media (max-width: 900px){#ui .garage-foot{gap:18px}}#ui .shell.about{display:flex;flex-direction:column;gap:16px;padding:18px 28px 28px}#ui .about-top{display:flex;align-items:center;gap:18px;flex:none}#ui .about-title{font-family:Luckiest Guy,cursive;font-size:24px;letter-spacing:.04em;margin:0}#ui .about-sheet{width:min(680px,100%);margin:0 auto;padding:20px 22px;background:var(--panel);border:1px solid var(--line);border-radius:14px;min-height:0;overflow-y:auto}#ui .about-lead{margin:0 0 16px;font-size:13px;line-height:1.6;color:var(--muted)}#ui .credit-list{list-style:none;margin:0;padding:0}#ui .credit{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:9px 0;font-size:14px;border-top:1px solid var(--line)}#ui .credit:first-child{border-top:none}#ui .credit-by{color:var(--ink)}#ui .credit-licence{color:var(--muted);font-size:12px;text-align:right}#ui .about a{color:var(--accent);text-decoration:none}#ui .about a:hover{text-decoration:underline}#ui .about a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 620px){#ui .credit{grid-template-columns:1fr;gap:2px}#ui .credit-licence{text-align:left}}#ui .admin{--bg: #0f1115;--surface: #161a21;--surface-hover: #1c222b;--line: #262c36;--text: #e6e9ee;--muted: #8d97a6;--accent: #5b8def;--danger: #e0685f;position:absolute;inset:0;overflow-y:auto;pointer-events:auto;background:var(--bg);color:var(--text);font-family:ui-sans-serif,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;text-align:left}#ui .admin-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:16px;padding:14px 24px;background:var(--bg);border-bottom:1px solid var(--line)}#ui .admin-bar h1{font-size:15px;font-weight:600;letter-spacing:.01em;margin:0}#ui .admin-bar .spacer{flex:1}#ui .admin-bar{display:grid;grid-template-columns:1fr auto 1fr;gap:16px}#ui .admin-logo{font-family:Luckiest Guy,cursive;font-size:19px;letter-spacing:.04em;line-height:1;align-self:center}#ui .admin-logo b{color:#e08a3c;font-weight:inherit}#ui .admin-nav{display:flex;gap:6px;justify-self:center}#ui .admin-nav button{background:none;border-color:transparent;color:var(--muted);padding:8px 16px}#ui .admin-nav button:hover{color:var(--text);background:var(--surface)}#ui .admin-nav button.on{color:var(--text);background:var(--surface);border-color:var(--line);box-shadow:inset 0 -2px 0 var(--accent)}#ui .admin-exit{justify-self:end;align-self:center}#ui .admin-subbar{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--line)}#ui .admin-subbar h1{font-size:15px;font-weight:600;margin:0}#ui .admin-subbar .spacer{flex:1}#ui .admin-body{max-width:940px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px}#ui .admin section{display:flex;flex-direction:column;gap:10px}#ui .admin h2{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0}#ui .admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#ui .admin-stat{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px}#ui .admin-stat b{display:block;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}#ui .admin-stat span{color:var(--muted);font-size:12px}#ui .admin input{font:inherit;width:100%;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text)}#ui .admin input::placeholder{color:var(--muted)}#ui .admin input:focus-visible{outline:none;border-color:var(--accent)}#ui .admin button{font:inherit;font-weight:500;cursor:pointer;padding:9px 14px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--text);white-space:nowrap}#ui .admin button:hover{background:var(--surface-hover)}#ui .admin button.primary{background:var(--accent);border-color:var(--accent);color:#0d1218}#ui .admin button.primary:hover{filter:brightness(1.08)}#ui .admin button.danger{color:var(--danger);border-color:#3a2a2c}#ui .admin button.danger:hover{background:#241b1d}#ui .admin .row{display:flex;gap:8px;align-items:center}#ui .admin .row input{flex:1}#ui .admin .row input.laps{flex:none;width:84px;text-align:center}#ui .admin table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}#ui .admin th,#ui .admin td{padding:11px 16px;border-bottom:1px solid var(--line)}#ui .admin th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:left}#ui .admin tbody tr:last-child td{border-bottom:none}#ui .admin tbody tr.clickable{cursor:pointer}#ui .admin tbody tr.clickable:hover{background:var(--surface-hover)}#ui .admin td.num,#ui .admin th.num{text-align:right;font-variant-numeric:tabular-nums}#ui .admin td.dim{color:var(--muted)}#ui .admin .empty{padding:28px 16px;text-align:center;color:var(--muted)}#ui .admin .tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid var(--line);color:var(--muted)}#ui .admin .tag.off{color:var(--danger);border-color:#3a2a2c;background:#241b1d}#ui .admin .notice{padding:11px 14px;border-radius:7px;border:1px solid var(--line);background:var(--surface);color:var(--muted)}#ui .admin .notice.error{color:var(--danger);border-color:#3a2a2c}#ui .admin .meta{color:var(--muted);font-size:13px}@media (max-width: 640px){#ui .admin-stats{grid-template-columns:1fr}#ui .admin-body{padding:16px}#ui .admin th,#ui .admin td{padding:10px 12px}}#ui .admin .billboard{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}#ui .admin .billboard-edit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}#ui .admin .billboard-fields{display:flex;flex-direction:column;gap:12px}#ui .admin .billboard-fields label,#ui .admin .billboard-colors label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}#ui .admin .billboard-colors{display:flex;gap:12px}#ui .admin .billboard-colors input[type=color]{width:64px;height:38px;padding:3px;cursor:pointer;background:var(--bg);border:1px solid var(--line);border-radius:7px}#ui .admin .hint{font-size:12px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted)}#ui .admin .billboard-preview{border-radius:8px;overflow:hidden;background:linear-gradient(45deg,#1b202800 25%,#1b2028 25% 50%,#1b202800 50% 75%,#1b2028 75%) 0 0 / 16px 16px,var(--bg)}#ui .admin .billboard-canvas{display:block;width:100%;height:auto}#ui .admin .row.end{justify-content:flex-end;margin-top:14px}#ui .admin .row.end input{flex:none}#ui .admin .toggle{display:flex;align-items:center;gap:7px;margin-right:auto;color:var(--muted);cursor:pointer}#ui .admin .toggle input{width:16px;height:16px;accent-color:var(--accent)}@media (max-width: 720px){#ui .admin .billboard-edit{grid-template-columns:minmax(0,1fr)}}#ui .admin .word-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}#ui .admin .words{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}#ui .admin .wordlist{list-style:none;margin:4px 0 0;padding:0}#ui .admin .wordlist li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}#ui .admin .wordlist li:last-child{border-bottom:none}#ui .admin .wordlist li span{flex:1}#ui .admin .wordlist li.off span{color:var(--muted);text-decoration:line-through}#ui .admin button.link{background:none;border:none;padding:4px 6px;color:var(--muted);font-size:13px}#ui .admin button.link:hover{background:none;color:var(--text);text-decoration:underline}#ui .admin button.link.danger{border:none}#ui .admin button.link.danger:hover{background:none;color:var(--danger)}@media (max-width: 720px){#ui .admin .word-columns{grid-template-columns:minmax(0,1fr)}}
