:root{--paper: #f3e9d2;--paper-2: #e9dcba;--paper-bright: #fdf7e7;--ink: #1e2a4a;--ink-soft: #5c6178;--red: #c2272e;--red-dark: #871a20;--gold: #e0a92e;--gold-bright: #ffe9a8;--night: #071510;--mint: #87f5b5;--danger: #ef476f;--display: "Haettenschweiler", "Arial Narrow", "Avenir Next Condensed", "Roboto Condensed", Impact, sans-serif;--serif: Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(ellipse at 50% -10%,#14304a 0%,#123424 38%,var(--night) 75%);color:#f2fff6;font-family:system-ui,-apple-system,Segoe UI,sans-serif;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none}button{min-height:44px;border:2px solid var(--ink);border-radius:10px;padding:10px 14px;background:var(--paper-bright);color:var(--ink);font-weight:900;letter-spacing:.04em;box-shadow:3px 3px #0003;cursor:pointer}button:hover,button:focus{filter:brightness(1.05);transform:translateY(-1px)}button:active{transform:translateY(1px);box-shadow:1px 1px #0003}button.secondary{background:transparent;color:var(--ink);border:2px solid var(--ink);box-shadow:2px 2px #0002}button.danger{background:var(--red-dark);color:var(--paper);border-color:var(--ink)}.smallBtn{min-height:44px;padding:8px 12px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;max-width:1160px;margin:0 auto;background:linear-gradient(180deg,#16234a,#0d1631);border-bottom:3px solid var(--gold)}.topbar>div:first-child{position:relative;padding-left:58px}.topbar>div:first-child:before{content:"⚽";position:absolute;left:0;top:50%;width:44px;height:44px;transform:translateY(-50%);display:grid;place-items:center;font-size:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--gold-bright) 45%,var(--gold));border:2px solid var(--gold-bright);box-shadow:inset 0 0 12px #0006,0 6px 16px #0008}.topbar strong{font-family:var(--display);font-weight:400;font-size:clamp(20px,3.4vw,34px);letter-spacing:.04em;text-transform:uppercase;color:var(--gold-bright);text-shadow:2px 2px 0 #000}.topbar span{display:block;color:#b9c6e8;font-size:13px;font-family:var(--serif);font-style:italic}.topActions{display:flex;gap:8px;align-items:center}.topActions button{background:#101c38;color:var(--gold-bright);border:1px solid var(--gold);box-shadow:inset 0 1px #fff2,0 3px #000}#gameShell{min-height:100%;display:flex;flex-direction:column}#stage{position:relative;width:min(100vw,1160px);margin:0 auto;flex:1;display:flex;align-items:center;justify-content:center;padding:6px}canvas{width:100%;max-height:calc(100vh - 74px);aspect-ratio:16 / 9;background:#165f33;border:3px solid var(--gold);border-radius:18px;box-shadow:0 18px 60px #000c;display:block}#uiLayer{position:absolute;inset:16px;pointer-events:none;display:flex;align-items:center;justify-content:center}.card{pointer-events:auto;max-width:960px;max-height:calc(100vh - 110px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;background:radial-gradient(#0000000c 1px,transparent 1.4px),linear-gradient(180deg,#fbf2dc,var(--paper) 34%,var(--paper-2));background-size:7px 7px,auto;color:var(--ink);border:3px solid var(--ink);border-radius:16px;padding:22px;box-shadow:0 24px 60px #000d,8px 10px #00000040;-webkit-user-select:text;user-select:text}.card h1,.card h2,.card h3{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.03em;color:var(--ink)}.card h3{margin:12px 0 6px;font-size:20px;border-bottom:2px solid var(--ink);padding-bottom:2px}.card p{color:var(--ink)}.title{font-size:clamp(40px,8vw,78px);margin:0;line-height:.92;text-shadow:3px 3px 0 #00000022}.card h1.title{color:var(--red)}.subtitle{margin-top:2px;color:var(--ink-soft);font-family:var(--serif);font-style:italic;font-size:15px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.menuBtns{display:grid;gap:12px}.menuCard .menuBtns{max-width:none}.menuMast{text-align:center;display:grid;gap:2px;justify-items:center;margin-bottom:12px}.rosette{width:58px;height:58px;border-radius:50%;background:repeating-conic-gradient(var(--red) 0 15deg,var(--red-dark) 15deg 30deg);border:3px solid var(--gold);position:relative;box-shadow:0 4px #00000030;margin-bottom:6px}.rosette:before{content:"★";position:absolute;inset:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold-bright),var(--gold));display:grid;place-items:center;color:var(--red-dark);font-size:18px;border:2px solid var(--red-dark)}.rosette:after{content:"";position:absolute;left:50%;top:88%;width:26px;height:26px;transform:translate(-50%);background:linear-gradient(90deg,var(--red) 0 42%,transparent 42% 58%,var(--red-dark) 58%);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%);z-index:-1}.screenHeader{display:grid;gap:2px;margin-bottom:10px}.screenHeader span{display:flex;align-items:center;gap:10px;color:var(--red);font-weight:950;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.screenHeader span:before,.screenHeader span:after{content:"";height:2px;background:var(--red);flex:1 1 12px;max-width:44px;opacity:.65}.screenHeader h2{margin:0;font-size:clamp(30px,6vw,48px);line-height:.95}.screenHeader p{margin:0;color:var(--ink-soft);font-family:var(--serif);font-style:italic}.primaryFlowCard,.choiceCard{position:relative;background:var(--paper-bright);border:2px solid var(--ink);border-radius:10px;padding:11px 12px;text-align:left;color:var(--ink);box-shadow:3px 3px #0002}button.choiceCard{width:100%;min-height:0;display:grid;gap:3px;letter-spacing:0;text-transform:none}button.choiceCard:hover{transform:translateY(-2px) rotate(-.3deg)}.effectLine{display:block;color:var(--ink);font-weight:900;margin-top:3px}.detailLine{display:block;color:var(--ink-soft);font-size:12px;margin-top:2px;font-family:var(--serif);font-style:italic}.tagRow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.termChip,.warningChip,.conditionChip{display:inline-flex;gap:4px;align-items:center;padding:4px 9px;border-radius:999px;background:transparent;color:var(--ink);font-size:12px;font-weight:800;border:1.5px solid var(--ink)}.conditionChip b{color:var(--red)}.warningChip{background:var(--red);color:var(--paper-bright);border-color:var(--red-dark)}.iconChip{background:var(--ink);color:var(--gold-bright);border-color:var(--ink)}.primaryAction{width:100%;min-height:54px;background:var(--red);color:var(--paper-bright);font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.08em;font-size:22px;border:3px solid var(--ink);border-radius:12px;box-shadow:0 5px 0 var(--red-dark),3px 8px #00000030}.primaryAction:active{box-shadow:0 2px 0 var(--red-dark)}.secondaryActions{display:flex;gap:7px;flex-wrap:wrap}.secondaryActions button{flex:1 1 auto;min-height:42px;padding:8px 10px}.compactList{display:grid;gap:8px}.flowCard{width:min(720px,calc(100vw - 24px));display:grid;gap:10px}.cupLadder{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.ladderStep{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:900;font-size:13px;background:transparent;border:2px dashed var(--ink-soft);color:var(--ink-soft)}.ladderStep.done{background:var(--ink);color:var(--gold-bright);border:2px solid var(--ink)}.ladderStep.now{background:var(--red);color:var(--paper-bright);border:2px solid var(--ink);box-shadow:0 0 0 3px #c2272e44;transform:scale(1.12)}.crestShield{width:52px;height:58px;flex:0 0 auto;clip-path:polygon(50% 100%,94% 80%,94% 6%,6% 6%,6% 80%);background:linear-gradient(115deg,var(--crest-a, #444) 0 50%,var(--crest-b, #999) 50%);display:grid;place-items:center;font-family:var(--display);font-size:15px;letter-spacing:.04em;color:#fff;text-shadow:0 2px 2px #000;border-radius:4px;box-shadow:inset 0 0 0 3px #fff5,inset 0 0 0 5px #0003}.vsBlock{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;text-align:center}.vsBlock .vsTeam{display:grid;gap:4px;justify-items:center;font-family:var(--display);font-size:17px;text-transform:uppercase;line-height:1;color:var(--ink)}.vsBlock .vsV{font-family:var(--serif);font-style:italic;font-size:34px;color:var(--red)}.stars{color:var(--gold);letter-spacing:2px;font-size:13px;text-shadow:0 1px 0 #00000033}.fixtureCard{display:grid;gap:8px}.teamCardTop{display:flex;gap:10px;align-items:center}.teamKit{width:30px;height:24px;display:inline-block;border-radius:6px;background:linear-gradient(90deg,var(--kit-a) 0 50%,var(--kit-b) 50%);border:2px solid var(--ink);box-shadow:inset 0 0 0 2px #fff6}.sticker{position:relative;background:var(--paper-bright);border:2.5px solid var(--ink);border-radius:12px;padding:7px 7px 8px;display:grid;gap:4px;box-shadow:3px 3px #00000028;text-align:center}.sticker:nth-child(odd){transform:rotate(-1deg)}.sticker:nth-child(2n){transform:rotate(.8deg)}button.sticker{min-height:0;letter-spacing:0;text-transform:none}button.sticker:hover{transform:translateY(-3px) rotate(0)}.stickerPortrait{width:100%;max-width:96px;margin:0 auto;display:block;border-radius:8px;border:1.5px solid var(--ink);background:#dfe9f2}.stickerName{display:block;background:var(--red);color:var(--paper-bright);font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:11px;letter-spacing:.02em;padding:3px 3px 2px;border-radius:4px;line-height:1.05;overflow-wrap:break-word}.sticker .detailLine{margin-top:0}.sticker .effectLine{font-size:11.5px;line-height:1.25;overflow-wrap:anywhere}.stickerNum{position:absolute;left:-6px;top:-8px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--gold-bright);display:grid;place-items:center;font-size:12px;font-weight:950;border:2px solid var(--paper-bright);z-index:1}.foil{border-color:transparent;background:linear-gradient(var(--paper-bright),var(--paper-bright)) padding-box,linear-gradient(135deg,#ffb3cf,#ffe9a8,#a8f0c0,#a8d4ff,#d9b8ff,#ffb3cf) border-box;border-width:3.5px;overflow:hidden}.foil:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 32%,#ffffff7d 46%,transparent 58%);background-size:240% 100%;animation:foilsheen 3.4s linear infinite;border-radius:inherit;pointer-events:none}@keyframes foilsheen{0%{background-position:120% 0}to{background-position:-120% 0}}.albumGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.emptySlot{border:2px dashed var(--ink-soft);border-radius:12px;display:grid;place-items:center;min-height:128px;color:var(--ink-soft);font-family:var(--display);font-size:22px;opacity:.6}.priceTag{position:absolute;top:-10px;right:-8px;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 28%,var(--gold-bright),var(--gold) 72%);border:2px solid var(--ink);display:grid;place-items:center;font-weight:950;font-size:13px;transform:rotate(8deg);color:var(--ink);box-shadow:2px 3px #00000030;z-index:1}.offerCard{padding-right:44px}.offerCard .offerTop{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.offerCard .offerTop b{font-family:var(--display);font-weight:400;text-transform:uppercase;font-size:17px;letter-spacing:.03em}.offerCost{display:none}.offerCard.cantAfford{opacity:.55}.offerRow{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;text-align:left}.offerRow .stickerPortrait{max-width:56px}.badgeEmoji{width:56px;height:56px;border-radius:10px;border:1.5px solid var(--ink);background:radial-gradient(circle at 35% 30%,#fff,#e8ddc0);display:grid;place-items:center;font-size:28px}.kindRibbon{position:absolute;left:-6px;top:8px;background:var(--ink);color:var(--paper-bright);text-transform:uppercase;font-size:9px;letter-spacing:.1em;font-weight:950;padding:2px 7px 2px 9px;clip-path:polygon(0 0,100% 0,calc(100% - 5px) 50%,100% 100%,0 100%)}.shopBar{display:flex;gap:10px;align-items:center}.cashChip{display:inline-flex;align-items:center;padding:5px 14px;border-radius:999px;background:radial-gradient(circle at 35% 28%,var(--gold-bright),var(--gold));color:var(--ink);font-family:var(--display);font-size:22px;letter-spacing:.04em;border:2px solid var(--ink);box-shadow:2px 3px #00000030}.shopPacks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.packCard{position:relative;border:3px solid var(--ink);border-radius:12px;background:repeating-linear-gradient(135deg,#1d2a4a 0 16px,#27376033 16px 18px,#24325a 18px 34px);color:var(--paper-bright);text-align:left;padding:12px;box-shadow:3px 4px #00000040}.packCard b{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:18px;color:var(--gold-bright)}.packCard .effectLine{color:#e8edff}.packCard:before{content:"✂ TEAR HERE";display:block;font-size:9px;letter-spacing:.28em;color:#aab6dd;border-bottom:2px dashed #aab6dd66;padding-bottom:4px;margin-bottom:6px}.packCard.cantAfford{opacity:.55}.stampBtn{border:2.5px dashed var(--red);color:var(--red);background:transparent;text-transform:uppercase;font-weight:950;letter-spacing:.08em;transform:rotate(-1.5deg);box-shadow:none}.stampBtn:hover{background:#c2272e14}.payoutLine{display:flex;justify-content:space-between;gap:8px;padding:3px 0;border-bottom:1.5px dashed #1e2a4a33;font-variant-numeric:tabular-nums}.payoutLine b{color:var(--ink)}.payoutTotal{border-bottom:0;margin-top:3px;font-family:var(--display);font-size:18px;text-transform:uppercase}.payoutTotal b{color:var(--red)}.squadStats{color:var(--ink-soft);font-size:10px;font-weight:800;overflow-wrap:anywhere}.sellBtn{min-height:30px;padding:3px 8px;font-size:11px}.lostHero{background:var(--ink)!important;border-color:var(--red)!important}.lostHero h2,.lostHero p,.lostHero span{color:var(--paper-bright)!important}.postMatchCard{width:min(680px,calc(100vw - 24px));overflow:hidden;gap:8px}.postResultHero{text-align:center;padding:12px 10px;border-radius:12px;background:var(--paper-bright);border:2.5px solid var(--ink)}.postResultHero h2{font-size:clamp(46px,11vw,84px);color:var(--ink);margin:0;line-height:.9}.postResultHero span:before,.postResultHero span:after{max-width:999px}.postStatStrip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.postStatStrip div{padding:8px;border-radius:10px;background:var(--paper-bright);border:2px solid var(--ink);text-align:center}.postStatStrip b,.postStatStrip span{display:block}.postStatStrip b{color:var(--red);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.postStatStrip span{font-family:var(--display);font-size:22px;color:var(--ink)}.postRewards{display:grid;gap:1px}.scoreHud{position:absolute;top:10px;left:50%;transform:translate(-50%);min-width:min(620px,calc(100vw - 130px));background:linear-gradient(180deg,#101c38f2,#0b1428f2);border:2px solid var(--gold);border-radius:14px;padding:10px 16px;font-weight:900;text-align:center;box-shadow:inset 0 1px #ffffff1c,0 12px 34px #000a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scoreMain{display:grid;grid-template-columns:42px 1fr auto 1fr 42px;gap:10px;align-items:center}.teamCrest{width:38px;height:42px;display:grid;place-items:center;clip-path:polygon(50% 100%,94% 80%,94% 6%,6% 6%,6% 80%);font-size:9px;color:#fff;text-shadow:0 1px 2px #000;background:linear-gradient(115deg,var(--crest-a) 0 50%,var(--crest-b) 50%);box-shadow:inset 0 0 0 2px #fff5;border-radius:3px}.teamCode{font-family:var(--display);font-size:26px;letter-spacing:.08em;color:var(--gold-bright)}.scoreText{min-width:118px;font-family:var(--display);font-size:46px;line-height:1;color:#fff;text-shadow:0 3px 0 #000}.scoreMeta{display:flex;justify-content:center;gap:14px;padding-top:8px;margin-top:8px;border-top:1px solid #e0a92e44;color:#e8edff;font-size:12px;text-transform:uppercase}.scoreConditions{margin-top:4px;color:#aab6dd;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pauseBtn{pointer-events:auto;position:absolute;top:10px;right:10px;display:grid;gap:2px;place-items:center;min-width:86px;min-height:76px;background:linear-gradient(180deg,#16234a,#0d1631);color:var(--gold-bright);border:2px solid var(--gold);border-radius:18px;box-shadow:inset 0 2px #ffffff25,0 6px #000a;text-transform:uppercase}.pauseIcon{font-size:30px;line-height:.8}.floatLog{position:absolute;left:20px;bottom:20px;display:grid;gap:0;width:min(390px,45vw);pointer-events:none;border:2px solid #e0a92e66;border-radius:12px;overflow:hidden;background:#0b1428e8;box-shadow:0 14px 34px #0008}.logRow{display:grid;grid-template-columns:54px 28px 1fr 42px;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #ffffff12;font-weight:800}.logRow:last-child{border-bottom:0}.logTime{color:var(--gold);font-variant-numeric:tabular-nums}.logIcon{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#ffffff12;color:#fff}.logText{color:#f1fff7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logSide{color:#aab6dd;font-size:11px}.logRow.goal .logIcon{background:#fff;color:#09130d}.logRow.card .logIcon,.logRow.foul .logIcon{background:var(--danger)}#touchControls{display:none;position:absolute;inset:0;pointer-events:none;touch-action:none}#stick{position:absolute;left:28px;bottom:28px;width:158px;height:158px;border-radius:50%;background:radial-gradient(circle,#102920 0 32%,#0b1a17cc 33% 70%,#152c36ee);border:2px solid #cfffff33;pointer-events:auto;touch-action:none;box-shadow:inset 0 0 24px #000c,0 12px 34px #000a}#stick:before{content:"▲  ◀  ▶  ▼";position:absolute;inset:18px;display:grid;place-items:center;color:#8ff0af;font-size:21px;letter-spacing:14px;opacity:.85}#stickKnob{position:absolute;left:51px;top:51px;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#caffdf,#42c783 62%,#188653);border:2px solid #baffd2;box-shadow:inset 0 -6px 10px #0003,0 7px 18px #000b}#touchButtons{position:absolute;right:22px;bottom:22px;width:min(340px,42vw);display:grid;grid-template-columns:1fr;gap:16px;pointer-events:auto;touch-action:none}#touchButtons button{min-height:86px;border-radius:24px;font-size:22px;font-family:var(--display);letter-spacing:.1em;color:#fff;background:linear-gradient(180deg,#2d94ff,#075aac);border:2px solid #91d7ff;box-shadow:inset 0 3px #ffffff40,inset 0 -8px 18px #001c4a55,0 6px #03305d,0 16px 30px #0008;text-shadow:0 2px 0 #001d36}#touchButtons button:active{transform:translateY(4px);box-shadow:inset 0 2px #ffffff30,0 2px #03305d,0 8px 18px #0008}#touchButtons #contextBtn{background:linear-gradient(180deg,#ff4e77,#b5143f);border-color:#ffb3c5;box-shadow:inset 0 3px #ffffff40,inset 0 -8px 18px #51001955,0 6px #6a0825,0 16px 30px #0008}@media(pointer:coarse),(max-width:800px){#touchControls.playing{display:block}.topbar{padding:6px 10px}#stage{padding:2px;align-items:flex-start}#stage.playing{padding-top:122px}#stage.playing canvas{max-height:min(44vh,calc(100vh - 336px))}canvas{max-height:56vh;border-radius:12px}.card{max-height:calc(100dvh - 92px);padding:16px 16px calc(28px + env(safe-area-inset-bottom))}.scoreHud{min-width:min(430px,calc(100vw - 102px));padding:8px 10px;top:6px}.teamCode{font-size:17px}.scoreText{min-width:72px;font-size:30px}.teamCrest{width:30px;height:33px}.scoreMeta{gap:7px;font-size:10px;flex-wrap:wrap}.scoreConditions{display:none}.pauseBtn{right:6px;top:6px;min-width:74px;min-height:70px;border-radius:14px}.floatLog{left:10px;right:10px;bottom:auto;top:calc(132px + min(44vh,56.25vw));width:auto;max-height:94px;font-size:11px}.floatLog .logRow:nth-last-child(n+4){display:none}.logRow{grid-template-columns:42px 22px 1fr;padding:6px 8px;min-height:31px}.logSide{display:none}#stick{left:14px;bottom:14px;width:134px;height:134px}#stickKnob{left:42px;top:42px;width:50px;height:50px}#touchButtons{width:min(260px,42vw);right:10px;bottom:10px}#touchButtons button{min-height:76px;font-size:17px}.flowCard{max-height:calc(100dvh - 86px);gap:8px}.primaryFlowCard,.choiceCard{padding:9px 10px}.conditionChip,.termChip,.warningChip{font-size:11px;padding:4px 7px}.secondaryActions{gap:6px}.secondaryActions button{flex:1 1 28%;font-size:12px}.screenHeader h2{font-size:28px}.shopPacks{grid-template-columns:1fr}.albumGrid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.ladderStep{width:26px;height:26px;font-size:12px}.postMatchCard{max-height:calc(100dvh - 86px);gap:7px}.postResultHero{padding:8px}.postStatStrip{gap:6px}.postStatStrip div{padding:6px 5px}}@media(orientation:landscape)and (pointer:coarse){#stage.playing{padding-top:60px}#stage.playing canvas{max-height:calc(100vh - 118px);height:calc(100vh - 124px)}canvas{max-height:calc(100vh - 52px);width:auto;height:calc(100vh - 58px)}#touchButtons{width:220px}#stick{bottom:18px}.floatLog{bottom:20px;top:auto;max-height:76px;width:min(330px,34vw)}.floatLog .logRow:nth-last-child(n+3){display:none}}.penalty{text-align:center}.penalty h2{font-size:clamp(30px,7vw,46px)}.aimBar{position:relative;height:34px;border-radius:999px;background:linear-gradient(90deg,var(--red),var(--gold) 35%,var(--mint) 46%,var(--mint) 54%,var(--gold) 65%,var(--red));border:2px solid var(--ink);margin:14px 0}.aimBar span{position:absolute;top:-8px;width:5px;height:48px;background:var(--ink);border:1px solid white;transform:translate(-50%)}.aimBar b{position:absolute;inset:8px 46%;border:2px solid var(--ink);border-radius:999px}.restartHint{position:absolute;left:50%;top:120px;transform:translate(-50%);padding:10px 16px;border-radius:12px;border:2px solid var(--gold);background:#0b1428ee;color:var(--gold-bright);font-weight:900;text-align:center;pointer-events:none;box-shadow:0 10px 28px #0009}.goalCallout{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);display:grid;gap:2px;min-width:min(360px,calc(100vw - 40px));padding:14px 18px;border-radius:16px;background:radial-gradient(circle at 35% 25%,#fff7d0,var(--gold));color:var(--ink);border:3px solid var(--ink);box-shadow:0 18px 42px #000b,inset 0 2px #fff8;text-transform:uppercase;z-index:4}.goalCallout b{font-family:var(--display);font-size:clamp(38px,8vw,62px);line-height:.9;letter-spacing:.04em}.goalCallout span{font-size:13px}.goalCallout strong{font-size:24px}body.high-contrast{--paper: #000;--paper-2: #000;--paper-bright: #0a0a0a;--ink: #fff;--ink-soft: #d8d8d8;--red: #ff5566;--red-dark: #a01020;--gold: #ffe066;--gold-bright: #fff2ad;background:#000}body.high-contrast canvas{border-color:#fff;filter:contrast(1.25) saturate(1.25)}body.high-contrast .card{background:#000}body.high-contrast .scoreHud,body.high-contrast .floatLog{background:#020202f5;border-color:#fff;color:#fff}body.large-controls #stick{width:184px;height:184px}body.large-controls #stickKnob{left:60px;top:60px;width:64px;height:64px}body.large-controls #touchButtons{width:min(380px,52vw);gap:18px}body.large-controls #touchButtons button{min-height:100px;font-size:24px}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{scroll-behavior:auto!important;animation:none!important}
