: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:17px 44px 11px 12px}.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}.shopOffers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shopOffers .offerCard{min-height:154px}.shopOffers .offerRow{align-items:start}.signingValue{display:flex;align-items:center;gap:6px;margin:3px 0 5px}.ratingBadge{display:inline-flex;align-items:baseline;gap:2px;padding:2px 6px;border-radius:6px;background:var(--ink);color:var(--paper-bright);font-family:var(--display);font-size:18px;letter-spacing:.03em}.ratingBadge small{font-family:system-ui,sans-serif;font-size:8px;font-weight:950;letter-spacing:.1em}.rarityTag{font-size:9px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.signingStats{display:grid;grid-template-columns:repeat(4,minmax(28px,1fr));gap:4px}.signingStats>span{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px;padding:3px 4px;border-radius:5px;background:#1e2a4a10;border:1px solid #1e2a4a2c}.signingStats small{font-size:8px;font-weight:950;letter-spacing:.04em;color:var(--ink-soft)}.signingStats b{font-size:12px;font-variant-numeric:tabular-nums}.impactLine{display:block;margin-top:5px;color:var(--ink-soft);font-size:10px;line-height:1.2}.rarity-uncommon{border-color:#2d7c49}.rarity-uncommon .rarityTag{color:#21683a}.rarity-rare{border-color:#2c5fa8;box-shadow:inset 4px 0 #2c5fa8,3px 3px #0002}.rarity-rare .rarityTag{color:#2c5fa8}.rarity-elite{border-color:#b98616;background:linear-gradient(120deg,var(--paper-bright),#fff0bd 48%,var(--paper-bright));box-shadow:inset 4px 0 #d1a229,3px 3px #0002}.rarity-elite .rarityTag{color:#8c6100}.statLegend{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border:1.5px dashed #1e2a4a55;border-radius:8px;font-size:10px;line-height:1.25}.statLegend b{white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.soldSlot{min-height:116px;border:2px dashed #1e2a4a55;border-radius:12px;display:grid;place-items:center;align-content:center;gap:4px;color:var(--ink-soft);background:#1e2a4a08;transform:rotate(-.4deg)}.soldSlot span{font-family:var(--display);font-size:25px;letter-spacing:.12em}.soldSlot small{max-width:180px;text-align:center}.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{--pack-a: #173f35;--pack-b: #2f8a62;--pack-ink: #f8f1d9;position:relative;min-height:176px;overflow:hidden;border:3px solid var(--ink);border-radius:16px 16px 13px 13px;background:radial-gradient(circle at 50% 36%,#ffffff24,transparent 34%),repeating-linear-gradient(120deg,transparent 0 13px,#ffffff0b 13px 15px),linear-gradient(145deg,var(--pack-b),var(--pack-a));color:var(--pack-ink);text-align:center;padding:26px 12px 24px;box-shadow:inset 0 0 0 3px #ffffff18,4px 5px #00000040;display:grid;grid-template-columns:82px 1fr;align-items:center;gap:10px;isolation:isolate}.packCard:before,.packCard:after{content:"";position:absolute;left:0;right:0;height:13px;z-index:-1;background:repeating-linear-gradient(90deg,#fff2 0 4px,#00000018 4px 8px),var(--pack-a);border-color:#fff5}.packCard:before{top:0;border-bottom:1px solid #ffffff55}.packCard:after{bottom:0;border-top:1px solid #ffffff55}.packCard .priceTag{z-index:3}.packCrimp{position:absolute;top:6px;left:12px;font-size:7px;font-weight:950;letter-spacing:.16em;color:#ffffffc9}.packArt{position:relative;width:76px;height:104px;display:grid;place-items:center}.packFan,.packFan:before,.packFan:after{position:absolute;inset:9px 11px;border:2px solid var(--pack-ink);border-radius:6px;background:linear-gradient(145deg,#ffffff30,#00000012),var(--pack-b);box-shadow:0 4px 8px #0005;content:""}.packFan:before{transform:rotate(-10deg) translate(-4px,1px);z-index:-1}.packFan:after{transform:rotate(10deg) translate(4px,1px);z-index:-1}.packEmblem{z-index:1;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--pack-ink);color:var(--pack-a);border:2px solid var(--pack-a);outline:2px solid var(--pack-ink);font-family:var(--display);font-size:25px}.packCopy{display:grid;gap:4px;text-align:left}.packCopy small{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#ffffffc7}.packCard b{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.05em;line-height:.95;font-size:clamp(20px,3vw,28px);color:var(--pack-ink)}.packCopy>span{font-family:var(--serif);font-size:11px;line-height:1.2;color:#ffffffe0}.packOpen{position:absolute;right:12px;bottom:6px;font-size:7px;font-weight:950;letter-spacing:.16em;color:#ffffffc9}.pack-scout{--pack-a: #173f35;--pack-b: #2f8a62;--pack-ink: #fff2bf}.pack-legends{--pack-a: #39205d;--pack-b: #8d5fbd;--pack-ink: #ffe18b}.pack-training{--pack-a: #651e2d;--pack-b: #cf4a4f;--pack-ink: #fff1d5}.packCard.cantAfford{opacity:.55}.packSold{min-height:176px}.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}#stickZone{position:absolute;left:0;top:0;bottom:0;width:52%;pointer-events:auto;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:none;touch-action:none;box-shadow:inset 0 0 24px #000c,0 12px 34px #000a;opacity:.55;transition:opacity .15s}#stick.active{opacity:1}#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:14px;pointer-events:auto;touch-action:none}#touchButtons button{position:relative;overflow:hidden;min-height:74px;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 #sprintBtn{min-height:58px;font-size:17px;background:linear-gradient(180deg,#3ecf8e,#147a4f);border-color:#a5ffd0;box-shadow:inset 0 3px #ffffff40,inset 0 -8px 18px #00331c55,0 6px #0a4a30,0 16px 30px #0008}#touchButtons #shootBtn{min-height:96px;font-size:26px;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}#shootBtn .btnLabel{position:relative;z-index:1}#shootCharge{position:absolute;left:0;top:0;bottom:0;width:0%;background:linear-gradient(180deg,#ffe066cc,#ffb703cc);pointer-events:none;transition:width .04s linear}@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(250px,44vw);right:10px;bottom:10px;gap:10px}#touchButtons button{min-height:62px;font-size:16px}#touchButtons #sprintBtn{min-height:50px;font-size:14px}#touchButtons #shootBtn{min-height:84px;font-size:21px}.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}.shopOffers{grid-template-columns:1fr}.shopOffers .offerCard{min-height:132px}.statLegend{display:grid;gap:3px}.shopPacks{grid-template-columns:1fr 1fr}.packCard{min-height:160px;grid-template-columns:54px 1fr;gap:6px;padding:24px 7px 22px}.packArt{width:52px;height:78px}.packFan,.packFan:before,.packFan:after{inset:7px 8px}.packEmblem{width:32px;height:32px;font-size:19px}.packCard b{font-size:18px}.packCopy>span{font-size:9px}.packCrimp,.packOpen{letter-spacing:.08em}.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}}.penaltyPips{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}.penaltyPips em{font-style:normal;font-size:11px;font-weight:900;color:var(--gold-bright);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.penaltyPips span{display:flex;gap:5px}.pip{width:13px;height:13px;border-radius:50%;border:2px solid #ffffff55;background:transparent}.pipGoal{background:#87f5b5;border-color:#87f5b5;box-shadow:0 0 8px #87f5b588}.pipMiss{background:#f56;border-color:#f56}.pipWait{background:#ffffff18}.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}.matchCallout{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;padding:18px 34px;border-radius:18px;background:#0b1428f2;border:3px solid var(--gold);color:#fff;text-align:center;z-index:6;pointer-events:none;box-shadow:0 24px 60px #000c;text-transform:uppercase;animation:calloutIn .38s cubic-bezier(.2,1.4,.4,1)}.matchCallout b{font-family:var(--display);font-size:clamp(30px,7vw,52px);letter-spacing:.06em;line-height:.95}.matchCallout span{font-size:14px;font-weight:800;color:var(--gold-bright)}.matchCallout .calloutBadge{width:34px;height:48px;border-radius:6px;border:2px solid #0008;box-shadow:0 6px 16px #0009,inset 0 2px #fff5;animation:badgeFlash .45s ease .12s both}.matchCallout.kind-yellow{border-color:#ffe066}.matchCallout.kind-yellow .calloutBadge{background:linear-gradient(160deg,#ffe066,#f5b700)}.matchCallout.kind-red{border-color:#f56;animation:calloutIn .38s cubic-bezier(.2,1.4,.4,1),calloutShake .5s ease .3s}.matchCallout.kind-red .calloutBadge{background:linear-gradient(160deg,#f56,#b5143f)}.matchCallout.kind-penalty .calloutBadge,.matchCallout.kind-golden .calloutBadge,.matchCallout.kind-fergie .calloutBadge,.matchCallout.kind-shootout .calloutBadge{width:44px;height:44px;border-radius:50%}.matchCallout.kind-penalty .calloutBadge,.matchCallout.kind-shootout .calloutBadge{background:radial-gradient(circle at 35% 30%,#fff,#cfd8dc 72%,#90a4ae)}.matchCallout.kind-golden{background:radial-gradient(circle at 50% 0%,#3d2f00f5,#0b1428f8)}.matchCallout.kind-golden .calloutBadge{background:radial-gradient(circle at 35% 30%,#fff7d0,var(--gold))}.matchCallout.kind-fergie .calloutBadge{background:radial-gradient(circle at 35% 30%,#ffd9dd,#c1121f)}.matchCallout.calloutOut{animation:calloutOut .3s ease forwards}@keyframes calloutIn{0%{transform:translate(-50%,-50%) scale(.4) rotate(-4deg);opacity:0}60%{transform:translate(-50%,-50%) scale(1.08) rotate(1deg);opacity:1}to{transform:translate(-50%,-50%) scale(1)}}@keyframes calloutOut{to{transform:translate(-50%,-60%) scale(.85);opacity:0}}@keyframes calloutShake{0%,to{translate:0 0}25%{translate:-6px 0}50%{translate:5px 0}75%{translate:-3px 0}}@keyframes badgeFlash{0%{transform:translateY(14px) rotate(-14deg) scale(.6);opacity:0}to{transform:none;opacity:1}}.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;animation:goalPop .45s cubic-bezier(.2,1.4,.4,1)}@keyframes goalPop{0%{transform:translate(-50%) scale(.5);opacity:0}70%{transform:translate(-50%) scale(1.06);opacity:1}to{transform:translate(-50%) scale(1)}}.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:88px;font-size:22px}body.large-controls #touchButtons #shootBtn{min-height:112px;font-size:27px}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{scroll-behavior:auto!important;animation:none!important}
