:root{--bg:#050a12;--bg2:#081426;--panel:#0d192b;--panel2:#101f36;--line:#7fa5d342;--line-strong:#9cc7f27a;--ink:#f4f7ff;--muted:#93a5bf;--gold:#f3c758;--gold-deep:#9d6c18;--cyan:#48cfff;--purple:#ad7cff;--green:#65dc9d;--danger:#ff8c8c;--shadow:0 20px 48px #0008}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{min-width:320px;margin:0;background:radial-gradient(ellipse at 85% -8%,#1d466b75 0,transparent 35%),radial-gradient(ellipse at -8% 42%,#263d6c35 0,transparent 32%),var(--bg);color:var(--ink);font-family:"Noto Sans SC",Arial,sans-serif}body:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 49.8%,#bde7ff04 50%,transparent 50.2%),linear-gradient(#bde7ff03 1px,transparent 1px);background-size:100% 100%,44px 44px}.app-shell{width:min(1440px,100%);min-height:100dvh;margin:auto;padding:0 46px calc(96px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:78px;border-bottom:1px solid var(--line)}.fifa-topbar{position:relative}.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;font-size:16px;font-weight:800;letter-spacing:.01em}.brand i{display:block;margin-top:2px;color:#8da5c7;font:700 9px "Barlow Condensed";letter-spacing:.19em}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #f8e085;border-radius:9px;background:linear-gradient(145deg,#ffe791,#b98225 65%,#76470f);color:#152033;font:800 24px/1 "Barlow Condensed";box-shadow:inset 0 1px #fff9,0 0 20px #dba82445}.season-chip{position:absolute;left:50%;display:flex;align-items:center;gap:7px;transform:translateX(-50%);color:#9fb3cf}.season-chip span,.season-chip em{font:700 9px "Barlow Condensed";letter-spacing:.14em}.season-chip b{color:#eaf2ff;font-size:12px}.season-chip em{padding:3px 5px;border:1px solid #62cbe177;border-radius:4px;color:var(--cyan);font-style:normal}.top-tools{display:flex;align-items:center;gap:14px}.pool-badge{display:flex;align-items:center;gap:7px;color:#aab8cf;font-size:11px}.pool-badge b{color:var(--gold);font:800 25px/1 "Barlow Condensed"}.sound-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#0b1627;color:#b6c6df;cursor:pointer}.sound-btn:hover{border-color:var(--cyan);color:#fff}.page{display:none;animation:page-in .35s ease}.page.active{display:block}@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.eyebrow{margin:0 0 9px;color:var(--cyan);font:800 11px/1.2 "Barlow Condensed";letter-spacing:.2em}.primary-btn,.draw-btn,.go-board-btn,.settle-btn{border:0;border-radius:8px;padding:14px 19px;background:linear-gradient(135deg,#ffe07d,#c48b29);color:#17150f;font:800 14px "Noto Sans SC";cursor:pointer;box-shadow:0 10px 23px #0006,inset 0 1px #fff8}.primary-btn:hover,.draw-btn:hover,.go-board-btn:hover,.settle-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-btn span,.go-board-btn span,.settle-btn span{margin-left:7px;font-size:18px}.text-btn,.small-outline{border:1px solid var(--line);border-radius:7px;background:#0c1727;color:#c6d6ed;font:700 12px "Noto Sans SC";cursor:pointer}.text-btn{padding:10px 13px;border-color:transparent;background:transparent}.text-btn:hover,.small-outline:hover{border-color:var(--cyan);color:#fff}.small-outline{padding:8px 11px}.small-outline.danger{border-color:#d86e6e66;color:#ffb1ad}.small-outline.danger:hover{border-color:#ff8e86;background:#4b1f273d}.primary-btn:disabled,.draw-btn:disabled,.go-board-btn:disabled,.settle-btn:disabled,.small-outline:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.42;transform:none}

/* 首页 */
.hero{position:relative;display:grid;grid-template-columns:1.04fr .96fr;min-height:472px;margin:34px 0 22px;overflow:hidden;border:1px solid #83b1e44c;border-radius:20px;background:radial-gradient(circle at 68% 42%,#34628a3d,transparent 29%),linear-gradient(120deg,#101e34,#0a1424 53%,#101e35);box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(108deg,transparent 39%,#d9f6ff09 39.15% 39.3%,transparent 39.45%),linear-gradient(160deg,transparent 0 56%,#e7f3ff08 56.1% 56.3%,transparent 56.45%)}.hero-copy{position:relative;z-index:1;padding:64px 56px}.hero h1{margin:0;font-size:48px;line-height:1.12;letter-spacing:-.075em}.hero h1 em{color:var(--gold);font-style:normal;text-shadow:0 0 22px #e8b63f55}.hero-desc{max-width:500px;margin:18px 0 0;color:#aebdd2;font-size:14px;line-height:1.95}.hero-actions{display:flex;align-items:center;gap:12px;margin-top:29px}.hero-metrics{display:flex;gap:26px;margin-top:46px;padding-top:17px;border-top:1px solid #90b5df2b}.hero-metrics b{display:block;color:#fff;font:800 26px/1 "Barlow Condensed"}.hero-metrics span{display:block;margin-top:4px;color:#8fa4c0;font-size:10px}.hero-art{position:relative;min-height:100%;overflow:hidden}.fifa-art:before,.fifa-art:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 47%,#93d6f52b 47.2% 47.6%,transparent 47.8% 100%),linear-gradient(55deg,transparent 0 70%,#f5d36525 70.2% 70.45%,transparent 70.65%)}.stadium-ring{position:absolute;border:1px solid #94d8f052;border-radius:50%;box-shadow:0 0 48px #49a0dc31,inset 0 0 26px #75d8ff1e}.ring-a{width:350px;height:350px;top:38px;left:50%;transform:translateX(-50%)}.ring-b{width:460px;height:460px;top:-15px;left:50%;border-color:#f7d56b2e;transform:translateX(-50%)}.trophy-core{position:absolute;z-index:2;top:98px;left:50%;display:grid;place-items:center;width:136px;height:136px;border:1px solid #f4cf668d;border-radius:50%;background:radial-gradient(circle,#c8993624,#111f34 65%);box-shadow:0 0 45px #ecbd4f43,inset 0 0 25px #ffd76d31;transform:translateX(-50%)}.trophy-core span,.trophy-core small{color:#ffdfa0;font:800 9px "Noto Sans SC"}.trophy-core b{color:#f6cc62;font-size:52px;line-height:.8;text-shadow:0 0 25px #f5c65f}.trophy-core small{font:700 8px "Barlow Condensed";letter-spacing:.14em}.hero-card-mini{position:absolute;z-index:3;width:126px;height:168px;padding:13px;border:1px solid #a9c7eb75;border-radius:12px;background:linear-gradient(145deg,#263c60,#101828 68%);box-shadow:0 18px 30px #000a}.hero-card-mini:before{content:"";position:absolute;inset:8px;border:1px solid #c9e5ff26;border-radius:8px}.hero-card-mini span,.hero-card-mini i,.hero-card-mini b{position:relative;z-index:1}.hero-card-mini span{color:var(--cyan);font:800 9px "Barlow Condensed";letter-spacing:.12em}.hero-card-mini b{display:block;margin-top:18px;color:#f3f7ff;font:800 54px/1 "Barlow Condensed"}.hero-card-mini i{position:absolute;bottom:13px;color:#bdcce1;font:700 9px "Barlow Condensed";font-style:normal;letter-spacing:.1em}.card-s{top:70px;left:28px;transform:rotate(-12deg)}.card-l{top:226px;left:calc(50% - 60px);border-color:#f3c758;background:linear-gradient(145deg,#5f4924,#16151a 69%);transform:rotate(5deg)}.card-r{top:70px;right:26px;transform:rotate(12deg)}.home-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.home-dashboard article{display:flex;align-items:center;gap:14px;padding:17px 19px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(145deg,#101c2e,#0b1422);box-shadow:0 8px 20px #0003}.feature-num{min-width:45px;color:var(--gold);font:800 29px/1 "Barlow Condensed"}.home-dashboard article:last-child .feature-num{font-size:18px}.home-dashboard b{font-size:13px}.home-dashboard p{margin:4px 0 0;color:var(--muted);font-size:11px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:44px 0 15px}.section-head h2,.section-head h3{margin:0;font-size:26px;letter-spacing:-.04em}.section-head>span{color:var(--muted);font-size:12px}.team-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.team-entry{display:flex;align-items:center;gap:11px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:10px;background:#0c1625}.team-logo{display:grid;flex:none;place-items:center;width:31px;height:31px;border-radius:8px;color:#0e1a2d;font:800 17px "Barlow Condensed"}.team-entry div{min-width:0}.team-entry b{display:block;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.team-entry small{color:#8fa3bf;font:600 10px "Barlow Condensed"}.team-entry>small{margin-left:auto;white-space:nowrap;color:#7387a1}

/* 抽卡 */
.fifa-section-head,.board-head{display:flex;align-items:end;justify-content:space-between;margin:38px 0 16px}.fifa-section-head h2,.board-head h2{margin:0;font-size:31px;letter-spacing:-.055em}.fifa-section-head p:last-child,.board-head p{margin:7px 0 0;color:var(--muted);font-size:12px}.draw-counter{display:flex;align-items:center;gap:7px;color:#94a4bb;font-size:11px;line-height:1.25}.draw-counter b,.team-power b{color:var(--gold);font:800 52px/1 "Barlow Condensed";text-shadow:0 0 20px #f5c75842}.fifa-stage{position:relative;overflow:hidden;padding:18px;border:1px solid #789dd341;border-radius:18px;background:radial-gradient(circle at 50% -20%,#2c5d8e4b,transparent 46%),linear-gradient(145deg,#101e34,#090f1b 80%);box-shadow:var(--shadow)}.fifa-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(130deg,transparent 0 48px,#b4e7ff06 49px 50px,transparent 51px 95px)}.stage-topline,.draft-hero-control,.candidate-area,.position-picker,.draft-bottom{position:relative;z-index:1}.stage-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:33px}.stage-info{display:flex;align-items:center;gap:8px;color:#a7b8d0;font-size:12px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 14px var(--green)}.rarity-odds,.guide-odds{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.rarity-odds span,.guide-odds span{padding:4px 6px;border:1px solid #6d829e66;border-radius:4px;background:#08132391;font:800 10px "Barlow Condensed";letter-spacing:.05em}.odds-common{color:#c1ccdc}.odds-rare{color:var(--cyan)}.odds-epic{color:var(--purple)}.odds-legend{color:var(--gold)}.draft-hero-control{display:flex;align-items:center;justify-content:center;gap:13px;margin:10px 0 18px}.target-position{min-width:280px;padding:10px 24px;border:1px solid #607fa647;border-radius:9px;background:#081323c2;text-align:center}.target-position span,.target-position small{display:block;color:#94a9c5;font:700 10px "Barlow Condensed";letter-spacing:.15em}.target-position b{display:block;margin:2px 0;color:var(--gold);font-size:25px}.draw-actions{display:flex;align-items:center;gap:8px}.draw-btn{display:inline-flex;align-items:center;gap:9px;min-height:50px}.draw-btn small{color:#694f1c;font-size:10px}.draw-btn i{font-style:normal}.draw-icon{font-size:19px}.reveal-all-btn{min-height:50px;border:1px solid #6887aa66;border-radius:8px;padding:0 13px;background:#102039;color:#d7e4f7;font:800 12px "Noto Sans SC";cursor:pointer}.reveal-all-btn:hover{border-color:var(--cyan);color:#fff}.candidate-area{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%;min-height:300px}.empty-candidates{display:grid;grid-column:1/-1;place-items:center;min-height:278px;border:1px dashed #6b88af56;border-radius:13px;background:radial-gradient(circle at 50% 50%,#1e466526,transparent 46%);color:#7e91ac;font-size:12px}.candidate-card{position:relative;min-width:0;min-height:310px;overflow:hidden;border:1px solid var(--accent);border-radius:14px;padding:18px 17px;background:radial-gradient(circle at 80% 6%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 24%),linear-gradient(155deg,var(--c1),#070e1a 78%);color:#f7f9ff;text-align:left;cursor:pointer;isolation:isolate;transition:transform .2s,border-color .2s,box-shadow .2s}.candidate-card:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(43deg,transparent 0 39%,#d9edff17 39.2% 39.7%,transparent 40% 62%,#d9edff0f 62.2% 62.6%,transparent 63%),radial-gradient(circle at 72% 28%,#d9f5ff24 0 2px,transparent 3px);opacity:.8}.candidate-card:after{content:"";position:absolute;z-index:-1;inset:9px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:9px;background:linear-gradient(90deg,var(--accent) 0 31px,transparent 31px) left top/76px 1px no-repeat,linear-gradient(90deg,var(--accent) 0 31px,transparent 31px) right bottom/76px 1px no-repeat;opacity:.65}.candidate-card:hover,.candidate-card.selected{z-index:2;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent),0 17px 32px #000b;transform:translateY(-5px)}.candidate-card.selected{filter:brightness(1.09)}.rift-seal{position:absolute;top:15px;right:14px;display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--accent) 76%,#e9f6ff);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 28%,#0b1422),#0b1422 68%);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 33%,transparent),inset 0 0 12px #ffffff14}.rift-seal b{color:var(--accent);font:900 22px/1 "Noto Sans SC";text-shadow:0 0 12px var(--accent)}.rift-seal small{margin-top:-4px;color:#e8f3ff;font:800 7px/1 "Barlow Condensed";letter-spacing:.12em}.rarity-label{display:inline-block;border:1px solid color-mix(in srgb,var(--accent) 75%,transparent);border-radius:6px;padding:4px 7px;background:color-mix(in srgb,var(--accent) 17%,#09101c);color:var(--accent);font:800 17px/1 "Noto Sans SC";box-shadow:inset 0 1px #fff3,0 0 13px color-mix(in srgb,var(--accent) 28%,transparent)}.card-team{display:flex;align-items:center;gap:5px;margin-top:12px;color:#eef5ff;font-size:14px}.card-team b{color:var(--accent);font:800 15px "Barlow Condensed"}.card-team i{color:#94a7c2;font-style:normal}.card-team em{overflow:hidden;font-style:normal;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.card-name{display:block;max-width:90%;margin:59px 0 0;color:var(--accent);font-size:clamp(23px,2.15vw,33px);line-height:1.08;letter-spacing:-.075em;overflow-wrap:anywhere;text-shadow:0 0 14px color-mix(in srgb,var(--accent) 36%,transparent)}.card-role-line{display:block;margin-top:15px;color:#b5c5dc;font:700 10px "Noto Sans SC"}.role-badges{display:flex;gap:6px;margin-top:7px}.role-badge{padding:7px 10px;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:#102034;font:800 13px "Barlow Condensed";letter-spacing:.04em;box-shadow:inset 0 1px #fff8,0 5px 11px #0008}.card-back{display:flex;flex-direction:column;align-items:center;justify-content:center;border-color:#6d9fc2;background:radial-gradient(circle at 50% 34%,#4b7fb375,transparent 29%),linear-gradient(135deg,transparent 0 31%,#92d9f52b 31.4% 32%,transparent 32.4% 65%,#92d9f51b 65.4% 66%,transparent 66.4%),repeating-linear-gradient(135deg,#14243e 0 2px,#101b2e 2px 7px);box-shadow:inset 0 0 0 1px #ffffff20,inset 0 0 40px #07101d,0 16px 28px #0009;color:#e8f4ff;text-align:center}.card-back:after{content:"";position:absolute;inset:10px;border:1px solid #a9d9f652;border-radius:9px}.back-mark,.back-title,.card-back small,.card-back i{position:relative;z-index:1}.back-mark{display:grid;place-items:center;width:72px;height:72px;border:1px solid #bce7ff93;border-radius:50%;color:#a9e5ff;font:800 40px "Noto Sans SC";box-shadow:0 0 27px #6dcfff49}.back-title{margin-top:17px;color:#fff;font:800 16px "Noto Sans SC"}.card-back small{margin-top:6px;color:#a8c6df;font-size:11px}.card-back i{margin-top:30px;color:#7ea2c1;font:800 9px "Barlow Condensed";letter-spacing:.18em;font-style:normal}.card-deal-in{animation:deal-in .48s cubic-bezier(.2,.7,.25,1) both}.card-flip-in{animation:flip-in .42s cubic-bezier(.2,.7,.25,1) both}@keyframes deal-in{from{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}@keyframes flip-in{0%{opacity:.2;transform:perspective(900px) rotateY(75deg)}100%{opacity:1;transform:perspective(900px) rotateY(0)}}.position-picker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;min-height:58px;margin-top:13px;padding:10px;border:1px solid #5d7da65b;border-radius:9px;background:#081323c9;color:#9eb0c8;font-size:12px}.position-picker.ready{border-color:#f0c75a78;background:#1f1a103b}.position-choice{min-height:36px;border:1px solid #6680a5;border-radius:6px;padding:6px 11px;background:#122039;color:#e2edfc;font:800 12px "Noto Sans SC";cursor:pointer}.position-choice small{margin-left:4px;color:#8badcf;font:800 10px "Barlow Condensed"}.position-choice:hover,.position-choice.selected{border-color:var(--gold);background:#3d3017;color:#fff0b5}.draft-bottom{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:13px;color:#7d90aa;font-size:11px}.lock-btn,.restart-btn{min-height:36px;border:1px solid var(--line);border-radius:7px;padding:7px 11px;background:#102039;color:#d8e4f6;font:800 12px "Noto Sans SC";cursor:pointer}.lock-btn{border-color:var(--gold);background:linear-gradient(135deg,#f6d165,#b77b1e);color:#16140d}.locked-strip{margin-top:16px}.strip-title{display:flex;justify-content:space-between;margin-bottom:8px;color:#a5b5ca;font-size:12px}.strip-title b{color:var(--gold)}.contract-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;min-height:65px}.contract-mini{min-width:0;padding:9px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;background:#0d1828}.contract-mini b{display:block;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.contract-mini span{display:block;overflow:hidden;margin-top:4px;color:#97abc4;font:700 10px "Barlow Condensed";text-overflow:ellipsis;white-space:nowrap}.contract-mini.empty{display:grid;place-items:center;border-style:dashed;border-left-width:1px;color:#50627e;font:800 12px "Barlow Condensed"}.go-board-btn,.settle-btn{display:block;margin:22px auto 0}

/* 阵容、战术与结算 */
.team-power{text-align:right}.team-power small{display:block;color:#9aaac0;font-size:11px}.score-ribbon{display:grid;grid-template-columns:repeat(4,minmax(75px,1fr)) minmax(220px,1.8fr);align-items:stretch;margin-bottom:14px;overflow:hidden;border:1px solid #6a8ab254;border-radius:12px;background:#0c1726}.score-ribbon>div{padding:11px 16px;border-right:1px solid #6a8ab22b}.score-ribbon span{display:block;color:#94a7c1;font-size:10px}.score-ribbon b{display:block;margin-top:2px;color:#f4f8ff;font:800 24px/1 "Barlow Condensed"}.score-ribbon>div:nth-child(2) b,.score-ribbon>div:nth-child(3) b{color:var(--cyan)}.score-ribbon>div:nth-child(4) b{color:var(--purple)}.tactic-open-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:linear-gradient(90deg,#1e1830,#201c11);color:#f4dd8d;font:800 12px "Noto Sans SC";cursor:pointer}.tactic-open-btn span{padding:5px 8px;border:1px solid #f1cc6d61;border-radius:5px;color:#fff2bc;font-size:11px}.swap-notice{display:flex;align-items:center;gap:10px;margin:0 0 15px;padding:10px 14px;border:1px solid #f3c65a55;border-radius:9px;background:#251e103d}.swap-notice span{color:#bdc8d8;font-size:11px}.swap-notice b{color:var(--gold);font:800 25px "Barlow Condensed"}.swap-notice i{margin-left:auto;color:#8291a9;font-size:11px;font-style:normal}.board-layout{display:grid;grid-template-columns:1.04fr .96fr;gap:17px}.formation{position:relative;overflow:hidden;padding:20px;border:1px solid #7499cd55;border-radius:16px;background:radial-gradient(circle at 50% 10%,#1d628547,transparent 52%),linear-gradient(145deg,#10243a,#0a1322)}.formation:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(132deg,transparent 0 33%,#80d7f01a 33.2% 33.5%,transparent 33.7% 65%,#f3c75817 65.2% 65.5%,transparent 65.7%)}.formation-topline{position:relative;z-index:1;display:flex;justify-content:space-between;color:#d7e4f5;font-size:12px}.formation-topline span:last-child{color:var(--cyan)}.formation-grid{position:relative;z-index:1;height:355px;margin:13px 0;background:linear-gradient(#b1e5ff0c 1px,transparent 1px),linear-gradient(90deg,#b1e5ff0c 1px,transparent 1px);background-size:30px 30px}.formation-grid:before{content:"";position:absolute;inset:8% 5%;border:1px solid #82b4df5a;border-radius:17px;background:radial-gradient(ellipse at 50% 50%,#2a8aad17,transparent 57%);box-shadow:inset 0 0 34px #54c9ef0c}.formation-grid:after{content:"";position:absolute;top:50%;left:5%;width:90%;border-top:1px solid #83b4da45}.slot{position:absolute;z-index:1;width:112px;height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #7791b855;border-radius:9px;background:#0f1c2d;color:#8fa2c1;transform:translateX(-50%);transition:.2s}.slot span{max-width:95px;overflow:hidden;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.slot i{margin-top:4px;color:#657a9c;font:800 10px "Barlow Condensed";font-style:normal}.slot.filled{border-style:solid;border-color:var(--accent);background:linear-gradient(145deg,var(--slotbg),#101828);box-shadow:0 6px 17px #0008}.slot.filled .slot-power{color:var(--accent);font:800 26px "Barlow Condensed"}.slot.swap-selected{outline:2px solid var(--gold);transform:translateX(-50%) translateY(-4px)}.formation-grid.five .top{left:20%;top:36px}.formation-grid.five .jungle{left:50%;top:36px}.formation-grid.five .mid{left:80%;top:36px}.formation-grid.five .adc{left:32%;top:215px}.formation-grid.five .support{left:68%;top:215px}.formation-note{position:relative;z-index:1;margin:0;color:#9aabc0;font-size:10px;line-height:1.7}.bench-section{padding:0}.compact{margin:0 0 12px}.compact h3{font-size:20px}.bench-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.bench-card{position:relative;min-height:137px;overflow:hidden;padding:12px 10px;border:1px solid var(--accent);border-radius:9px;background:linear-gradient(145deg,var(--c1),#111827 80%);color:var(--ink);text-align:left;cursor:pointer;box-shadow:inset 0 1px #ffffff0d,0 8px 18px #0004;transition:.2s}.bench-card:hover{transform:translateY(-3px);box-shadow:0 12px 23px #0008}.bench-card.selected{outline:2px solid var(--gold);transform:translateY(-3px)}.bench-rarity{color:var(--accent);font:800 12px "Noto Sans SC"}.bench-card b{display:block;margin-top:12px;overflow:hidden;font-size:21px;line-height:1.1;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.bench-card small{display:block;margin-top:6px;overflow:hidden;color:#c0cde2;font:700 11px "Barlow Condensed";text-overflow:ellipsis;white-space:nowrap}.bench-card small i{padding:0 3px;font-style:normal}.bench-card strong{position:absolute;right:9px;bottom:9px;color:#e5ecfa;font:800 19px "Barlow Condensed"}.commander-area{margin-top:17px;padding-top:16px;border-top:1px solid var(--line)}.commander-area h3{margin:0;font-size:18px}.commander-area p{margin:6px 0 10px;color:var(--muted);font-size:11px;line-height:1.65}.commander-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.commander-choice{padding:9px;border:1px solid var(--line);border-radius:7px;background:#101827;color:#dce6f7;text-align:left;cursor:pointer}.commander-choice span{display:block;overflow:hidden;font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.commander-choice small{display:block;margin-top:3px;color:#90a0b8;font:700 10px "Barlow Condensed"}.commander-choice.selected{border-color:var(--gold);background:#2b2415;box-shadow:0 0 15px #f5ca5b20}.commander-choice.selected span{color:#ffe19a}.game-dialog{width:min(880px,calc(100vw - 30px));max-width:880px;border:0;background:transparent;padding:0}.game-dialog::backdrop{background:#02060ddc;backdrop-filter:blur(5px)}.tactic-modal,.history-modal,.result-modal{position:relative;overflow:auto;max-height:min(86dvh,800px);border:1px solid #7fa8d875;border-radius:18px;background:radial-gradient(circle at 75% 0,#2b5d8e4d,transparent 43%),linear-gradient(145deg,#102139,#0b1422 75%);box-shadow:0 28px 80px #000c}.tactic-modal{padding:30px}.tactic-modal h2,.history-modal h2{margin:4px 0 7px;font-size:28px}.tactic-modal>p:not(.eyebrow){margin:0;color:#a6b8ce;font-size:12px}.modal-close{position:absolute;z-index:3;top:10px;right:12px;width:34px;height:34px;border:1px solid #6887a466;border-radius:50%;background:#0d1929;color:#c8d8ee;font-size:23px;line-height:1;cursor:pointer}.modal-close:hover{border-color:var(--cyan);color:#fff}.tactic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}.tactic-card{position:relative;min-height:118px;padding:13px;border:1px solid #607da657;border-radius:10px;background:linear-gradient(145deg,#14243c,#0c1625);color:#eaf2ff;text-align:left;cursor:pointer;transition:.18s}.tactic-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--cyan);opacity:.6}.tactic-card:hover,.tactic-card.selected{border-color:var(--gold);background:linear-gradient(145deg,#2d281a,#151521);transform:translateY(-2px);box-shadow:0 10px 20px #0006}.tactic-card.selected:before{background:var(--gold);opacity:1}.tactic-card span{display:block;color:var(--cyan);font:800 9px "Barlow Condensed";letter-spacing:.14em}.tactic-card b{display:block;margin-top:6px;font-size:17px}.tactic-card small{display:block;margin-top:5px;color:#99abc2;font-size:10px;line-height:1.55}.tactic-card em{position:absolute;right:11px;bottom:11px;color:var(--gold);font:800 19px "Barlow Condensed";font-style:normal}.fifa-result{max-width:590px;margin:auto;padding:34px 31px 28px;text-align:center}.result-tier{display:grid;place-items:center;width:78px;height:78px;margin:10px auto;border:2px solid var(--gold);border-radius:50%;background:radial-gradient(circle,#f3c75824,transparent 67%);color:var(--gold);font:800 34px "Barlow Condensed";text-shadow:0 0 20px #f1c95b75}.result-modal h2{margin:8px 0;font-size:28px}.result-modal>p:not(.eyebrow){margin:0;color:#bec9d8;font-size:13px;line-height:1.75}.result-score{margin:19px 0 10px;padding:13px;border:1px solid #7595bc3d;border-radius:10px;background:#07101d9c}.result-score span{color:#a4b3c8;font-size:11px}.result-score b{display:block;color:var(--gold);font:800 48px/1 "Barlow Condensed"}.result-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.result-breakdown span{padding:8px 4px;border:1px solid #5c7c9d43;border-radius:6px;background:#0b1625;color:#9cadc4;font-size:10px}.result-breakdown b{display:block;margin-top:2px;color:#edf4ff;font:800 16px "Barlow Condensed"}.result-highlights{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.result-highlights article{padding:10px;border:1px solid #5c7c9d43;border-radius:8px;background:#101c2d;text-align:left}.result-highlights span,.result-highlights small{display:block;color:#91a5c0;font-size:10px}.result-highlights b{display:block;margin:4px 0;color:#f3f7ff;font-size:17px}.result-highlights article:first-child b{color:var(--gold)}.result-highlights article:last-child b{color:var(--cyan)}.result-detail{margin:13px 0 16px;color:#aebdd1;font-size:11px;line-height:1.7}.result-actions{display:flex;align-items:center;justify-content:center;gap:9px}.history-modal{padding:30px}.history-score-big{color:var(--gold);font:800 56px/1 "Barlow Condensed"}.history-detail-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:13px;text-align:left}.history-detail-head>span{display:grid;place-items:center;width:51px;height:51px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:800 21px "Barlow Condensed"}.history-detail-head h2{margin:0;font-size:22px}.history-detail-head p{margin:3px 0 0;color:#9aabc1;font-size:11px}.history-detail-head>b{color:var(--gold);font:800 37px "Barlow Condensed"}.detail-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:18px 0}.detail-breakdown span{padding:8px;border:1px solid var(--line);border-radius:6px;background:#0b1625;color:#b7c7da;font:700 11px "Barlow Condensed"}.detail-line{margin:8px 0;color:#adbed2;font-size:12px}.detail-roster{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:15px 0 0;padding:0;list-style:none}.detail-roster li{padding:9px;border:1px solid #5e7da04b;border-radius:7px;background:#0b1524}.detail-roster span{display:block;color:var(--cyan);font:800 10px "Barlow Condensed"}.detail-roster b{display:block;overflow:hidden;margin-top:4px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.detail-roster small{display:block;overflow:hidden;margin-top:4px;color:#9aaac1;font-size:9px;text-overflow:ellipsis;white-space:nowrap}

/* 榜单、说明、个人页 */
.rank-actions{display:flex;gap:8px}.rank-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.rank-summary>div{padding:18px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,#101d30,#0c1524)}.rank-summary span{display:block;color:var(--muted);font-size:11px}.rank-summary b{display:block;margin-top:5px;color:var(--gold);font:800 31px/1 "Barlow Condensed"}.rank-tabs{display:flex;gap:22px;margin:30px 0 13px;border-bottom:1px solid var(--line)}.rank-tabs button{padding:0 0 11px;border:0;border-bottom:2px solid transparent;background:none;color:#91a1b8;font:800 13px "Noto Sans SC";cursor:pointer}.rank-tabs button.active{border-color:var(--gold);color:var(--gold)}.rank-panel{display:none}.rank-panel.active{display:block}.rank-caption{margin:0 0 10px;color:#93a6c1;font-size:11px}.leaderboard-list,.history-list{display:grid;gap:8px}.rank-row,.history-item{display:flex;align-items:center;gap:12px;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:linear-gradient(100deg,#0e1928,#0b1422);color:var(--ink);text-align:left}.rank-place{width:26px;color:#778ba7;font:800 23px "Barlow Condensed";text-align:center}.rank-row.top-1 .rank-place{color:var(--gold)}.rank-row.top-2 .rank-place{color:#ccd8e8}.rank-row.top-3 .rank-place{color:#d79b62}.rank-row div,.history-item div{min-width:0}.rank-row b,.history-item b{display:block;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.rank-row small,.history-item small{display:block;overflow:hidden;margin-top:3px;color:#94a7c0;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.rank-row em{margin-left:auto;color:#a2b5cc;font:800 15px "Barlow Condensed";font-style:normal}.rank-row strong,.history-item strong{color:var(--gold);font:800 25px "Barlow Condensed"}.room-controls{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;padding:20px;border:1px solid #6c8eb45a;border-radius:12px;background:radial-gradient(circle at 100% 0,#31658c40,transparent 43%),#0d1726}.room-controls h3{margin:0;font-size:22px}.room-controls p:not(.eyebrow){margin:7px 0 0;color:#9db0c8;font-size:12px;line-height:1.7}.room-actions{display:flex;flex-direction:column;justify-content:center;gap:9px}.room-join{display:flex;overflow:hidden;border:1px solid #6682a863;border-radius:7px;background:#091525}.room-join input{min-width:0;width:100%;border:0;padding:0 10px;background:transparent;color:#e9f3ff;font:800 12px "Barlow Condensed";letter-spacing:.08em;outline:none}.room-join button{border:0;padding:9px 12px;background:#1b3856;color:#e8f4ff;font:800 12px "Noto Sans SC";cursor:pointer}.active-room{margin:10px 0;padding:10px 12px;border-left:3px solid var(--cyan);background:#10253a;color:#cde8fa;font-size:12px}.room-transfer{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}.history-section{margin-top:37px}.history-item{cursor:pointer}.history-item:hover{border-color:#84b9eb9a;background:#11233a}.history-rank{display:grid;place-items:center;width:33px;height:33px;border:1px solid #6d8aa861;border-radius:50%;color:var(--gold);font:800 15px "Barlow Condensed"}.history-item em{margin-left:auto;color:#90a5c0;font:700 11px "Noto Sans SC";font-style:normal}.empty-history{padding:38px 16px;border:1px dashed #6684a75d;border-radius:9px;color:#8394aa;text-align:center;font-size:12px}.guide-page{max-width:840px;margin:auto}.guide-hero{padding:54px 10px 29px;text-align:center}.guide-hero h2{margin:0;font-size:32px}.guide-hero p:last-child{max-width:570px;margin:15px auto 0;color:#a9b9ce;font-size:13px;line-height:1.8}.guide-card{margin:11px 0;padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#111e31,#0c1523)}.guide-card h3{margin:0;color:var(--gold);font:800 20px "Barlow Condensed"}.guide-card h3 span{margin-left:9px;color:#eef4ff;font:800 17px "Noto Sans SC"}.guide-card p{margin:11px 0 0;color:#b0bed2;font-size:13px;line-height:1.9}.guide-card b{color:#ffda81}.guide-odds{justify-content:flex-start;margin-top:13px}.profile-card{max-width:670px;margin:45px auto 17px;padding:40px 25px;border:1px solid #6e98ca64;border-radius:17px;background:radial-gradient(circle at 50% 0,#2e5e8a44,transparent 44%),linear-gradient(145deg,#142640,#0b1422);text-align:center}.avatar{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 16px;border:1px solid #f2d278;border-radius:50%;background:linear-gradient(145deg,#f9dc7d,#a47224);color:#101522;font:800 42px "Barlow Condensed";box-shadow:0 0 25px #e8b94843}.profile-card h2{margin:0;font-size:25px}.profile-card>p:last-of-type{color:var(--muted);font-size:12px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.profile-stats b{display:block;color:var(--gold);font:800 30px "Barlow Condensed"}.profile-stats span{color:var(--muted);font-size:10px}.profile-settings,.local-data-panel{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:15px;max-width:790px;margin:12px auto;padding:18px;border:1px solid var(--line);border-radius:11px;background:#0d1828}.profile-settings h3,.local-data-panel h3{margin:0;font-size:18px}.profile-settings p:not(.eyebrow),.local-data-panel p:not(.eyebrow){margin:5px 0 0;color:#9eb0c6;font-size:11px;line-height:1.65}.profile-settings label{display:grid;gap:5px;color:#a8b9ce;font-size:11px;font-weight:700}.profile-settings input{width:150px;height:35px;border:1px solid #6683a965;border-radius:6px;padding:0 9px;background:#081424;color:#eff6ff;font:700 12px "Noto Sans SC";outline:none}.profile-settings input:focus{border-color:var(--cyan)}.local-data-panel>div:last-child{display:flex;gap:8px}.full{display:block;width:100%;max-width:790px;margin:16px auto}

.bottom-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:flex;justify-content:center;gap:7%;height:76px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #789bc745;background:#07101df2;backdrop-filter:blur(19px)}.nav-item{min-width:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;background:none;color:#7f91a9;font:700 11px "Noto Sans SC";cursor:pointer}.nav-item i{font-size:19px;font-style:normal}.nav-item.active{color:var(--gold)}.toast{position:fixed;z-index:50;bottom:95px;left:50%;max-width:calc(100vw - 34px);padding:10px 14px;border:1px solid #d5eaff71;border-radius:7px;background:#eaf4ff;color:#0c1829;font-size:12px;opacity:0;pointer-events:none;transform:translate(-50%,20px);transition:.25s;box-shadow:0 10px 24px #0006}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:1180px){.app-shell{padding-right:28px;padding-left:28px}.candidate-area{gap:9px}.candidate-card{min-height:286px;padding:14px}.card-name{font-size:26px}.team-list{grid-template-columns:repeat(3,1fr)}.score-ribbon{grid-template-columns:repeat(4,1fr)}.tactic-open-btn{grid-column:1/-1;min-height:45px;padding:10px 16px}.board-layout{grid-template-columns:1fr}.bench-grid{grid-template-columns:repeat(5,1fr)}.bench-card{min-height:123px}.bench-card b{font-size:17px}.bench-card strong{font-size:16px}}
@media(max-width:820px){.app-shell{padding-right:18px;padding-left:18px}.season-chip{display:none}.hero{grid-template-columns:1fr;min-height:520px}.hero-copy{padding:45px 34px}.hero-art{position:absolute;right:0;bottom:0;left:0;height:270px;opacity:.72;pointer-events:none}.hero h1{font-size:42px}.hero-metrics{margin-top:27px}.home-dashboard{grid-template-columns:1fr}.team-list{grid-template-columns:repeat(2,1fr)}.candidate-area{grid-template-columns:repeat(5,minmax(148px,1fr));overflow-x:auto;padding:4px 3px 12px}.candidate-card{min-height:270px}.draft-hero-control{align-items:stretch;flex-direction:column}.target-position{width:min(100%,340px);margin:auto}.draw-actions{justify-content:center}.contract-strip{grid-template-columns:repeat(3,1fr)}.board-head,.fifa-section-head{align-items:start}.room-controls{grid-template-columns:1fr}.profile-settings,.local-data-panel{grid-template-columns:1fr}.profile-settings input{width:100%}.local-data-panel>div:last-child{justify-content:flex-start}.tactic-grid{grid-template-columns:repeat(2,1fr)}.detail-roster{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.app-shell{padding:0 13px calc(87px + env(safe-area-inset-bottom))}.topbar{min-height:62px}.brand{font-size:13px}.brand-mark{width:28px;height:28px;font-size:20px}.brand i{font-size:7px}.pool-badge{gap:4px;font-size:9px}.pool-badge b{font-size:21px}.sound-btn{display:none}.hero{min-height:550px;margin:16px 0 14px;border-radius:15px}.hero-copy{padding:34px 24px}.hero h1{font-size:35px}.hero-desc{font-size:12px;line-height:1.8}.hero-actions{gap:5px;margin-top:22px}.primary-btn{padding:12px 14px;font-size:12px}.hero-metrics{gap:17px;margin-top:23px}.hero-metrics b{font-size:23px}.hero-art{height:235px}.ring-a{width:270px;height:270px;top:10px}.ring-b{width:340px;height:340px;top:-28px}.trophy-core{top:37px;width:105px;height:105px}.trophy-core b{font-size:40px}.hero-card-mini{width:91px;height:122px;padding:9px;border-radius:9px}.hero-card-mini b{margin-top:14px;font-size:38px}.hero-card-mini i{bottom:8px;font-size:7px}.card-s{top:62px;left:calc(50% - 140px)}.card-l{top:118px;left:calc(50% - 44px)}.card-r{top:62px;right:calc(50% - 140px)}.home-dashboard article{padding:12px}.feature-num{font-size:25px}.team-list{grid-template-columns:1fr 1fr;gap:7px}.team-entry{padding:10px;gap:8px}.team-entry>small{display:none}.section-head{margin-top:31px}.section-head h2{font-size:23px}.home-archive>span{max-width:160px;text-align:right;font-size:10px}.fifa-section-head,.board-head{margin:25px 0 13px}.fifa-section-head h2,.board-head h2{font-size:26px}.fifa-section-head p:last-child,.board-head p{font-size:11px}.draw-counter b,.team-power b{font-size:43px}.fifa-stage{padding:11px;border-radius:13px}.stage-topline{align-items:flex-start;flex-direction:column}.stage-info{font-size:11px;line-height:1.55}.rarity-odds{justify-content:flex-start}.draft-hero-control{margin:10px 0 13px}.target-position{padding:8px 16px}.target-position b{font-size:21px}.draw-actions{display:grid;grid-template-columns:1fr 105px;width:100%}.draw-btn{justify-content:center;min-height:46px;padding:9px;font-size:12px}.draw-btn small{display:none}.reveal-all-btn{min-height:46px;padding:0 6px;font-size:11px}.candidate-area{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;overflow:visible;gap:9px;padding:0}.candidate-card{min-height:235px;padding:13px 12px;border-radius:11px}.rift-seal{top:10px;right:9px;width:34px;height:34px}.rift-seal b{font-size:17px}.rift-seal small{font-size:6px}.rarity-label{padding:4px 6px;font-size:14px}.card-team{margin-top:9px;font-size:11px}.card-team b{font-size:12px}.card-name{max-width:100%;margin-top:43px;font-size:25px}.card-role-line{margin-top:12px;font-size:9px}.role-badge{padding:6px 8px;font-size:11px}.card-back small{font-size:10px}.position-picker{justify-content:flex-start;min-height:52px;margin-top:10px;font-size:11px}.position-choice{min-height:33px;padding:5px 8px;font-size:11px}.draft-bottom{flex-wrap:wrap;gap:7px;font-size:10px}.draft-bottom>span{order:3;width:100%;text-align:center}.locked-strip{margin-top:13px}.contract-strip{grid-template-columns:repeat(3,1fr);gap:6px}.contract-mini{padding:7px}.contract-mini b{font-size:10px}.contract-mini span{font-size:9px}.go-board-btn,.settle-btn{margin-top:16px;padding:12px 15px;font-size:12px}.score-ribbon{grid-template-columns:repeat(2,1fr)}.score-ribbon>div{padding:10px}.score-ribbon b{font-size:21px}.tactic-open-btn{grid-column:1/-1;min-height:43px}.swap-notice{padding:9px 11px}.swap-notice i{display:none}.formation{padding:13px}.formation-grid{height:310px;margin:10px 0}.slot{width:91px;height:67px}.slot span{max-width:78px;font-size:11px}.formation-grid.five .top{left:18%;top:27px}.formation-grid.five .jungle{left:50%;top:27px}.formation-grid.five .mid{left:82%;top:27px}.formation-grid.five .adc{left:31%;top:190px}.formation-grid.five .support{left:69%;top:190px}.bench-grid{grid-template-columns:repeat(2,1fr)}.bench-card{min-height:116px}.bench-card b{font-size:18px}.bench-card strong{font-size:16px}.commander-list{grid-template-columns:repeat(2,1fr)}.rank-actions{gap:5px}.rank-actions .small-outline{padding:7px}.rank-summary{gap:7px}.rank-summary>div{padding:12px 9px}.rank-summary b{font-size:25px}.rank-tabs{gap:16px;margin-top:24px}.rank-tabs button{font-size:11px}.rank-row,.history-item{gap:9px;padding:11px}.rank-place{width:20px;font-size:20px}.rank-row em{display:none}.history-item em{display:none}.history-item strong,.rank-row strong{font-size:22px}.room-controls{padding:15px}.room-controls h3{font-size:19px}.room-transfer{gap:5px}.room-transfer .small-outline{padding:7px}.history-section{margin-top:28px}.guide-hero{padding:35px 10px 22px}.guide-hero h2{font-size:28px}.guide-card{padding:16px}.guide-card p{font-size:12px;line-height:1.8}.profile-card{margin-top:29px;padding:31px 19px}.profile-settings,.local-data-panel{padding:14px}.local-data-panel>div:last-child{flex-wrap:wrap}.bottom-nav{height:68px;justify-content:space-around;gap:0}.nav-item{min-width:0;font-size:10px}.nav-item i{font-size:17px}.game-dialog{width:100%;max-width:100%;margin:0;padding:0;align-self:end}.tactic-modal,.history-modal,.result-modal{max-height:88dvh;border-right:0;border-bottom:0;border-left:0;border-radius:17px 17px 0 0}.tactic-modal{padding:26px 16px 22px}.tactic-modal h2{font-size:24px}.tactic-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:15px}.tactic-card{min-height:108px;padding:11px}.tactic-card b{font-size:15px}.tactic-card small{font-size:9px}.tactic-card em{font-size:17px}.fifa-result{padding:29px 17px 21px}.result-breakdown{gap:4px}.result-breakdown span{font-size:9px}.result-highlights{gap:5px}.result-actions{flex-direction:column-reverse}.result-actions>*{width:100%}.history-modal{padding:27px 16px}.detail-breakdown{grid-template-columns:repeat(2,1fr)}.detail-roster{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* 弹窗内容在小屏设备中由面板自身滚动，避免长结算被系统底栏遮住。 */
.game-dialog{max-height:calc(100dvh - 16px);overflow:hidden}
.tactic-modal,.history-modal,.result-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
@media(max-width:600px){
  .game-dialog[open]{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;width:100vw;height:100dvh;max-width:none;max-height:100dvh;margin:0;padding:0;touch-action:pan-y}
  .tactic-modal,.history-modal,.result-modal{width:100%;max-height:min(88dvh,760px);margin:0;padding-bottom:calc(21px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;scroll-padding-bottom:calc(20px + env(safe-area-inset-bottom));scrollbar-width:thin}
  .result-actions{padding-bottom:calc(2px + env(safe-area-inset-bottom))}
}
