:root{--navy:#1f3a6b;--navy-2:#2f55a0;--ink:#1d2733;--muted:#5f6f82;--card:#fffffff0;--line:#d5dfeb;--accent:#f2a01e;--ok:#2f9e5b;--bad:#d63a2e;--radius:14px;color:var(--ink);font-family:Hiragino Maru Gothic ProN,Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{background:#9fd8ff;width:100%;height:100%;margin:0;overflow:hidden}html,body{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}#app{height:100vh;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:100dvh;position:relative}#app input,#app textarea,#app select,#app [contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.view{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;display:block;position:absolute;inset:0}.boot{color:var(--navy);place-items:center;font-size:20px;font-weight:700;display:grid;position:absolute;inset:0}.ui{pointer-events:none;position:absolute;inset:0}.ui [hidden]{display:none!important}.screen-host,.screen{pointer-events:none;position:absolute;inset:0}.screen.center{place-items:center;padding:64px 16px 16px;display:grid;overflow:auto}.screen.bottom{justify-content:center;align-items:flex-end;padding:16px;display:flex}.card,.btn,.topbar,.build-bottom,.race-right{pointer-events:auto}.card{background:var(--card);border-radius:var(--radius);padding:16px 18px;box-shadow:0 6px 24px #14285038}h1,h2,h3,p{margin:0}h3{color:#fff;background:var(--navy);border-radius:var(--radius) var(--radius) 0 0;margin:-16px -18px 10px;padding:8px 14px;font-size:14px}.muted{color:var(--muted);font-size:12px}.tag{color:var(--navy);white-space:nowrap;background:#e3ecfa;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.notice{background:#fff3d6;border:1px solid #f0cf7a;border-radius:8px;padding:8px 10px;font-size:13px}.btn{font:inherit;color:var(--navy);border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-height:40px;padding:9px 14px;font-size:14px;font-weight:700}.btn:hover:not(:disabled){border-color:var(--navy-2)}.btn:focus-visible,.part-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:default}.btn.primary{color:#fff;background:linear-gradient(#f7b23a,#ec8f12);border-color:#d97f0c}.btn.big{padding:14px 18px;font-size:20px}.btn.small{min-height:32px;padding:5px 10px;font-size:12px}.btn.selected{background:var(--navy);border-color:var(--navy);color:#fff}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-col{flex-direction:column;gap:8px;display:flex}.topbar{background:var(--navy);color:#fff;z-index:2;border-radius:999px;align-items:center;gap:14px;max-width:calc(100% - 20px);padding:6px 18px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #1428504d}.top-phase{white-space:nowrap;font-size:14px;font-weight:700}.top-timer{text-align:center;font-variant-numeric:tabular-nums;min-width:2.2em;font-size:26px;font-weight:900}.top-timer.urgent{color:#ffd24a}.top-seed{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.top-perf{white-space:nowrap;color:#d8ffd0;font-variant-numeric:tabular-nums;background:#0009;border-radius:6px;margin-top:4px;padding:2px 8px;font-size:11px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.top-dev{color:#ffd24a;font-size:12px}.title-card{flex-direction:column;gap:12px;width:min(560px,100%);display:flex}.title-card h1{color:var(--navy);font-size:clamp(28px,6vw,42px);line-height:1.15}.title-card h1 small{margin-left:4px;font-size:.5em}.tagline{color:var(--muted)}.subcard{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:10px;font-size:13px;line-height:1.6;display:flex}.setting-row{align-items:center;gap:10px;display:flex}.setting-row label{min-width:9em;font-weight:700}.error-card{flex-direction:column;gap:12px;max-width:480px;display:flex}.preview-card{flex-direction:column;gap:8px;width:min(720px,100%);font-size:13px;display:flex}.preview-card h2{color:var(--navy)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{color:var(--navy);background:#e3ecfa;border-radius:8px;padding:4px 10px;font-weight:700}.chip.warn{color:#a2470a;background:#ffe6cf}.build-left,.build-right{width:220px;max-height:calc(100% - 170px);position:absolute;top:64px;overflow:auto}.build-left{left:12px}.build-right{right:12px}.part-list{flex-direction:column;gap:4px;margin-top:10px;display:flex}.part-btn{pointer-events:auto;font:inherit;text-align:left;border:2px solid var(--line);cursor:pointer;min-height:36px;color:var(--ink);background:#fff;border-radius:10px;grid-template-columns:24px 1fr auto auto auto;align-items:center;gap:4px;padding:4px 8px;display:grid}.part-btn.selected{border-color:var(--accent);background:#fff6e2}.part-btn:disabled{opacity:.55;cursor:default}.part-name{white-space:nowrap;font-weight:700}.part-cost{color:var(--muted);font-size:12px}.part-count{font-variant-numeric:tabular-nums;font-size:12px}kbd{font:inherit;border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:0 4px;font-size:11px}.part-icon{width:26px;height:26px;display:block}.delay-row{flex-direction:column;gap:6px;margin-top:10px;display:flex}.part-hint{margin-top:10px;line-height:1.5}.tip{color:var(--navy);font-weight:700}.event-log{font-size:12px}.event-log summary{cursor:pointer;color:var(--navy);pointer-events:auto;font-weight:700}.event-log ol{font-variant-numeric:tabular-nums;max-height:130px;margin:6px 0 0;padding:0;list-style:none;overflow:auto}.event-log li.me{background:#fff1c9;font-weight:700}dl{margin:0}.stat{border-bottom:1px dashed var(--line);justify-content:space-between;gap:8px;padding:5px 0;font-size:13px;display:flex}.stat dt{color:var(--muted);white-space:nowrap}.stat dd{text-align:right;margin:0;font-weight:700}.stat dd.muted{font-weight:400}.point-bar{background:#e3ecfa;border-radius:99px;height:8px;margin:4px 0;overflow:hidden}.point-fill{background:linear-gradient(90deg,#f7b23a,#ec8f12);height:100%;transition:width .15s}.build-bottom{flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 20px);display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.build-bottom .btn-row{justify-content:center}.build-message{color:#fff;text-align:center;background:#1f3a6be6;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700}.build-message.error{background:var(--bad)}.countdown{color:#fff;-webkit-text-stroke:6px var(--navy);paint-order:stroke fill;text-shadow:0 8px #14285040;font-size:clamp(90px,22vw,200px);font-weight:900}.standings-card{width:250px;padding-bottom:8px;position:absolute;top:64px;left:12px}.standings{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.st-row{border-radius:6px;grid-template-columns:18px 24px 1fr auto;align-items:center;gap:6px;padding:2px 4px;font-size:13px;display:grid}.st-row.me,tr.me{background:#fff1c9;font-weight:700}.st-row.out{opacity:.55}.st-rank{color:var(--navy);text-align:right;font-weight:900}.st-chip{color:#fff;text-shadow:0 1px 1px #00000080;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:inline-grid}.st-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.st-value{font-variant-numeric:tabular-nums;white-space:nowrap}.race-right{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:64px;right:12px}.ticker{flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:calc(100% - 20px);display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.ticker-item{color:#fff;background:#1f3a6beb;border-radius:999px;padding:6px 16px;font-size:15px;font-weight:700;animation:.25s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.8)}}.results-card{flex-direction:column;gap:10px;width:min(680px,100%);display:flex}.results-card h2{color:var(--navy)}.result-you{color:#c9720a;font-size:22px;font-weight:900}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#fff;background:var(--navy);white-space:nowrap;padding:5px 8px}td{border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums;padding:4px 8px}td.rank{color:var(--navy);font-weight:900}.code-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}code{background:#eef3fa;border-radius:6px;padding:2px 8px}@media (max-width:760px){.build-left,.build-right,.standings-card{width:150px;padding:10px;font-size:12px}.build-left h3,.build-right h3,.standings-card h3{margin:-10px -10px 8px}.part-btn{grid-template-columns:22px 1fr auto}.part-btn .part-cost,.part-btn kbd,.st-name{display:none}.st-row{grid-template-columns:16px 22px 1fr}.top-seed{display:none}}@media (prefers-reduced-motion:reduce){.ticker-item{animation:none}.point-fill{transition:none}}.tutorial{flex-direction:column;gap:10px;margin:0;padding-left:0;font-size:14px;line-height:1.6;list-style:none;display:flex}.tutorial li{flex-direction:column;display:flex}.tutorial strong{color:var(--navy)}.title-card input[type=text]{font:inherit;border:2px solid var(--line);border-radius:8px;flex:1;min-width:0;padding:6px 8px}.replay-bar{pointer-events:auto;background:var(--card);border-radius:var(--radius);flex-direction:column;gap:8px;width:min(640px,100% - 20px);padding:10px 14px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #14285038}.replay-bar input[type=range]{flex:1;min-width:80px}.replay-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.replay-label{color:#fff;background:#1f3a6beb;border-radius:999px;align-self:center;margin-top:-34px;padding:4px 14px;font-size:14px;font-weight:700}.card{border:2px solid #ffffffe6;box-shadow:0 8px #14285024,0 14px 30px #14285038}h3{letter-spacing:.04em;background:linear-gradient(#2c4f8f,#1f3a6b);margin:-18px -20px 10px}.btn{border-bottom-width:4px;transition:transform 50ms}.btn:active:not(:disabled){border-bottom-width:2px;transform:translateY(2px)}.btn.primary{text-shadow:0 1px #783c0080;background:linear-gradient(#ffc247,#f08f10);border-color:#c9720a}.topbar{background:linear-gradient(#2c4f8f,#1f3a6b);border:2px solid #ffffffd9;box-shadow:0 5px #14285040,0 8px 18px #1428504d}.logo{transform-origin:0;text-shadow:0 3px #ffc247,0 5px #1428501f;padding:2px 0 6px;font-style:italic;font-weight:900;transform:skew(-4deg);color:var(--navy)!important}.part-btn{border-bottom-width:4px}.part-btn.selected{box-shadow:0 0 0 3px #f2a01e59}.medal{width:22px;height:22px;color:var(--navy);text-align:center;border-radius:50%;place-items:center;font-size:13px;font-weight:900;display:inline-grid}.medal-1{color:#6b4300;background:radial-gradient(circle at 35% 30%,#fff3b0,#f2b01e);box-shadow:0 0 0 2px #c9870a}.medal-2{color:#3d4955;background:radial-gradient(circle at 35% 30%,#fff,#b9c4d0);box-shadow:0 0 0 2px #8b99a8}.medal-3{color:#5a3210;background:radial-gradient(circle at 35% 30%,#ffd9b0,#c9824a);box-shadow:0 0 0 2px #9a5f2e}.st-row{grid-template-columns:24px 24px 1fr auto}.ticker-item{border:2px solid #fffc;box-shadow:0 4px #14285040}.countdown{text-shadow:0 10px #f2a01e,0 16px 24px #14285059}.result-you{text-shadow:0 2px #ffe9b8;font-style:italic}@media (max-width:760px){.st-row{grid-template-columns:22px 22px 1fr}}.btn.accent{color:#fff;text-shadow:0 1px #0a286480;background:linear-gradient(#5aa3f5,#2f6fd0);border-color:#2456a8}.xp-row{align-items:center;gap:8px;font-size:13px;display:flex}.xp-level{color:#fff;white-space:nowrap;background:linear-gradient(#ffc247,#f08f10);border-radius:999px;padding:2px 10px;font-weight:900}.xp-bar{background:#e3ecfa;border-radius:99px;flex:1;min-width:60px;height:10px;overflow:hidden}.xp-fill{background:linear-gradient(90deg,#5aa3f5,#2f6fd0);height:100%}.xp-num{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.xp-panel{background:#f2f7ff;border:2px solid #d5e3f7;border-radius:10px;flex-direction:column;gap:4px;padding:8px 10px;font-size:13px;display:flex}.wardrobe-card{flex-direction:column;gap:8px;width:min(380px,100% - 24px);max-height:calc(100% - 150px);display:flex;position:absolute;top:12px;left:12px}.tabs{flex-wrap:wrap;gap:4px;display:flex}.item-grid{grid-template-columns:repeat(2,1fr);gap:6px;padding:2px;display:grid;overflow:auto}.item-cell{position:relative}.item{pointer-events:auto;font:inherit;text-align:left;border:2px solid var(--line);cursor:pointer;width:100%;min-height:52px;color:var(--ink);background:#fff;border-bottom-width:4px;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-items:center;column-gap:8px;padding:6px 8px;display:grid}.item:focus-visible,.wish:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.item.equipped{border-color:var(--ok);background:#ecf9f0}.item.locked{background:#f3f5f8}.item.trying{border-color:var(--accent);box-shadow:0 0 0 3px #f2a01e59}.swatch{border:2px solid #0000002e;border-radius:8px;flex:none;grid-row:span 2;width:34px;height:34px;display:block}.item-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.item-state{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.item.equipped .item-state{color:var(--ok);font-weight:700}.item .tag.supporter{padding:0 6px;font-size:9px;position:absolute;top:-6px;left:8px}.tag.supporter{color:#6b4300;background:linear-gradient(#ffe9a0,#f2c230)}.wish{pointer-events:auto;color:#c0c7d0;cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;width:30px;height:30px;font-size:18px;line-height:1;position:absolute;top:4px;right:4px}.wish.on{color:#e84a6f}.wardrobe-bottom{pointer-events:none;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:flex-end;gap:8px;padding:0 14px;display:flex;position:absolute}.wardrobe-bottom>*{pointer-events:auto}.wardrobe-status{color:#fff;background:#1f3a6beb;border-radius:12px;max-width:min(520px,100%);padding:6px 14px;font-size:13px;font-weight:700}.wardrobe-status.trying{background:#c9720a}.card-sample-canvas{border-radius:10px;width:min(360px,60vw);height:auto;display:block;box-shadow:0 6px 20px #1428504d}.season-card{flex-direction:column;gap:10px;width:min(900px,100%);display:flex}.season-card>div:first-of-type{flex-direction:column;gap:8px;display:flex}.season-track{pointer-events:auto;gap:6px;padding:4px 2px 10px;display:flex;overflow-x:auto}.season-col{flex:none;grid-template-rows:26px 1fr 1fr;gap:4px;width:128px;display:grid}.season-col.head{z-index:1;background:var(--card);width:86px;color:var(--navy);font-size:11px;font-weight:700;position:sticky;left:0}.season-lv{color:var(--navy);background:#e3ecfa;border-radius:8px;place-items:center;font-weight:900;display:grid}.season-col.reached .season-lv{color:#fff;background:linear-gradient(#ffc247,#f08f10)}.season-col.next .season-lv{outline:3px solid var(--navy-2)}.season-cell{background:#f3f7fd;border-radius:8px;flex-direction:column;justify-content:center;gap:4px;min-height:74px;padding:4px;display:flex}.season-cell.sup{background:#fff8e2}.reward{border:2px solid var(--line);opacity:.72;background:#fff;border-radius:8px;grid-template-columns:26px 1fr;align-items:center;column-gap:6px;padding:3px 4px;display:grid;position:relative}.reward.got{opacity:1;border-color:var(--ok)}.reward .swatch{width:26px;height:26px}.reward-name{white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.reward-cat{color:var(--muted);font-size:10px}.reward .wish{width:22px;height:22px;font-size:14px;top:-6px;right:-6px;box-shadow:0 1px 3px #00000040}@media (max-width:760px){.wardrobe-card{max-height:52%}}.screen.center{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:max(64px, calc(env(safe-area-inset-top) + 56px)) max(16px, env(safe-area-inset-right)) max(16px, calc(env(safe-area-inset-bottom) + 16px)) max(16px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr);align-items:start;overflow:hidden auto}.screen.center>*{justify-self:center;max-width:100%;margin-block:auto}.screen-host>.screen.center{pointer-events:auto;touch-action:pan-y}.season-card,.season-card>div{min-width:0}.season-track{max-width:100%}.vignette{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 58%,#0c1e3c42 100%);position:absolute;inset:0}.juice{pointer-events:none;position:absolute;inset:0;overflow:hidden}.jz-flash,.jz-speed,.jz-pulse,.jz-confetti{opacity:0;position:absolute;inset:0}.jz-flash.tone-white{background:#fff}.jz-flash.tone-red{background:radial-gradient(#ff3c2800 40%,#ff3c28bf 100%)}.jz-flash.tone-gold{background:radial-gradient(#fff0aaf2 0%,#ffc83c66 60%,#ffc83c00 100%)}.jz-flash.show{animation:.5s ease-out jz-flash}@keyframes jz-flash{0%{opacity:.85}to{opacity:0}}.jz-pulse{box-shadow:inset 0 0 90px 30px #ff463299}.jz-pulse.show{animation:.8s ease-out jz-pulse}@keyframes jz-pulse{0%{opacity:.9}to{opacity:0}}.jz-speed{background:repeating-conic-gradient(at 50% 46%,#fff0 0deg 3.2deg,#ffffff8c 3.2deg 3.7deg);transition:opacity .25s;animation:.7s steps(6,end) infinite jz-spin;-webkit-mask-image:radial-gradient(at 50% 46%,#0000 34%,#000 78%);mask-image:radial-gradient(at 50% 46%,#0000 34%,#000 78%)}@keyframes jz-spin{to{transform:rotate(3.7deg)scale(1.03)}}.jz-callouts{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:17%;left:0;right:0}.jz-callout{letter-spacing:.02em;color:#fff;-webkit-text-stroke:7px #1f3a6b;paint-order:stroke fill;text-shadow:0 5px #14285059;white-space:nowrap;font-size:clamp(26px,5.2vw,46px);font-style:italic;font-weight:900;animation:1.4s cubic-bezier(.2,1.6,.4,1) forwards jz-pop;transform:skew(-6deg)}.jz-callout.big{font-size:clamp(40px,9vw,86px);animation-duration:1.9s}.jz-callout.tone-gold{color:#ffd84a}.jz-callout.tone-red{color:#ff6a55}.jz-callout.tone-blue{color:#7fd0ff}.jz-callout.tone-green{color:#8cf08a}@keyframes jz-pop{0%{opacity:0;transform:skew(-6deg)scale(.3)rotate(-8deg)}14%{opacity:1;transform:skew(-6deg)scale(1.25)rotate(2deg)}24%{transform:skew(-6deg)scale(1)rotate(0)}78%{opacity:1;transform:skew(-6deg)scale(1)translateY(0)}to{opacity:0;transform:skew(-6deg)scale(.96)translateY(-26px)}}.jz-callout.calm,.jz-rank.calm.show,.jz-banner.calm.show{animation:1.6s forwards jz-fade}@keyframes jz-fade{0%,to{opacity:0}15%,80%{opacity:1}}.jz-rank{opacity:0;color:#fff;-webkit-text-stroke:7px #1f3a6b;paint-order:stroke fill;white-space:nowrap;font-size:clamp(30px,6vw,60px);font-style:italic;font-weight:900;position:absolute;top:31%;right:5%}.jz-rank.up{color:#8cf08a}.jz-rank.down{color:#ffb0a0;font-size:clamp(22px,4vw,38px)}.jz-rank.up.show{animation:1.5s cubic-bezier(.2,1.5,.4,1) forwards jz-rank-up}.jz-rank.down.show{animation:1.2s forwards jz-rank-down}@keyframes jz-rank-up{0%{opacity:0;transform:translateY(46px)scale(.5)}18%{opacity:1;transform:translateY(0)scale(1.3)}30%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-30px)}}@keyframes jz-rank-down{0%{opacity:0;transform:translateY(-30px)}20%,70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(24px)}}.jz-banner{text-align:center;opacity:0;color:#fff;background:linear-gradient(90deg,#1f3a6b00,#1f3a6bf0 18% 82%,#1f3a6b00);border-top:4px solid #ffc247;border-bottom:4px solid #ffc247;padding:12px 0 14px;position:absolute;top:38%;left:-10%;right:-10%;transform:skewY(-3deg)}.jz-banner.tone-red{background:linear-gradient(90deg,#a01e1400,#be281cf0 18% 82%,#a01e1400)}.jz-banner-title{letter-spacing:.04em;text-shadow:0 4px #0000004d;font-size:clamp(28px,6.5vw,64px);font-style:italic;font-weight:900}.jz-banner-sub{color:#ffe9a8;font-size:clamp(14px,2.4vw,22px);font-weight:700}.jz-banner.show{animation:jz-banner var(--jz-ms,2.2s) cubic-bezier(.2, 1.2, .3, 1) forwards}@keyframes jz-banner{0%{opacity:0;transform:skewY(-3deg)translate(-60%)}12%{opacity:1;transform:skewY(-3deg)translate(0)}82%{opacity:1;transform:skewY(-3deg)translate(0)}to{opacity:0;transform:skewY(-3deg)translate(60%)}}.jz-confetti{opacity:1}.jz-confetti i{border-radius:2px;width:10px;height:16px;animation:linear forwards jz-fall;position:absolute;top:-20px}@keyframes jz-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--jz-drift,0), 105vh) rotate(900deg);opacity:.9}}.countdown.punch{animation:.9s cubic-bezier(.2,1.7,.4,1) jz-count}@keyframes jz-count{0%{opacity:0;transform:scale(2.4)}25%{opacity:1;transform:scale(.9)}40%{transform:scale(1)}to{opacity:.85;transform:scale(.82)}}.top-timer.urgent{animation:1s ease-in-out infinite jz-urgent}@keyframes jz-urgent{50%{color:#ff7a5a;transform:scale(1.22)}}.results-card.reveal tbody tr{opacity:0;animation:.35s ease-out forwards jz-row;animation-delay:var(--jz-delay,0s)}@keyframes jz-row{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:none}}.results-card.reveal .result-you{opacity:0;animation:.6s cubic-bezier(.2,1.8,.4,1) forwards jz-stamp;animation-delay:var(--jz-stamp,1.5s);transform-origin:0;font-size:30px}@keyframes jz-stamp{0%{opacity:0;transform:scale(3)rotate(-8deg)}60%{opacity:1;transform:scale(.92)rotate(1deg)}to{opacity:1;transform:scale(1)}}.results-card.reveal{animation:.5s cubic-bezier(.2,1.3,.4,1) both jz-card;animation-delay:var(--jz-card,0s)}@keyframes jz-card{0%{opacity:0;transform:translateY(40px)scale(.94)}to{opacity:1;transform:none}}.xp-fill{transition:width 1.1s cubic-bezier(.2,.9,.3,1)}.xp-panel.levelup{border-color:#f2b01e;animation:1.2s ease-out jz-levelup}@keyframes jz-levelup{0%{transform:scale(1);box-shadow:0 0 #f2b01ee6}30%{transform:scale(1.04)}to{transform:scale(1);box-shadow:0 0 0 26px #f2b01e00}}.preview-card h2{font-size:26px;font-style:italic;animation:.6s cubic-bezier(.2,1.6,.4,1) both jz-slam}@keyframes jz-slam{0%{opacity:0;transform:scale(2.2)rotate(-4deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.jz-callout,.jz-rank.show,.jz-banner.show,.countdown.punch,.results-card.reveal,.results-card.reveal tbody tr,.results-card.reveal .result-you,.preview-card h2,.top-timer.urgent{animation-duration:10ms!important;animation-delay:0s!important}.jz-speed{display:none}}.rs-garage .card{max-height:calc(100% - 96px);position:absolute;top:12px;overflow:auto}.rs-parts{width:min(430px,100% - 24px);left:12px}.rs-stats{width:330px;right:12px}.rs-slots{flex-direction:column;gap:8px;margin-top:8px;display:flex}.rs-slot-name{color:var(--navy);margin-bottom:3px;font-size:12px;font-weight:900}.rs-options{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.rs-option{pointer-events:auto;font:inherit;text-align:left;border:2px solid var(--line);cursor:pointer;min-height:54px;color:var(--ink);background:#fff;border-bottom-width:4px;border-radius:10px;flex-direction:column;gap:3px;padding:5px 7px;display:flex}.rs-option.selected{border-color:var(--accent);background:#fff6e2}.rs-option:focus-visible,.rs-boost:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.rs-option-name{font-size:12px;font-weight:700}.rs-option-note{color:var(--muted);font-size:10px;line-height:1.35}.rs-tags{flex-wrap:wrap;gap:2px;display:flex}.rs-tag{border-radius:4px;padding:0 4px;font-size:10px;font-weight:700}.rs-tag.up,.rs-delta.up{color:#1c7a43;background:#dff5e6}.rs-tag.down,.rs-delta.down{color:#b3301f;background:#fde3de}.rs-bars{flex-direction:column;gap:9px;margin:6px 0 8px;display:flex}.rs-bar-row{grid-template-columns:62px 1fr;grid-template-areas:"name bar""num num";align-items:center;column-gap:8px;font-size:12px;display:grid;position:relative}.rs-bar-name{color:var(--navy);grid-area:name;font-weight:900}.rs-bar{background:#e3ecfa;border-radius:99px;grid-area:bar;height:12px;position:relative;overflow:hidden}.rs-bar-fill{background:linear-gradient(90deg,#5aa3f5,#2f6fd0);border-radius:99px;height:100%;transition:width .2s}.rs-bar-ghost{height:100%;position:absolute;top:0}.rs-bar-ghost.up{background:#2f9e5bbf}.rs-bar-ghost.down{background:#d63a2ebf}.rs-bar-num{color:var(--muted);font-variant-numeric:tabular-nums;grid-area:num}.rs-delta{border-radius:4px;padding:0 5px;font-size:11px;font-weight:900;position:absolute;bottom:0;right:0}.rs-garage-bottom{pointer-events:none;left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));justify-content:center;gap:10px;display:flex;position:absolute}.rs-garage-bottom>*{pointer-events:auto}.rs-top-left{color:#fff;background:linear-gradient(#2c4f8f,#1f3a6b);border:2px solid #ffffffd9;border-radius:14px;padding:6px 14px;position:absolute;top:12px;left:12px;box-shadow:0 5px #14285040}.rs-rank{font-size:26px;font-style:italic;font-weight:900}.rs-lap,.rs-time{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.rs-map{background:#ffffffd1;border:2px solid #1f3a6bcc;border-radius:12px;width:176px;height:128px;position:absolute;top:12px;right:12px}.rs-speed{left:12px;bottom:calc(14px + env(safe-area-inset-bottom));color:#fff;background:#1f3a6bb8;border:2px solid #fff9;border-radius:12px;padding:4px 10px;position:absolute}.rs-speed-num{font-variant-numeric:tabular-nums;font-size:28px;font-style:italic;font-weight:900;line-height:1;display:inline-block}.rs-speed-unit{opacity:.8;margin-left:4px;font-size:11px;display:inline-block}.rs-car-gauge{pointer-events:none;opacity:0;transition:opacity .2s;position:absolute;top:70%;left:50%;transform:translate(-50%)}.rs-car-gauge.show{opacity:1}.rs-car-gauge.above{transform:translate(-50%,-100%)}.rs-car-gauge.above.show{opacity:.88}.rs-car-ring{display:block;overflow:visible}.rs-ring-track,.rs-ring-fill{fill:none;stroke-linecap:round}.rs-ring-track{stroke:#ffffff47}.rs-car-ring{filter:drop-shadow(0 1px 1.5px #0a14288c)}.rs-ring-fill{stroke:#82eca0d9}.rs-car-gauge.drift .rs-ring-fill{stroke:#ffce28f2}.rs-car-gauge.slip .rs-ring-fill,.rs-car-gauge.warning .rs-ring-fill{stroke:#ff4a36}.rs-car-gauge.warning .rs-ring-track{stroke:#ff3b2699}.rs-ring-tick{stroke:#ffffffbf;stroke-width:2px;stroke-linecap:round}.rs-ring-tick.limit{stroke:#ff4a36;stroke-width:3px}.rs-car-gauge.late .rs-car-ring{filter:drop-shadow(0 0 4px #ff3c28e6);animation:.2s steps(2,end) infinite rs-blink}.rs-boost{pointer-events:auto;color:#fff;width:112px;height:112px;font:inherit;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#55606e;border:4px solid #ffffffe6;border-radius:50%;position:absolute;bottom:18px;right:16px;overflow:hidden}.rs-hud,.rs-hud *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.rs-hud{touch-action:none;--rs-warn-font:clamp(34px, 9vw, 56px);--rs-warn-h:calc(var(--rs-warn-font) + 10px);--rs-warn-half:calc(var(--rs-warn-font) * 2.3 + 8px)}.rs-gauge-fill{background:linear-gradient(#ffd23a,#f08f10);position:absolute;bottom:0;left:0;right:0}.rs-boost-label,.rs-boost-key{text-shadow:0 2px #00000059;font-weight:900;display:block;position:relative}.rs-boost-label{font-size:20px;font-style:italic}.rs-boost-key{opacity:.85;font-size:10px}.rs-boost.ready{border-color:#ffe14a;animation:.6s ease-in-out infinite rs-ready}.rs-boost.active{background:#ff7a1a}@keyframes rs-ready{50%{transform:scale(1.1);box-shadow:0 0 0 10px #ffd23a59}}.rs-warn{transform:translate(-50%, calc(-100% - var(--rs-warn-lift,60px)));pointer-events:none;opacity:0;flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;top:58%;left:50%}.rs-warn.above{transform:translate(-50%)}.rs-warn.free{top:50%;left:50%;transform:translate(-50%,-50%)}.rs-warn-text{font-size:var(--rs-warn-font,clamp(34px, 9vw, 56px));white-space:nowrap;color:#ff3b26;-webkit-text-stroke:7px #fff;paint-order:stroke fill;text-shadow:0 3px 6px #00000059;font-style:italic;font-weight:900;line-height:1}.rs-grace{background:#ffffffd9;border-radius:99px;width:92px;height:7px;overflow:hidden}.rs-grace-fill{transform-origin:0;background:#ff3b26;height:100%}.rs-warn.show{opacity:1}.rs-warn.show .rs-warn-text{animation:.25s steps(2,end) infinite rs-blink}.rs-edge{pointer-events:none;opacity:0;transition:opacity .12s;position:absolute;inset:0;box-shadow:inset 0 0 80px 22px #ff241099}.rs-edge.show{opacity:1;animation:.5s ease-in-out infinite alternate rs-edge}@keyframes rs-edge{to{opacity:.55}}.rs-hud.reduced .rs-warn.show .rs-warn-text,.rs-hud.reduced .rs-edge.show,.rs-hud.reduced .rs-car-gauge.late .rs-car-ring{animation:none}.rs-hud.reduced .rs-edge,.rs-hud.reduced .rs-car-gauge{transition:none}@media (prefers-reduced-motion:reduce){.rs-warn.show .rs-warn-text,.rs-edge.show,.rs-car-gauge.late .rs-car-ring{animation:none}.rs-edge,.rs-car-gauge{transition:none}}@keyframes rs-blink{50%{opacity:.35}}.rs-hint{color:#fff;white-space:nowrap;background:#1f3a6beb;border-radius:999px;padding:10px 22px;font-size:18px;font-weight:900;transition:opacity .5s;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.rs-hint.gone{opacity:0}.rs-hud.holding .rs-speed{border-color:#ffd23a}.results-card h4{color:var(--navy);margin:4px 0 0}.rs-good{color:#1c7a43;font-weight:700}.rs-bad{color:#b3301f;font-weight:700}.rs-advice{background:#f2f7ff;border:2px solid #d5e3f7;border-radius:10px;padding:7px 10px;font-size:13px;line-height:1.6}.title-card a.muted{pointer-events:auto;align-self:flex-start}@media (max-width:760px){.rs-garage .rs-stats{bottom:calc(84px + env(safe-area-inset-bottom));width:auto;max-height:calc(50% - 102px - env(safe-area-inset-bottom));left:12px;right:12px;top:auto!important}.rs-garage .rs-parts{top:calc(12px + env(safe-area-inset-top));max-height:calc(50% - 30px - env(safe-area-inset-top))!important}.rs-map{width:132px;height:96px}.rs-speed-num{font-size:24px}}.rs-daily{color:#6b4300;background:linear-gradient(#fff6d6,#ffe9a0);border-color:#e0b84a;flex-direction:column;align-items:center;gap:2px;display:flex}.rs-daily span{font-size:11px;font-weight:500}.rs-best{color:var(--navy);font-weight:700}.rs-best.new{color:#c9720a;transform-origin:0;font-size:18px;font-style:italic;animation:.6s cubic-bezier(.2,1.8,.4,1) both jz-stamp}.rs-pick-label{color:var(--navy);margin:6px 0 4px;font-size:12px;font-weight:700}.rs-courses{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.rs-course{color:#fff;font:inherit;text-align:left;cursor:pointer;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:flex-start;gap:1px;min-height:62px;padding:7px 10px;display:flex;box-shadow:0 2px #0000002e}.rs-course strong{font-size:15px}.rs-course span{opacity:.95;font-size:11px;line-height:1.25}.rs-course .rs-stars{letter-spacing:1px;color:#fff3a8}.rs-course-room{background:linear-gradient(135deg,#f0661f,#d9482b)}.rs-course-garden{background:linear-gradient(135deg,#3fa54a,#2a7f3c)}.rs-course-beach{background:linear-gradient(135deg,#17a6b6,#1279a8)}.rs-course-night{background:linear-gradient(135deg,#3a3f8a,#1a1d4a)}.rs-course.selected{border-color:#ffd23f;box-shadow:0 0 0 3px #ffd23f8c}.rs-course:focus-visible{outline:3px solid var(--navy);outline-offset:2px}.rs-grades{margin-bottom:2px}.rs-grade-note{margin:0 0 6px;font-size:11px}.rs-course-kitchen{background:linear-gradient(135deg,#e2533b,#b8382a)}.rs-course-snow{background:linear-gradient(135deg,#5aa3e0,#2f6fb8)}.rs-course-bath{background:linear-gradient(135deg,#2fb7c4,#1f8f9c)}.rs-course-sunset{background:linear-gradient(135deg,#f08a3c,#7a4fb0)}.rs-course-candy{background:linear-gradient(135deg,#ff6fae,#d94a8c)}.rs-course-volcano{background:linear-gradient(135deg,#d9481f,#4a1f16)}.rs-course-moon{background:linear-gradient(135deg,#6a6f80,#23263a)}.rs-course-city{background:linear-gradient(135deg,#1fae8a,#2a1f5a)}.rs-room{max-width:460px}.rs-room input[type=text]{min-width:0;font:inherit;background:#fff;border:2px solid #1f3a6b40;border-radius:10px;flex:1;padding:10px 12px}.rs-room-list{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.rs-room-list li{background:#1f3a6b0f;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.rs-room-list li.me{background:#f2b01e33}
