.mode-picker{background:#fffdf6;border:1px solid #e0e5d4;border-radius:18px;padding:14px 18px;display:flex;align-items:center;gap:22px;margin-bottom:24px}
.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#edeee0;padding:4px;border-radius:12px;width:300px;flex-shrink:0}
.mode-tabs button{background:transparent;border:1px solid transparent;border-radius:9px;padding:10px 15px;font-family:Outfit;font-size:17px;font-weight:600;min-height:52px;text-align:left}
.mode-tabs button small{display:block;font:10px 'DM Sans';color:#74806d;margin-top:3px}
.mode-tabs button[aria-pressed=true]{background:#a9dfb7;border-color:#87bd92;box-shadow:0 2px 0 #7eb78a33}
.mode-hint{font-size:12px;line-height:1.6;color:var(--muted)}
.mode-hint .small-link{font-size:inherit;white-space:nowrap}
.mode-picker:has(.sng-formats){display:grid;grid-template-columns:300px 1fr;gap:10px 22px}
.mode-picker:has(.sng-formats) .mode-hint{grid-column:1/-1}
.sng-formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sng-formats button{background:#f5f3e8;border:1px solid #e0dfce;border-radius:11px;min-height:55px;padding:8px 10px;text-align:left}
.sng-formats button strong{display:block;font-family:Outfit;font-size:15px}
.sng-formats button small{display:block;font-size:10px;margin-top:4px;color:#627059}
.sng-formats button[aria-pressed=true]{background:#fbebc6;border-color:#d3ae62;box-shadow:0 0 0 1px #d3ae62}
.sng-hud{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 10px;font-size:9px;line-height:1.4;color:#365f40;margin:12px -15px 0}
.sng-hud strong{font-size:9px;font-weight:600}
body[data-screen=game][data-mode=sng] .table-wordmark{display:none}
.tournament-settings{background:#fff6db;border:1px solid #ecdcac;padding:15px;border-radius:14px;margin-bottom:20px}
.tournament-settings h3{font-size:17px}
.tournament-settings>p{font-size:11px;color:#8b7848;margin:6px 0 11px}
.standings{display:grid;gap:8px;font-size:12px}
.standings>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.standings strong{font-size:11px}
.tournament-settings>.small-link{margin-top:15px;font-size:11px;min-height:25px}
.settings-mode-note{font-size:11px;color:var(--muted);margin:0 0 20px}
.blind-details{margin:16px 0;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.blind-details summary{font-weight:600;color:var(--ink);cursor:pointer}
.blind-list{display:grid;gap:7px;margin-top:14px;font-size:12px}
.blind-list>div{display:flex;justify-content:space-between;border-bottom:1px solid #eeeee0;padding:4px 0}
dialog[data-sheet=celebration]{overflow-x:hidden;background:#fffbec;border-color:#d9c68d;padding-top:30px;max-width:520px}
.festive-panel{position:relative;isolation:isolate;text-align:center;padding:0 5px;overflow:hidden}
.festive-panel .help-title{padding-right:0;font-size:33px;line-height:1.08;letter-spacing:-1px;margin:12px auto;max-width:370px;position:relative;z-index:2}
.festive-panel>p{font-size:13px;line-height:1.7;max-width:360px;margin:0 auto;color:#7e795f;position:relative;z-index:2}
.victory-symbol{font-size:74px;line-height:1.2;margin:12px 0 20px;filter:drop-shadow(0 8px 0 #d6b75b22);position:relative;z-index:2;animation:trophy-arrival .7s cubic-bezier(.2,.8,.3,1.3) both}
.victory-eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:700;color:#a18239;position:relative;z-index:2}
.victory-rays{position:absolute;top:-95px;left:calc(50% - 220px);width:440px;height:340px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#f5d98055 0deg 12deg,transparent 12deg 24deg);mask-image:radial-gradient(ellipse,#0005,transparent 68%);z-index:-1}
.victory-podium{display:flex;justify-content:center;align-items:flex-end;gap:18px;margin:24px 0 20px;position:relative;z-index:2;flex-wrap:wrap}
.victory-podium>div{display:flex;flex-direction:column;align-items:center;background:linear-gradient(#fffdf6,#f6e8bb);border:1px solid #ead59f;border-radius:15px;padding:14px 13px 12px;min-width:110px;max-width:150px}
.victory-podium>div:first-child{padding-top:20px;border-color:#d1ad54;background:linear-gradient(#fff7d8,#f4d77a)}
.victory-podium svg{width:66px;height:66px;filter:drop-shadow(0 4px 0 #00000008)}
.victory-podium strong{font-family:Outfit;font-size:14px;margin-top:8px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.victory-podium span{font-size:11px;margin-top:6px}
.festive-panel>.your-finish{font-size:12px;margin-bottom:15px;color:#7b714e}
.festive-panel>.button{width:100%;position:relative;z-index:2;min-height:49px;margin-top:4px;background:#ebc76d;border-color:#c6a34e;box-shadow:0 3px 0 #c6a34e}
.festive-panel>.small-link{display:block;min-height:40px;font-size:12px;margin:8px auto 0;position:relative;z-index:2}
.virtual-prize-note{display:block;font-size:9px;color:#958b6e;margin:13px 0 3px;position:relative;z-index:2}
.confetti{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;border-radius:15px}
.confetti i{position:absolute;left:var(--x);top:-20px;width:7px;height:12px;background:var(--c);border-radius:2px;transform:rotate(var(--r));animation:confetti-drift 3.2s var(--d) ease-out both}
.confetti i:nth-child(3n){border-radius:50%;height:7px}
@keyframes confetti-drift{0%{translate:0 -10px;rotate:0deg;opacity:0}10%{opacity:1}80%{opacity:.85}100%{translate:15px 490px;rotate:420deg;opacity:0}}
@keyframes trophy-arrival{from{transform:scale(.5) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
html[data-layout=phone] .mode-picker{display:block;padding:7px;margin:0;flex-shrink:0;border-radius:13px}
html[data-layout=phone] .mode-tabs{width:100%;padding:3px;gap:4px;border-radius:9px}
html[data-layout=phone] .mode-tabs button{min-height:39px;padding:6px 10px;border-radius:7px;font-size:14px;line-height:1.1}
html[data-layout=phone] .mode-tabs button small{font-size:8px;line-height:1.2;margin-top:3px}
html[data-layout=phone] .mode-hint{font-size:9px;line-height:1.5;margin:6px 2px 0}
html[data-layout=phone] .mode-hint .small-link{font-size:9px}
html[data-layout=phone] .sng-formats{gap:6px;margin-top:7px}
html[data-layout=phone] .sng-formats button{min-height:43px;padding:6px;border-radius:8px}
html[data-layout=phone] .sng-formats button strong{font-size:12px}
html[data-layout=phone] .sng-formats button small{font-size:8px;margin-top:3px;letter-spacing:-.2px}
html[data-layout=phone] body[data-screen=setup][data-mode=sng] .hero-panel{padding:7px 12px;grid-template-columns:60px 1fr;grid-template-rows:34px 32px;gap:3px 12px}
html[data-layout=phone] body[data-screen=setup][data-mode=sng] .hero-preview svg{width:47px;height:47px}
html[data-layout=phone] body[data-screen=setup][data-mode=sng] .hero-preview strong{font-size:9px}
html[data-layout=phone] body[data-screen=setup][data-mode=sng] .avatar-option{min-width:32px;min-height:32px}
html[data-layout=phone] body[data-screen=setup][data-mode=sng] .avatar-option svg{width:28px;height:28px}
html[data-layout=phone] body[data-screen=setup][data-mode=sng] .hero-panel .input-wrap{height:32px}
html[data-layout=phone] .opponent-grid{overflow-y:auto;overscroll-behavior:contain;grid-template-rows:repeat(2,minmax(88px,1fr));scrollbar-width:thin}
html[data-layout=phone] .sng-hud{font-size:8px;line-height:1.3;margin:8px -10px 0;gap:3px 7px}
html[data-layout=phone] .sng-hud strong{font-size:8px}
html[data-layout=phone] .festive-panel .help-title{font-size:29px}
html[data-layout=phone] .festive-panel>p{font-size:12px}
html[data-layout=phone] .victory-symbol{font-size:69px;margin:10px 0 18px}
html[data-layout=phone] .victory-podium{gap:12px;margin:20px 0 17px}
html[data-layout=phone] .victory-podium>div{min-width:105px;max-width:135px;padding:12px}
html[data-layout=phone] .victory-podium svg{width:58px;height:58px}
html[data-layout=phone] .victory-podium strong{font-size:12px}
html[data-layout=phone][data-phone-height=short] .mode-picker{padding:5px}
html[data-layout=phone][data-phone-height=short] .mode-tabs button{min-height:34px;font-size:13px;padding:5px 8px}
html[data-layout=phone][data-phone-height=short] .mode-tabs button small{font-size:7px}
html[data-layout=phone][data-phone-height=short] .mode-hint{font-size:8px;margin-top:4px}
html[data-layout=phone][data-phone-height=short] .sng-formats{margin-top:5px}
html[data-layout=phone][data-phone-height=short] .sng-formats button{min-height:37px;padding:5px}
html[data-layout=phone][data-phone-height=short] .sng-formats button small{font-size:7px}
