@font-face{font-family:Club;src:local('Arial');font-display:swap}*{box-sizing:border-box} :root{font-family:Club,Arial,sans-serif;color:#f3f5ef;background:#131a1c;font-synthesis:none;--bg:#131a1c;--panel:#1b2325;--line:#344043;--muted:#96a3a4;--lime:#e6ff85;--water:#42cabc}body{margin:0;min-width:340px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.38}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button{transition:background .2s,transform .2s,color .2s}button:hover:not(:disabled){filter:brightness(1.08)}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.app-shell{max-width:1536px;margin:auto;padding:0 52px}.header{height:102px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid var(--line)}.brand{color:#f3f5ef;text-decoration:none;display:flex;align-items:center;gap:12px;font-weight:850;font-size:20px;letter-spacing:-.7px}.brand-sub{display:block;font-size:8px;letter-spacing:1.45px;font-weight:500;margin-top:6px;color:#9ba9a9}.brand-mark{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:13px;background:var(--lime);color:var(--bg);font-size:31px;font-weight:900;letter-spacing:-5px;padding-right:6px;position:relative}.brand-mark span{transform:translateY(3px)}.brand-mark i{width:7px;height:7px;position:absolute;right:8px;top:8px;background:var(--bg);border-radius:50%}.header nav{display:flex;height:100%;gap:31px;margin-left:40px}.nav-link{border:0;background:transparent;position:relative;font-size:14px;color:var(--muted);font-weight:600;padding:0 0}.nav-link.active{color:var(--lime)}.nav-link.active:after{content:'';height:2px;background:var(--lime);position:absolute;left:0;right:0;bottom:-1px}.nav-link span{margin-left:6px;padding:3px 6px;background:#2c3536;border-radius:4px;font-size:11px}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.local-badge{font-size:10px;letter-spacing:1.2px;color:var(--muted);margin-right:19px}.icon-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:transparent}.icon-button:hover{background:#ffffff0a}.icon-button[aria-pressed=true]{color:var(--lime);border-color:#e6ff8550}.page-heading{display:flex;align-items:end;justify-content:space-between;margin:36px 0 26px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.6px;color:#a8b8b7;display:flex;align-items:center;gap:8px}.eyebrow>span{width:6px;height:6px;background:var(--lime);border-radius:50%}h1{font-size:clamp(30px,3.2vw,45px);letter-spacing:-1.7px;line-height:1.15;margin:13px 0 0;font-weight:700}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--lime);letter-spacing:-1px}.edition{font-size:11px;letter-spacing:1.3px;text-align:right;line-height:1.6}.edition span{display:block;font-size:9px;color:var(--muted);margin-top:3px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 324px;gap:24px;align-items:start}.race-panel{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel);min-width:0}.track-heading{height:78px;padding:0 24px;display:flex;align-items:center;gap:16px}.track-label{font-size:9px;letter-spacing:1.5px;color:var(--muted)}h2{font-size:20px;letter-spacing:-.5px;margin:0;font-weight:650}.track-heading h2{font-size:16px;margin-top:5px;letter-spacing:-.2px}.weather{margin-left:auto;color:#b1bebb;font-size:11px;display:flex;gap:8px;align-items:center}.weather>span:first-child{color:var(--lime);font-size:21px}.weather-divider{color:#596b6b;margin:0 3px}.track-heading .icon-button{width:32px;height:32px;border:none;color:#b5c2c0}.track-heading svg{width:18px}.water{height:400px;position:relative;overflow:hidden;background:linear-gradient(135deg,#70decd,#37c6bb 55%,#29b3ad);color:#115b57;isolation:isolate;--water-light:#96f3de;--water-dark:#0a8f88}.water[data-theme=sunset]{background:linear-gradient(135deg,#f8c598,#ed9b8c 55%,#d9798b);color:#77454b;--water-light:#ffdfbb;--water-dark:#d07378}.water[data-theme=night]{background:linear-gradient(135deg,#2b7388,#23506f 55%,#233c60);color:#d3f5ed;--water-light:#529ba8;--water-dark:#183b65}#water-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.course-top{display:flex;align-items:center;justify-content:space-between;position:absolute;top:21px;left:24px;right:24px;z-index:3;font-size:9px;font-weight:700;letter-spacing:1.1px}.course-badge{padding:8px 10px;background:#f1ffefb3;backdrop-filter:blur(6px);border-radius:5px;color:#1a675b;display:flex;align-items:center;gap:5px}.course-badge:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.course-length{opacity:.8;font-size:8px}.start-line,.finish-line{position:absolute;top:77px;bottom:42px;width:3px;z-index:0}.start-line{left:65px;border-left:2px dashed #14595440}.finish-line{right:48px;width:14px;background:conic-gradient(#18595270 25%,#eaffef80 0 50%,#18595270 0 75%,#eaffef80 0);background-size:14px 14px;opacity:.8}.start-line>span,.finish-line>span{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:1.4px;font-weight:600}.water-bottom{position:absolute;bottom:17px;left:24px;right:24px;display:flex;justify-content:space-between;opacity:.65;font-size:10px;letter-spacing:.3px}.water-bottom span:last-child{font-size:18px;letter-spacing:10px;line-height:10px}.lanes{position:absolute;top:73px;bottom:41px;left:20px;right:34px}.lane{position:absolute;height:25%;left:0;right:0;border-bottom:1px dashed #eaffef3b}.lane:last-child{border:none}.lane-number{position:absolute;left:0;top:27px;font-size:9px;opacity:.5;font-variant-numeric:tabular-nums}.duck{position:absolute;top:-21px;left:0;width:104px;height:110px;will-change:transform;transition:filter .3s;z-index:2;pointer-events:none;--duck-color:#ffff93}.duck img{position:absolute;object-fit:contain;width:116px;height:116px;left:-6px;top:-3px;filter:drop-shadow(0 5px 3px #0a63512a);animation:bob 2.9s ease-in-out infinite}.duck-label{position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);font-size:9px;white-space:nowrap;font-weight:700;letter-spacing:.2px;padding:3px 8px;border-radius:20px;background:#14584f90;color:#f1fff7;max-width:140px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 3px #0d5c4810}.wake{position:absolute;left:-25px;top:78px;width:118px;height:19px;border:1px solid #d4fff5a0;border-radius:50%;transform:rotate(-3deg);opacity:.6;z-index:-1}.wake:after{content:'';position:absolute;inset:4px -13px -4px 8px;border-bottom:1px solid #edfffaa0;border-radius:50%}.duck.boost img{filter:drop-shadow(0 0 12px #eaffc680)}.duck.boost .wake{width:146px;left:-50px}.duck.leader .duck-label{background:var(--lime);color:#284934}.countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:130px;font-weight:850;color:#f3ffd9;text-shadow:0 6px 0 #136e5c42;background:#12675e28;z-index:5;backdrop-filter:blur(2px);animation:count-pop 1s infinite}.race-console{display:flex;align-items:center;gap:25px;padding:21px 25px 19px}.micro-label{font-size:9px;letter-spacing:1.1px;font-weight:500;color:var(--muted)}.timer-block{flex-shrink:0}.timer-block>.micro-label{display:block;margin-bottom:6px}.timer-block strong{font-size:29px;letter-spacing:-.7px;font-variant-numeric:tabular-nums;font-weight:500}.timer-block strong span{font-size:18px;color:#80918f}.console-middle{flex:1;min-width:0}.console-description{display:flex;justify-content:space-between;font-size:11px;gap:10px;color:#c0cdca;margin-bottom:12px}.console-description #race-message{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.console-description #progress-label{color:var(--muted);font-size:10px}.progress-track{height:4px;background:#354241;border-radius:5px;overflow:hidden}#race-progress{height:100%;width:0;background:var(--lime);border-radius:5px}.reset-button{width:32px;height:32px;border:none}.reset-button svg{width:17px}.race-controls{display:flex;gap:24px;padding:0 25px 24px;align-items:center}.start-button{background:var(--lime);border:0;color:#1d2a1c;font-size:16px;min-height:52px;border-radius:10px;font-weight:700;display:flex;justify-content:center;align-items:center;gap:12px;padding:12px 24px;box-shadow:0 3px 0 #0c111320}.start-button:active{transform:translateY(2px)}.race-controls>.start-button{flex:1}.start-button kbd{font-family:inherit;font-size:8px;letter-spacing:1px;border:1px solid #1d2a1c30;border-radius:3px;padding:4px 5px;margin-left:auto}.start-button>svg{width:18px;height:18px}.race-controls .start-button span{margin-right:auto}.fair-note{display:flex;gap:10px;align-items:center;font-size:10px;line-height:1.6;color:#92a4a0;min-width:135px}.fair-note svg{width:17px;height:17px;color:var(--lime)}.fair-note strong{font-weight:400;color:#c3cecb}.settings-panel{border:1px solid var(--line);background:var(--panel);border-radius:20px;padding:25px 23px 21px}.settings-heading{display:flex;align-items:center;justify-content:space-between}.settings-heading h2{font-size:20px}.pill{font-size:9px;border:1px solid #465347;color:var(--lime);padding:4px 7px;border-radius:5px}.panel-description{font-size:11px;color:var(--muted);margin:8px 0 22px}.participants{display:flex;flex-direction:column;gap:10px}.participant{height:57px;display:flex;align-items:center;gap:11px;padding:0 12px 0 7px;border:1px solid #3a4545;border-radius:10px;background:#242e2e;position:relative}.participant-portrait{width:43px;height:43px;border-radius:8px;overflow:hidden;background:var(--duck-color);flex-shrink:0;position:relative}.participant-portrait img{width:56px;height:56px;object-fit:contain;position:absolute;top:-6px;left:-6px}.participant .participant-info{min-width:0;flex:1}.participant input{border:0;outline:0;background:transparent;color:#f2f5ee;width:100%;font-size:12px;font-weight:600;padding:3px 0}.participant input:focus{box-shadow:0 1px var(--lime)}.participant input:disabled{opacity:1}.participant .participant-meta{font-size:8px;letter-spacing:.5px;color:#91a4a1;display:block;margin-top:3px}.participant .chance{color:#b7c6c1;font-size:9px;flex-shrink:0}.participant .participant-number{position:absolute;top:4px;left:4px;background:#263b33;color:#f2ffeb;width:14px;height:14px;display:grid;place-items:center;border-radius:4px;font-size:8px;z-index:1}.settings-divider{height:1px;background:var(--line);margin:22px 0 21px}.section-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.section-label h3{font-size:12px;margin:0;display:flex;align-items:center;gap:7px;font-weight:500}.section-label h3 svg{width:14px;height:14px;color:var(--muted)}.section-label>span{font-size:9px;color:var(--lime)}.section-label>.micro-label{font-size:8px;color:var(--muted);letter-spacing:.5px}.segmented{display:flex;gap:4px;border:1px solid var(--line);background:#131c1b;padding:4px;border-radius:9px}.segmented button{flex:1;border:0;background:none;color:#a1b1ac;font-size:10px;padding:8px 4px;border-radius:5px}.segmented button.selected{background:#e6ff85;color:#1e3122;font-weight:600}.custom-duration{display:flex;align-items:center;gap:10px;margin-top:12px}.custom-duration input{width:60%;accent-color:var(--lime)}.custom-duration span{font-size:9px;color:var(--muted)}.prize-label{font-size:11px;display:flex;justify-content:space-between;margin:21px 0 10px}.prize-label span{font-size:9px;color:#8b9d97}.prize-input{width:100%;height:39px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#131c1b;color:#e7eee4;font-size:10px}.prize-input::placeholder{color:#7d928a}.theme-picker{display:flex;gap:6px}.theme-option{flex:1;border:1px solid var(--line);background:transparent;border-radius:7px;padding:9px 3px;font-size:9px;color:#9eb0a8;display:flex;gap:5px;align-items:center;justify-content:center}.theme-option i{width:9px;height:9px;border-radius:50%;background:#57d2be}.theme-option[data-theme=sunset] i{background:#efa68f}.theme-option[data-theme=night] i{background:#5d80c0}.theme-option.selected{border-color:#8dba8a;color:#f0f9e8;background:#e6ff8508}.tip{display:flex;gap:11px;align-items:center;margin-top:23px;color:#8ea399}.tip>span{font-size:23px;color:var(--lime)}.tip p{margin:0;font-size:10px;line-height:1.7}.bottom-strip{display:flex;align-items:center;gap:42px;margin:24px 0 27px;padding:22px 24px;background:#1b2325;border:1px solid var(--line);border-radius:15px}.club-note{display:flex;align-items:center;gap:15px;flex:1}.mini-star{font-size:40px;color:var(--lime)}.club-note p{font-size:11px;line-height:1.7;margin:0;color:var(--muted)}.club-note strong{color:#e3ece6;font-weight:400}.stat{border-left:1px solid var(--line);padding-left:30px}.stat .micro-label{display:block;font-size:8px;margin-bottom:7px}.stat strong{font-size:24px;font-weight:500;letter-spacing:-.6px}.stat.last-winner{min-width:195px}.stat.last-winner strong{font-size:14px;letter-spacing:-.2px}.bottom-strip>button{border:0;background:none;font-size:10px;display:flex;align-items:center;gap:9px;color:#c0d1c8}.bottom-strip svg{width:14px;height:14px}footer{display:flex;align-items:center;justify-content:space-between;color:#7d918b;border-top:1px solid #2b3834;min-height:64px;font-size:8px;letter-spacing:.6px;gap:15px}footer>span:nth-child(2){font-size:10px;letter-spacing:0}.footer-spark{color:var(--lime);font-size:14px;margin-left:7px}.footer-divider{margin:0 8px}kbd{font-family:inherit;font-size:8px;border:1px solid #46554d;padding:3px 5px;border-radius:3px}.toast{position:fixed;bottom:27px;left:50%;transform:translateX(-50%);padding:14px 22px;background:var(--lime);color:#223423;border-radius:12px;font-size:14px;box-shadow:0 8px 30px #0005;z-index:50;width:max-content;max-width:90vw;text-align:center}dialog{color:#eff6ec;background:var(--panel);border:1px solid #4b5f50;border-radius:24px;padding:32px;box-shadow:0 30px 120px #0008;max-height:90dvh;max-width:calc(100vw - 32px);overflow-y:auto}dialog::backdrop{background:#071a17b5;backdrop-filter:blur(9px)}.dialog-close{position:absolute;right:16px;top:16px}.result-dialog{width:440px;text-align:center;padding:34px 32px 20px}.result-eyebrow{color:var(--lime);font-size:9px;letter-spacing:2px;margin-top:13px}.winner-art{width:220px;height:180px;position:relative;margin:10px auto 0;display:grid;place-items:center}.winner-halo{position:absolute;width:165px;height:165px;background:radial-gradient(circle,#e6ff8530,transparent 70%);border-radius:50%;box-shadow:0 0 60px #e6ff8510}.winner-art img{width:205px;height:205px;object-fit:contain;position:relative;animation:bob 3s infinite}.winner-trophy{position:absolute;font-size:43px;bottom:5px;right:4px;transform:rotate(12deg)}.result-dialog h2{font-size:34px;letter-spacing:-1px;overflow-wrap:anywhere}.winner-subtitle{font-size:12px;line-height:1.7;color:#a6bba9;margin:10px 0 22px;overflow-wrap:anywhere}.result-ranks{display:flex;flex-direction:column;gap:5px;margin-bottom:22px}.result-rank{display:flex;align-items:center;text-align:left;gap:11px;padding:6px 11px;border-radius:9px;background:#26322c;font-size:12px}.result-rank:first-child{background:#e6ff8515;color:var(--lime)}.result-rank>span:first-child{width:16px;color:#8da18f}.result-rank img{width:36px;height:36px;object-fit:contain}.result-rank .rank-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.result-rank>span:last-child{font-size:9px;color:#a4b7a5}.result-dialog .start-button{width:100%;font-size:14px;min-height:48px}.copy-button{border:0;background:none;color:#b1c1b1;padding:17px 10px 2px;font-size:11px}.history-dialog{width:650px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.dialog-heading h2{font-size:23px;margin-top:9px}.dialog-heading .eyebrow{color:var(--lime);font-size:9px}.history-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:15px 0}.history-row>img{width:50px;height:50px;object-fit:contain;background:#334538;border-radius:10px}.history-row .history-detail{flex:1;min-width:0}.history-row strong{font-size:14px;display:block;overflow-wrap:anywhere}.history-row small{font-size:10px;color:var(--muted);display:block;margin-top:6px;overflow-wrap:anywhere}.history-row>time{font-size:10px;color:var(--muted);text-align:right;line-height:1.8;flex-shrink:0}.history-empty{text-align:center;color:var(--muted);padding:30px 10px;line-height:1.8;font-size:14px}.history-empty>span{display:block;color:var(--lime);font-size:34px}.history-actions{display:flex;justify-content:space-between;gap:15px;margin-top:25px}.history-actions button{border:1px solid var(--line);padding:10px 13px;background:transparent;display:flex;align-items:center;gap:8px;border-radius:8px;font-size:11px}.history-actions button:last-child{color:#e9a39a;border:none}.history-actions svg{width:15px;height:15px}.storage-note{font-size:10px;color:var(--muted);line-height:1.7;margin:20px 0 0}.info-dialog{width:510px}.info-dialog p{font-size:14px;line-height:1.8;color:#b6c6ba}.info-dialog strong{color:var(--lime)}.info-footnote{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:11px;color:#839b8b;line-height:1.7}#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:100}.race-panel:fullscreen{border:none;border-radius:0;display:flex;flex-direction:column;justify-content:center;background:#131a1c;padding:3vh 5vw}.race-panel:fullscreen .water{height:65vh;min-height:350px}.race-panel:fullscreen .duck{top:calc(50% - 57px);width:140px}.race-panel:fullscreen .duck img{width:140px;height:140px;top:-15px}.race-panel:fullscreen .duck-label{bottom:-10px}.race-panel:fullscreen .lanes{top:80px;bottom:50px}.race-panel:fullscreen .race-controls{margin-top:10px}.race-panel:fullscreen .track-heading{height:80px}.race-panel:fullscreen .start-button{max-width:500px}.race-panel:fullscreen .fair-note{margin-right:auto}@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(1deg)}}@keyframes count-pop{0%{transform:scale(.95);opacity:.7}20%,80%{transform:scale(1);opacity:1}100%{transform:scale(1.04);opacity:.8}}@media(min-width:1600px){.app-shell{padding:0 65px}.water{height:450px}.workspace{grid-template-columns:minmax(0,1fr) 345px}.settings-panel{padding:27px}.participant{height:62px}.participants{gap:12px}.settings-divider{margin:24px 0}.tip{margin-top:30px}}@media(max-width:1150px){.app-shell{padding:0 30px}.workspace{gap:18px;grid-template-columns:minmax(0,1fr) 300px}.settings-panel{padding:23px 20px}.local-badge{display:none}.header nav{margin-left:0}.header{gap:20px}.water{height:400px}.weather{font-size:10px}.weather-divider{display:none}.weather{max-width:85px;line-height:1.4}.race-console{gap:17px;padding-left:20px;padding-right:20px}.race-controls{padding-left:20px;padding-right:20px;gap:15px}.fair-note{min-width:110px;font-size:9px}.start-button{padding:12px 16px}.bottom-strip{gap:25px}.stat{padding-left:25px}.stat.last-winner{min-width:155px}.course-length{display:none}}@media(max-width:920px){.app-shell{padding:0 22px}.workspace{grid-template-columns:minmax(0,1fr) 270px;gap:15px}.settings-panel{padding:22px 16px}.settings-heading h2{font-size:19px}.track-heading{padding:0 19px}.water{height:402px}.race-controls{display:block}.fair-note{justify-content:center;margin-top:13px;line-height:1;font-size:10px}.fair-note br{display:none}.fair-note strong{margin-left:3px}.race-controls .start-button{width:100%}.bottom-strip{padding:18px;gap:20px}.club-note{gap:10px}.club-note p{font-size:9px}.mini-star{font-size:33px}.stat{padding-left:20px}.stat.last-winner{min-width:0}.bottom-strip>button{font-size:9px}.weather{display:none}.track-heading .icon-button{margin-left:auto}.console-description{font-size:10px}.timer-block strong{font-size:25px}.brand-sub{font-size:7px;letter-spacing:1px}footer>span:nth-child(2){display:none}}@media(max-width:740px){.app-shell{padding:0 17px}.header{height:80px;gap:15px}.brand{font-size:16px;gap:9px}.brand-mark{width:36px;height:36px;border-radius:10px;font-size:27px}.brand-sub{font-size:6px;letter-spacing:.8px}.header nav{gap:20px;margin-left:auto}.header-actions{gap:5px;margin-left:0}.header-actions .icon-button{width:32px;height:32px;border:none}.header-actions .icon-button:last-child{display:none}.page-heading{margin:29px 0 23px}.page-heading h1{font-size:34px;letter-spacing:-1.5px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.1px}.edition{display:none}.workspace{grid-template-columns:minmax(0,1fr)}.race-panel{border-radius:16px}.water{height:391px}.track-heading{height:67px}.track-heading h2{font-size:15px}.race-controls{display:flex;padding-bottom:20px;gap:16px}.race-controls .start-button{width:auto}.fair-note{min-width:114px;line-height:1.6;margin:0;font-size:9px}.fair-note br{display:block}.fair-note strong{margin-left:0}.start-button kbd{display:none}.race-console{padding-top:20px;gap:17px}.settings-panel{border-radius:16px;padding:22px}.panel-description{margin-bottom:19px}.participants{display:grid;grid-template-columns:1fr 1fr;gap:9px}.participant{height:60px;padding:0 8px 0 5px;gap:8px}.participant-portrait{width:39px;height:39px}.participant .chance{display:none}.participant input{font-size:12px}.participant-portrait img{width:51px;height:51px;top:-5px;left:-5px}.participant .participant-meta{font-size:7px;letter-spacing:.3px}.settings-divider{margin:21px 0}.segmented button{font-size:12px;padding:10px}.section-label h3,.prize-label{font-size:13px}.section-label>span{font-size:11px}.section-label>.micro-label{font-size:8px}.prize-input{height:43px;font-size:12px}.prize-label span{font-size:10px}.theme-option{padding:12px;font-size:11px}.tip{justify-content:center}.tip p{font-size:11px}.bottom-strip{flex-wrap:wrap;gap:20px;margin:18px 0 23px;padding:20px}.club-note{flex:1 1 100%;padding-bottom:17px;border-bottom:1px solid var(--line)}.club-note p{font-size:11px}.club-note br{display:none}.club-note strong{margin-left:3px}.mini-star{font-size:30px}.stat{border-left:0;padding:0;min-width:70px}.stat .micro-label{font-size:8px}.stat.last-winner{flex:1;padding-left:15px;border-left:1px solid var(--line)}.bottom-strip>button{font-size:10px}.stat.last-winner strong{font-size:13px}footer{font-size:7px;min-height:60px;letter-spacing:.1px}footer>span:last-child{font-size:7px}footer kbd{font-size:6px;padding:2px}.footer-divider{margin:0 4px}.course-top{left:19px;right:19px;top:19px}.course-badge{font-size:8px}.lanes{right:24px;left:16px;top:68px}.start-line{left:61px}.finish-line{right:31px}.duck{width:90px;height:105px;top:-14px}.duck img{width:103px;height:103px;left:-6px;top:-5px}.duck-label{font-size:8px;bottom:3px}.wake{top:72px;width:100px;left:-17px}.race-panel:fullscreen{padding:0 2vw}.race-panel:fullscreen .duck img{width:103px;height:103px;top:0}.race-panel:fullscreen .duck{width:90px;top:calc(50% - 52px)}.race-panel:fullscreen .duck-label{bottom:-2px}.race-panel:fullscreen .water{min-height:200px;height:64vh}.race-panel:fullscreen .race-controls{padding-bottom:10px}.race-panel:fullscreen .race-console{padding-top:10px;padding-bottom:10px}}@media(prefers-reduced-motion:reduce){.duck img,.winner-art img{animation:none}.countdown{animation:none}button{transition:none}}
/* Keep the four faces separate and controls readable at everyday viewport sizes. */
.water{height:440px}.duck{width:88px;height:86px;top:-5px}.duck img{width:92px;height:92px;left:-2px;top:-5px}.duck-label{bottom:-1px;font-size:10px}.wake{top:66px;width:98px;left:-15px}.participant input{font-size:14px}.participant .participant-meta{font-size:9px}.participant .chance{font-size:11px}.panel-description{font-size:12px}.section-label h3,.prize-label{font-size:14px}.section-label>span{font-size:12px}.segmented button{font-size:12px}.prize-input{font-size:12px}.theme-option{font-size:12px}.tip p{font-size:12px}.console-description{font-size:12px}.course-length{font-size:10px}.course-top{font-size:10px}.weather{font-size:12px}.weather-divider{display:none}.weather{max-width:160px}.bottom-strip>button{font-size:12px}.stat.last-winner strong{font-size:16px}.club-note p{font-size:12px}.copy-button{font-size:13px}.result-rank{font-size:14px}.result-rank>span:last-child{font-size:11px}.winner-subtitle{font-size:14px}.history-actions button{font-size:13px}.history-row small,.history-row>time{font-size:12px}.storage-note{font-size:12px}.track-label,.micro-label{font-size:10px}.prize-label span{font-size:11px}.settings-panel{padding-bottom:24px}.weather{line-height:1.5}.course-badge{font-size:10px}.local-badge{font-size:11px}.brand-sub{font-size:9px;letter-spacing:1px}.theme-option{padding-left:2px;padding-right:2px}.participant{gap:9px}.tip{gap:8px}
@media(min-width:1600px){.water{height:470px}}
@media(max-width:1150px){.weather{max-width:95px;font-size:11px}.brand-sub{font-size:8px}.fair-note{font-size:10px}.console-description{font-size:11px}}
@media(max-width:920px){.weather{display:none}.brand-sub{font-size:7px}.participant input{font-size:13px}.theme-option{font-size:11px}.participant .participant-meta{font-size:8px}.tip p{font-size:11px}}
@media(max-width:740px){.water{height:430px}.duck{width:84px;height:83px;top:-2px}.duck img{width:88px;height:88px;top:-5px;left:-2px}.duck-label{font-size:9px;bottom:-1px}.wake{top:65px}.participant input{font-size:14px}.participant .participant-meta{font-size:8px}.fair-note{font-size:10px}.panel-description{font-size:13px}.theme-option{font-size:13px}.console-description{font-size:11px}.club-note p{font-size:11px}.stat.last-winner strong{font-size:14px}.bottom-strip>button{font-size:11px}.brand-sub{font-size:6px}.course-badge{font-size:9px}.tip p{font-size:12px}.race-panel:fullscreen .duck{width:84px}.race-panel:fullscreen .duck img{width:88px;height:88px}.race-panel:fullscreen .duck-label{bottom:0}}
.mode-description{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 0}.mode-options button{font-size:12px;padding:10px 5px}.series-status{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:11px;color:var(--lime);line-height:1.5}.series-status button{border:0;background:transparent;font-size:11px;color:#bccbb9;text-decoration:underline;text-underline-offset:3px;padding:3px 0}.participant.eliminated{border-style:dashed;background:#1a2521}.participant.eliminated .participant-portrait{opacity:.5;filter:saturate(.4)}.participant.eliminated .participant-meta{color:var(--lime);font-size:8px;letter-spacing:.2px}.participant.eliminated .chance{color:var(--lime);font-size:15px}.lane.last-active-lane{border-bottom:none}.lanes:has(.lane[hidden]) .duck{top:calc(50% - 45px)}.duck.quacking:after{content:'КРЯ!';position:absolute;top:0;left:72px;padding:5px 7px;border-radius:7px 7px 7px 0;background:#f3ffd9;color:#315d47;font-size:10px;font-weight:700;box-shadow:0 2px 6px #174a3820;animation:quack-pop .6s ease-out forwards;white-space:nowrap}.race-panel:fullscreen .duck.quacking:after{left:100px}.mode-options button.selected{background:#e6ff85}.series-status button:disabled{opacity:.4}.participant.eliminated input{color:#bdcbbc}@keyframes quack-pop{0%{transform:translateY(6px) scale(.7);opacity:0}20%,75%{transform:translateY(0) scale(1);opacity:1}100%{transform:translateY(-6px);opacity:0}}@media(max-width:740px){.mode-description{font-size:13px}.mode-options button{font-size:13px}.participant.eliminated .participant-meta{font-size:7px}.series-status{font-size:12px}.series-status button{font-size:12px}}@media(prefers-reduced-motion:reduce){.duck.quacking:after{animation:none}}
