*{box-sizing:border-box} :root{color-scheme:dark;--home:#e03a3e;--gold:#ffbf58}body{margin:0;background:#0b0b12;color:#fff;font-family:Arial,Helvetica,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:0;touch-action:manipulation}button:focus-visible{outline:3px solid #fff;outline-offset:3px}#app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;overflow:hidden}header{height:78px;background:#11121c;display:flex;align-items:center;justify-content:space-between;padding:8px 4%;border-bottom:2px solid #363642}.wordmark{font-weight:950;font-style:italic;font-size:22px;letter-spacing:-1px}.wordmark em{color:var(--gold)}.wordmark span{display:block;font-size:9px;letter-spacing:2px;font-style:normal;margin-top:7px;color:#9898aa}#scores{display:flex;gap:34px;align-items:center;text-align:center;font-size:10px;font-weight:700;letter-spacing:1px}#scores>span b{display:inline-block;font-size:35px;margin-left:10px;vertical-align:middle}small{display:block;font-size:9px;color:#b2b2c1;letter-spacing:1px}.clock b{font-size:30px;font-variant-numeric:tabular-nums;color:var(--gold)}#pause{background:#272735;border:1px solid #444454;border-radius:50%;width:42px;height:42px;font-weight:900}#arena{position:relative;height:calc(100% - 78px)}canvas{display:block;width:100%;height:100%;touch-action:none;user-select:none}#hint{position:absolute;bottom:8px;width:100%;text-align:center;font-size:9px;letter-spacing:2px;color:#e4d5be;pointer-events:none}#callout{position:absolute;top:6%;left:26%;width:48%;text-align:center;pointer-events:none;font-style:italic;font-size:clamp(20px,4vw,48px);font-weight:1000;color:var(--gold);text-shadow:3px 3px #161322;transform:rotate(-3deg)}.overlay{position:absolute;inset:0;background:radial-gradient(ellipse at 10% 70%,#402025 0,transparent 50%),#101019;z-index:5;display:flex;align-items:stretch;padding:5vh 5vw;gap:6vw}.overlay[hidden]{display:none}.intro{width:42%;align-self:center}h1{font-size:clamp(38px,7vw,100px);font-style:italic;line-height:.93;letter-spacing:-3px;margin:12px 0 18px;font-weight:1000}h1 em{color:var(--gold);font-style:inherit}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--gold)}.intro>p:not(.eyebrow){font-size:14px;line-height:1.5;color:#bab8c7}.matchup{display:flex;align-items:center;gap:20px;color:#aaa;font-weight:900;font-style:italic}.matchup img{width:64px;height:64px;object-fit:contain}.picker{width:52%;display:flex;flex-direction:column;min-height:0}.tabs{display:flex;gap:6px}.tabs button{flex:1;min-height:43px;background:#272633;font-size:11px;font-weight:800;border-radius:8px}.tabs .selected{background:var(--gold);color:#17151e}#pick-label{margin:12px 0;font-size:12px;color:#bbb}#teams{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;overflow-y:auto;flex:1;min-height:70px;padding:3px 4px 6px}.team{min-height:62px;background:#252430;border:2px solid transparent;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:9px;font-weight:800}.team img{width:34px;height:34px;object-fit:contain}.team.active{border-color:var(--gold);background:#494033}.primary{background:var(--gold);color:#191620;min-height:46px;padding:12px 20px;font-size:13px;font-weight:900;letter-spacing:.5px;border-radius:7px;box-shadow:0 4px 0 #9d602b;margin:10px 0}.primary span{float:right}.picker>small{text-align:center;margin-top:8px;font-size:8px}.result{margin:auto;text-align:center;max-width:700px}.result h1{font-size:clamp(36px,6vw,74px)}#result-score{font-size:32px;font-weight:900;color:var(--gold);margin:12px}#result-note{color:#c0bdcf;font-size:13px}.result button{display:block;width:100%}#change{background:transparent;padding:12px;font-size:10px;font-weight:800;color:#bdbacb}#rotate{display:none;position:absolute;inset:0;z-index:20;background:#11121c;align-items:center;justify-content:center;flex-direction:column;text-align:center}#rotate span{font-size:75px;color:var(--gold)}@media(max-height:500px){header{height:60px;padding:5px 3%}.wordmark{font-size:17px}.wordmark span{font-size:7px;margin-top:4px}#arena{height:calc(100% - 60px)}#scores{gap:20px;font-size:8px}#scores>span b{font-size:26px}.clock b{font-size:24px}h1{margin:10px 0}.overlay{padding:20px 5vw}.intro>p:not(.eyebrow){font-size:12px}.matchup img{width:45px;height:45px}#pick-label{margin:8px 0}.team{min-height:53px}.team img{width:29px;height:29px}.picker>small{margin-top:3px}.primary{min-height:42px;padding:10px}.result h1{font-size:42px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Phone portrait is the primary layout. Keep the team picker scrollable. */
@media (max-width:700px) and (orientation:portrait){
 header{height:106px;display:grid;grid-template-columns:1fr 88px;grid-template-rows:40px 52px;gap:0;padding:6px 16px}
 .wordmark{font-size:20px}.wordmark span{display:none}
 .header-actions{grid-column:2;grid-row:1}#pause{width:40px;height:40px}
 #scores{grid-row:2;grid-column:1 / -1;justify-content:space-around;gap:14px;font-size:9px}
 #scores>span b{font-size:28px;margin-left:6px}.clock b{font-size:28px}
 #arena{height:calc(100% - 106px)}
 .overlay{padding:max(18px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));flex-direction:column;gap:14px}
 .intro{width:100%;align-self:stretch;position:relative;flex:0 0 auto;padding-right:112px}
 .intro .eyebrow{font-size:8px;margin:4px 0 8px}
 .intro h1{font-size:40px;letter-spacing:-2px;margin:0 0 8px}
 .intro>p:not(.eyebrow){font-size:11px;margin:0;line-height:1.4}
 .matchup{position:absolute;right:0;top:40px;gap:4px;font-size:10px}.matchup img{width:44px;height:44px}
 .picker{width:100%;flex:1;min-height:0}
 #teams{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
 .team{min-height:58px}.tabs button{min-height:44px;font-size:10px}
 .primary{min-height:48px;flex-shrink:0}.picker>small{margin:5px 0 0}
 .result{width:100%}.result h1{font-size:44px}#result-score{font-size:25px}
 #hint{font-size:8px;letter-spacing:1px}
}

#ft-controls{position:absolute;bottom:8%;left:10%;width:80%;text-align:center;z-index:2}#ft-controls[hidden]{display:none}#ft-tap{width:100%;max-width:400px;min-height:52px}#ft-tap:disabled{opacity:.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.header-actions{display:flex;gap:4px;align-items:center}#sound-toggle{width:44px;height:44px;border-radius:50%;background:#272735;border:1px solid #444454;font-size:21px}#sound-toggle[aria-pressed="true"]{opacity:.55}

#music-toggle{width:44px;height:44px;border-radius:50%;background:#272735;border:1px solid #444454;font-size:20px}#music-toggle[aria-pressed="true"]{opacity:.55}#sound-toggle{font-size:12px}
