.race-page{font-size:16px}.race-back{color:var(--gold);font-size:16px;font-weight:700;text-decoration:none}.race-layout{grid-template-columns:320px minmax(0,1fr);gap:24px;max-width:1500px;margin:auto;padding:32px 24px;display:grid}.race-setup,.race-arena,.race-results{background:#10121b;border:1px solid #4e3e25;border-radius:16px;overflow:hidden}.race-setup{align-self:start;padding:24px}.race-kicker{color:#f6c453;letter-spacing:.12em;font-size:14px;font-weight:700}.race-setup h1{margin:12px 0;font:700 32px Georgia,serif}.race-setup p{color:#c0bbaf;line-height:1.55}.race-selected{border-top:1px solid #40331d;justify-content:space-between;padding:18px 0;display:flex}.race-selected strong{color:#f6c453}.race-label{margin:16px 0 8px;font-size:14px;font-weight:700;display:block}.race-setup input,.race-setup select{color:#fff;background:#090b12;border:1px solid #5d503b;border-radius:8px;width:100%;padding:12px;font-size:16px}.race-member-list{border:1px solid #39342b;border-radius:8px;max-height:260px;margin:12px 0;padding:8px;overflow:auto}.race-member-list label{cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:12px;padding:10px 8px;display:flex}.race-member-list [data-slot=checkbox]{color:#f6c453;background:#252018;border-color:#b6a079;width:20px;height:20px}.race-hint{font-size:14px}.race-setup button{cursor:pointer}.race-start,.race-reset{border:1px solid #f6c453;border-radius:8px;width:100%;margin-top:16px;padding:14px;font-weight:700}.race-start{color:#17120a;background:#f6c453}.race-reset{color:#e7d6b2;background:0 0;border-color:#655337;margin-top:8px}.race-page button:disabled{opacity:.45;cursor:not-allowed}.race-main{min-width:0}.race-arena-head{justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.race-arena h2{margin:8px 0 0;font:700 30px Georgia,serif}.race-fullscreen{color:#f6d999;cursor:pointer;background:#201b13;border:1px solid #655337;border-radius:8px;padding:10px 14px;font-size:14px}.race-clock{text-align:center;color:#fff0c1;overflow-wrap:anywhere;background:#1a202b;padding:14px;font-size:22px;font-weight:700}.race-water{background:repeating-linear-gradient(175deg,#123f59 0 22px,#154a65 23px 26px);min-height:350px;padding:34px 115px 22px 40px;position:relative}.race-track-labels{color:#d5efff;justify-content:space-between;font-size:14px;font-weight:700;display:flex;position:absolute;top:10px;left:18px;right:20px}.race-finish{opacity:.85;background:repeating-conic-gradient(#f5f1e5 0% 25%,#17202b 0% 50%) 0 0/20px 20px;width:20px;position:absolute;top:34px;bottom:22px;right:95px}.race-lane{border-bottom:1px dashed #c6efff38;height:74px;position:relative}.race-lane-number{color:#a9d9ed;font-size:14px;position:absolute;top:24px;left:-26px}.race-duck{text-align:center;width:100px;position:absolute;top:2px;transform:translate(-20px)}.race-duck>span{font-size:38px;line-height:44px;display:block;transform:scaleX(-1)}.race-duck b{background:var(--duck-color);color:#151b22;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:14px;display:block;overflow:hidden;box-shadow:0 3px 10px #00182780}.duck-bob{animation:.35s ease-in-out infinite alternate duckBob}@keyframes duckBob{to{transform:scaleX(-1)translateY(-3px)rotate(-5deg)}}.race-empty{text-align:center;color:#d3edf6;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.race-empty span{font-size:60px}.race-arena-foot{color:#c7bead;justify-content:space-between;gap:20px;padding:16px 24px;font-size:14px;display:flex}.race-results{margin-top:24px;padding:24px}.race-results h2{color:#ffe49b;overflow-wrap:anywhere;margin:12px 0;font:700 36px Georgia,serif}.race-results p{color:#c7bead}.race-results ol{gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.race-results li{background:#1b1d27;border-radius:8px;align-items:center;gap:16px;padding:14px;display:flex}.race-results li strong{color:#f6c453;width:24px}.race-results li b{overflow-wrap:anywhere;flex:1}.race-results li span{color:#bcb5a9;font-size:14px}.race-arena:fullscreen{background:#10121b;flex-direction:column;padding:16px;display:flex;overflow:auto}.race-arena:fullscreen .race-water{flex:1}.race-arena:fullscreen .race-lane{height:clamp(74px,7vh,100px)}@media (width<=950px){.race-layout{grid-template-columns:1fr}.race-setup{display:block}.race-member-list{max-height:200px}.race-arena-head{padding:18px}.race-arena h2{font-size:26px}}@media (width<=550px){.race-layout{gap:16px;padding:18px 12px}.race-page .brand b{font-size:16px}.race-page .topbar{gap:12px;height:auto;padding:12px}.race-page .brand img{width:42px;height:42px}.race-back{font-size:14px}.race-arena-head{flex-wrap:wrap}.race-water{padding-left:30px;padding-right:93px}.race-finish{right:73px}.race-duck{width:82px}.race-duck b{font-size:14px}.race-arena-foot{flex-direction:column;gap:8px}.race-results li{gap:8px}}.race-scroll{overscroll-behavior-x:contain;scrollbar-color:#d1a64c #123f59;overflow-x:auto}.race-water.long-course{background:repeating-linear-gradient(90deg,#0000 0 199px,#d0efff24 200px,#0000 202px),repeating-linear-gradient(175deg,#123f59 0 22px,#154a65 23px 26px);width:2600px;min-width:2600px}.long-course .race-lane{height:104px}.race-obstacle{background:#06233490;border-radius:8px;padding:4px;font-size:30px;line-height:40px;transition:opacity .3s,transform .3s;position:absolute;top:16px;transform:translate(-10px)}.race-obstacle.rocket,.race-obstacle.shield{background:#b6a84440;border:1px solid #e9da7470}.race-obstacle.used{opacity:.18;transform:translate(-10px)scale(.7)}.duck-status{white-space:nowrap;color:#fff8d7;text-shadow:0 1px 4px #000;background:#0b243de0;border-radius:5px;min-width:160px;margin-top:3px;font-size:14px;line-height:22px;display:block;position:relative;left:-30px}.duck-status:empty{display:none}.duck-halted>span{filter:drop-shadow(0 0 8px #b4ebff);animation:.15s infinite alternate duckStun!important}.duck-shield{background:#8ceeff25;border-radius:50%;outline:3px solid #81eaff;box-shadow:0 0 24px #69e3ff}.duck-rocket>span{filter:drop-shadow(-12px 0 7px #ff8c24);animation:.1s infinite alternate rocketShake!important}.race-legend{color:#d6e9ee;border-bottom:1px solid #343b43;flex-wrap:wrap;gap:10px 18px;padding:16px 24px;font-size:14px;display:flex}.race-podium{background:radial-gradient(at top,#67502470,#0000 65%),#10121b;justify-content:center;align-items:flex-end;gap:12px;min-height:350px;padding:34px 24px 0;display:flex;overflow:hidden}.podium-place{text-align:center;flex-direction:column;flex:1;justify-content:flex-end;align-items:center;max-width:230px;animation:.9s cubic-bezier(.2,.8,.2,1) both podiumRise;display:flex}.place-2{animation-delay:.3s}.place-3{animation-delay:.6s}.podium-medal{font-size:32px;animation:1.3s ease-in-out infinite alternate medalGlow}.podium-duck{font-size:48px;animation:.7s ease-in-out infinite alternate podiumDuck}.podium-place>b{color:#fff4c9;overflow-wrap:anywhere;max-width:100%;margin:6px 0;font-size:18px}.podium-place>span:not(.podium-duck){color:#cbc2ac;margin-bottom:12px;font-size:14px}.podium-block{color:#fff1bd;background:linear-gradient(140deg,#d5a439,#6e4617);border:1px solid #ffdc79;border-radius:12px 12px 0 0;place-items:center;width:100%;height:100px;font-size:44px;font-weight:900;display:grid;box-shadow:0 0 28px #d5a43930}.place-1 .podium-block{height:145px}.place-2 .podium-block{background:linear-gradient(140deg,#929cac,#414858);border-color:#ccd5e0;height:110px}.place-3 .podium-block{background:linear-gradient(140deg,#b47b52,#573824);border-color:#ca996b;height:80px}.race-arena:fullscreen .race-scroll{flex:1}.race-arena:fullscreen .long-course .race-lane{height:104px}@keyframes duckStun{0%{transform:scaleX(-1)rotate(-8deg)}to{transform:scaleX(-1)rotate(8deg)}}@keyframes rocketShake{to{transform:scaleX(-1)translate(2px)}}@keyframes podiumRise{0%{opacity:0;transform:translateY(150px)}to{opacity:1;transform:translateY(0)}}@keyframes podiumDuck{to{transform:translateY(-8px)rotate(-5deg)}}@keyframes medalGlow{to{filter:drop-shadow(0 0 12px #f6c453)}}@media (width<=550px){.race-podium{gap:8px;padding-inline:12px}.podium-place>b{font-size:16px}.podium-duck{font-size:40px}.race-legend{padding:14px;font-size:14px}}@media (prefers-reduced-motion:reduce){.race-page *{scroll-behavior:auto!important;animation:none!important}}.effect-lightning>span{filter:drop-shadow(0 0 18px #fff072);animation:.18s infinite alternate lightningFlash!important}.effect-snow>span{filter:grayscale(.7)drop-shadow(0 0 12px #b1f5ff)}.effect-snow{background:#a3eaff55;border:2px solid #b1f5ff;border-radius:10px}.effect-squid>span{filter:drop-shadow(0 0 12px #e598ff)}.effect-squid{background:#c176e533;border-radius:12px}@keyframes lightningFlash{to{opacity:.4;filter:brightness(2.5)drop-shadow(0 0 20px #fff072)}}.race-obstacle.mystery{color:#463013;background:linear-gradient(145deg,#ffe38a,#c88b20);border:2px solid #fff0b7;place-items:center;width:38px;height:38px;padding:0;font:900 28px/1 system-ui;display:grid;box-shadow:0 3px #81551c,0 0 12px #ffc94f38}.race-screen-error{color:#ffb5a8;padding:12px 24px}.race-arena:fullscreen{border:0;border-radius:0;flex-direction:column;width:100%;height:100dvh;max-height:none;padding:0;display:flex;overflow:auto}.race-arena:fullscreen .race-arena-head{flex-shrink:0;padding:14px 24px}.race-arena:fullscreen .race-clock{flex-shrink:0;padding:10px}.race-arena:fullscreen .race-scroll{flex:1 0 300px;min-height:300px;overflow:auto}.race-arena:fullscreen .race-water{min-height:100%}:is(.race-arena:fullscreen .race-legend,.race-arena:fullscreen .race-arena-foot){flex-shrink:0;padding:10px 24px}.race-arena:fullscreen.phase-done .race-scroll{flex:0 0 220px;min-height:220px}.race-arena:fullscreen.phase-done .race-podium{flex:1 0 300px;min-height:300px;padding-top:20px;overflow:visible}@media (height<=650px){.race-arena:fullscreen .race-arena-head{padding:10px 16px}.race-arena:fullscreen .race-arena-head h2{font-size:24px}.race-arena:fullscreen.phase-done .race-scroll{flex-basis:180px;min-height:180px}.race-arena:fullscreen .race-podium{padding-top:14px}}.duck-speech{z-index:5;color:#35230e;white-space:normal;text-align:left;background:#fff1c9;border:1px solid #ffdf87;border-radius:12px 12px 12px 2px;width:max-content;max-width:240px;padding:8px 12px;font-size:14px;font-weight:700;line-height:1.4;animation:.18s ease-out duckSpeechIn;position:absolute;top:0;left:112px;box-shadow:0 4px 16px #00182780}.podium-quote{color:#ffe3a0;overflow-wrap:anywhere;background:#f6c45312;border:1px solid #f6c45355;border-radius:10px;place-items:center;width:100%;min-height:62px;margin:4px 0 14px;padding:10px 12px;font-size:16px;font-style:italic;line-height:1.4;display:grid}.race-podium{min-height:420px}.race-arena:fullscreen.phase-done .race-podium{flex-basis:390px;min-height:390px}@keyframes duckSpeechIn{0%{opacity:0;transform:translate(-6px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@media (width<=550px){.duck-speech{max-width:190px;left:92px}.podium-quote{min-height:78px;padding:8px;font-size:14px}}.race-live-panel{border-bottom:1px solid #655337;padding:12px 0 18px}.race-live-badge,.race-live-strip{color:#ffdf87;letter-spacing:.04em;font-size:14px;font-weight:700}.race-live-strip{background:#412a13;flex-shrink:0;padding:8px 24px}.race-live-error{font-size:14px;color:#ffb5a8!important}.race-spectator-info ul{overflow-wrap:anywhere;padding-left:20px;line-height:1.9}.race-registration{background:#171820;border:1px solid #81632e;border-radius:12px;margin:20px 0;padding:18px}.race-registration b{color:#ffe1a0;font-size:18px}.race-registration p,.race-registration li{color:#e5ddcd;font-size:15px;line-height:1.5}.race-registration ol{max-height:200px;padding-left:23px;overflow:auto}.race-registration input{color:#fff;background:#10121b;border:1px solid #80683d;width:100%;margin:12px 0;padding:12px}.race-entry-options{max-height:180px;display:grid;overflow:auto}.race-entry-options button{text-align:left;color:#fff;cursor:pointer;background:#1b1d27;border:0;border-bottom:1px solid #373743;padding:9px}.race-entry-options button:disabled{opacity:.55;cursor:not-allowed}.race-registration .race-start{width:100%;margin-top:12px}
