:root{color-scheme:dark;--bg:#071528;--surface:#112744;--surface2:#193554;--stroke:#335477;--light:#ecf7ff;--muted:#9eb6d1;--gold:#f4c562;--mint:#7ff2b8;--blue:#84caff;--pink:#e59ce9}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100dvh;font-family:ui-rounded,"SF Pro Rounded","Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 50% -20%,#1c4c70 0%,#0b213d 28%,#071528 57%);color:var(--light);-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.app{width:min(100%,530px);margin:auto;padding:0 14px calc(96px + env(safe-area-inset-bottom));min-height:100dvh;border-inline:1px solid #28405e2a;background:linear-gradient(180deg,#0f2b4a70 0%,#07152830 55%)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 1px 14px;gap:10px}.brand{display:flex;align-items:center;gap:8px}.brand-ball{font-size:29px;filter:drop-shadow(0 3px 5px #0006)}.brand strong{font-weight:1000;font-size:19px;letter-spacing:-1px;white-space:nowrap}.brand em{font-style:normal;color:var(--gold)}.brand small{display:block;color:#86b3cf;font-size:8px;letter-spacing:1.1px;font-weight:900;margin-top:1px}.icon-btn{border:1px solid #5d87a5;background:#224463b9;border-radius:50%;font-weight:900;font-size:21px;width:35px;height:35px;flex-shrink:0}.wallet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}.wallet-pill{position:relative;min-height:59px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:28px 16px;align-items:center;column-gap:3px;padding:7px 7px 6px;background:linear-gradient(145deg,#193755,#10253f);border:1px solid #355474;border-radius:14px;box-shadow:0 4px 14px #00152f30}.wallet-pill>span{grid-row:1/3;font-size:24px;line-height:1}.wallet-pill strong{font-variant-numeric:tabular-nums;font-size:17px;font-weight:1000;white-space:nowrap}.wallet-pill small{color:var(--muted);font-size:9px;letter-spacing:.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-pill.energy{border-color:#56774e}.stadium-hero{position:relative;overflow:hidden;padding:15px 15px 0;border:1px solid #5487b1;border-radius:21px;background:radial-gradient(ellipse at 85% 10%,#315c8a 1%,#193a5f 44%,#0c243f 85%);box-shadow:0 14px 35px #0008}.stadium-hero:before{position:absolute;inset:-10%;content:"";background:repeating-linear-gradient(125deg,#d2ecff04 0 2px,transparent 2px 14px);pointer-events:none}.hero-kicker{font-size:10px;letter-spacing:1.4px;color:#ade3ff;font-weight:950}.live-dot{display:inline-block;background:#79ffc2;width:7px;height:7px;border-radius:50%;box-shadow:0 0 8px #5affaa;margin-right:5px}.hero-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px}.hero-title h1{font-size:25px;line-height:1.05;letter-spacing:-1px;margin:0;text-shadow:0 2px 10px #0006}.hero-title p{font-size:11px;color:#b9d5ec;margin:6px 0 0}.club-emblem{border:3px double #e6c878;background:linear-gradient(145deg,#284976,#102846);height:52px;width:48px;clip-path:polygon(50% 0,100% 12%,95% 69%,50% 100%,5% 69%,0 12%);display:flex;align-items:center;justify-content:center;gap:2px;font-size:8px;color:var(--gold);box-shadow:0 5px 12px #0008}.club-emblem span{font-size:12px;font-weight:1000}#stadium-art{display:block;width:calc(100% + 30px);margin:1px -15px -17px;max-height:205px}.hero-bottom{display:flex;position:relative;align-items:center;justify-content:space-between;margin:0 -15px;padding:12px 14px;background:#092039df;border-top:1px solid #477da777;z-index:1}.hero-bottom>div{display:flex;align-items:center;gap:6px}.hero-bottom strong{font-size:15px}.hero-bottom small{font-size:11px;color:#b8d0e2}.pill-btn{padding:8px 15px;border:1px solid #ffe5a1;border-radius:22px;color:#332715;background:linear-gradient(#ffe8a3,#e5ad4b);box-shadow:0 4px 0 #a8792d;font-weight:1000;font-size:12px;letter-spacing:.5px}.pill-btn span{margin-left:5px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:21px 3px 12px}.section-head h2{font-size:22px;letter-spacing:-.5px;margin:2px 0 0}.section-head h3{font-size:17px;margin:0}.section-head small{font-size:10px;color:var(--muted)}.eyebrow{font-size:9px;font-weight:1000;letter-spacing:2px;color:var(--mint)}.count{font-size:11px;font-weight:700;vertical-align:middle;color:#9fb5cb}.subtle-btn{border:1px solid #416482;color:#b3d4ef;background:#183551;border-radius:12px;font-size:11px;font-weight:800;padding:10px 11px;white-space:nowrap}.screen{display:none}.screen.active{display:block;animation:appear .16s ease-out}@keyframes appear{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.board-panel{border-radius:20px;padding:10px;background:linear-gradient(140deg,#234969,#0e2742);border:1px solid #507e9b;box-shadow:inset 0 2px 2px #ffffff17,0 10px 22px #0005}.board{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;touch-action:pan-y;user-select:none}.cell{height:auto;aspect-ratio:1/1;border:1px solid #416584;background:linear-gradient(145deg,#214364,#16304d);border-radius:11px;position:relative;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:inset 0 2px 3px #ffffff0d,inset 0 -3px 5px #0003;min-width:0}.cell.empty:before{content:'+';opacity:.08;font-size:24px}.cell.item{background:linear-gradient(140deg,#46749b,#274c77);border-color:#6e99b5;box-shadow:inset 0 2px 5px #ffffff27,0 3px 5px #0004}.cell.item[data-series=ball]{background:linear-gradient(145deg,#3b7e83,#23555f)}.cell.item[data-series=kit]{background:linear-gradient(145deg,#6a5398,#3a346e)}.cell.item[data-series=fan]{background:linear-gradient(145deg,#a7734c,#664329)}.cell.selected{outline:3px solid #ffcf63;z-index:2;box-shadow:0 0 13px #ffc75877,inset 0 2px 4px #ffffff37}.cell.available{border-color:#d0fbd9;animation:pulse-border 1.3s infinite}.cell.generator{background:linear-gradient(145deg,#277a79,#154e5c);border-color:#64e2bf;box-shadow:0 0 0 1px #53e8b944,inset 0 2px 8px #d0fff722}.cell.generator[data-series=kit]{background:linear-gradient(145deg,#6e5db3,#453e82);border-color:#b5a6f4}.cell.generator[data-series=fan]{background:linear-gradient(145deg,#b48a43,#715122);border-color:#f3cb76}.tile-emoji{font-size:clamp(21px,7.6vw,37px);line-height:1;filter:drop-shadow(0 4px 2px #0004);pointer-events:none}.tile-level{position:absolute;bottom:2px;right:4px;font-size:9px;font-weight:1000;background:#081f35b8;color:#ecf9ff;padding:1px 3px;border-radius:4px;pointer-events:none}.generator-label{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:8px;font-weight:1000;background:#062c37a8;line-height:1.5;pointer-events:none}.generator .tile-emoji{transform:translateY(-4px)}.generator-zap{position:absolute;top:2px;right:3px;font-size:11px;pointer-events:none}@keyframes pulse-border{50%{box-shadow:0 0 0 2px #bdfbd888}}.board-hint{border-top:1px solid #406787;margin-top:9px;padding:10px 3px 2px;font-size:11px;line-height:1.4;color:#c4dced;text-align:center;min-height:35px}.order-head{margin-top:19px}.orders{display:grid;gap:9px}.order{display:flex;align-items:center;gap:10px;padding:10px;background:linear-gradient(140deg,#1b3655,#102540);border:1px solid #3e5c7c;border-radius:15px}.order-icon{width:53px;height:53px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #6689ad;border-radius:13px;background:#27486b;flex-shrink:0}.order-icon span{font-size:27px;line-height:1.1}.order-icon small{font-size:8px;font-weight:800;color:#d5e6f3}.order-details{flex:1;min-width:0}.order-details strong{display:block;font-size:13px}.order-details small{font-size:11px;color:#b5c9de}.order-rewards{display:flex;gap:8px;font-size:10px;color:#ffd88a;margin-top:5px;font-weight:900}.action-btn{border:1px solid #b8ffd0;border-radius:11px;background:linear-gradient(180deg,#66d9a1,#32946b);color:#052b21;font-size:11px;font-weight:1000;padding:10px 10px;box-shadow:0 3px 0 #1a684d;white-space:nowrap}.action-btn[disabled]{background:#3d586b;box-shadow:none;color:#a4b4c3;border-color:#627a86;cursor:default}.tip{font-size:11px;line-height:1.55;color:#b2cce0;background:#152f4b;border:1px dashed #476482;border-radius:14px;padding:12px;margin:15px 0}.tip strong{color:#ffdb8f}.story-card{display:flex;gap:11px;align-items:center;padding:13px;border-radius:15px;background:linear-gradient(120deg,#2c4068,#1b2c49);border:1px solid #536796}.story-card .avatar{font-size:36px;background:#466aa0;width:60px;height:60px;border-radius:16px;display:grid;place-items:center;flex-shrink:0}.story-card p{margin:0;font-size:12px;line-height:1.5;color:#e2ebf6}.story-card strong{display:block;color:#ffe49d;margin-bottom:3px}.progress-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:21px 2px 8px}.progress-head span{color:var(--mint)}.progress{height:13px;background:#071f35;border:1px solid #3c5874;border-radius:20px;padding:2px}.progress>div{height:100%;width:0%;border-radius:20px;background:linear-gradient(90deg,#33bf84,#97eebc);transition:width .35s}.reno-list,.quest-list,.shop-list{display:grid;gap:10px;margin-top:14px}.reno,.quest,.shop-product{display:flex;align-items:center;gap:10px;padding:12px;border-radius:15px;border:1px solid #3b5876;background:linear-gradient(125deg,#1b3856,#10273e)}.reno.done{background:linear-gradient(125deg,#1c5148,#17384c);border-color:#397c68}.reno.locked{opacity:.68}.reno-icon,.quest-icon,.shop-icon{width:45px;height:45px;flex-shrink:0;display:grid;place-items:center;border-radius:13px;background:#31516d;font-size:23px}.reno-text,.quest-text,.shop-text{flex:1;min-width:0}.reno strong,.quest strong,.shop-product strong{display:block;font-size:13px}.reno small,.quest small,.shop-product small{display:block;color:#a8c1d6;font-size:10px;line-height:1.5;margin-top:2px}.reno .cost{display:block;color:var(--gold);font-weight:900;font-size:10px;margin-top:4px}.match-card{background:radial-gradient(circle at 50% -20%,#3c7369,#18415a 38%,#112841 90%);border-radius:21px;padding:18px 15px;border:1px solid #477d80;box-shadow:0 8px 26px #0007;text-align:center}.match-header{font-size:10px;letter-spacing:1.3px;color:#b4e7da;font-weight:950}.match-line{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:26px 0 21px}.team{display:flex;flex-direction:column;align-items:center;gap:9px}.team strong{font-size:12px}.crest{width:59px;height:68px;display:grid;place-items:center;background:linear-gradient(145deg,#e7ca80,#ae772d);clip-path:polygon(50% 0,100% 13%,93% 73%,50% 100%,7% 73%,0 13%);font-size:28px;color:#19384e}.crest.rival{background:linear-gradient(145deg,#e7a3bb,#8b4569);color:#fff}.vs{font-size:25px;font-weight:1000;color:#c9dae4}.match-card p{font-size:12px;line-height:1.5;color:#d6e7ec;min-height:36px}.score{font-size:23px;letter-spacing:9px;margin:13px 0 18px}.match-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.match-actions button{font-size:10px;font-weight:1000;padding:12px 3px;border-radius:10px;background:linear-gradient(#ffd97a,#e9a745);color:#3b2b0c;border:1px solid #ffecb0}.match-actions button:disabled{opacity:.35}.match-ticket{margin:15px 0 0;font-size:11px;color:#cde8dd;font-weight:800}.daily-card{display:flex;align-items:center;gap:11px;background:linear-gradient(135deg,#58458d,#312f62);border:1px solid #8272a9;border-radius:17px;padding:13px}.daily-icon{font-size:30px}.daily-card>div:nth-child(2){flex:1}.daily-card strong{font-size:13px}.daily-card p{font-size:10px;color:#dfd0ee;margin:3px 0 0}.daily-card .action-btn{padding:9px 8px;font-size:9px}.quest .progress{height:9px;margin-top:8px}.quest .action-btn,.shop-product .action-btn{padding:9px 8px}.reset-link{font-size:11px;color:#cd97ad;text-decoration:underline;background:none;border:0;padding:14px 8px;margin:16px auto 0;display:block}.tabbar{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,530px);display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(#1a3957,#0b223c);border:1px solid #3d688b;border-bottom:0;border-radius:19px 19px 0 0;padding:9px 5px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -9px 20px #0007;gap:2px}.tab{border:0;background:transparent;color:#8eabc4;display:grid;place-items:center;gap:3px;padding:7px 1px 3px;border-radius:11px}.tab span{font-size:22px;line-height:1}.tab small{font-size:9px;font-weight:1000;letter-spacing:.15px}.tab.active{color:#ffe6ad;background:linear-gradient(#44618c,#2b486b)}.toast{position:fixed;z-index:50;bottom:calc(90px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%) translateY(25px);opacity:0;max-width:calc(100% - 48px);width:max-content;white-space:normal;text-align:center;background:#163d57;color:#f0fcff;border:1px solid #83d6ad;border-radius:15px;padding:12px 18px;box-shadow:0 9px 25px #0009;font-size:12px;font-weight:800;pointer-events:none;transition:opacity .18s,transform .18s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal-overlay{position:fixed;inset:0;background:#03101ed9;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px}.modal-overlay.hidden{display:none}.modal{max-width:460px;width:100%;max-height:85dvh;overflow:auto;background:linear-gradient(145deg,#21436a,#102944);border:1px solid #7cb9d7;border-radius:23px;padding:21px;box-shadow:0 20px 50px #000b}.modal-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px}.modal h2{font-size:20px;margin:0}.modal p{font-size:13px;line-height:1.55;color:#dcecf5}.modal small{display:block;color:#b2c5d6;font-size:10px;margin-top:14px}.wide{width:100%;font-size:14px;padding:14px}.mono{font-variant-numeric:tabular-nums}@media(min-width:700px){body{padding:18px 0}.app{border:1px solid #375979;border-radius:23px;overflow:hidden;min-height:calc(100dvh - 36px)}.tabbar{bottom:0}}@media(max-width:360px){.app{padding-left:10px;padding-right:10px}.board{gap:4px}.cell{border-radius:8px}.wallet-pill strong{font-size:14px}.order{padding:8px}.order-icon{width:44px;height:48px}.brand strong{font-size:16px}}

.selected-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #426481;padding:9px 4px 0;margin-top:6px;min-height:40px}.selected-actions span{font-size:10px;color:#b7d4e7}.selected-actions button{font-size:10px;font-weight:1000;background:#ffe1a1;color:#654316;border:1px solid #f9c16e;border-radius:9px;padding:6px 10px}.selected-actions button:disabled{opacity:.35;cursor:default}

/* Football Dreams V0.2 — ateliers progressifs et carnet de collection */
.workshop-panel,.collection-panel{background:linear-gradient(145deg,#122f4b,#0a203a);border:1px solid rgba(151,195,241,.18);border-radius:18px;padding:14px;margin:10px 0 15px;box-shadow:0 8px 24px rgba(0,0,0,.10)}
.workshop-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}
.workshop-heading small,.workshop-panel p,.workshop-next,.reno-range{font-size:11px;color:#b8cadc;line-height:1.4}
.workshop-panel p{margin:7px 0 11px}
.workshops{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:2px 1px 9px}
.workshop-chip{border-radius:14px;border:1px solid rgba(158,197,220,.25);padding:8px 11px;min-height:41px;background:#173a57;color:#e3eef9;white-space:nowrap;font-size:12px;font-weight:800;flex:none;cursor:pointer}
.workshop-chip span{font-size:17px;vertical-align:middle}.workshop-chip.active{background:linear-gradient(135deg,#37ba7c,#176e64);color:#fff;border-color:#8bf4ba;box-shadow:0 0 0 2px #ffffff13}
.workshop-next{display:block;margin-top:5px}
.collection-panel .section-head{margin-top:2px}.collections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:5px 0 2px}
.collection-card{display:flex;align-items:center;gap:8px;padding:10px 8px;border:1px solid #ffffff22;background:#ffffff0e;border-radius:12px;min-width:0}
.collection-icon{font-size:24px;flex:none}.collection-card strong{display:block;font-size:12px;line-height:1.2}.collection-card small{display:block;color:#a9c5dd;font-size:10px;margin-top:3px}.collection-locked{opacity:.54}
.chapter-label{font-size:12px;color:#eecb85;margin:12px 0 5px}.reno-range{display:block;margin:3px 0 10px}
.cell.item.item-rare{box-shadow:inset 0 0 0 2px rgba(129,184,255,.8),0 0 10px rgba(67,150,245,.25)}
.cell.item.item-epic{box-shadow:inset 0 0 0 2px rgba(255,213,117,.85),0 0 13px rgba(245,185,54,.35)}
@media(max-width:360px){.collection-card{padding:9px 6px}.collection-icon{font-size:21px}.collection-card strong{font-size:11px}}

/* Football Dreams V0.3 — événements, commandes doubles, récompenses, sauvegardes */
.top-actions{display:flex;align-items:center;gap:7px}.top-actions .icon-btn{flex-shrink:0}.shop-top{font-size:19px}
.selection-buttons{display:flex;gap:5px;align-items:center}.selection-buttons button[hidden]{display:none}
.requirements{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.requirement{display:flex;align-items:center;gap:5px;border:1px solid #3d617c;background:#21425d;border-radius:10px;padding:5px 7px;min-width:0;flex:1 1 125px}.requirement.have{border-color:#55bb8b;background:#224d47}.requirement span{font-size:25px}.requirement strong{font-size:11px}.requirement small{display:block;font-size:9px;color:#bad1e1}.order-special{border-color:#d7ba78;box-shadow:inset 0 0 0 1px #c7975233}.order-special>.order-details>strong{color:#ffe29d}.order .action-btn{flex-shrink:0}
.subheading{font-size:14px;margin:17px 1px 10px}.rewards{display:grid;gap:8px;margin:9px 0 17px}.reward-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #385b79;background:#193751;border-radius:12px;padding:11px}.reward-row strong{font-size:12px}.reward-row small{font-size:10px;color:#d0b888;display:block;margin-top:4px}.reward-row .action-btn{font-size:9px;padding:9px 8px}
.event-intro{border:1px solid #688cbd;border-radius:18px;background:radial-gradient(circle at 100% 0%,#3a5c91,#182f57 55%,#112940);padding:18px}.event-intro strong{font-size:19px}.event-intro p{font-size:12px;color:#c6d9e8;line-height:1.5;margin:6px 0 12px}.event-timer{font-size:11px;color:#ffe4a3;font-weight:900}.event-feature-icon{font-size:31px}.event-metrics{display:flex;align-items:center;gap:7px;background:#244363;border:1px solid #54759a;border-radius:13px;margin:12px 0;padding:11px 9px}.event-metrics>span:first-child{font-size:22px;font-weight:950;color:#ffe3a2}.event-metrics small{font-size:9px;color:#bcd3e2;flex:1}.event-metrics span:not(:first-child){font-size:10px;font-weight:900}.event-board{grid-template-columns:repeat(5,minmax(0,1fr));max-width:430px;margin:0 auto}.event-board .cell{aspect-ratio:1}.event-board .tile-emoji{font-size:25px}.event-board-panel{padding:10px}.event-board-panel .selected-actions{gap:5px}.donate-btn{background:linear-gradient(#fad68a,#d5a956)!important;color:#382918!important;border:1px solid #f1dba5!important;border-radius:9px;padding:7px;font-size:9px;font-weight:900;white-space:nowrap}.donate-btn:disabled{opacity:.4}
.backup-card{border:1px solid #55728e;background:#193851;border-radius:16px;padding:16px;margin-top:20px}.backup-card h3{font-size:15px;margin:0}.backup-card p{font-size:11px;color:#b9d0df;line-height:1.6}.backup-buttons{display:flex;gap:9px}.backup-buttons button{flex:1}
@media(max-width:360px){.order{flex-wrap:wrap}.order>.action-btn{margin-left:auto}.event-metrics span:not(:first-child){font-size:9px}.requirement{flex-basis:90px}}

/* Football Dreams V0.3 — vestiaire persistant */
.storage-card{background:linear-gradient(140deg,#223955,#112c47);border:1px solid #4b7594;border-radius:17px;padding:12px;margin:12px 0 17px}.storage-head{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:13px}.storage-head small,.storage-card p,.storage-card>small{font-size:10px;color:#b8cedf;line-height:1.45}.storage-card p{margin:7px 0 12px}.storage-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.storage-cell{position:relative;display:grid;place-items:center;aspect-ratio:1;background:#365976;border:1px solid #6485a0;border-radius:9px;color:#f1f7fd;padding:0}.storage-cell>span{font-size:22px}.storage-cell>small{position:absolute;bottom:0;right:2px;font-size:8px;font-weight:900;color:#f8de9d}.storage-cell.empty{opacity:.35;font-size:20px}.storage-card>small{display:block;margin-top:8px}.selected-actions{flex-wrap:wrap}.selection-buttons{flex-wrap:wrap;justify-content:flex-end}.selection-buttons button{font-size:9px!important;padding:7px!important}

.chapter-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 17px}.chapter-progress-row strong{font-size:11px;color:#ffe2a0}.chapter-progress-track{width:44%;height:11px;flex-shrink:0}.chapter-progress-track>div{background:linear-gradient(90deg,#e7a84e,#ffdf83)}


/* V0.4 — interactions mobiles soignées, style du club et microanimations */
.board-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.board-tools .subtle-btn{font-size:10px;padding:9px 8px}.board-tools #quick-merge{color:#ffdc96;border-color:#c29d63;background:#4c3e39}
.upgrade-heading{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;justify-content:space-between;border-top:1px solid #4f7385;margin-top:13px;padding-top:12px}.upgrade-heading strong{font-size:13px}.upgrade-heading small{font-size:10px;color:#a3d5cc}.upgrades{display:grid;gap:7px;margin-top:9px}.upgrade-card{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;background:linear-gradient(110deg,#244f61,#173b50);border:1px solid #477882;border-radius:12px;padding:9px}.upgrade-icon{width:34px;height:34px;border-radius:10px;background:#376c73;display:grid;place-items:center;font-size:22px;box-shadow:inset 0 2px 4px #ffffff22}.upgrade-card strong{font-size:11px}.upgrade-card small{display:block;font-size:9px;color:#b7d0df;margin-top:2px}.upgrade-dots{display:flex;gap:3px;margin-top:4px}.upgrade-dots span{background:#345268;border-radius:5px;width:17px;height:4px}.upgrade-dots span.lit{background:linear-gradient(90deg,#f4c266,#fce2a2)}.upgrade-btn{border:1px solid #e2bd77;border-radius:8px;background:linear-gradient(#fbe0a5,#dfad60);color:#4b3411;font-size:10px;font-weight:900;min-width:75px;min-height:33px;padding:6px}.upgrade-btn:disabled{background:#33566a;border-color:#537788;color:#b3c8d4}
.cell.item{touch-action:none;overflow:visible}.cell.item .tile-emoji{background:radial-gradient(ellipse at 32% 28%,#ffffff50,transparent 55%),radial-gradient(circle at center,#ffffff20,transparent 65%);border:1px solid #ffffff1c;border-radius:50%;display:grid;place-items:center;aspect-ratio:1;width:78%;box-shadow:inset 0 2px 5px #ffffff22,0 3px 8px #07111e40;transition:transform .12s}.cell.item:active .tile-emoji{transform:scale(1.09)}.cell.item.item-rare .tile-emoji{background:radial-gradient(circle at 40% 30%,#c1e3ff90,#3069ad44 70%)}.cell.item.item-epic .tile-emoji{background:radial-gradient(circle at 40% 30%,#fff5bd,#a0782666 75%)}.generator-rank{position:absolute;left:3px;top:3px;background:#0e2337c9;font-size:9px;font-weight:950;color:#ffdf83;border-radius:4px;padding:1px 2px;pointer-events:none}
.cell.drop-target{outline:3px dashed #a1f9db!important;z-index:4}.cell.drag-origin{opacity:.46}.drag-ghost{position:fixed;z-index:9999;width:59px;height:59px;transform:translate(-50%,-50%);pointer-events:none;display:grid;place-items:center;font-size:38px;border-radius:15px;background:linear-gradient(130deg,#55ac9bde,#285ca1ed);border:2px solid #e9ffda;box-shadow:0 9px 25px #0009;will-change:left,top}.just-merged{animation:merge-pop .66s cubic-bezier(.12,.65,.24,1.3)}.merge-burst{position:absolute;z-index:8;bottom:calc(100% - 2px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 7px;border-radius:9px;background:#f9d586;color:#362919;font-size:9px;font-weight:1000;pointer-events:none;animation:burst-float .7s ease-out forwards;box-shadow:0 2px 11px #0006}@keyframes merge-pop{0%{transform:scale(.85);filter:brightness(2.5)}48%{transform:scale(1.14);filter:brightness(1.5)}100%{transform:scale(1);filter:brightness(1)}}@keyframes burst-float{0%{opacity:0;transform:translate(-50%,8px) scale(.7)}25%{opacity:1}100%{opacity:0;transform:translate(-50%,-23px) scale(1.08)}}.stadium-celebrate{animation:stadium-rise .8s ease-out}@keyframes stadium-rise{40%{filter:brightness(1.38) saturate(1.3);transform:scale(1.02)}100%{filter:brightness(1);transform:scale(1)}}
.club-style-card{margin-top:13px;padding:13px;border-radius:16px;background:linear-gradient(135deg,#193a56,#102d49);border:1px solid #426989}.club-style-card .section-head{margin:0 0 10px}.club-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.style-choice{min-width:0;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#1c3f57;border:1px solid #4c6e89;border-radius:12px;padding:8px 3px;text-align:center;font-size:10px;font-weight:900}.style-choice small{font-size:8px;color:#c5dfeb}.style-choice.on{border-color:#fff0ab;box-shadow:0 0 0 1px #f9d27d;background:#36515e}.style-choice:disabled{opacity:.55}.style-swatch{width:29px;height:29px;border-radius:50%;border:2px solid #d5eeff;box-shadow:0 2px 7px #0006}.swatch-ocean{background:linear-gradient(135deg,#215bab,#73b1ff)}.swatch-mint{background:linear-gradient(135deg,#0c8f78,#93f0af)}.swatch-sunset{background:linear-gradient(135deg,#e88c39,#f7e08c)}.club-style-card p{font-size:10px;color:#b8cadc;margin:10px 1px 0;line-height:1.5}
#app[data-club-style=mint] .stadium-hero{border-color:#69e6b0;background:radial-gradient(ellipse at 90% 0%,#218b7e,#123f52 60%,#082936)}#app[data-club-style=mint] #stadium-upgraded path:first-child,#app[data-club-style=mint] #stadium-grandstands path:first-child{fill:#6ae7bc}#app[data-club-style=mint] .club-emblem{background:linear-gradient(130deg,#0c8e76,#0f3e57);border-color:#9df9d5}
#app[data-club-style=sunset] .stadium-hero{border-color:#f6c47b;background:radial-gradient(ellipse at 90% 0%,#845b68,#443c61 60%,#14213e)}#app[data-club-style=sunset] #stadium-upgraded path:first-child,#app[data-club-style=sunset] #stadium-grandstands path:first-child{fill:#f2be6d}#app[data-club-style=sunset] .club-emblem{background:linear-gradient(130deg,#a97527,#523b63);border-color:#fbe39c}
@media(max-width:370px){.section-head h2{font-size:19px}.board-tools .subtle-btn{font-size:9px;padding:8px 6px}.upgrade-card{gap:7px;padding:7px}.club-styles{gap:4px}.style-choice{font-size:9px}}
@media(prefers-reduced-motion:reduce){.just-merged,.merge-burst,.stadium-celebrate,.cell.available{animation:none!important}.cell.item .tile-emoji{transition:none}}

.passing-card{margin-top:16px;padding:17px;border:1px solid #76aa84;border-radius:19px;background:radial-gradient(circle at 85% 0%,#29685c,#173c50 60%,#122940)}.passing-top{display:flex;justify-content:space-between;gap:9px;align-items:center}.passing-top h3{font-size:21px;margin:5px 0 0}.passing-medal{font-size:29px}.passing-card p{font-size:12px;color:#e9f6ed;line-height:1.5;margin:16px 0 9px}.pass-progress{font-size:11px;color:#ffdc94;margin-bottom:12px;font-weight:900}.pass-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.pass-options[hidden]{display:none}.pass-option{border:1px solid #9bdcc5;min-height:95px;background:linear-gradient(135deg,#397e78,#215464);color:#f0fffa;border-radius:13px;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;box-shadow:0 4px 0 #173e47}.pass-option span{font-size:27px}.pass-option strong{font-size:15px}.pass-option small{font-size:9px;color:#d6f9e8}.passing-card>small{display:block;font-size:10px;line-height:1.5;margin-top:13px;color:#c3e1d8}

/* Football Dreams V0.5 — Écussons, identité du club, carrière locale */
.club-emblem-button{padding:0;overflow:visible;cursor:pointer;border-radius:15px;clip-path:none;border:0;background:transparent;box-shadow:none;width:62px;height:66px;flex-shrink:0}
.club-emblem-button img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 8px #0008);transition:transform .18s ease}
.club-emblem-button:active img{transform:scale(.94)}
.hero-title>div:first-child{min-width:0}.hero-title h1{overflow-wrap:anywhere;font-size:clamp(18px,5.8vw,25px);max-width:360px}
.club-identity-card{display:flex;align-items:center;gap:11px;padding:13px 10px;border:1px solid #8ca6bf;border-radius:17px;background:linear-gradient(115deg,#2e5379,#162e4a);margin-top:15px;box-shadow:0 6px 18px #0002}
.club-identity-card img{width:60px;height:65px;object-fit:contain;filter:drop-shadow(0 4px 6px #0006);flex-shrink:0}
.club-identity-card>div{min-width:0;flex:1}.club-identity-card strong{display:block;font-size:15px;line-height:1.25;overflow-wrap:anywhere;margin:5px 0}.club-identity-card small{font-size:8px;letter-spacing:.9px;color:#f9dfa2;font-weight:900}.club-identity-card span{font-size:10px;color:#b7d2df}.club-identity-card button{font-size:9px;padding:9px 7px;flex-shrink:0}
.crest-image{display:grid!important;place-items:center!important;width:48px;height:52px;background:transparent!important;border:0!important;font-size:0!important;padding:0!important}.crest-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 5px #0006)}
.identity-modal-inner{max-width:470px!important;max-height:min(92dvh,840px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:24px!important}
.identity-modal-inner .modal-top{align-items:flex-start}.identity-modal-inner h2{margin:3px 0 0;font-size:24px}.identity-modal-inner>p{font-size:12px;line-height:1.6;color:#bcd6e7}.identity-label{display:block;font-weight:900;font-size:12px;margin:17px 0 7px}.identity-input{width:100%;border-radius:13px;padding:14px 13px;border:1px solid #77a5c4;background:#103456;color:#fff;font-weight:900;font-size:16px;letter-spacing:.1px;outline:none}.identity-input:focus{border-color:#f6d888;box-shadow:0 0 0 2px #f6d88855}.identity-field-note{display:flex;justify-content:space-between;color:#aac9d7;margin-top:6px}.identity-field-note small{font-size:10px}.identity-modal-inner h3{font-size:15px;margin:20px 0 12px}.crest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.crest-choice{border-radius:13px;min-width:0;min-height:101px;background:linear-gradient(145deg,#183f62,#16304b);border:1px solid #4a708a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px}.crest-choice img{height:66px;max-width:100%;object-fit:contain;filter:drop-shadow(0 5px 6px #0006)}.crest-choice small{font-size:9px;font-weight:900}.crest-choice.on{border:2px solid #ffe09a;background:linear-gradient(145deg,#365c77,#304759);box-shadow:0 0 0 1px #d6ab4f,0 0 14px #e9d28555}.crest-choice:active{transform:scale(.97)}.identity-error{min-height:17px;color:#ffbbb7!important;margin:10px 0 4px!important;font-size:11px!important}.identity-skip{display:block;margin:8px auto 0;padding:9px;border:0;background:none;color:#c4d9e3;font-size:11px;text-decoration:underline}
.league-card{border:1px solid #c8a667;background:linear-gradient(165deg,#2f4b67,#1d3851 53%,#112e43);padding:15px;border-radius:19px;margin:15px 0 17px}.league-heading h3{font-size:20px;margin:7px 0}.league-card>p{color:#d0e0ec;font-size:11px;line-height:1.55}.league-overview{margin:12px 0;background:#0b283f9e;border:1px solid #486b84;border-radius:13px;padding:12px}.league-division{color:#ffdea5;font-size:14px;font-weight:950}.league-stats{display:flex;justify-content:space-between;gap:6px;margin-top:9px;font-size:11px;font-weight:900}.league-stats span:last-child{color:#ffe29d}.league-track{background:#203c53;height:8px;border-radius:8px;margin:9px 0 5px;overflow:hidden}.league-track>span{display:block;background:linear-gradient(90deg,#66cfa3,#e5d180);height:100%;border-radius:8px}.league-fixtures{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin:10px 0}.league-fixtures>div{background:#31526d;border:1px solid #5c7b91;border-radius:10px;padding:9px 2px;text-align:center;font-weight:900;font-size:10px}.league-fixtures>div.win{background:#20675b;border-color:#8ddfc0}.league-fixtures>div.loss{background:#673e53;border-color:#df9fb6}.league-fixtures>div.draw{background:#775a37;border-color:#dcb67e}.league-fixtures>div.next{border:2px solid #ffe59b;background:#43546e}.league-fixtures small{display:block;color:#c9dfed;font-size:8px;margin-top:4px}.league-card .action-btn{min-height:43px;font-size:11px}.league-card .action-btn:disabled{opacity:.55}.league-card>small{font-size:9px;color:#bdd3e1;display:block;margin-top:11px;line-height:1.5}.league-summary{font-size:11px;margin-top:8px;padding:10px;border-radius:8px;background:#3b5d57;color:#dcffea;line-height:1.45}
@media(max-width:360px){.crest-grid{gap:5px}.crest-choice{min-height:91px}.crest-choice img{height:56px}.club-identity-card img{width:49px}.club-identity-card strong{font-size:13px}.club-identity-card button{font-size:8px}.league-fixtures{gap:3px}}
@media(prefers-reduced-motion:reduce){.club-emblem-button img{transition:none}}

/* V0.6 — Académie : cartes tactiles et statistiques progressives */
.academy-card{margin:15px 0;border-radius:20px;padding:16px;background:radial-gradient(circle at 90% 5%,#456a73 0%,#1b4058 36%,#10283e 90%);border:1px solid #5a8d88;box-shadow:0 10px 25px #0004}
.academy-head{display:flex;justify-content:space-between;align-items:center}.academy-head h3{font-size:20px;line-height:1.2;margin:6px 0}.academy-trophy{font-size:34px;filter:drop-shadow(0 4px 5px #0005)}
.academy-card>p{font-size:11px;line-height:1.65;color:#c7e3e8;margin:6px 0 15px}.academy-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.academy-summary strong{color:#f4d99f}.academy-summary small{font-size:9px;color:#bed8d9;text-align:right}
.academy-track{height:7px;border-radius:20px;background:#09293d;overflow:hidden;margin:9px 0 16px}.academy-track>span{height:100%;width:0%;display:block;border-radius:20px;background:linear-gradient(90deg,#79d9ae,#f2cd80);transition:width .25s}
.academy-players{display:grid;gap:9px}.academy-player{display:flex;gap:9px;align-items:center;padding:10px 9px;background:linear-gradient(120deg,#254a5f,#19384c);border:1px solid #557d8a;border-radius:13px;min-width:0}.academy-player.academy-locked{opacity:.7}
.academy-avatar{width:43px;height:47px;flex-shrink:0;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:11px;background:linear-gradient(135deg,#3a91a2,#2a5e79);border:1px solid #81c5d1}.academy-avatar span{font-size:22px;line-height:1}.academy-avatar small{font-size:9px;font-weight:900;color:#d2faff}.academy-avatar.amber{background:linear-gradient(135deg,#88663c,#524328);border-color:#d6b779}.academy-avatar.rose{background:linear-gradient(135deg,#a15f80,#6a3b61);border-color:#e8a9c8}.academy-avatar.teal{background:linear-gradient(135deg,#307f76,#214c56);border-color:#69b7a4}.academy-avatar.violet{background:linear-gradient(135deg,#695da2,#353f78);border-color:#aaa7e5}
.academy-info{min-width:0;flex:1}.academy-info strong{font-size:11px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.academy-info small{font-size:9px;color:#b4d4dd}.academy-meter{background:#0c2634;border-radius:8px;height:5px;overflow:hidden;margin-top:6px}.academy-meter i{display:block;height:100%;background:linear-gradient(90deg,#4dc2a5,#ddcc81);border-radius:8px}
.academy-rating{min-width:22px;font-size:14px;font-weight:1000;color:#f9dda1;text-align:center}.academy-train{flex-shrink:0;border-radius:10px;border:1px solid #ecd68f;background:#554e43;color:#ffe3a7;font-size:10px;padding:10px 7px;font-weight:900}.academy-train:disabled{opacity:.5}.academy-disclaimer{display:block;color:#b6d3d9;font-size:9px;line-height:1.6;margin-top:12px}
.privacy-info{text-align:center;margin:22px auto;font-size:10px}.privacy-info a{color:#a5e2c9;text-decoration:underline}.privacy-info span{opacity:.5}
@media(max-width:370px){.academy-player{gap:6px;padding:8px 6px}.academy-train{padding:9px 5px;font-size:9px}.academy-avatar{width:37px;height:42px}}
@media(prefers-reduced-motion:reduce){.academy-track>span{transition:none}}

.academy-avatar{position:relative;overflow:hidden;padding:0}.academy-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}.academy-avatar small{position:absolute;bottom:0;left:0;right:0;background:#071c2bd9;text-align:center;padding:1px;font-size:8px}

/* FOOTBALL DREAMS V0.7 — objets vectoriels originaux et stade évolutif */
.cell.item .tile-emoji{border:none;box-shadow:none;background:transparent!important;width:94%;border-radius:0;overflow:visible}
.cell .tile-emoji img{display:block;object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 3px 4px #07182b60);pointer-events:none}
.cell.generator .tile-emoji{width:80%;height:80%;display:grid;place-items:center}
.cell.generator .tile-emoji img{width:100%;height:100%;filter:drop-shadow(0 2px 6px #071629)}
.cell.item .tile-level{border-radius:5px;z-index:3;box-shadow:0 1px 3px #0006}
.drag-ghost{background:#102c46d9}.drag-ghost img{display:block;width:100%;height:100%;object-fit:contain}
.upgrade-icon{padding:2px}.upgrade-icon img{width:100%;height:100%;object-fit:contain}
.workshop-chip span img{display:inline-block;width:25px;height:25px;object-fit:contain;vertical-align:middle}
.collection-card{width:100%;color:inherit;text-align:left;cursor:pointer;min-width:0}
.collection-card:focus-visible{outline:2px solid #ffdb8b}
.collection-icon{display:grid;place-items:center;overflow:hidden}
.collection-icon img{height:42px;width:42px;object-fit:contain}
.requirement span:has(img){display:grid;place-items:center;flex-shrink:0}
.requirement img{height:42px;width:42px;object-fit:contain;display:block}
.storage-cell img{width:100%;height:100%;object-fit:contain;display:block}
.storage-cell span:has(img){width:96%;height:96%;display:block}
.gallery-panel{margin:15px 0 20px;padding:14px;border:1px solid #6094a2;background:linear-gradient(160deg,#224666,#142d47);border-radius:17px}
.gallery-head h3{font-size:18px;margin:4px 0 12px}
.gallery-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gallery-object{background:#102f4b;border:1px solid #4a748c;border-radius:13px;padding:8px 4px;text-align:center;min-width:0}
.gallery-object img{display:block;margin:0 auto 5px;width:min(100%,93px);aspect-ratio:1/1;object-fit:contain}
.gallery-object strong{display:block;font-size:9px;line-height:1.3;min-height:25px;color:#f8e2aa;overflow-wrap:anywhere}
.gallery-object small{display:block;font-size:9px;color:#a9cbdc;margin-top:4px}
.gallery-object.unknown img{filter:grayscale(1) brightness(.32);opacity:.8}
.gallery-object.unknown strong{color:#acc2d1}
.stadium-journey{background:radial-gradient(circle at top,#2d506e,#142a46 65%);border:1px solid #6c9eb3;border-radius:19px;margin:14px 0;padding:13px 12px 11px;overflow:hidden;box-shadow:0 9px 28px #0004}
.stadium-journey-head{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.stadium-journey-head h3{font-size:20px;letter-spacing:-.4px;margin:4px 0 12px}
.stadium-journey-head>span{font-size:10px;font-weight:900;color:#ffe4a9;background:#2e5067;border:1px solid #a5ac7a;border-radius:12px;padding:7px;white-space:nowrap}
#journey-stadium{width:100%;height:auto;max-height:300px;display:block;border-radius:15px;box-shadow:inset 0 3px 10px #071727}
#journey-stadium g[id^=scene-]{transition:opacity .32s ease}
.stadium-journey-next{text-align:center;color:#ddf9e5;background:#1b4657;border-radius:11px;font-size:10px;font-weight:900;margin:11px 0 0;padding:10px 6px}
@media(max-width:365px){.gallery-items{gap:5px}.gallery-object{padding:4px 2px}.stadium-journey-head h3{font-size:17px}.stadium-journey-head>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){#journey-stadium g[id^=scene-]{transition:none}}

/* V0.8 — prolongement du club, pensé pour un écran de 320 à 530 px. */
.mission-expansion{padding-bottom:14px}.season-card{padding:18px;border:1px solid #d6b36a82;background:linear-gradient(120deg,#213b59,#172e49 55%,#433d4f);border-radius:18px;margin-bottom:10px}.season-title{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:#ffe09b}.season-title strong{letter-spacing:1px}.season-card p{font-size:12px;color:#d1dfed;line-height:1.55;margin:9px 0 0}.season-progress{margin-top:12px;height:9px;border-radius:12px;overflow:hidden;background:#0a1f38}.season-progress>div{height:100%;background:linear-gradient(90deg,#68d9ad,#f9cb70);border-radius:inherit;transition:width .28s ease}.club-pass-list{display:grid;grid-template-columns:1fr;gap:7px}.club-pass-row{display:flex;align-items:center;gap:9px;padding:9px 10px;background:#152d49;border:1px solid #385873;border-radius:12px;min-width:0}.club-pass-row.is-claimed{opacity:.7}.pass-medal{font-size:25px;width:35px;flex-shrink:0}.contract-desc{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.contract-desc strong{font-size:13px}.contract-desc small{font-size:11px;color:#b4cde2;line-height:1.4}.club-pass-row .action-btn{font-size:10px;padding:8px;min-width:80px}.contract-hint{font-size:12px;color:#b3cfe4;margin:5px 4px 12px}.contracts{display:grid;gap:12px}.contract-card{background:linear-gradient(140deg,#193650,#10253d);border:1px solid #406383;border-radius:16px;overflow:hidden;padding:13px}.contract-card-top,.contract-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.contract-card-top>b{font-size:13px;color:#ffe3aa}.contract-reroll{font-size:21px;background:#294964;border:1px solid #64829c;border-radius:9px;padding:1px 8px}.contract-reroll:disabled{opacity:.35}.contract-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:8px;margin:12px 0}.contract-item{display:flex;flex-direction:column;align-items:center;text-align:center;background:#0b243b;border-radius:12px;padding:9px 5px;min-width:0}.contract-item img{width:62px;height:62px;object-fit:contain}.contract-item span{font-size:10px;line-height:1.3;color:#dfedf8}.contract-item small{display:block;color:#e5ca83}.contract-card-bottom small{font-size:10px;color:#d2e6f7;line-height:1.35}.contract-card-bottom .action-btn{font-size:11px;padding:9px}.settings-line{display:grid;grid-template-columns:1fr auto;gap:6px;background:#152e49;border:1px solid #385873;border-radius:14px;padding:14px;margin:18px 0}.settings-line span{font-weight:800;font-size:13px}.settings-line small{grid-column:1/-1;color:#a9c5db;font-size:11px}.settings-line input{width:23px;height:23px;accent-color:#73ddb8}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}

/* V0.9 : village des fans / tour de gloire */
.district-section,.tour-section{margin:22px 0 18px;padding:16px 13px;background:linear-gradient(150deg,#173854,#132940 66%,#193047);border:1px solid #426484;border-radius:20px;box-shadow:0 12px 25px #071c3333;min-width:0}
.district-section .section-head,.tour-section .section-head{margin:0 0 10px}.district-section>p,.tour-section>p{font-size:12px;line-height:1.7;color:#bad0df;margin:0 0 15px}.district-star-counter{border:1px solid #dbc16d76;border-radius:999px;background:#574c2d;color:#ffe29d;padding:7px 12px;font-size:12px;white-space:nowrap}.district-progress-head,.tour-counter{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin:12px 0 7px}.district-progress-head small{color:#9fc2d9}.district-progress,.tour-progress{height:10px;border-radius:12px;background:#082039;overflow:hidden}.district-progress>div,.tour-progress>div{height:100%;border-radius:12px;background:linear-gradient(90deg,#77e6a0,#ffe38b);transition:width .2s}.district-grid{display:grid;gap:10px;margin-top:13px}.district-building{--tile-hue:160;display:flex;gap:10px;align-items:center;padding:11px;background:#0c2540;border:1px solid #446481;border-radius:14px;min-width:0}.district-building.locked{opacity:.6}.district-symbol{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:47px;height:55px;border-radius:11px;font-size:27px;background:hsl(var(--tile-hue),38%,28%);box-shadow:inset 0 0 0 1px #ffffff23}.district-symbol small{font-size:10px;color:#e8ffec}.district-info{flex:1;min-width:0}.district-info strong{display:block;font-size:12px;line-height:1.4}.district-info p{font-size:10px;line-height:1.4;color:#a7c3d8;margin:3px 0 5px}.district-info small{font-size:10px;color:#efdca7;line-height:1.4}.district-mini-track{height:5px;border-radius:6px;background:#223b53;margin:6px 0;overflow:hidden}.district-mini-track i{display:block;height:100%;background:linear-gradient(90deg,#58cfae,#e8d27b)}.district-building .action-btn{min-width:81px;max-width:92px;flex-shrink:0;padding:9px 5px;font-size:10px}.tour-section{background:linear-gradient(155deg,#193957,#18374d,#282f4a)}.tour-map{position:relative;border-radius:15px;border:1px solid #a3bfcc43;overflow:hidden;background:radial-gradient(ellipse at 70% 10%,#416e81,transparent 58%),linear-gradient(140deg,#1a526b,#143f5b 50%,#162c4e);padding:16px 11px 12px;min-height:170px}.tour-map:before{position:absolute;content:'';inset:0;background:repeating-linear-gradient(23deg,transparent,transparent 25px,#c8f6ff0c 26px,#c8f6ff0c 27px);pointer-events:none}.tour-map-stars{position:absolute;top:6px;right:12px;font-size:35px;opacity:.25;color:#ffe09e}.tour-route{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px 5px}.tour-stop{height:49px;border-radius:10px;background:#102b446c;border:1px solid #ffffff26;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;filter:grayscale(.6);opacity:.66}.tour-stop span{font-size:20px}.tour-stop small{font-size:9px}.tour-stop.done{filter:none;opacity:1;border-color:#8bdfa5;background:#26585a}.tour-stop.here{filter:none;opacity:1;border:1.5px solid #ffdd83;background:#574d46;box-shadow:0 0 10px #ffd58c40}.tour-map-foot{position:relative;display:flex;flex-direction:column;gap:3px;margin-top:13px}.tour-map-foot strong{font-size:16px;color:#fff3cc}.tour-map-foot small{font-size:11px;color:#d4e8f3}.tour-delivery{padding:12px;margin-top:13px;border-radius:13px;background:#0d263d;border:1px solid #466e8e}.tour-requirement{display:flex;align-items:center;gap:12px;margin-bottom:10px}.tour-requirement img{width:65px;height:65px;object-fit:contain;flex-shrink:0}.tour-requirement strong{font-size:13px}.tour-requirement small{font-size:11px;color:#bcd2e5;line-height:1.5}.tour-requirement p{font-size:12px}.tour-delivery .action-btn{font-size:12px}@media(max-width:355px){.district-building{gap:7px;padding:9px 7px}.district-symbol{width:37px;font-size:21px}.district-building .action-btn{min-width:68px;max-width:73px;font-size:9px}.district-section,.tour-section{padding:11px 9px}}
.tour-requirement>div{display:flex;flex-direction:column;gap:5px;min-width:0}
.tour-requirement>div strong{display:block;line-height:1.35}

/* Football Dreams V0.9.1: boutique premium de démonstration. */
.store-spotlight{padding:15px 12px 17px;border:1px solid #547796;background:linear-gradient(155deg,#1a3759,#102742 72%);border-radius:20px;margin:14px 0 23px;box-shadow:0 9px 30px #00102066}
.store-head{text-align:center;padding:2px 3px 13px}
.store-head h3{font-size:24px;line-height:1.15;color:#fff5d7;margin:8px 0}
.store-head p{font-size:12px;line-height:1.5;color:#bfdae9;margin:0}
.store-flag{font-size:10px;font-weight:950;letter-spacing:1.3px;color:#a1e8cf}
.store-featured{display:flex;align-items:center;gap:10px;background:linear-gradient(110deg,#315d58,#244769);border-radius:13px;padding:10px 9px;border:1px solid #83bda5a0}
.store-featured-icon{font-size:29px;flex-shrink:0}
.store-featured>div{min-width:0;flex:1}
.store-featured strong{display:block;font-size:12px;color:#fff6da}
.store-featured small{display:block;font-size:10px;color:#dfebf5;line-height:1.35;margin-top:4px}
.store-featured .action-btn{padding:10px 8px;font-size:10px;flex-shrink:0}
.store-featured .action-btn:disabled{opacity:.6}
.store-reassurance{background:#0d2b41;border:1px solid #3a6279;color:#c8e4f0;line-height:1.45;border-radius:10px;font-size:10px;padding:10px;margin:11px 0 16px}
.store-spotlight h4{color:#fff0bb;font-size:12px;letter-spacing:.25px;margin:15px 1px 10px}
.store-collection{display:grid;gap:8px}
.store-card{display:flex;align-items:center;min-width:0;gap:8px;background:linear-gradient(110deg,#284762,#1a3452);border:1px solid #52758b;border-radius:12px;padding:10px 8px}
.store-card-icon{width:35px;height:41px;display:grid;place-items:center;background:#315b77;border-radius:9px;font-size:21px;flex-shrink:0}
.store-card-body{flex:1;min-width:0}
.store-tag{display:block;font-size:8px;font-weight:950;letter-spacing:.6px;color:#b0f0be;margin-bottom:4px}
.store-card-body strong{display:block;color:#fff;font-size:12px;line-height:1.3}
.store-card-body small{display:block;color:#ffe9ab;font-size:10px;line-height:1.5;margin-top:4px}
.store-card-body p{font-size:9px;line-height:1.4;color:#afc6d7;margin:4px 0 0}
.store-product-btn{flex-shrink:0;min-width:67px;max-width:76px;background:#27425e;border:1px solid #84b1ce;color:#fff3c8;border-radius:10px;padding:8px 4px;text-align:center}
.store-product-btn>span{display:block;font-size:12px;font-weight:950}
.store-product-btn>small{display:block;font-size:8px;letter-spacing:.7px;color:#bbd7e8;margin-top:2px}
.store-footnote{font-size:10px;line-height:1.65;color:#b7d3e0;margin-top:13px;padding:10px;border-top:1px solid #49748b}
@media(max-width:350px){.store-card{gap:5px;padding:8px 5px}.store-card-icon{width:27px;height:38px;font-size:17px}.store-card-body p{display:none}.store-product-btn{min-width:61px}.store-featured{gap:6px}.store-featured-icon{font-size:22px}}


/* =========================================================
   FOOTBALL DREAMS V1.0 · REFONTE VISUELLE PREMIUM
   ========================================================= */
:root{
  --bg:#06111f;
  --surface:#0d2036;
  --surface2:#132c46;
  --surface3:#1a3a58;
  --stroke:#295375;
  --stroke-soft:#3b688f;
  --light:#f6fbff;
  --muted:#a8bfd6;
  --gold:#ffd26a;
  --mint:#7cf0bc;
  --blue:#79c9ff;
  --blue-soft:#59aef0;
  --ink:#081a2c;
  --card-shadow:0 16px 42px rgba(0,8,20,.34);
  --card-shadow-soft:0 10px 24px rgba(0,12,30,.24);
  --glass:linear-gradient(180deg,rgba(18,42,67,.94),rgba(10,28,46,.88));
  --glass-2:linear-gradient(180deg,rgba(24,54,84,.96),rgba(15,33,53,.92));
}
html{background:linear-gradient(180deg,#071222 0%,#071120 100%)}
body{
  background:
    radial-gradient(circle at 15% -10%, rgba(68,164,255,.28), transparent 33%),
    radial-gradient(circle at 85% -5%, rgba(89,255,196,.12), transparent 25%),
    radial-gradient(circle at 50% 120%, rgba(255,204,110,.08), transparent 32%),
    linear-gradient(180deg,#081528 0%,#05101d 100%);
  color:var(--light);
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:radial-gradient(rgba(255,255,255,.9) .45px, transparent .45px);background-size:14px 14px;mask-image:linear-gradient(180deg, rgba(0,0,0,.6), transparent 55%);}
.app{
  width:min(100%,560px);
  position:relative;
  padding:12px 14px calc(120px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(10,24,39,.58) 0%,rgba(9,20,34,.34) 100%);
  backdrop-filter:blur(6px);
}
.app::before{content:"";position:absolute;inset:0 0 auto 0;height:240px;background:linear-gradient(180deg,rgba(123,201,255,.07),transparent);pointer-events:none}
main{position:relative;z-index:1}
.topbar{
  position:sticky;top:0;z-index:12;
  margin:0 -2px 12px;
  padding:14px 12px;
  border:1px solid rgba(109,170,220,.22);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(10,25,41,.92),rgba(9,22,37,.76));
  backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 14px 40px rgba(0,0,0,.28);
}
.brand{gap:10px}
.brand-ball{
  width:42px;height:42px;display:grid;place-items:center;
  font-size:24px;border-radius:14px;
  background:radial-gradient(circle at 30% 25%,#ffe8a5 0%,#ffc957 42%,#d89425 100%);
  color:#30210f;box-shadow:0 10px 22px rgba(255,196,74,.28), inset 0 1px 0 rgba(255,255,255,.4);
  filter:none
}
.brand strong{font-size:20px;letter-spacing:-.9px;text-shadow:0 3px 20px rgba(0,0,0,.28)}
.brand em{color:#ffd767}
.brand small{font-size:8.5px;color:#9fd0f1;letter-spacing:1.3px}
.top-actions{display:flex;gap:8px}
.icon-btn,.subtle-btn,.store-product-btn,.tab,.pill-btn,.action-btn{transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease}
.icon-btn{
  width:40px;height:40px;border-radius:14px;font-size:18px;border:1px solid rgba(124,183,228,.34);
  background:linear-gradient(180deg,rgba(42,76,107,.95),rgba(23,43,69,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 8px 22px rgba(0,0,0,.2)
}
.icon-btn:hover,.subtle-btn:hover,.tab:hover,.store-product-btn:hover,.pill-btn:hover,.action-btn:hover{transform:translateY(-1px)}
.wallet{gap:10px;margin-bottom:16px}
.wallet-pill{
  min-height:66px;padding:9px 9px 8px;
  border-radius:18px;border:1px solid rgba(116,177,223,.25);
  background:linear-gradient(180deg,rgba(18,42,68,.95),rgba(10,27,44,.92));
  box-shadow:var(--card-shadow-soft), inset 0 1px 0 rgba(255,255,255,.06);
}
.wallet-pill::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 45%);border-radius:inherit}
.wallet-pill>span{font-size:26px}
.wallet-pill strong{font-size:18px}
.wallet-pill small{font-size:9px;color:#b0c7dc}
.wallet-pill.energy{border-color:rgba(127,220,175,.32)}
.stadium-hero{
  border:none;border-radius:30px;padding:18px 18px 0;
  background:
    radial-gradient(circle at 85% 10%, rgba(103,187,255,.25), transparent 18%),
    linear-gradient(180deg,#12325a 0%,#0d2948 34%,#0a213a 100%);
  box-shadow:0 24px 60px rgba(1,7,18,.42), inset 0 1px 0 rgba(255,255,255,.08);
}
.stadium-hero::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(160deg,rgba(131,205,255,.5),rgba(255,218,113,.18),rgba(102,182,255,.08));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.hero-kicker{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:rgba(7,21,39,.36);backdrop-filter:blur(8px);font-size:10px;letter-spacing:1.5px;color:#b8ebff;border:1px solid rgba(120,196,245,.2)}
.live-dot{width:8px;height:8px;margin-right:0}
.hero-title{margin-top:13px;gap:12px;align-items:flex-start}
.hero-title h1{font-size:30px;letter-spacing:-1.2px}
.hero-title p{font-size:12px;color:#d3e6f6;margin-top:8px;max-width:260px}
.club-emblem{height:60px;width:56px;border-width:2px;box-shadow:0 12px 26px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.18)}
#stadium-art{margin:8px -18px -12px;max-height:240px}
.hero-bottom{margin:0 -18px;padding:14px 16px;background:linear-gradient(180deg,rgba(7,21,38,.1),rgba(7,21,38,.78));border-top:1px solid rgba(126,184,219,.18);backdrop-filter:blur(8px)}
.hero-bottom>div{gap:8px}
.hero-bottom strong{font-size:16px}
.pill-btn{padding:11px 17px;border-radius:999px;border:1px solid #ffedb0;background:linear-gradient(180deg,#ffe49a 0%,#efc258 52%,#d49d37 100%);box-shadow:0 9px 24px rgba(255,189,78,.2), inset 0 1px 0 rgba(255,255,255,.5);font-size:11px;letter-spacing:.9px}
.section-head{margin:24px 4px 14px}
.section-head h2{font-size:24px;letter-spacing:-.8px}
.section-head small{font-size:10px}
.eyebrow{font-size:9px;letter-spacing:2.3px;color:#90f1c4}
.count{font-size:11px;color:#b8cee0}
.board-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.subtle-btn{padding:10px 13px;border-radius:14px;border:1px solid rgba(114,173,221,.28);background:linear-gradient(180deg,rgba(28,58,86,.95),rgba(16,33,52,.95));color:#d9ecfa;box-shadow:var(--card-shadow-soft)}
.workshop-panel,.board-panel,.storage-card,.collection-panel,.gallery-panel,.stadium-journey,.season-card,.district-section,.tour-section,.store-spotlight,.backup-card,.tip,.story-card,.match-card,.daily-card,.academy-card,.contract-card,.mission-expansion,.mission-card,.privacy-info,.settings-line,.order,.reno,.quest,.shop-product,.club-pass-row,.contract-card,.tour-delivery{
  border-radius:22px !important;
  background:var(--glass) !important;
  border:1px solid rgba(102,154,195,.24) !important;
  box-shadow:var(--card-shadow-soft);
}
.workshop-panel,.storage-card,.collection-panel,.backup-card,.season-card,.district-section,.tour-section,.store-spotlight,.match-card,.daily-card,.academy-card,.story-card,.tip,.mission-expansion,.stadium-journey{position:relative;overflow:hidden}
.workshop-panel::before,.storage-card::before,.collection-panel::before,.backup-card::before,.season-card::before,.district-section::before,.tour-section::before,.store-spotlight::before,.match-card::before,.daily-card::before,.academy-card::before,.story-card::before,.tip::before,.mission-expansion::before,.stadium-journey::before{content:"";position:absolute;inset:0 0 auto 0;height:54px;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent);pointer-events:none}
.board-panel{padding:12px;background:linear-gradient(180deg,rgba(15,38,61,.96),rgba(9,24,39,.96)) !important}
.board{gap:7px}
.cell{border-radius:16px;border:1px solid rgba(109,159,197,.26);background:linear-gradient(180deg,#17314d,#122842);box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 8px 18px rgba(0,0,0,.14)}
.cell.empty{background:linear-gradient(180deg,#13283f,#102235)}
.cell.item{box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 10px 18px rgba(0,0,0,.18)}
.cell.item[data-series=ball]{background:linear-gradient(180deg,#2d6e78,#1e4f5d)}
.cell.item[data-series=kit]{background:linear-gradient(180deg,#6951a8,#3d3679)}
.cell.item[data-series=fan]{background:linear-gradient(180deg,#a76f3c,#69421e)}
.cell.generator{background:linear-gradient(180deg,#188378,#0f6158);border-color:rgba(119,233,196,.55)}
.tile-level{bottom:4px;right:5px;padding:2px 5px;border-radius:999px;background:rgba(5,22,38,.82);font-size:8px;backdrop-filter:blur(6px)}
.generator-label{left:4px;right:4px;bottom:4px;border-radius:999px;background:rgba(6,31,40,.78);font-size:7px;backdrop-filter:blur(6px)}
.generator-zap{top:4px;right:5px}
.cell.selected{outline:2px solid #ffd66e;box-shadow:0 0 0 4px rgba(255,202,91,.16), 0 16px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.12)}
.cell.available{border-color:rgba(184,255,221,.95)}
.board-hint{padding:12px 8px 4px;border-top:1px solid rgba(104,154,190,.24);color:#cfe1ee}
.selected-actions{margin-top:10px;padding-top:10px}
.selection-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.order,.reno,.quest,.shop-product,.club-pass-row,.contract-card,.tour-delivery,.district-building,.tour-stop,.store-card{border-radius:18px !important}
.order,.reno,.quest,.shop-product,.club-pass-row,.contract-card,.tour-delivery,.district-building{background:linear-gradient(180deg,rgba(20,45,72,.98),rgba(12,29,46,.96)) !important}
.order-icon,.reno-icon,.quest-icon,.shop-icon,.store-card-icon,.district-symbol,.order-icon,.contract-item,.tour-stop,.daily-icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 18px rgba(0,0,0,.16)}
.order-icon,.reno-icon,.quest-icon,.shop-icon{border-radius:15px}
.tip{background:linear-gradient(180deg,rgba(17,39,63,.96),rgba(12,27,43,.94)) !important;border-style:solid !important}
.tip strong{color:#ffe196}
.progress{height:14px;background:#091b2d;border:1px solid rgba(85,129,164,.35)}
.progress>div,.season-progress>div,.district-progress>div,.tour-progress>div,.district-mini-track i{background:linear-gradient(90deg,#63dca4 0%, #82f0d8 40%, #ffd36d 100%) !important}
.action-btn{padding:10px 12px;border-radius:14px;border:1px solid rgba(178,255,209,.7);background:linear-gradient(180deg,#80ebb5 0%,#42b87f 55%,#268d62 100%);color:#032015;font-size:11px;letter-spacing:.3px;box-shadow:0 10px 18px rgba(37,137,100,.22), inset 0 1px 0 rgba(255,255,255,.36)}
.action-btn[disabled]{background:linear-gradient(180deg,#516678,#425565);border-color:#60778a;color:#b0bdc7;box-shadow:none}
.store-product-btn{background:linear-gradient(180deg,rgba(37,65,94,.96),rgba(20,38,58,.96));border:1px solid rgba(134,177,214,.32);color:#fff2c8;border-radius:12px;box-shadow:0 8px 18px rgba(0,0,0,.16)}
.shop-product .action-btn,.quest .action-btn,.club-pass-row .action-btn,.contract-card-bottom .action-btn{min-width:88px}
.match-card{padding:20px 16px;border-radius:26px !important}
.match-header,.store-flag,.hero-kicker,.tour-map-foot small,.district-star-counter{font-weight:950;letter-spacing:1.2px}
.match-actions button{border-radius:14px;border:1px solid rgba(255,232,168,.82);background:linear-gradient(180deg,#ffe39d,#f1c25b 60%,#e0aa41 100%);box-shadow:0 8px 18px rgba(255,194,86,.18)}
.daily-card{background:linear-gradient(180deg,rgba(77,59,128,.95),rgba(40,37,90,.92)) !important}
.story-card .avatar{border-radius:18px;background:linear-gradient(180deg,#4f76ad,#38598f)}
.section-head h3,.store-head h3{letter-spacing:-.5px}
.store-head h3{font-size:26px}
.store-head p{color:#d8e7f0}
.store-featured{border-radius:18px;background:linear-gradient(180deg,rgba(40,88,91,.95),rgba(24,61,85,.96));border-color:rgba(139,207,176,.38)}
.store-reassurance,.store-footnote,.settings-line small,.privacy-info,.contract-hint,.tour-section>p,.district-section>p{color:#c7dce9}
.store-card{padding:11px 10px;border:1px solid rgba(101,153,190,.28);background:linear-gradient(180deg,rgba(24,49,77,.98),rgba(15,32,50,.96)) !important}
.store-card-icon{width:40px;height:46px;border-radius:12px;background:linear-gradient(180deg,#345d79,#25465c)}
.store-card-body p{font-size:10px}
.tour-map{border-radius:20px;background:radial-gradient(circle at 70% 10%,rgba(131,226,255,.18),transparent 22%), linear-gradient(180deg,#17405e,#132c48 54%,#152943);border:1px solid rgba(130,181,206,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.tour-stop{border-radius:12px;background:rgba(16,43,68,.78);backdrop-filter:blur(4px)}
.tour-stop.done{background:linear-gradient(180deg,#2f6e60,#204f56)}
.tour-stop.here{background:linear-gradient(180deg,#6e5a3f,#4a4035)}
.tabbar{
  z-index:15;bottom:10px;
  width:min(calc(100% - 18px),540px);
  padding:10px 8px calc(10px + env(safe-area-inset-bottom));
  border:1px solid rgba(111,164,204,.26);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(10,24,40,.95),rgba(7,18,31,.92));
  backdrop-filter:blur(20px) saturate(150%);
  box-shadow:0 20px 50px rgba(0,0,0,.35);
}
.tab{padding:8px 2px 6px;border-radius:16px;color:#97b7d0}
.tab span{font-size:22px}
.tab small{font-size:9px;letter-spacing:.4px}
.tab.active{color:#fff2c0;background:linear-gradient(180deg,rgba(62,101,143,.94),rgba(39,67,97,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 18px rgba(0,0,0,.18)}
.toast{bottom:calc(108px + env(safe-area-inset-bottom));border-radius:18px;padding:13px 18px;background:linear-gradient(180deg,rgba(20,59,85,.97),rgba(12,38,55,.97));border:1px solid rgba(130,226,175,.42);box-shadow:0 20px 45px rgba(0,0,0,.35)}
.modal-overlay{background:rgba(2,9,18,.74);backdrop-filter:blur(10px)}
.modal{border-radius:28px;background:linear-gradient(180deg,rgba(19,44,71,.98),rgba(10,25,41,.98));border:1px solid rgba(122,187,229,.3);box-shadow:0 28px 70px rgba(0,0,0,.45)}
.modal h2{font-size:22px}
.identity-input{border-radius:16px;background:rgba(7,23,38,.76);border:1px solid rgba(106,160,199,.28);color:#fff}
.crest-grid .crest-option,.crest-option,.academy-chip,.workshop-chip{border-radius:16px;box-shadow:var(--card-shadow-soft)}
.backup-buttons{display:flex;gap:8px;flex-wrap:wrap}
.backup-card h3,.store-head h3,.gallery-head h3,.section-head h2{color:#f9fcff}
.gallery-panel,.collection-panel,.backup-card,.storage-card,.workshop-panel,.season-card,.district-section,.tour-section,.store-spotlight,.match-card,.daily-card,.academy-card,.stadium-journey{padding:16px}
.collection-panel .rewards,.contracts,.district-grid,.shop-list,.orders,.reno-list,.quest-list,.club-pass-list{gap:10px}
.privacy-info{padding:13px 14px;border-radius:18px;background:linear-gradient(180deg,rgba(16,37,59,.85),rgba(11,25,40,.95));border:1px solid rgba(100,151,188,.25)}
.privacy-info a{color:#aee2ff}
.reset-link{margin-top:18px;color:#e9a7b4}
#journey-stadium{border-radius:18px}
@media(min-width:700px){body{padding:18px 0}.app{border:1px solid rgba(95,145,185,.28);border-radius:32px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.32);min-height:calc(100dvh - 36px)}.tabbar{bottom:14px}}
@media(max-width:390px){
  .topbar{padding:13px 10px}
  .brand strong{font-size:18px}
  .hero-title h1{font-size:26px}
  .section-head h2{font-size:21px}
  .wallet{gap:8px}
  .wallet-pill{min-height:62px}
  .wallet-pill strong{font-size:16px}
  .store-head h3{font-size:22px}
}
@media(max-width:355px){
  .app{padding-left:10px;padding-right:10px}
  .topbar{gap:8px}
  .brand-ball{width:38px;height:38px;font-size:21px}
  .brand strong{font-size:16px}
  .wallet-pill strong{font-size:14px}
  .wallet-pill>span{font-size:22px}
  .board{gap:5px}
  .cell{border-radius:14px}
  .tabbar{width:min(calc(100% - 12px),540px)}
}


/* =========================================================
   FOOTBALL DREAMS V1.1 · CENTRE DU CLUB + CARRIÈRE + STORES
   ========================================================= */
.launch-hub,.career-deep-dive,.store-readiness{position:relative;overflow:hidden;border-radius:24px;padding:16px;background:linear-gradient(180deg,rgba(16,40,64,.97),rgba(10,25,40,.95));border:1px solid rgba(109,163,203,.25);box-shadow:var(--card-shadow-soft);margin-bottom:18px}
.launch-hub::before,.career-deep-dive::before,.store-readiness::before{content:"";position:absolute;inset:0 0 auto 0;height:58px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent);pointer-events:none}
.launch-head,.career-panels,.launch-grid,.launch-actions,.ready-list{display:grid;gap:10px}
.launch-head{grid-template-columns:1fr auto;align-items:center;margin-bottom:12px}
.launch-head h2{margin:0;font-size:24px;letter-spacing:-.8px}
.launch-badge,.ready-score{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;background:linear-gradient(180deg,#ffe49f,#e0b24e);color:#402d10;font-weight:1000;box-shadow:0 10px 18px rgba(255,193,80,.2)}
.launch-grid{grid-template-columns:1.35fr 1fr 1fr}
.launch-card{min-height:112px;border-radius:20px;padding:14px;background:linear-gradient(180deg,rgba(24,51,80,.98),rgba(13,31,48,.96));border:1px solid rgba(107,158,194,.2);box-shadow:0 10px 24px rgba(0,0,0,.15)}
.launch-card small{display:block;color:#95c9eb;font-size:9px;letter-spacing:1.4px;font-weight:900;margin-bottom:8px}
.launch-card strong{display:block;font-size:16px;line-height:1.25;margin-bottom:7px}
.launch-card p{margin:0;color:#d8e9f5;font-size:11px;line-height:1.5}
.launch-card-main{background:linear-gradient(180deg,rgba(29,61,92,.98),rgba(14,34,54,.96))}
.launch-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.launch-meta span,.history-row,.ready-item,.pulse-card,.form-pill,.form-empty{border-radius:999px}
.launch-meta span{padding:6px 10px;background:rgba(7,22,36,.55);border:1px solid rgba(128,182,221,.16);font-size:10px;color:#cfe5f4}
.launch-actions{grid-template-columns:repeat(4,1fr);margin-top:12px}
.launch-actions .subtle-btn{padding:11px 8px;text-align:center}
.launch-pulse{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.pulse-card{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:18px;background:linear-gradient(180deg,rgba(21,47,74,.96),rgba(13,30,47,.94));border:1px solid rgba(101,151,188,.2)}
.pulse-card span{font-size:22px;filter:drop-shadow(0 3px 10px rgba(255,219,123,.18));animation:floaty 4.5s ease-in-out infinite}
.pulse-card strong{display:block;font-size:13px;margin-bottom:4px}
.pulse-card small{display:block;color:#c8dce9;line-height:1.45;font-size:10px}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes sheen{0%{transform:translateX(-120%)}100%{transform:translateX(140%)}}
.launch-card-main::after,.match-card::after,.store-featured::after{content:"";position:absolute;top:-20%;left:-20%;width:42%;height:140%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:translateX(-120%);animation:sheen 6s linear infinite;pointer-events:none}
.reduce-motion .launch-card-main::after,.reduce-motion .match-card::after,.reduce-motion .store-featured::after,.reduce-motion .pulse-card span{animation:none}
.career-panels{grid-template-columns:1fr 1fr;margin-top:2px}
.career-panel,.career-history-card{border-radius:20px;padding:14px;background:linear-gradient(180deg,rgba(22,48,75,.98),rgba(13,29,46,.96));border:1px solid rgba(107,158,194,.2);box-shadow:0 10px 24px rgba(0,0,0,.15)}
.career-panel small{display:block;color:#95c9eb;font-size:9px;letter-spacing:1.3px;font-weight:900;margin-bottom:8px}
.career-panel strong{display:block;font-size:17px;margin-bottom:7px}
.career-panel p{margin:0;color:#d5e7f1;font-size:11px;line-height:1.45}
.match-form{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;min-height:28px}
.form-pill,.form-empty{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 10px;font-size:11px;font-weight:1000;border:1px solid rgba(255,255,255,.06)}
.form-pill.win{background:linear-gradient(180deg,#4dd39c,#238a62);color:#042317}
.form-pill.draw{background:linear-gradient(180deg,#70c7ff,#336c9a);color:#081b2d}
.form-pill.loss{background:linear-gradient(180deg,#ef8aa0,#a94c60);color:#300d16}
.form-empty{background:rgba(9,23,36,.5);color:#bfd3e1}
.career-history-card{margin-top:10px}
.section-head.compact{margin:0 0 10px;align-items:end}
.league-history{display:grid;gap:8px}
.history-row{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:11px 12px;border-radius:16px;background:linear-gradient(180deg,rgba(14,33,52,.96),rgba(10,24,38,.94));border:1px solid rgba(97,145,178,.15)}
.history-row strong{font-size:12px}
.history-row span{font-size:12px;font-weight:900;color:#ffe4a4}
.history-row small{font-size:10px;color:#c7dce8}
.history-row.empty{grid-template-columns:auto 1fr}
.ready-list{margin-top:10px}
.ready-item{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;padding:12px;border-radius:18px;background:linear-gradient(180deg,rgba(20,46,72,.98),rgba(12,29,46,.96));border:1px solid rgba(103,154,190,.18)}
.ready-item.ok{border-color:rgba(120,219,174,.26);background:linear-gradient(180deg,rgba(19,53,61,.96),rgba(12,32,42,.96))}
.ready-state{width:32px;height:32px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(180deg,#315676,#1d3958);font-weight:1000}
.ready-item.ok .ready-state{background:linear-gradient(180deg,#67d8a1,#2d8f6a);color:#052116}
.ready-item strong{display:block;font-size:13px;margin-bottom:3px}
.ready-item small{display:block;color:#c3d9e7;font-size:10px;line-height:1.45}
.topbar,.tabbar,.wallet-pill,.launch-card,.career-panel,.career-history-card,.ready-item,.pulse-card,.store-card,.shop-product,.order,.reno,.quest,.contract-card,.daily-card,.academy-card,.match-card{backdrop-filter:blur(12px)}
.match-card,.launch-card-main,.store-featured{position:relative;overflow:hidden}
.wallet-pill strong,.launch-card strong,.career-panel strong,.section-head h2,.section-head h3,.match-card .vs{letter-spacing:-.35px}
@media(max-width:560px){
  .launch-grid,.launch-pulse,.career-panels{grid-template-columns:1fr}
  .launch-actions{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:380px){
  .launch-head h2{font-size:21px}
  .launch-actions{grid-template-columns:1fr 1fr}
}

/* Football Dreams V1.2 · Saga du directeur */
.master-section{margin:18px 0;padding:16px;background:linear-gradient(165deg,#142f4c,#0d263e 70%,#18344c);border:1px solid rgba(121,199,237,.34);border-radius:24px;box-shadow:0 18px 42px rgba(3,13,25,.3)}
.master-section .section-head{margin:0 0 12px}.master-section h2{margin:2px 0;font-size:22px}.master-section p{color:#bfd9ed;font-size:12px;line-height:1.65}.master-counter{background:linear-gradient(130deg,#ffde99,#e4b955);border-radius:999px;padding:9px 12px;color:#302311;font-size:12px;font-weight:900;white-space:nowrap}.master-progress{margin:12px 0 15px}.master-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.master-item{padding:9px 5px;border-radius:17px;text-align:center;min-width:0;background:linear-gradient(160deg,#1c3a58,#112b47);border:1px solid #426483}.master-item.ready{border-color:#78e1aa;background:linear-gradient(160deg,#23544b,#163d46)}.master-item img{width:62px;height:62px;max-width:100%;object-fit:contain}.master-item strong{display:block;font-size:10px;line-height:1.3;min-height:29px}.master-item small{display:block;font-size:9px;color:#c7d9e6;margin-top:3px}.master-reward{font-size:10px!important;color:#ffdb95!important;margin:12px 0 0!important}.master-section .action-btn{margin-top:5px}
@media(max-width:355px){.master-section{padding:12px 10px}.master-items{gap:5px}.master-item{padding:8px 4px}.master-item img{width:52px;height:52px}.master-item strong{font-size:9px}}

/* V1.2 · L'essentiel est visible sans pousser le plateau trop bas. */
.launch-controls{display:flex;align-items:center;gap:8px}.launch-controls .subtle-btn{padding:8px 10px;font-size:10px}
.launch-hub:not(.is-expanded) .launch-grid{grid-template-columns:minmax(0,1fr)}
.launch-hub:not(.is-expanded) .launch-grid .launch-card:not(.launch-card-main),.launch-hub:not(.is-expanded) .launch-pulse{display:none}
.launch-hub .launch-card-main{min-height:auto}
.launch-hub.is-expanded .launch-pulse{display:grid}
@media(max-width:560px){.launch-hub.is-expanded .launch-pulse{grid-template-columns:1fr}}

/* V1.3 : premier parcours accompagné et confort de jeu. */
.coach-card{margin:16px 0 18px;position:relative;overflow:hidden;padding:15px 16px;border-radius:24px;background:linear-gradient(136deg,rgba(22,63,70,.97),rgba(13,38,55,.98) 56%,rgba(19,48,73,.97));border:1px solid rgba(126,228,185,.46);box-shadow:0 14px 28px rgba(0,10,24,.24),inset 0 1px 0 rgba(255,255,255,.1)}
.coach-card::after{position:absolute;content:"";right:-35px;top:-38px;width:145px;height:145px;border-radius:50%;border:22px solid rgba(139,230,195,.06);pointer-events:none}
.coach-top,.coach-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;z-index:1}
.coach-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}
.coach-icon{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:14px;font-size:25px;background:linear-gradient(155deg,#387d7b,#174957);border:1px solid rgba(148,242,191,.29)}
.coach-card h3{font-size:17px;line-height:1.2;margin:5px 0 0}
.coach-count{font-size:11px;font-weight:950;color:#ffebbb;background:rgba(11,38,49,.75);border:1px solid rgba(238,215,153,.26);padding:7px 10px;border-radius:999px;white-space:nowrap}
.coach-card p{position:relative;z-index:1;color:#d4eee8;font-size:12px;line-height:1.55;margin:10px 1px}
.coach-track{height:9px;border-radius:8px;overflow:hidden;background:#092d38;border:1px solid rgba(130,224,189,.2);margin:12px 0}
.coach-track>div{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#51dcae,#ffe69e);transition:width .3s ease}
.coach-bottom small{color:#e6d9ae;font-weight:800;font-size:10px;line-height:1.5;flex:1}
.coach-actions{display:flex;gap:6px;flex-shrink:0}
.coach-actions button{font-size:10px;padding:9px 10px}
.coach-actions button[hidden]{display:none}
#quick-merge-triple{border-color:rgba(255,214,122,.46);color:#ffe4a1;background:linear-gradient(145deg,#574829,#2f3348)}
#sound-test{margin:0 0 16px;width:100%;border-color:rgba(121,188,224,.3)}
@media(max-width:410px){.coach-bottom{align-items:stretch;flex-direction:column}.coach-actions{justify-content:flex-end}.coach-card{padding:13px 12px}.coach-count{font-size:10px;padding:6px 8px}.coach-title-wrap .eyebrow{font-size:8px}.board-tools{gap:5px}.board-tools .subtle-btn{padding:9px 8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.coach-track>div{transition:none}}

/* V1.4 : animations courtes du stade et nouveaux repères économiques. */
.pacing-card{margin:18px 0 16px;padding:16px;border-radius:21px;border:1px solid #3f7c81;background:linear-gradient(145deg,#123c4e,#102943);box-shadow:0 12px 28px #0004}
.pacing-heading{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:space-between;margin-bottom:13px}
.pacing-heading strong{font-size:13px;color:#fff5d2}
.pacing-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.pacing-grid>div{display:flex;flex-direction:column;gap:6px;padding:12px 11px;border-radius:15px;background:#0d253cb8;border:1px solid #446e7b70}
.pacing-grid span{font-size:10px;color:#d3e6ee;line-height:1.4}
.pacing-grid strong{font-size:14px;color:#f7fefa}
.pacing-grid small{font-size:10px;color:#81e4bf;line-height:1.45}
.pacing-card>small{color:#aec5d4;font-size:10px;line-height:1.5;display:block}
.reno-celebration{position:fixed;left:50%;top:20%;width:min(90vw,370px);z-index:60;pointer-events:none;opacity:0;transform:translate(-50%,-15px) scale(.9);transition:opacity .22s ease,transform .28s cubic-bezier(.22,1.4,.5,1)}
.reno-celebration.active{opacity:1;transform:translate(-50%,0) scale(1)}
.reno-celebration-content{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;gap:8px;border:2px solid #ffde8c;padding:21px 20px;border-radius:24px;background:radial-gradient(circle at 50% 0%,#2f735f 0%,#174d54 44%,#0b2a43 100%);box-shadow:0 20px 65px #00121a9a,0 0 32px #e3b3516b;text-align:center}
.reno-celebration-content:before{content:"";position:absolute;inset:5px;border:1px solid #e8f7d759;border-radius:18px;pointer-events:none}
.reno-celebration-content>span:first-child{font-size:10px;letter-spacing:1.9px;font-weight:950;color:#aef7cf}
.reno-celebration-icon{font-size:47px;filter:drop-shadow(0 5px 4px #0005);animation:renoIcon .65s ease-out both}
.reno-celebration-content strong{color:#ffde88;font-size:23px;letter-spacing:.4px;text-shadow:0 2px 11px #0009}
.reno-celebration-content p{font-size:16px;font-weight:900;margin:0;color:#fff}
.reno-celebration-content small{color:#cbede1;font-size:11px}
.reno-celebration-particles{position:absolute;inset:-55px;overflow:visible;pointer-events:none}
.reno-celebration-particles i{--x:calc((var(--n) - 6.5) * 19px);position:absolute;top:38%;left:50%;width:8px;height:13px;background:var(--gold);border-radius:2px;opacity:0;transform:translate(-50%,-50%)}
.reno-celebration-particles i:nth-child(3n){background:#73eeb3}.reno-celebration-particles i:nth-child(4n){background:#a3ddff}
.reno-celebration.active .reno-celebration-particles i{animation:renoConfetti 1.45s ease-out both;animation-delay:calc(var(--n) * 40ms)}
@keyframes renoConfetti{0%{opacity:0;transform:translate(-50%,0) scale(.3) rotate(0deg)}15%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translate(var(--x),145px) rotate(540deg)}}
@keyframes renoIcon{0%{transform:scale(.7)}55%{transform:scale(1.2)}100%{transform:scale(1)}}
#journey-stadium [id^="scene-"]{transition:opacity 1s cubic-bezier(.2,.8,.3,1)}
.reduce-motion .reno-celebration,.reduce-motion .reno-celebration-icon,.reduce-motion .reno-celebration-particles i,.reduce-motion #journey-stadium [id^="scene-"]{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.reno-celebration,.reno-celebration-icon,.reno-celebration-particles i,#journey-stadium [id^="scene-"]{animation:none!important;transition:none!important}}
@media(max-width:355px){.pacing-grid{grid-template-columns:1fr}.reno-celebration-content strong{font-size:19px}.reno-celebration-content{padding:18px 13px}}

/* V1.5 · points de restauration et centre bêta */
.backup-v15,.beta-card{margin:16px 0;padding:16px;border:1px solid rgba(110,177,205,.32);border-radius:22px;background:linear-gradient(158deg,#193955,#0d223a);box-shadow:0 12px 30px rgba(0,0,0,.19)}
.backup-v15 .section-head,.beta-card .section-head{margin:0 0 12px}
.backup-v15 p,.beta-card p{font-size:12px;line-height:1.55;color:#c5d9e7}
.backup-v15 .backup-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.checkpoint-list,.beta-checklist{display:grid;gap:8px;margin-top:13px}
.checkpoint-row{display:flex;align-items:center;gap:10px;min-width:0;border-radius:14px;padding:10px;background:#091f34;border:1px solid #34607f}
.checkpoint-icon{font-size:23px;flex:none}
.checkpoint-meta{flex:1;min-width:0}
.checkpoint-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.checkpoint-meta small{display:block;font-size:10px;line-height:1.5;color:#c4d6e3}
.checkpoint-row button{font-size:9px;padding:9px 7px;flex:none}
.backup-v15 .backup-warning{border-top:1px solid #31536b;padding-top:10px;font-size:10px}
.checkpoint-empty{font-size:12px;color:#a9cce3}
.beta-percent{background:linear-gradient(130deg,#fbe99d,#e9bb59);color:#493314;padding:7px 11px;border-radius:12px;white-space:nowrap;font-size:12px}
.beta-test{display:flex;align-items:flex-start;gap:10px;border:1px solid #315770;border-radius:14px;padding:12px;background:#0d2941;cursor:pointer}
.beta-test input{width:20px;height:20px;flex:none;accent-color:#5ed3a3;margin:1px 0 0}
.beta-test span{min-width:0}
.beta-test strong{display:block;font-size:12px;line-height:1.4}
.beta-test small{display:block;color:#afcddd;font-size:10px;line-height:1.45;margin-top:3px}
.beta-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(max-width:355px){.backup-v15,.beta-card{padding:12px}.checkpoint-row{gap:7px;padding:9px 7px}.checkpoint-row button{font-size:8px;padding:9px 5px}.checkpoint-icon{font-size:18px}}


/* =========================================================
   FOOTBALL DREAMS V1.6 · MODERN VISUAL OVERHAUL
   ========================================================= */
:root{
  --bg:#06111d;
  --surface:#10233a;
  --surface2:#16324f;
  --surface3:#1c4163;
  --stroke:#325e86;
  --stroke-soft:#4f7da7;
  --light:#f7fbff;
  --muted:#aec6dc;
  --gold:#ffd978;
  --mint:#79f4c2;
  --blue:#7dd3ff;
  --blue-soft:#59b7f5;
  --pink:#e4a6ff;
  --card-shadow:0 20px 56px rgba(1,10,24,.34);
  --card-shadow-soft:0 14px 32px rgba(1,10,24,.24);
}
html{background:linear-gradient(180deg,#05101c 0%,#091a2b 100%)}
body{
  background:
    radial-gradient(circle at 12% -8%, rgba(95,188,255,.28), transparent 28%),
    radial-gradient(circle at 88% -6%, rgba(122,255,205,.16), transparent 24%),
    radial-gradient(circle at 50% 125%, rgba(255,216,116,.1), transparent 32%),
    linear-gradient(180deg,#071322 0%,#04101a 100%);
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.24;
  background:
    radial-gradient(circle at 50% 0, rgba(125,209,255,.16), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 25%);
}
.app{
  width:min(100%,580px);
  padding:12px 14px calc(126px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(7,20,33,.60) 0%,rgba(7,18,30,.30) 62%,rgba(7,18,30,.12) 100%);
  backdrop-filter:blur(8px);
}
.topbar{
  position:sticky;top:10px;z-index:14;
  padding:14px 14px;
  border:1px solid rgba(123,190,235,.24);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(9,23,38,.92),rgba(8,20,34,.74));
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}
.brand-ball{
  width:44px;height:44px;display:grid;place-items:center;border-radius:16px;
  background:radial-gradient(circle at 35% 25%,#fff1bb 0%,#ffd96c 44%,#df9d29 100%);
  box-shadow:0 12px 30px rgba(255,193,76,.22), inset 0 1px 0 rgba(255,255,255,.45);
  color:#34220a;font-size:24px;filter:none;
}
.brand strong{font-size:21px;letter-spacing:-1px}
.brand small{font-size:8.8px;letter-spacing:1.3px;color:#a7d8fb}
.wallet{gap:10px;margin-bottom:18px}
.wallet-pill{
  min-height:70px;padding:10px 10px 8px;border-radius:20px;
  border:1px solid rgba(126,190,238,.22);
  background:linear-gradient(180deg,rgba(18,42,68,.98),rgba(10,26,42,.94));
  box-shadow:var(--card-shadow-soft), inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
}
.wallet-pill::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 42%)}
.wallet-pill::after{content:"";position:absolute;right:-16px;top:-20px;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle, rgba(125,208,255,.22), transparent 68%)}
.wallet-pill.energy::after{background:radial-gradient(circle, rgba(121,244,194,.22), transparent 68%)}
.wallet-pill>span{font-size:28px}
.wallet-pill strong{font-size:18px}
.wallet-pill small{font-size:9.2px;color:#bdd2e3}
.stadium-hero,
.launch-hub,
.coach-card,
.workshop-panel,
.board-panel,
.storage-card,
.collection-panel,
.tip,
.story-card,
.daily-card,
.match-card,
.league-card,
.season-card,
.contract-card,
.contract-item,
.pulse-card,
.launch-card,
.order,
.reno,
.quest,
.shop-product,
.store-spotlight,
.backup-card,
.beta-card,
.mission-card,
.district-section,
.tour-section,
.academy-card,
.career-panel,
.career-history-card,
.club-identity-card,
.club-style-card,
.ready-item,
.upgrade-card,
.workshops .subtle-btn,
.pass-option,
.store-card,
.modal,
.identity-modal-inner{
  backdrop-filter:blur(14px) saturate(135%);
}
.stadium-hero{
  border:none;border-radius:32px;padding:18px 18px 0;
  background:
    radial-gradient(circle at 82% 10%, rgba(95,191,255,.26), transparent 18%),
    radial-gradient(circle at 15% 0%, rgba(128,249,200,.13), transparent 18%),
    linear-gradient(180deg,#11345e 0%,#0b2545 36%,#0a1f36 100%);
  box-shadow:0 26px 62px rgba(1,10,24,.42), inset 0 1px 0 rgba(255,255,255,.08);
}
.stadium-hero::before{opacity:.65}
.stadium-hero::after{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(155deg,rgba(135,212,255,.55),rgba(255,220,127,.16),rgba(121,194,255,.10));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
}
.hero-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:rgba(7,22,39,.35);border:1px solid rgba(124,193,239,.18);backdrop-filter:blur(8px)}
.hero-title{margin-top:14px;align-items:flex-start;gap:14px}
.hero-title h1{font-size:30px;letter-spacing:-1.25px;text-shadow:0 8px 24px rgba(0,0,0,.24)}
.hero-title p{font-size:12px;line-height:1.5;color:#d9e8f4;max-width:260px}
.club-emblem{height:62px;width:58px;border-width:2px;box-shadow:0 14px 28px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.2)}
#stadium-art{margin:10px -18px -12px;max-height:246px}
.hero-bottom{margin:0 -18px;padding:15px 16px;background:linear-gradient(180deg,rgba(9,20,34,.08),rgba(9,20,34,.78));border-top:1px solid rgba(126,194,235,.16);backdrop-filter:blur(8px)}
.hero-bottom strong{font-size:16px}
.pill-btn{
  border-radius:999px;padding:11px 17px;
  background:linear-gradient(180deg,#ffe8a8 0%,#f1c55c 54%,#d89b31 100%);
  border:1px solid #ffedb3;color:#3c290d;box-shadow:0 10px 24px rgba(255,188,71,.2), inset 0 1px 0 rgba(255,255,255,.48);
  letter-spacing:.9px;font-size:11px;
}
.launch-hub,
.coach-card,
.workshop-panel,
.board-panel,
.storage-card,
.collection-panel,
.tip,
.order,
.reno,
.quest,
.shop-product,
.store-spotlight,
.match-card,
.league-card,
.season-card,
.contract-card,
.contract-item,
.district-section,
.tour-section,
.academy-card,
.career-panel,
.career-history-card,
.backup-card,
.beta-card,
.mission-card{
  border:1px solid rgba(111,175,220,.18) !important;
  background:linear-gradient(180deg,rgba(17,38,61,.92),rgba(10,24,39,.88)) !important;
  box-shadow:var(--card-shadow-soft), inset 0 1px 0 rgba(255,255,255,.04);
}
.launch-hub,.coach-card{border-radius:24px}
.launch-card,.contract-item,.store-card,.academy-card,.mission-card,.beta-test,.checkpoint-row,.district-building,.tour-stop,.contract-card,.season-card,.shop-product,.backup-v15{
  background:linear-gradient(180deg,rgba(24,50,77,.98),rgba(14,31,49,.94));
  border:1px solid rgba(121,186,230,.16);
  box-shadow:0 10px 24px rgba(1,9,20,.18), inset 0 1px 0 rgba(255,255,255,.04);
}
.launch-card-main{
  background:
    radial-gradient(circle at 100% 0, rgba(255,213,104,.15), transparent 30%),
    linear-gradient(180deg,rgba(34,60,92,.98),rgba(16,35,55,.96));
}
.section-head h2{font-size:24px;letter-spacing:-.8px}
.board-tools{gap:8px}
.subtle-btn,.icon-btn,.store-product-btn,.tab,.pill-btn,.action-btn{
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, background .16s ease, border-color .16s ease;
}
.subtle-btn{
  border:1px solid rgba(123,189,232,.26);
  border-radius:14px;
  color:#d8ecfb;
  background:linear-gradient(180deg,rgba(31,67,99,.96),rgba(20,42,67,.92));
  box-shadow:0 8px 20px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06);
}
.action-btn{
  border-radius:13px;
  background:linear-gradient(180deg,#76ecb7 0%,#49c287 52%,#249463 100%);
  border:1px solid rgba(202,255,225,.38);
  box-shadow:0 10px 18px rgba(36,148,99,.2), inset 0 1px 0 rgba(255,255,255,.3);
}
.action-btn[disabled]{box-shadow:none}
.icon-btn{
  width:41px;height:41px;border-radius:15px;font-size:18px;
  border:1px solid rgba(123,189,232,.26);
  background:linear-gradient(180deg,rgba(32,69,101,.98),rgba(18,38,61,.94));
  box-shadow:0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
}
.board-panel{padding:12px;border-radius:24px}
.board{gap:6px}
.cell{
  border-radius:15px;
  border:1px solid rgba(114,171,213,.24);
  background:linear-gradient(180deg,rgba(29,58,88,.94),rgba(20,41,64,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), inset 0 -4px 8px rgba(0,0,0,.16), 0 8px 18px rgba(0,0,0,.12);
}
.cell::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 38%)}
.cell.item{background:linear-gradient(180deg,rgba(66,120,160,.96),rgba(39,78,118,.98))}
.cell.item[data-series=ball]{background:linear-gradient(180deg,rgba(62,140,143,.98),rgba(27,87,95,.98))}
.cell.item[data-series=kit]{background:linear-gradient(180deg,rgba(106,90,170,.98),rgba(57,49,104,.98))}
.cell.item[data-series=fan]{background:linear-gradient(180deg,rgba(180,128,72,.96),rgba(101,67,34,.98))}
.cell.generator{background:linear-gradient(180deg,rgba(32,133,128,.98),rgba(17,78,88,.98))}
.cell.generator[data-series=kit]{background:linear-gradient(180deg,rgba(116,100,191,.98),rgba(71,62,133,.98))}
.cell.generator[data-series=fan]{background:linear-gradient(180deg,rgba(191,149,74,.98),rgba(116,81,29,.98))}
.cell.selected{outline:2px solid rgba(255,211,102,.95);transform:translateY(-1px) scale(1.02);box-shadow:0 0 0 3px rgba(255,206,94,.22), 0 16px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.18)}
.cell.available{border-color:#d2ffdf;box-shadow:0 0 0 2px rgba(180,255,205,.15), 0 10px 22px rgba(0,0,0,.15)}
.tile-emoji{filter:drop-shadow(0 8px 6px rgba(0,0,0,.2))}
.tile-level{bottom:4px;right:5px;padding:2px 5px;border-radius:999px;background:rgba(6,26,45,.72);backdrop-filter:blur(4px)}
.generator-label{left:4px;right:4px;bottom:4px;border-radius:999px;background:rgba(6,28,55,.66);line-height:1.35;padding:1px 4px}
.generator-zap{top:5px;right:5px}
.board-hint{margin-top:12px;padding:12px 6px 2px;border-top:1px solid rgba(117,176,217,.16);color:#d1e6f7}
.storage-grid,.gallery-items,.collections,.quest-list,.shop-list,.reno-list,.orders{gap:10px}
.order,.reno,.quest,.shop-product{padding:12px;border-radius:18px}
.order-icon,.reno-icon,.quest-icon,.shop-icon,.daily-icon,.contract-card-top .shop-icon,.district-symbol,.tour-counter,.academy-avatar,.collection-icon{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15), 0 10px 18px rgba(0,0,0,.12);
}
.tip{border-style:solid;border-color:rgba(124,189,234,.22);color:#d5e7f6}
.progress,.academy-meter,.district-progress,.tour-progress,.chapter-progress-track,.pass-progress,.season-progress,.master-progress{background:rgba(5,18,30,.86);border-color:rgba(120,179,218,.18)}
.progress>div,.academy-meter>div,.district-progress>div,.tour-progress>div,.chapter-progress-track>div,.pass-progress>div,.season-progress>div,.master-progress>div{background:linear-gradient(90deg,#41d59f,#79f0c1 54%,#7bd1ff 100%)}
.tabbar{
  width:min(calc(100% - 14px),560px);
  bottom:8px;
  padding:10px 6px calc(10px + env(safe-area-inset-bottom));
  border:1px solid rgba(118,180,224,.22);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(12,27,44,.92),rgba(8,20,34,.88));
  backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 -2px 0 rgba(255,255,255,.04),0 18px 42px rgba(0,0,0,.32);
}
.tab{border-radius:15px;padding:8px 1px 4px;color:#9db9d2}
.tab span{font-size:21px}
.tab.active{
  color:#fff4c9;
  background:linear-gradient(180deg,rgba(61,97,139,.92),rgba(38,63,95,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 8px 16px rgba(0,0,0,.16);
}
.toast{
  border-radius:18px;
  background:linear-gradient(180deg,rgba(18,50,74,.98),rgba(10,31,48,.98));
  border:1px solid rgba(129,224,181,.34);
  box-shadow:0 18px 42px rgba(0,0,0,.32);
}
.modal-overlay{background:rgba(3,11,18,.82);backdrop-filter:blur(10px)}
.modal,.identity-modal-inner{
  border-radius:28px;
  border:1px solid rgba(126,189,233,.24);
  background:linear-gradient(180deg,rgba(15,35,56,.98),rgba(10,24,39,.96));
  box-shadow:0 28px 64px rgba(0,0,0,.4);
}
.launch-badge,.coach-count,.beta-percent,.district-star-counter,.tour-map-stars,.generator-rank,.form-pill{
  background:linear-gradient(180deg,rgba(35,72,106,.95),rgba(17,38,60,.95));
  border:1px solid rgba(125,189,233,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.reno-celebration-content,
.stadium-celebrate,
.merge-burst{
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.18));
}
@media(min-width:700px){
  body{padding:20px 0}
  .app{border:1px solid rgba(115,174,219,.22);border-radius:36px;overflow:hidden;box-shadow:0 34px 96px rgba(0,0,0,.34);min-height:calc(100dvh - 40px)}
  .tabbar{bottom:14px}
}
@media(max-width:390px){
  .hero-title h1{font-size:27px}
  .topbar{padding:13px 12px}
  .brand strong{font-size:19px}
  .wallet-pill strong{font-size:17px}
}
@media(max-width:350px){
  .app{padding-left:10px;padding-right:10px}
  .tabbar{width:min(calc(100% - 10px),560px)}
  .cell{border-radius:13px}
}
@media (prefers-reduced-motion: reduce){
  .icon-btn,.subtle-btn,.action-btn,.pill-btn,.tab,.cell{transition:none}
}


/* V1.7 : confort mobile, informations vérifiables et préparation store */
.skip-to-game{position:fixed;left:12px;top:-60px;z-index:100;background:#f5d784;color:#152b37;padding:11px 16px;border-radius:12px;font-weight:900;text-decoration:none}
.skip-to-game:focus{top:12px}
.mobile-install,.release-blockers{margin:18px 0;padding:18px 15px;border-radius:24px;border:1px solid rgba(118,190,226,.27);background:linear-gradient(180deg,rgba(24,58,81,.97),rgba(12,30,47,.96));box-shadow:0 16px 32px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06)}
.mobile-install .section-head,.release-blockers .section-head{margin:0 0 14px}
.mobile-install h2{font-size:23px}
.install-build{border:1px solid rgba(125,234,193,.4);padding:7px 11px;background:rgba(78,195,151,.13);border-radius:999px;font-weight:900;color:#bcf9dc;font-size:11px}
.install-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.install-fact{display:flex;flex-direction:column;justify-content:center;min-height:76px;gap:7px;padding:12px;border-radius:17px;background:rgba(6,24,42,.52);border:1px solid rgba(120,185,228,.21)}
.install-fact small{font-size:9px;letter-spacing:1.25px;font-weight:900;color:#a5c9df}
.install-fact strong{font-size:14px;color:#f3faff}
.mobile-install p,.release-blockers p{font-size:11px;line-height:1.6;color:#c8dfed}
.install-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.install-actions button{min-height:44px;white-space:normal;flex:1 1 120px}
.install-guide{padding:13px 14px;border-radius:18px;background:rgba(6,23,40,.64);border:1px solid rgba(129,214,185,.25);font-size:12px;line-height:1.7;color:#dbedf7}
.install-guide strong{color:#ffe39c}
.install-guide[hidden]{display:none}
.install-result{min-height:44px;display:flex;align-items:center;padding:11px 13px;border-radius:14px;background:rgba(7,22,39,.52);border:1px solid rgba(113,173,212,.17);color:#d7e6f2;font-size:11px;line-height:1.45}
.install-disclaimer{margin-bottom:0;opacity:.85}
.release-blockers{background:linear-gradient(180deg,rgba(36,51,73,.96),rgba(15,31,49,.96))}
.release-blocker{display:flex;align-items:flex-start;gap:11px;margin-top:8px;padding:11px 12px;border-radius:15px;background:rgba(7,20,35,.48);border:1px solid rgba(107,166,208,.18);font-size:11px;line-height:1.5;color:#dceef8}
.tab{min-height:48px}
.icon-btn{min-height:44px;min-width:44px}
.subtle-btn,.action-btn,.pill-btn,.store-product-btn{min-height:40px}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffe395;outline-offset:3px}
@media (max-width:370px){.mobile-install,.release-blockers{padding:13px 10px}.install-fact{padding:10px}.install-fact strong{font-size:12px}.install-actions button{font-size:10px}}

/* V1.7 QA — petits écrans : aucun effet hors cadre ne peut agrandir la page */
.reno-celebration{overflow:hidden;max-width:100vw}
.toast{width:min(calc(100vw - 32px),350px);max-width:none}
.topbar .brand{min-width:0;flex:1}
.topbar .brand>div{min-width:0}
.topbar .top-actions{flex-shrink:0}
@media(max-width:365px){
 .topbar{padding:11px 9px;gap:6px}
 .topbar .brand{gap:6px}
 .topbar .brand-ball{width:36px;height:36px;font-size:20px;flex-shrink:0}
 .topbar .brand strong{font-size:15px;letter-spacing:-.85px;white-space:normal;line-height:1.05;display:block}
 .topbar .brand small{font-size:7px;letter-spacing:.6px;line-height:1.3}
 .topbar .top-actions{gap:4px}
 .topbar .icon-btn{width:40px;height:40px;min-width:40px;min-height:40px}
}

/* Football Dreams V1.8 · Compétitions : visuels originaux, sans marques sous licence */
.cups-zone,.online-zone{padding:17px;margin:24px 0 20px;border:1px solid rgba(104,178,223,.25);border-radius:25px;background:linear-gradient(175deg,rgba(15,40,67,.97),rgba(8,25,42,.96));box-shadow:0 16px 36px rgba(0,6,22,.25)}
.cups-zone>.section-head,.online-zone>.section-head{margin:0 0 9px}.cups-zone>p,.online-zone>p{font-size:11px;line-height:1.65;color:#c8dceb;margin:4px 1px 15px}
.cup-mode-grid{display:grid;gap:12px}.cup-card{position:relative;overflow:hidden;padding:14px;border:1px solid rgba(114,167,214,.24);border-radius:21px;background:radial-gradient(circle at 100% 0%,rgba(121,175,234,.15),transparent 40%),linear-gradient(150deg,#183b5f,#0e2946 76%);box-shadow:inset 0 1px rgba(255,255,255,.07),0 10px 25px rgba(0,7,22,.18)}
.cup-card:nth-child(2){background:radial-gradient(circle at 100% 0%,rgba(240,194,105,.18),transparent 40%),linear-gradient(150deg,#273c68,#152844 76%)}.cup-card:nth-child(3){background:radial-gradient(circle at 100% 0%,rgba(95,225,176,.17),transparent 40%),linear-gradient(150deg,#164456,#0d2c41 76%)}
.cup-card.cup-done{border-color:rgba(253,216,122,.36)}.cup-top{display:flex;align-items:center;gap:10px;min-width:0}.cup-icon{display:grid;place-items:center;flex:0 0 49px;width:49px;height:49px;border-radius:16px;font-size:26px;background:linear-gradient(160deg,rgba(96,150,187,.33),rgba(32,64,95,.22));border:1px solid rgba(180,218,240,.22)}
.cup-top>div{flex:1;min-width:0}.cup-top small{font-size:9px;color:#bed4e4}.cup-top h4{font-size:14px;line-height:1.3;margin:3px 0 4px;color:#fff4d1}.cup-round{font-size:11px;font-weight:900;color:#91f0cb}.cup-trophies{white-space:nowrap;font-size:12px;font-weight:950;color:#ffe5aa;padding:6px 9px;border-radius:11px;background:rgba(0,0,0,.2)}
.cup-next{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:14px 0 9px;border-top:1px solid rgba(149,199,235,.14);padding-top:10px}.cup-next span{font-size:11px;line-height:1.4;color:#e0ecf5;min-width:0}.cup-next strong{font-size:10px;white-space:nowrap;color:#ffe4a2}
.cup-history{display:flex;align-items:center;gap:6px;margin-bottom:11px;min-height:27px;flex-wrap:wrap}.cup-history small{margin-left:auto;font-size:10px;color:#a9cadc}.cup-result{display:grid;place-items:center;border-radius:9px;width:28px;height:27px;font-size:11px;font-weight:1000}.cup-result.win{background:#258d68;color:#eafff4}.cup-result.draw{background:#315b8c;color:#e2f4ff}.cup-result.loss{background:#7f4559;color:#ffe5ed}.cup-noresult{font-size:10px;color:#9bb7cb}.cup-card .action-btn{margin-top:1px;min-height:42px}
.cup-hall{margin-top:13px;border-radius:18px;padding:13px;background:rgba(4,22,36,.55);border:1px solid rgba(133,183,220,.2)}.cup-hall-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.cup-hall-top strong{font-size:12px;color:#ffe4aa}.cup-hall-top small{font-size:10px;color:#b7cfdf}.cup-palm-entry{font-size:11px;padding:8px 4px;color:#d4e6f3;border-top:1px solid rgba(145,183,216,.1)}
.online-zone{border-color:rgba(144,201,255,.17);background:linear-gradient(160deg,rgba(20,39,68,.95),rgba(14,27,47,.96))}.online-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.online-types>div{display:flex;flex-direction:column;gap:5px;padding:12px 8px;border-radius:14px;border:1px solid rgba(123,165,219,.2);background:rgba(38,64,98,.45);min-width:0}.online-types span{font-size:24px}.online-types strong{font-size:11px;line-height:1.3}.online-types small{font-size:9px;line-height:1.35;color:#b5cde2}.online-soon{display:block;margin-top:12px;font-size:10px;color:#ffd88b;background:rgba(11,22,36,.48);border:1px solid rgba(212,171,108,.25);padding:10px 12px;border-radius:13px;text-align:center}
@media(max-width:354px){.cups-zone,.online-zone{padding:12px}.cup-icon{width:40px;flex-basis:40px;height:45px}.cup-top h4{font-size:12px}.online-types{grid-template-columns:1fr}}

/* V1.9 · Original solo football universe */
.cup-icon{width:66px;height:66px;flex-basis:66px;padding:4px;border:1px solid rgba(164,204,236,.25);border-radius:20px;background:radial-gradient(circle at 50% 20%,rgba(255,220,147,.18),rgba(12,37,59,.66));box-shadow:inset 0 1px rgba(255,255,255,.16),0 10px 22px rgba(0,0,0,.17)}
.cup-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.22))}
.cups-zone{background:radial-gradient(circle at 70% 0%,rgba(255,199,106,.09),transparent 42%),linear-gradient(175deg,rgba(15,40,67,.97),rgba(8,25,42,.96))}
.cup-card.cup-done{border-color:rgba(253,216,122,.39)}
.cup-solo-zone{padding:17px;margin:21px 0 23px;border:1px solid rgba(116,204,176,.24);border-radius:25px;background:radial-gradient(circle at 92% 4%,rgba(94,227,174,.11),transparent 39%),linear-gradient(165deg,rgba(14,47,63,.94),rgba(8,26,43,.97));box-shadow:0 16px 36px rgba(0,6,22,.25)}
.cup-solo-zone .section-head{margin:0 0 8px}.cup-solo-zone>p{font-size:11px;line-height:1.65;color:#d2e9f1;margin:0 0 12px}
.cup-solo-summary{font-size:11px;color:#ffe9b3;padding:10px 12px;border-radius:14px;background:rgba(5,20,32,.48);border:1px solid rgba(125,207,181,.13);margin-bottom:11px}
.cup-solo-rewards{display:grid;gap:8px}.cup-reward{display:flex;gap:9px;align-items:center;padding:10px 9px;border-radius:15px;background:linear-gradient(160deg,rgba(25,60,78,.95),rgba(14,34,51,.96));border:1px solid rgba(134,193,210,.18)}
.cup-reward-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:36px;border-radius:12px;background:linear-gradient(140deg,rgba(86,171,148,.35),rgba(29,77,73,.32));border:1px solid rgba(148,229,192,.19);color:#ecffe9;font-size:18px;font-weight:1000}
.cup-reward-desc{flex:1;min-width:0}.cup-reward-desc strong{display:block;font-size:11px;color:#fafdfd}.cup-reward-desc small{display:block;font-size:9px;color:#c0d9df;margin-top:4px;line-height:1.4}
.cup-reward .action-btn{padding:10px 8px;font-size:9px;min-width:65px}
.cup-originality{display:block;font-size:10px;color:#a7c5cf;line-height:1.5;margin:11px 2px 0}
@media(max-width:355px){.cup-icon{width:50px;height:52px;flex-basis:50px}.cup-reward{gap:6px;padding:8px 6px}.cup-reward .action-btn{min-width:60px}.cup-solo-zone{padding:12px}}


/* V2.0 — Atelier des Tacticiens */
.tactics-zone{position:relative;overflow:hidden;margin:18px 0 22px;padding:16px;border-radius:26px;background:radial-gradient(circle at 90% 0%,rgba(88,198,173,.23),transparent 32%),linear-gradient(170deg,#113b4c,#0b243c 64%,#0a1e33);border:1px solid rgba(115,215,192,.34);box-shadow:0 22px 48px rgba(1,12,24,.35)}
.tactics-zone::before{content:"";position:absolute;inset:0 0 auto 0;height:120px;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent)}
.tactics-head{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:16px}
.tactics-head h2{font-size:23px;letter-spacing:-.8px;line-height:1.1;margin:7px 0}
.tactics-head p{font-size:11px;line-height:1.5;color:#c8e7e9;margin:0;max-width:385px}
.tactics-medal{padding:9px 12px;border-radius:15px;background:linear-gradient(180deg,#ffe8a6,#e8b64a);color:#3b2b11;font-size:12px;font-weight:1000;white-space:nowrap;box-shadow:0 8px 20px rgba(238,177,67,.21)}
.tactics-scoreline,.tactics-footer{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#c1e6ec;font-size:10px;margin-bottom:9px}
.tactics-scoreline #tactic-title{font-weight:950;font-size:12px;color:#fff2c1}
.tactics-track{background:rgba(5,19,30,.85);height:9px;border-radius:999px;overflow:hidden;border:1px solid rgba(130,222,211,.26);margin-bottom:14px}
.tactics-track span{display:block;height:100%;width:0%;background:linear-gradient(90deg,#4cd5b0,#a6f3ce,#ffe299);transition:width .22s ease;border-radius:inherit}
.tactics-pitch-wrap{position:relative;overflow:hidden;border-radius:21px;padding:9px;background:linear-gradient(135deg,#163e51,#09232e);border:1px solid rgba(139,217,202,.28);box-shadow:inset 0 2px 12px rgba(0,0,0,.2),0 16px 22px rgba(0,0,0,.18)}
#tactics-pitch{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.pitch-watermark{position:absolute;bottom:17px;left:0;right:0;text-align:center;letter-spacing:2px;font-weight:900;font-size:8px;color:rgba(228,255,240,.44);text-shadow:0 1px 2px rgba(0,0,0,.35);pointer-events:none}
.tactics-stage{margin:14px 2px 12px}
.tactics-stage>span{font-size:9px;font-weight:950;letter-spacing:1.7px;color:#87edc6}
.tactics-stage strong{display:block;margin:6px 0 6px;line-height:1.35;font-size:15px;color:#fff7e1}
.tactics-stage p{margin:0;font-size:11px;line-height:1.45;color:#bedde8;min-height:16px}
.tactics-options{display:grid;gap:9px}
.tactic-choice{display:grid;grid-template-columns:28px minmax(0,1fr) 12px;align-items:center;gap:9px;padding:12px;border-radius:16px;background:linear-gradient(180deg,rgba(39,87,105,.96),rgba(21,55,79,.96));border:1px solid rgba(130,207,211,.27);color:#edfafe;font-weight:850;font-size:11px;line-height:1.35;text-align:left;box-shadow:0 9px 20px rgba(0,0,0,.15)}
.tactic-choice:active{transform:scale(.985)}
.tactic-choice-num{display:grid;place-items:center;width:27px;height:27px;border-radius:10px;background:rgba(134,240,203,.15);border:1px solid rgba(164,252,215,.27);color:#b7ffdb;font-weight:950;font-size:12px}
.tactic-choice-arrow{font-size:22px;color:#8ef3ca}
.tactics-footer{margin:13px 0 0;padding-top:12px;border-top:1px solid rgba(134,222,205,.2);line-height:1.4;flex-wrap:wrap}
.tactics-footer #tactic-reward{font-weight:900;color:#ffe6a2}
.tactics-complete{margin:12px 0 0;padding:13px;border-radius:14px;background:rgba(105,221,169,.12);border:1px solid rgba(138,255,200,.25);font-size:12px;font-weight:900;color:#dbffe5}
@media(max-width:350px){.tactics-zone{padding:12px}.tactics-head h2{font-size:20px}.tactics-head p{font-size:10px}.tactics-medal{padding:8px 9px}.tactic-choice{padding:11px 9px}.pitch-watermark{font-size:7px;letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){.tactics-track span,.tactic-choice{transition:none}}

/* Football Dreams V2.1: centre de versions lisible et totalement hors achats. */
.version-center{position:relative;margin:14px 0 18px;padding:16px;border-radius:24px;
 border:1px solid rgba(128,205,249,.28);
 background:radial-gradient(circle at 92% 0,rgba(98,220,185,.13),transparent 28%),linear-gradient(180deg,rgba(21,50,77,.98),rgba(11,28,46,.96));
 box-shadow:0 16px 38px rgba(2,11,24,.24),inset 0 1px 0 rgba(255,255,255,.08)}
.version-center .section-head{margin:0 0 10px;align-items:center}
.version-center .section-head h2{font-size:21px;margin-top:4px}
.version-pill{padding:8px 12px;border:1px solid rgba(255,218,123,.45);border-radius:999px;font-size:12px;font-weight:1000;background:linear-gradient(180deg,#f8de91,#dbaa43);color:#37270c}
.version-summary,.version-small{font-size:11px;line-height:1.55;color:#c4dded}
.version-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:13px 0}
.version-details>div{padding:11px 8px;min-width:0;border:1px solid rgba(120,190,239,.17);border-radius:15px;background:rgba(9,27,44,.65)}
.version-details small{display:block;margin-bottom:6px;color:#96cae7;font-size:8px;font-weight:900;letter-spacing:.5px}
.version-details strong{display:block;color:#eff9ff;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.version-changelog{padding:12px;border-radius:16px;border:1px solid rgba(133,212,174,.25);background:rgba(32,72,71,.3)}
.version-changelog strong{display:block;color:#f4e8b6;font-size:12px}
.version-changelog p{font-size:11px;color:#dcecf5;line-height:1.5;margin:5px 0 0}
.version-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.version-actions button{flex:1 1 130px;white-space:normal;min-height:43px;line-height:1.35}
.version-status{margin:13px 0 4px;padding:12px;border-radius:13px;border:1px solid rgba(124,192,229,.22);background:rgba(8,26,44,.58);font-size:11px;line-height:1.5;color:#deecf8}
.version-small{font-size:10px;margin-bottom:0}
@media(max-width:355px){.version-center{padding:12px}.version-details{gap:5px}.version-details>div{padding:9px 6px}.version-details strong{font-size:10px}}

/* FOOTBALL DREAMS V2.2 · PASSE GRATUIT + OR, COLLECTIONS */
.season-card-v22{position:relative;overflow:hidden;border:1px solid rgba(109,201,158,.26)!important;background:linear-gradient(145deg,rgba(28,67,76,.96),rgba(12,35,53,.97))!important}
.season-pass-legend{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.season-pass-legend span{font-size:10px;padding:8px 10px;border-radius:10px;background:rgba(8,27,44,.65);border:1px solid rgba(146,201,227,.18);font-weight:800}
.season-pass-info{width:100%;margin-top:4px;white-space:normal}
.club-pass-dual{display:grid;gap:9px}.season-dual-row{display:grid!important;grid-template-columns:27px minmax(0,1fr) minmax(0,1fr);gap:7px;align-items:stretch!important;padding:8px!important;border-radius:17px;min-width:0;background:linear-gradient(135deg,rgba(19,47,69,.96),rgba(11,28,47,.95))!important}
.season-step{width:27px;display:grid;place-items:center;color:#ffdf8f;font-size:12px;font-weight:950;font-variant-numeric:tabular-nums}
.season-column{padding:10px 8px;border-radius:12px;display:flex;flex-direction:column;gap:8px;min-width:0;justify-content:space-between}
.season-column.free{background:linear-gradient(155deg,rgba(30,91,75,.87),rgba(19,56,56,.76));border:1px solid rgba(123,246,182,.24)}
.season-column.premium{background:linear-gradient(150deg,rgba(92,65,119,.72),rgba(48,39,82,.75));border:1px solid rgba(220,170,255,.25)}
.season-column-head span{display:block;font-size:8px;letter-spacing:.7px;font-weight:1000;color:#b7ffdc;margin-bottom:4px}
.season-column.premium .season-column-head span{color:#e8c8ff}
.season-column-head strong{display:block;font-size:12px;color:#f6f9ff}
.season-column small{display:block;color:#d6e7ec;font-size:10px;line-height:1.35;min-height:30px}
.season-column button{width:100%;padding:8px 4px;white-space:normal;font-size:9px;min-height:35px}
.season-column.premium button{border-color:rgba(214,167,255,.26);background:linear-gradient(180deg,rgba(117,87,152,.9),rgba(60,46,103,.85));color:#fff3ff}
.collector-market{padding:15px 12px;margin:20px 0;border-radius:23px;background:linear-gradient(160deg,rgba(35,45,78,.94),rgba(15,32,53,.96));border:1px solid rgba(173,145,220,.3);box-shadow:0 14px 30px rgba(1,9,25,.18)}
.collector-market p{color:#c6daeb;line-height:1.55;font-size:11px}.collector-market h3{font-size:14px;margin:16px 0 10px;color:#f6dcff}
.collector-crest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.collector-crest{min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:11px 7px;background:linear-gradient(165deg,rgba(60,62,106,.72),rgba(23,39,63,.95));border-radius:16px;border:1px solid rgba(157,169,235,.23)}
.collector-crest img{display:block;width:65px;height:77px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.24))}
.collector-crest strong{font-size:12px}.collector-crest small{font-size:9px;color:#d2c9f0;text-align:center;line-height:1.3;min-height:25px}.collector-crest button{white-space:normal;font-size:9px;padding:7px 3px;width:100%;min-height:35px}
.collector-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.collector-player{min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 7px;background:linear-gradient(160deg,rgba(73,55,100,.79),rgba(20,41,63,.92));border:1px solid rgba(177,142,227,.24);border-radius:16px}
.collector-player img{display:block;width:100%;max-width:110px;aspect-ratio:210/255;object-fit:contain;border-radius:12px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.22))}
.collector-player strong{font-size:11px;text-align:center}.collector-player small{font-size:9px;text-align:center;color:#d7cdef;line-height:1.4}
.collector-preview-tag{font-size:8px;font-weight:900;color:#f8d8ff;text-align:center;border-radius:999px;border:1px solid rgba(228,184,255,.28);padding:5px}
.crest-choice .crest-status{font-size:8px;line-height:1.2;color:#bfe5f3;display:block;margin-top:4px}
.crest-choice.crest-locked{opacity:.78;border-style:dashed;filter:saturate(.75)}
.crest-choice.crest-locked img{opacity:.7}
@media(max-width:350px){.season-dual-row{grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);gap:4px;padding:5px!important}.season-step{width:20px;font-size:9px}.season-column{padding:8px 5px}.season-column small{font-size:9px}.collector-crest-grid,.collector-player-grid{gap:5px}.collector-crest,.collector-player{padding:8px 5px}.collector-crest img{width:48px;height:58px}}


/* FOOTBALL DREAMS V2.3 — vitrine du capitaine et découverte sans achat */
.captain-hero{position:relative;display:flex;align-items:center;gap:11px;margin:13px 0 8px;padding:10px 12px;border-radius:22px;border:1px solid rgba(144,204,255,.23);background:radial-gradient(circle at 8% 0%,rgba(112,203,255,.19),transparent 40%),linear-gradient(135deg,#1d4163,#102841);box-shadow:0 14px 35px rgba(0,0,0,.19);overflow:hidden}
.captain-photo{width:58px;height:62px;flex:none;border-radius:15px;background:linear-gradient(140deg,#2b6c84,#15374a);border:2px solid rgba(161,231,234,.45);overflow:hidden;display:grid;place-items:center}
.captain-photo img{height:100%;width:100%;object-fit:cover}
.captain-hero-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.captain-hero-info span{font-size:9px;font-weight:900;letter-spacing:.6px;color:#9df5ca}
.captain-hero-info strong{font-size:15px;line-height:1.15;color:#f9fcff}
.captain-hero-info small{font-size:10px;line-height:1.3;color:#bedaf2}
.captain-hero .subtle-btn{font-size:10px;flex:none;padding:10px 8px}
.captain-hero[data-frame=emerald]{border-color:rgba(91,236,175,.55);background:radial-gradient(circle at 8% 0%,rgba(92,232,167,.2),transparent 45%),linear-gradient(125deg,#1b544e,#102b3c)}
.captain-hero[data-frame=auric]{border-color:rgba(255,209,106,.57);background:radial-gradient(circle at 8% 0%,rgba(255,213,108,.24),transparent 48%),linear-gradient(125deg,#58452e,#182b3d)}
.captain-hero[data-frame=auric] .captain-photo{border-color:#ffe3a0;box-shadow:0 0 18px rgba(255,214,122,.26)}
.captain-roster{border:1px solid rgba(122,181,227,.25);background:linear-gradient(165deg,#153954,#0c2137);border-radius:24px;padding:15px;margin:17px 0;box-shadow:0 18px 36px #00101c55}
.captain-roster>.section-head{margin:0 0 8px}
.captain-roster>p{font-size:12px;line-height:1.6;color:#c5deee}
.captain-roster>strong{display:block;color:#ffe39e;margin:12px 0 11px;font-size:14px}
.captain-roster>h3{margin:17px 0 9px;font-size:14px;color:#d7f2ff}
.captain-select-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.captain-pick{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;border:1px solid rgba(121,183,224,.3);background:linear-gradient(170deg,#255178,#102a42);border-radius:13px;padding:6px 4px 8px;text-align:center;box-shadow:inset 0 1px 0 #ffffff18}
.captain-pick img{height:61px;width:100%;object-fit:contain}
.captain-pick strong{font-size:10px;line-height:1.25}
.captain-pick small{font-size:9px;color:#bdcee3;line-height:1.25}
.captain-pick span{font-size:8px;color:#ffe09a;font-weight:950}
.captain-pick.chosen,.frame-pick.chosen{border-color:#ffdd8b;box-shadow:0 0 0 1px #ffd37677,0 8px 18px #0004}
.captain-pick:disabled,.frame-pick:disabled{opacity:.45;filter:grayscale(.7);cursor:default}
.captain-frames{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.frame-pick{display:flex;align-items:center;flex-direction:column;gap:5px;min-height:83px;padding:9px 6px;border-radius:13px;border:1px solid #467391;background:linear-gradient(180deg,#27445d,#142b43);text-align:center}
.frame-pick>span{font-size:21px}.frame-pick strong{font-size:10px;line-height:1.2}.frame-pick small{font-size:9px;color:#bfe9dd}
.collector-player .subtle-btn{margin-top:8px;font-size:10px;padding:8px;width:100%;white-space:normal}
.collector-player[data-selected=true]{border-color:rgba(255,218,119,.78);box-shadow:0 0 0 1px #ffe2a44d,0 12px 28px #0005}
.collector-detail-card{display:flex;gap:14px;align-items:center;margin:16px 0 0;padding:15px;border-radius:22px;border:1px solid rgba(254,204,105,.45);background:radial-gradient(circle at 16% 4%,rgba(248,195,88,.18),transparent 45%),linear-gradient(135deg,#2e3b4e,#142c42)}
.collector-detail-art{width:112px;aspect-ratio:4/5;flex-shrink:0;overflow:hidden;border-radius:17px;border:2px solid rgba(249,215,125,.68);background:linear-gradient(135deg,#52658b,#273f64);box-shadow:0 14px 30px #0005}
.collector-detail-art img{width:100%;height:100%;object-fit:cover}
.collector-detail-copy{min-width:0}.collector-detail-copy span{color:#ffe4a2;font-size:9px;font-weight:950;letter-spacing:.7px}.collector-detail-copy h4{font-size:18px;margin:6px 0}.collector-detail-copy p{font-size:11px;color:#e5eefa;line-height:1.55;margin:5px 0}.collector-detail-copy small{display:block;font-size:10px;line-height:1.4;color:#bfd5e8}.collector-detail-copy .subtle-btn{margin-top:10px;white-space:normal;text-align:center;font-size:10px}
@media(max-width:360px){.captain-hero{gap:7px;padding:8px}.captain-photo{width:48px;height:54px}.captain-hero .subtle-btn{font-size:9px;padding:8px 6px}.captain-hero-info span{font-size:8px}.captain-hero-info strong{font-size:13px}.captain-select-grid{gap:4px}.captain-pick{padding:5px 2px}.captain-pick strong{font-size:9px}.captain-pick small{font-size:8px}.collector-detail-card{gap:9px;padding:9px}.collector-detail-art{width:86px}.collector-detail-copy h4{font-size:15px}}
@media(prefers-reduced-motion:reduce){.captain-hero,.collector-player,.captain-pick,.frame-pick{animation:none;transition:none}}


/* V2.4 · Tenues originales dans l'interface du club */
.hero-kit-caption{display:inline-flex;align-items:center;gap:5px;margin-top:4px;min-width:0;color:#d5ecfd}
.hero-kit-caption img{width:23px;height:28px;object-fit:contain;filter:drop-shadow(0 2px 3px #0006)}
.hero-kit-caption small{font-size:9px;line-height:1.25;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.captain-hero-info{min-width:0}
.match-kit-preview{width:43px;height:49px;object-fit:contain;filter:drop-shadow(0 4px 7px #0006);margin-top:2px}
.kit-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 8px}
.kit-gallery-head h3{margin:3px 0;font-size:17px;color:#fff4d0}
.kit-gallery-head>small{font-size:9px;color:#bfe5d5;text-align:right;max-width:108px}
.kit-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0 6px}
.kit-card{min-width:0;display:flex;align-items:center;flex-direction:column;gap:4px;text-align:center;border-radius:14px;padding:7px 3px 8px;border:1px solid rgba(111,182,215,.35);background:linear-gradient(165deg,#284b69,#102a42);box-shadow:inset 0 1px 0 #ffffff1a;transition:transform .16s ease}
.kit-card:active{transform:scale(.97)}
.kit-card:focus-visible{outline:2px solid #ffde86;outline-offset:2px}
.kit-card-image{width:100%;min-height:76px;display:grid;place-items:center;border-radius:10px;background:radial-gradient(circle at 50% 35%,#396587aa,transparent 68%)}
.kit-card-image img{width:100%;height:82px;max-width:78px;object-fit:contain;filter:drop-shadow(0 6px 7px #001b31a6)}
.kit-card strong{font-size:9px;line-height:1.22;min-height:22px;display:grid;place-items:center}
.kit-card small{font-size:8px;color:#b9e7d7;line-height:1.3;min-height:22px;display:grid;place-items:center}
.kit-card.chosen{border-color:#f8d384;box-shadow:0 0 0 1px #e8c96c88,0 11px 22px #0004}
.kit-card.kit-premium{border-color:rgba(249,202,109,.49);background:linear-gradient(160deg,#534260,#1d2d44)}
.kit-card.kit-premium small{color:#ffe6a9}
@media(max-width:390px){.kit-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.kit-card-image{min-height:73px}.kit-card-image img{height:76px}}
@media(max-width:350px){.kit-gallery{gap:5px}.kit-card{padding:6px 2px}.kit-card strong{font-size:8px}.hero-kit-caption small{max-width:100px}}
@media(prefers-reduced-motion:reduce){.kit-card{transition:none}}

/* V2.5 · Présentation de match et véritable trio de tireurs. */
.penalty-stage{border:1px solid rgba(134,231,198,.35);background:#0b3f45;border-radius:19px;overflow:hidden;box-shadow:0 17px 26px rgba(0,9,22,.2),inset 0 2px 0 rgba(255,255,255,.1)}
.penalty-stage svg{display:block;width:100%;height:auto;max-height:225px}
.penalty-stage .penalty-ball{animation:penalty-pop .44s cubic-bezier(.16,.75,.36,1) both;transform-origin:170px 161px}
.penalty-stage .penalty-keeper{animation:penalty-dive .42s ease-out both}
@keyframes penalty-pop{from{opacity:.4;transform:translateY(17px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes penalty-dive{from{opacity:.45;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.penalty-caption{margin:8px auto 0;color:#d5f6e7;font-size:11px;line-height:1.5;text-align:center;min-height:16px}
.shooters-zone{border:1px solid rgba(108,178,219,.26);border-radius:24px;margin:16px 0;padding:15px 13px;background:linear-gradient(180deg,#193654,#102a44);box-shadow:0 13px 27px rgba(1,10,25,.26)}
.shooters-zone p,.shooters-zone>small{display:block;font-size:11px;line-height:1.55;color:#b8d2e5;margin:10px 0}
.shooters-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.shooters-heading h3{font-size:19px;margin:6px 0 0;color:#fff6cf}
.shooters-heading>span{border:1px solid #486b8b;background:#183552;padding:7px 9px;border-radius:999px;font-size:10px;white-space:nowrap;color:#bcefd9}
.shooters-next{display:block;font-size:12px;color:#e8f6ff;margin:10px 0 13px}
.shooters-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.shooter-card{display:flex;position:relative;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:9px 5px 11px;border:1px solid rgba(117,190,228,.37);border-radius:17px;background:linear-gradient(180deg,#264e73,#15344f);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 16px rgba(0,0,0,.16);color:#edf8ff;cursor:pointer}
.shooter-card:hover:not(:disabled){border-color:#ffd878;transform:translateY(-2px)}
.shooter-card:disabled{opacity:.84;cursor:default}
.shooter-card img{width:76%;aspect-ratio:4/5;object-fit:cover;border-radius:11px;border:1px solid rgba(199,232,255,.5);background:#173853}
.shooter-card strong{font-size:10.5px;text-align:center;line-height:1.25}
.shooter-card small{font-size:9px;line-height:1.35;color:#bad8ed;text-align:center}
.shooter-number{position:absolute;left:7px;top:7px;z-index:1;border-radius:100px;padding:4px 8px;background:#f7d16d;color:#2b2113;font-size:10px;font-weight:900;box-shadow:0 4px 12px #0005}
.shooter-change{font-size:9px;font-weight:900;letter-spacing:.4px;color:#91fac6;margin-top:auto}
@media(max-width:355px){.shooters-zone{padding:11px 8px}.shooters-trio{gap:5px}.shooter-card{padding:7px 3px}.shooter-card strong{font-size:9px}.shooter-card small{font-size:8px}.shooter-change{font-size:8px}}
@media(prefers-reduced-motion:reduce){.penalty-stage .penalty-ball,.penalty-stage .penalty-keeper{animation:none}}
.reduce-motion .penalty-stage .penalty-ball,.reduce-motion .penalty-stage .penalty-keeper{animation:none}

/* V2.6 : Carnet de carrière, statistiques, récompenses de buteurs. */
.scorer-section{margin:18px 0;padding:16px 14px;border-radius:25px;border:1px solid rgba(131,206,235,.32);background:radial-gradient(circle at 90% 0%,rgba(106,224,180,.14),transparent 32%),linear-gradient(180deg,#1d3e5d,#0f283f);box-shadow:0 15px 35px #03132145}
.scorer-heading,.scorer-subheading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.scorer-heading h3{font-size:21px;color:#fff2c1;letter-spacing:-.6px;margin:6px 0}
.scorer-live-dot{white-space:nowrap;color:#8df2ca;font-size:9px;letter-spacing:1px;font-weight:900;border:1px solid #426e78;border-radius:100px;padding:6px 9px}
.scorer-section>p{font-size:11px;color:#c4e0ef;line-height:1.55;margin:10px 0}
.scorer-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}
.scorer-metrics>div{display:flex;flex-direction:column;text-align:center;align-items:center;gap:6px;padding:12px 4px;border:1px solid #375c78;border-radius:15px;background:linear-gradient(180deg,#244a68,#15334c)}
.scorer-metrics strong{font-size:23px;color:#ffdc84;font-variant-numeric:tabular-nums}
.scorer-metrics small{color:#bcdaed;font-size:9px}
.scorer-subheading{margin:18px 0 10px}
.scorer-subheading strong{font-size:13px}
.scorer-subheading small{font-size:9px;color:#abc7dc;text-align:right}
.scorer-standings,.scorer-milestones,.scorer-journal{display:grid;gap:8px}
.scorer-row{display:flex;align-items:center;gap:10px;border:1px solid #355e79;border-radius:15px;background:#183853;padding:7px 9px}
.scorer-row img{width:44px;height:51px;object-fit:cover;border-radius:9px;flex-shrink:0}
.scorer-row>div{flex:1;min-width:0}
.scorer-row strong,.scorer-row small{display:block}
.scorer-row strong{font-size:12px}
.scorer-row small{font-size:10px;color:#b3cfdf;margin-top:4px;line-height:1.35}
.scorer-row b{white-space:nowrap;font-size:12px;color:#ffe49c}
.scorer-medal{display:flex;align-items:center;gap:9px;border:1px solid #3b5b7c;border-radius:14px;padding:9px;background:linear-gradient(135deg,#214665,#122c46)}
.scorer-medal>span{font-size:25px}
.scorer-medal>div{flex:1;min-width:0}
.scorer-medal strong,.scorer-medal small{display:block}
.scorer-medal strong{font-size:11px}
.scorer-medal small{font-size:9px;line-height:1.4;color:#bdd5e5;margin-top:3px}
.scorer-medal .action-btn{padding:9px 6px;font-size:9px;min-width:73px}
.scorer-archives{margin:16px 0;border:1px solid #3f6883;background:#112c47;border-radius:15px;overflow:hidden}
.scorer-archives>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:12px 11px;font-size:12px;font-weight:850}
.scorer-archives>summary::-webkit-details-marker{display:none}
.scorer-archives>summary:before{content:'▸';color:#8ef0c0;margin-right:1px}
.scorer-archives[open]>summary:before{content:'▾'}
.scorer-archives>summary span{font-size:9px;font-weight:600;color:#abc8e2}
.scorer-journal{padding:0 9px 10px}
.match-log-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;padding:11px;border:1px solid #355c79;border-radius:13px;background:#1b3b54}
.match-log-card>div span,.match-log-card>div strong{display:block}
.match-log-card>div span{font-size:9px;color:#b0d6e6}
.match-log-card>div strong{font-size:12px;margin-top:3px}
.match-log-card>b{font-size:13px;color:#f8d783}
.match-log-card>small,.match-log-card>p{grid-column:1/-1;font-size:10px;color:#cee1f2;line-height:1.5;margin:0}
.match-log-card>p{color:#a1e7cb}
.scorer-empty,.scorer-note{display:block;color:#b9d4e7;font-size:10px;line-height:1.5;margin:10px 0}
@media(max-width:350px){.scorer-section{padding:12px 9px}.scorer-medal{gap:6px}.scorer-medal .action-btn{min-width:66px;font-size:8px}.scorer-heading h3{font-size:18px}}

/* V2.6 : garder la zone de jeu visible pendant les longues sessions : la navigation reste accessible en bas. */
.topbar{position:relative;top:auto}


/* V2.7 : entraînement quotidien gratuit (sans ticket ni énergie). */
.training-panel{margin:17px 0;padding:15px;border-radius:24px;border:1px solid rgba(126,230,188,.35);background:radial-gradient(circle at 90% 0,rgba(84,237,184,.18),transparent 38%),linear-gradient(155deg,#1c4660,#103047 70%,#0e273e);box-shadow:0 16px 40px #02112055}
.training-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}
.training-heading h3{font-size:20px;letter-spacing:-.65px;margin:7px 0 5px;color:#fbf3cf}
.training-count{font-size:10px;white-space:nowrap;border:1px solid #508c85;color:#b5f5d8;background:#184b58;padding:7px 9px;border-radius:99px;font-weight:900}
.training-panel>p{font-size:11px;line-height:1.5;color:#cce6ef;margin:9px 0}
.training-progress{display:flex;gap:8px;margin:14px 0 12px;justify-content:center}
.training-dot{display:grid;place-items:center;width:46px;height:31px;border-radius:12px;background:#103246;border:1px solid #3d7280;font-size:17px;color:#a9ccdf}
.training-dot.goal{border-color:#75d7a1;background:#1d554b}.training-dot.save{border-color:#e2aa79;background:#59453c}.training-dot.current{border-color:#efcf7d;box-shadow:0 0 0 2px #ffc96422}
.training-pitch{overflow:hidden;border:1px solid #5d9c89;border-radius:16px;box-shadow:inset 0 1px 0 #ffffff33}.training-pitch svg{display:block;width:100%;height:auto}
.training-direction{display:block;text-align:center;font-size:12px;color:#ffe39d;margin:14px 0 4px}
.training-status{text-align:center;margin:5px 0 12px!important}
.training-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.training-shot{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-width:0;padding:10px 4px;border:1px solid #b6f8d6;border-radius:13px;background:linear-gradient(#55c8a3,#24856c);color:#042d2a;box-shadow:0 4px 0 #11614d;font-weight:900}
.training-shot span{font-size:21px}.training-shot strong{font-size:10px}
.training-shot:disabled{background:#385a62;box-shadow:none;border-color:#5a8583;color:#a9d1d5;cursor:default}
.training-footer{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:16px;border-top:1px solid #49837670;padding-top:11px}
.training-footer span{font-weight:850;font-size:12px;color:#fff1b0}
.training-footer small{font-size:10px;line-height:1.6;color:#c6e7df;text-align:center}
@media(max-width:350px){.training-panel{padding:12px 9px}.training-heading h3{font-size:17px}.training-shot strong{font-size:9px}}
body.reduce-motion .training-shot{transition:none}
@media (prefers-reduced-motion: reduce){.training-shot{transition:none}}

/* Football Dreams V2.8 - signalement de la sauvegarde et diagnostic */
.storage-failure-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 14px;padding:13px 15px;border:2px solid #f6a84c;border-radius:16px;background:linear-gradient(130deg,#543219,#2d2634);color:#ffedce;box-shadow:0 12px 27px rgba(0,0,0,.26)}
.storage-failure-alert[hidden]{display:none!important}
.storage-failure-alert strong{font-size:13px;color:#fff2d4}
.storage-failure-alert p{margin:5px 0 0;font-size:11px;line-height:1.45}
.storage-failure-alert button{flex-shrink:0;font-size:11px}
.storage-reliability{margin:14px 0;padding:16px;border-radius:22px;border:1px solid rgba(125,201,191,.42);background:linear-gradient(140deg,rgba(16,72,78,.9),rgba(12,37,61,.95));box-shadow:0 12px 30px rgba(0,0,0,.2)}
.storage-reliability .section-head{margin:0 0 8px}.storage-reliability h3{font-size:18px;margin:4px 0 6px}
.storage-reliability>p{margin:8px 0;color:#deeff6;font-size:12px;line-height:1.5}
.storage-readiness-result{padding:12px 13px;border-radius:13px;background:rgba(4,19,34,.48);border:1px solid rgba(142,220,208,.15)}
.storage-readiness-actions{display:flex;gap:8px;flex-wrap:wrap;margin:11px 0}
.storage-readiness-actions button{white-space:normal;text-align:center;min-height:42px;flex:1;font-size:10px}
.storage-reliability>small{display:block;color:#aecfd3;line-height:1.5;font-size:10px}
@media(max-width:355px){.storage-failure-alert{margin:8px;flex-direction:column;align-items:stretch}.storage-failure-alert button{width:100%}.storage-reliability{padding:12px}}

/* V2.9 : paquet hors ligne PWA réparables */
.offline-pack{margin:13px 0;padding:13px;background:linear-gradient(135deg,#153b53,#102a45);border:1px solid #507985;border-radius:16px;display:grid;gap:9px;min-width:0}
.offline-pack-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.offline-pack-top strong{font-size:12px;color:#f4eecb}.offline-pack-top span{font-size:10px;font-weight:800;color:#a7e8d2}
.offline-pack-track{height:9px;background:#061d32;border-radius:99px;overflow:hidden;outline:1px solid #3c6373}
.offline-pack-track>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#48c58f,#e7c878);border-radius:inherit;transition:width .15s}
.offline-pack .action-btn{width:100%;font-size:11px;min-height:43px}
.offline-pack .action-btn:disabled{opacity:.6;cursor:progress}
.offline-pack p{margin:0;font-size:11px;line-height:1.55;color:#cde4ed;overflow-wrap:anywhere}
body.reduce-motion .offline-pack-track>span{transition:none}
@media(prefers-reduced-motion:reduce){.offline-pack-track>span{transition:none}}

/* FOOTBALL DREAMS V3.0 · Station d’Énergie — économie gratuite transparente */
.fd-energy-station{margin:18px 0 20px;padding:17px;border-radius:22px;background:linear-gradient(145deg,rgba(11,51,63,.94),rgba(9,24,47,.99));border:1px solid rgba(90,240,199,.42);box-shadow:0 14px 36px rgba(0,0,0,.24);color:#f7fcff;overflow:hidden;max-width:100%;min-width:0}
.fd-energy-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fd-energy-heading>div{min-width:0}.fd-energy-heading .eyebrow{color:#a6ffe2;font-size:10px;letter-spacing:1px}
.fd-energy-heading h3{color:#fff;font-size:clamp(19px,5.4vw,27px);margin:4px 0}
.fd-energy-heading p{font-size:12px;line-height:1.5;color:#d5edee;margin:0}
.fd-energy-orb{flex:none;width:57px;height:57px;display:grid;place-items:center;font-size:30px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#e5fff2,#50e0a6 44%,#1c5e86 95%);box-shadow:0 0 24px rgba(74,233,184,.31),inset 0 2px 8px #ffffff65}
.fd-energy-status{display:block;padding:11px 13px;margin:15px 0 12px;color:#fff;border:1px solid #77c4b25f;background:#c4fff010;border-radius:12px;font-weight:800;font-size:12px}
.fd-energy-exchanges{display:grid;grid-template-columns:1fr;gap:10px}
.fd-energy-card{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid #ffffff27;background:linear-gradient(120deg,#ffffff13,#ffffff07);border-radius:16px}
.fd-energy-icon{font-size:23px;flex:none;display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#ffffff14}
.fd-energy-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.fd-energy-copy strong{font-size:13px;color:#fff;line-height:1.2}.fd-energy-copy small{color:#bbd5d8;font-size:10px;line-height:1.3}
.fd-energy-copy b{font-size:14px;color:#a0f5d0}
.fd-energy-action{border:1px solid #d0f9b2;border-radius:13px;flex:none;padding:10px 8px;background:linear-gradient(145deg,#f7eab8,#bdeed1);color:#123e47;font-weight:900;min-width:84px;min-height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}
.fd-energy-action strong{font-size:13px}.fd-energy-action small{font-size:9px;font-weight:800;max-width:85px;line-height:1.25}
.fd-energy-action:disabled{opacity:.58;cursor:not-allowed;filter:saturate(.65)}
.fd-energy-action:focus-visible{outline:3px solid #fff;outline-offset:2px}
.fd-energy-help{font-size:11px!important;line-height:1.55!important;color:#d9eced!important;margin:13px 0 0!important}
.fd-energy-help strong{color:#d2ffe7}
@media(max-width:350px){.fd-energy-station{padding:12px}.fd-energy-card{gap:6px;padding:9px}.fd-energy-icon{width:32px;height:32px;font-size:18px}.fd-energy-action{min-width:75px;padding:8px 5px}.fd-energy-copy strong{font-size:12px}}

/* FOOTBALL DREAMS V3.1 — COFFRE DU CLUB */
.fd-vault{min-width:0;margin:15px 0;padding:15px;border:1px solid rgba(155,236,220,.45);border-radius:18px;background:linear-gradient(145deg,rgba(9,41,61,.96),rgba(13,72,76,.89));color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.2)}
.fd-vault-header{display:flex;gap:10px;align-items:center}.fd-vault-header>span{display:grid;place-items:center;flex:none;font-size:23px;width:44px;height:44px;border-radius:14px;background:rgba(233,246,213,.12)}
.fd-vault-header h4{margin:0 0 3px!important;color:#fdf1b3!important;font-size:17px}.fd-vault-header p{margin:0!important;color:#d2edf1!important;font-size:11px!important;line-height:1.45!important}
.fd-vault-balance{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 7px}.fd-vault-balance strong{font-size:22px;color:#c7ffe5}.fd-vault-balance span{font-size:10px;color:#cce1e5;text-align:right;max-width:130px}
.fd-vault-meter{height:10px;border-radius:8px;background:rgba(255,255,255,.17);overflow:hidden}.fd-vault-meter span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#42cdbd,#ead579);transition:width .3s}
.fd-vault-moves{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}.fd-vault-step{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);border-radius:12px;padding:9px 5px;display:grid;gap:7px;text-align:center;min-width:0}
.fd-vault-step strong{font-size:12px;color:#f0ffe9}.fd-vault-step button{border-radius:8px;min-height:35px;padding:6px 2px;background:linear-gradient(135deg,#b7f1dc,#66c7b5);color:#103343;font-size:9px;font-weight:900;border:0;letter-spacing:.2px}.fd-vault-step button:nth-of-type(2){background:linear-gradient(135deg,#f4e3ad,#e4b96f)}
.fd-vault button:disabled{opacity:.36;cursor:not-allowed;filter:saturate(.65)}.fd-vault button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.fd-vault-note{font-size:10px!important;line-height:1.5!important;margin:9px 0!important;color:#cde2e3!important}.fd-vault-subtitle{display:block;color:#fff1ba;font-size:11px;line-height:1.35;margin:13px 0 7px}
.fd-vault-exchanges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fd-vault-exchange{min-height:52px;border:1px solid rgba(255,238,181,.6);border-radius:11px;padding:8px 2px;background:rgba(224,246,213,.14);color:#fff;font-size:12px;font-weight:900}.fd-vault-exchange small{display:block;color:#fff1a7;margin-top:4px;font-size:10px}
@media(max-width:350px){.fd-vault{padding:10px}.fd-vault-moves{gap:4px}.fd-vault-exchanges{gap:4px}.fd-vault-step{padding:7px 3px}.fd-vault-step button{font-size:8px;padding:6px 0}}
@media(prefers-reduced-motion:reduce){.fd-vault-meter span{transition:none}}

/* V3.2 — iPhone Safari / installed web app, safe-area and accessible touch targets */
html{scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));-webkit-text-size-adjust:100%}
body{overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent}
.app{padding-bottom:calc(118px + env(safe-area-inset-bottom,0px))}
.tabbar{bottom:max(6px,env(safe-area-inset-bottom,0px));padding-bottom:10px}
.tabbar>.tab{min-height:53px;min-width:0;touch-action:manipulation}
button,input[type=checkbox],select{touch-action:manipulation}
button:focus-visible,a:focus-visible{outline:3px solid #a3f7d7;outline-offset:3px}
.iphone-help,.iphone-save-card{margin:14px 0;padding:15px 14px;border:1px solid #6be8c280;border-radius:18px;background:linear-gradient(135deg,#1b4a56,#113149);box-shadow:0 12px 25px #04182444;color:#e2f8fa}
.iphone-help[hidden],.iphone-save-card[hidden],.ios-only-action[hidden]{display:none!important}
.iphone-help strong,.iphone-save-card strong{font-size:14px;color:#fff3c4}
.iphone-help ol{padding-left:21px;margin:10px 0;font-size:12px;line-height:1.75}
.iphone-help li{margin:6px 0}.iphone-help small{font-size:11px;line-height:1.5;display:block;color:#c0e2e4}
.iphone-save-card p{font-size:12px;line-height:1.55;margin:8px 0;color:#d3e9f4}
.iphone-save-card>.action-btn{width:100%;min-height:46px;margin:6px 0 0;font-size:12px}
.iphone-save-card #iphone-share-status{margin:10px 0 0;color:#d0fae8;font-size:11px}
@media(max-width:355px){.iphone-help,.iphone-save-card{padding:12px 10px}.iphone-help ol{padding-left:19px}.tabbar>.tab{min-height:51px}.tabbar{padding-left:3px;padding-right:3px}}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}}

/* FOOTBALL DREAMS V3.3 — Ambitions permanentes du club */
.ambition-home{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;width:100%;padding:13px 15px;margin-top:10px;background:linear-gradient(110deg,rgba(25,86,83,.8),rgba(17,39,75,.92));border:1px solid rgba(251,202,112,.28);border-radius:16px;color:#f6fffa;text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.ambition-home span:first-child{color:#fdd38d;font-size:11px;font-weight:800;letter-spacing:.04em}.ambition-home strong{font-size:13px;flex:1 1 130px}.ambition-home span:last-child{font-size:11px;color:#bbe6de}
.ambition-home:focus-visible,.ambitions-claim:focus-visible{outline:3px solid #ffe19d;outline-offset:2px}
.ambitions-section{margin:18px 0;padding:17px 15px;border-radius:22px;border:1px solid rgba(240,196,114,.28);background:linear-gradient(142deg,#17385b 0%,#0b2a3d 55%,#0b4c47 125%);color:#f8fcff;box-shadow:0 12px 35px rgba(2,16,28,.25)}
.ambitions-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ambitions-heading h3{font-size:18px;margin:3px 0}.ambitions-counter{border-radius:30px;background:rgba(247,201,125,.16);border:1px solid rgba(247,201,125,.24);padding:5px 9px;color:#f9db9f;font-size:11px;font-weight:800}.ambitions-description{font-size:12px;color:#d3e5ef;line-height:1.5}
.ambitions-current{padding:14px 13px;border-radius:15px;background:rgba(4,23,42,.44);border:1px solid rgba(164,222,223,.12)}.ambitions-current-title{display:flex;flex-direction:column;gap:5px}.ambitions-current-title span{font-size:10px;letter-spacing:.12em;color:#85e5c1;font-weight:800}.ambitions-current-title strong{font-size:17px;color:#ffe2a2;line-height:1.3}.ambitions-current p{font-size:12px;color:#b7d4e1;margin:9px 0 14px;line-height:1.4}
.ambitions-body{display:flex;flex-direction:column;gap:13px}.ambition-task-head{display:flex;justify-content:space-between;gap:7px;align-items:center;font-size:12px;color:#eef8fc}.ambition-task-head strong{font-variant-numeric:tabular-nums;color:#f5d796;white-space:nowrap;font-size:11px}.ambition-meter{margin-top:6px;height:8px;border-radius:20px;background:#10263a;overflow:hidden;border:1px solid rgba(224,244,245,.08)}.ambition-meter span{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,#40d2a3,#f5d16e);transition:width .35s ease}.ambitions-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:17px}.ambitions-foot>span{font-size:12px;color:#f9d995;font-weight:800}.ambitions-foot button{min-height:42px}.ambitions-fine{display:block;color:#a8cbd0;margin-top:11px;font-size:11px;line-height:1.5}.ambitions-complete{color:#fce19a;font-weight:800;font-size:14px;padding:17px 3px}
@media(max-width:350px){.ambitions-section{padding:12px}.ambitions-current{padding:11px}.ambition-home{padding:11px 12px}.ambitions-heading h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ambition-meter span{transition:none}}

/* FOOTBALL DREAMS V3.5 — ALBUM & VIP PRESTIGE */
.legend-section,.vip-showcase-section{margin:24px 0;padding:18px;border:1px solid rgba(158,223,201,.23);border-radius:24px;background:linear-gradient(155deg,rgba(21,59,83,.93),rgba(6,27,47,.95));box-shadow:0 12px 28px #0003}
.legend-section>p,.vip-showcase-section>p{color:#c3dfdc;font-size:.88rem;line-height:1.55;margin:7px 0 15px}
.legend-section .section-head,.vip-showcase-section .section-head{margin-top:0;gap:8px;flex-wrap:wrap}
.legend-collection{display:grid;gap:10px;grid-template-columns:1fr}
.legend-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border-radius:16px;border:1px solid rgba(173,220,215,.16);background:linear-gradient(115deg,rgba(11,41,64,.96),rgba(27,62,71,.84))}
.legend-complete{border-color:rgba(247,218,134,.56);background:linear-gradient(110deg,rgba(69,63,43,.66),rgba(20,62,68,.9))}
.legend-medal{width:50px;height:50px;display:flex;justify-content:center;align-items:center;border-radius:14px;background:linear-gradient(145deg,#36556e,#0e2a42);font-size:27px;box-shadow:inset 0 1px 3px #fff2,0 8px 16px #0004}
.legend-info{display:grid;gap:4px;min-width:0}.legend-info strong{font-size:.85rem;color:#fff7df}.legend-info small{font-size:.71rem;color:#bedbd8}.legend-reward{color:#f4d993;font-size:.72rem;font-weight:800}
.legend-track{width:100%;height:6px;background:#082338;border-radius:99px;overflow:hidden}.legend-track span{display:block;height:100%;background:linear-gradient(90deg,#4acfaa,#f4d88b);border-radius:inherit}
.legend-card .action-btn{font-size:.7rem;white-space:nowrap;min-height:38px;padding:7px 9px}.legend-card .action-btn:disabled{opacity:.62}
.vip-current{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid #9ddac638;border-radius:19px;background:linear-gradient(120deg,#0e3149,#144451)}
.vip-current-icon{flex:0 0 77px}.vip-current-icon img{display:block;width:77px;max-width:100%;filter:drop-shadow(0 8px 12px #0006)}.vip-current strong{color:#fff1bc;display:block;margin:4px 0}.vip-current p{color:#c5e2db;font-size:.76rem;line-height:1.5;margin:0}
.vip-grid{margin:15px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.vip-item{display:flex;align-items:center;flex-direction:column;gap:4px;min-width:0;border:1px solid #7bbcbf47;border-radius:15px;padding:10px 4px;color:#e9f8f2;background:linear-gradient(155deg,#133c55,#081f38);font-family:inherit;cursor:pointer}
.vip-item.selected{border-color:#ffe3a0;box-shadow:0 0 0 1px #f8e3b08a,0 0 18px #80dbc220;background:linear-gradient(155deg,#28566c,#263f53)}
.vip-item img{height:62px;width:68px;max-width:100%;object-fit:contain;filter:drop-shadow(0 6px 8px #0008)}.vip-item b{font-size:.76rem;color:#ffe1a1}.vip-item span{font-size:.63rem;color:#cce6e3;overflow-wrap:anywhere}
.vip-detail{padding:15px;border-radius:18px;background:#071e33;border:1px solid #e8cd8e42}.vip-detail strong{color:#ffe1ac}.vip-detail p{font-size:.8rem;line-height:1.6;color:#e5f5ef;margin:8px 0}.vip-detail small{color:#add2cd;font-size:.7rem;line-height:1.4}.vip-preview-pill{font-size:.64rem;letter-spacing:.05em;border:1px solid #f1d9a677;border-radius:999px;padding:5px 8px;color:#f1d9a6}
.vip-legal-note{font-size:.75rem!important;color:#b6d3d2!important}
@media(max-width:370px){.legend-card{grid-template-columns:42px minmax(0,1fr);gap:7px;padding:8px}.legend-medal{height:42px;width:42px;font-size:22px}.legend-card .action-btn{grid-column:2;width:100%}.vip-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vip-current-icon{flex-basis:57px}.vip-current-icon img{width:57px}}
@media(prefers-reduced-motion:reduce){.vip-item{transition:none!important}.legend-track span{transition:none!important}}

/* VIP 0 presentation on club profile — paid tiers are PREVIEW ONLY */
.vip-home-chip{display:inline-flex;align-items:center;gap:5px;margin:6px 0 0;padding:3px 11px 3px 3px;width:max-content;max-width:100%;font-family:inherit;font-weight:900;font-size:.68rem;color:#ffebaf;background:linear-gradient(110deg,#174764,#0e2b4b);border:1px solid #b0cbd87a;border-radius:50px;box-shadow:inset 0 1px 1px #fff2;cursor:pointer}
.vip-home-chip img{width:29px;height:29px;object-fit:contain}.vip-home-chip span{opacity:.7}.vip-home-chip:focus-visible{outline:3px solid #ffe5a1;outline-offset:2px}


/* V3.6 — VISUAL PLAY EXPERIENCE · game-first UX with real mode launchers */
:root{--fd36-glow:#8effc8;--fd36-amber:#ffe2a0;--fd36-midnight:#071b2e}
.fd36-home-spotlight,.fd36-modes{position:relative;overflow:hidden;isolation:isolate}
.fd36-home-spotlight{margin:4px 0 17px;padding:18px 17px 16px;border:1px solid rgba(252,215,141,.55);border-radius:25px;background:radial-gradient(ellipse at 88% 10%,rgba(255,216,122,.2),transparent 40%),radial-gradient(ellipse at 10% 110%,rgba(46,222,173,.18),transparent 52%),linear-gradient(130deg,#143c56,#071f38 82%);box-shadow:0 14px 30px rgba(0,9,22,.24),inset 0 1px 0 rgba(255,255,255,.1)}
.fd36-home-spotlight:after{content:"";position:absolute;right:-50px;top:-80px;width:250px;height:250px;pointer-events:none;border:1px solid rgba(255,236,174,.11);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018)}
.fd36-spotlight-flag{display:flex;align-items:center;gap:7px;color:#b0f8d8;font-size:9px;font-weight:900;letter-spacing:2px}
.fd36-spark{color:#ffe6a2;font-size:15px}.fd36-spotlight-body{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:10px 0 16px}.fd36-spotlight-body>div{min-width:0;z-index:1}
.fd36-spotlight-body h2{font-size:clamp(24px,6.8vw,37px);line-height:1.04;letter-spacing:-1.35px;color:#fff8e6;margin:0 0 9px;text-shadow:0 4px 18px #070e24}
.fd36-spotlight-body p{max-width:260px;margin:0;font-size:11px;color:#cce5ed;line-height:1.5}.fd36-mini-cup{font-size:55px;filter:drop-shadow(0 8px 15px #02122a);transform:rotate(7deg);flex-shrink:0}
.fd36-spotlight-actions{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:1}.fd36-primary,.fd36-outline{min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 13px;border-radius:13px;font-size:10px;letter-spacing:.2px;font-weight:900;cursor:pointer;transition:transform .18s,box-shadow .18s;border:1px solid transparent}
.fd36-primary{color:#092d2f;background:linear-gradient(135deg,#eaffc4,#8cefc1);box-shadow:0 5px 0 #2b8069,0 11px 18px #0004;flex:1.3}.fd36-outline{color:#e2f6f5;border-color:#84cbd278;background:#15384a;flex:1}
.fd36-primary:active,.fd36-outline:active{transform:translateY(2px)}
.fd36-match-title{align-items:center}.fd36-live{font-size:9px;border:1px solid #66d6ae73;background:#225f4b;color:#c9ffe3;padding:7px 9px;border-radius:99px;font-weight:900;white-space:nowrap}
.fd36-modes{padding:15px 11px 12px;border-radius:26px;background:radial-gradient(ellipse at 60% -20%,rgba(117,225,221,.16),transparent 55%),linear-gradient(154deg,#173850,#071e35);border:1px solid rgba(126,194,200,.44);box-shadow:0 17px 35px #03142667;margin:0 0 20px}
.fd36-modes-intro{padding:2px 6px 13px}.fd36-modes-intro>span{font-size:10px;letter-spacing:1.9px;font-weight:900;color:#ffe2a7}.fd36-modes-intro>p{font-size:11px;color:#d0e8f0;line-height:1.5;margin:6px 0 0}
.fd36-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fd36-mode-card{min-width:0;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:7px;text-align:left;border:1px solid #7db4bb65;border-radius:19px;padding:15px 12px;color:#f8ffff;cursor:pointer;min-height:120px;background:#173e56;box-shadow:inset 0 1px 0 #ffffff25,0 8px 20px #0003;transition:transform .18s,border-color .18s,filter .18s}
.fd36-mode-card:active{transform:scale(.985)}.fd36-mode-card:focus-visible{outline:3px solid #ffdf89;outline-offset:2px}
.fd36-feature{min-height:207px;padding:15px}.fd36-card-arena{background:radial-gradient(circle at 80% 35%,rgba(108,251,193,.45),transparent 41%),linear-gradient(145deg,#1a786f,#12384a 75%)}
.fd36-card-cup{background:radial-gradient(circle at 80% 35%,rgba(255,210,125,.42),transparent 45%),linear-gradient(150deg,#744d66,#372d56 78%)}
.fd36-card-tag{position:relative;z-index:1;border-radius:99px;background:#0c203c99;border:1px solid #ffffff55;padding:5px 7px;font-size:8px;letter-spacing:.8px;font-weight:900}
.fd36-art-ball{font-size:58px;align-self:flex-end;filter:drop-shadow(0 9px 11px #03152599);transform:rotate(-17deg);line-height:1.2;position:relative;z-index:0}
.fd36-card-trophy{width:75px;height:83px;object-fit:contain;align-self:flex-end;filter:drop-shadow(0 8px 11px #080c2488);position:relative}
.fd36-card-copy{display:flex;flex-direction:column;gap:3px;min-width:0;z-index:1}
.fd36-card-copy strong{font-size:15px;font-weight:950;letter-spacing:-.4px;line-height:1.1;overflow-wrap:anywhere}
.fd36-card-copy small{font-size:10px;line-height:1.35;color:#e3f3f3}
.fd36-card-link{position:relative;z-index:1;font-size:9px;font-weight:950;letter-spacing:1px;color:#fff1bc;display:flex;gap:5px;align-items:center}
.fd36-card-league{background:linear-gradient(135deg,#3f6585,#173956)}.fd36-card-tactics{background:linear-gradient(135deg,#5c597f,#2a345c)}.fd36-card-train{background:linear-gradient(135deg,#317b69,#15504d)}.fd36-card-players{background:linear-gradient(135deg,#7c5965,#44364c)}
.fd36-small-icon{font-size:32px;filter:drop-shadow(0 5px 9px #0005)}.fd36-card-arrow{position:absolute;right:12px;top:12px;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;border:1px solid #ffffff50;background:#ffffff10;font-size:13px;color:#fff1b5}
.fd36-mode-foot{font-size:10px;text-align:center;margin-top:13px;color:#b8d6df;display:flex;align-items:center;justify-content:center;gap:6px}.fd36-ping{width:7px;height:7px;border-radius:50%;background:#63efb5;box-shadow:0 0 13px #4cf6b7}
.fd36-mode-section-label{margin:27px 0 10px;scroll-margin-top:15px;border-left:3px solid #b6e8c5;padding-left:12px;display:flex;flex-direction:column;gap:2px}.fd36-mode-section-label span{font-size:9px;color:#afeac9;letter-spacing:1.2px;font-weight:900}.fd36-mode-section-label strong{font-size:20px;color:#fff3d9}
#fd36-league,#fd36-training,#fd36-cup-zone,#fd36-shooters,#tactics-zone,#ambitions-section,#fd36-modes{scroll-margin-top:18px}
/* Floating icon-first tabs. Existing screen routing remains unchanged. */
.tabbar{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;background:linear-gradient(140deg,#102b42f5,#08192cf9)!important;border:1px solid rgba(145,211,225,.32)!important;border-radius:23px!important;padding:8px 7px max(8px,env(safe-area-inset-bottom,0px))!important;box-shadow:0 12px 36px rgba(0,0,0,.55),inset 0 1px 0 #fff2!important;backdrop-filter:blur(22px)!important;width:min(calc(100% - 14px),545px)!important;bottom:8px!important}
.tabbar .tab{padding:7px 2px 5px!important;border:1px solid transparent!important;border-radius:16px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;background:transparent!important;box-shadow:none!important;min-width:0!important;min-height:58px!important;color:#97b6ca!important;position:relative!important;transition:background .17s,color .17s,transform .17s!important}
.tabbar .tab.active{color:#fbebba!important;background:linear-gradient(170deg,#264f63e5,#22485c8c)!important;border-color:#a9f3c45b!important;box-shadow:inset 0 1px 0 #d7ffe82b!important}
.fd36-tab-icon{width:22px;height:22px;display:block;line-height:0}.fd36-tab-icon svg{width:22px;height:22px;display:block;filter:drop-shadow(0 3px 5px #0006)}
.tabbar .tab.active .fd36-tab-icon svg{filter:drop-shadow(0 0 8px rgba(174,255,183,.6))}
.tabbar .tab small{font-size:8px!important;font-weight:900!important;letter-spacing:.25px!important;white-space:nowrap!important}
.fd36-tab-marker{height:2px;width:15px;border-radius:99px;background:transparent}.tabbar .tab.active .fd36-tab-marker{background:#b8f7d2;box-shadow:0 0 9px #adffcb}
.tabbar .tab:active{transform:scale(.94)}
/* Consistent headings and perceptual feedback */
.screen>.section-head h2{letter-spacing:-.8px}
.launch-hub{border-color:rgba(141,207,189,.45)!important}
@media(max-width:350px){.fd36-modes{padding:12px 8px}.fd36-mode-grid{gap:7px}.fd36-mode-card{padding:12px 9px;border-radius:14px}.fd36-feature{min-height:180px}.fd36-card-copy strong{font-size:13px}.fd36-card-copy small{font-size:9px}.fd36-art-ball{font-size:47px}.fd36-card-trophy{height:72px}.fd36-home-spotlight{padding:14px 12px}.fd36-spotlight-body h2{font-size:26px}.fd36-mini-cup{font-size:42px}.fd36-spotlight-actions{gap:7px}.fd36-primary,.fd36-outline{font-size:9px;padding:9px 7px}.tabbar .tab small{font-size:7px!important;letter-spacing:0!important}.tabbar{gap:1px!important;padding-left:4px!important;padding-right:4px!important}}
@media(prefers-reduced-motion:reduce){.fd36-mode-card,.fd36-primary,.fd36-outline,.tabbar .tab{transition:none!important}}
body.reduce-motion .fd36-mode-card,body.reduce-motion .fd36-primary,body.reduce-motion .tabbar .tab{transition:none!important}


/* V3.7 — Le Vestiaire des Étoiles. 100% CSS/SVG original, lightweight on iPhone. */
.fd37-shop-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,38%);margin:13px 0 16px;border:1px solid rgba(254,217,143,.5);border-radius:24px;overflow:hidden;min-height:256px;padding:24px 17px 37px;background:radial-gradient(ellipse at 93% 3%,#44928c6b 0%,transparent 48%),linear-gradient(140deg,#173b5b 0%,#103652 49%,#0b2638 100%);box-shadow:0 18px 38px #020d1f73,inset 0 1px 0 #ffffff2b;isolation:isolate}
.fd37-shop-hero::before{content:'';position:absolute;inset:-60% -35%;background:repeating-linear-gradient(118deg,transparent 0 55px,#ffffff0b 56px 57px);transform:rotate(-8deg);pointer-events:none;z-index:-1}.fd37-shop-hero::after{content:'';position:absolute;width:230px;height:230px;right:-55px;bottom:-115px;border:1px solid #eac47542;border-radius:50%;box-shadow:0 0 0 40px #b7f6de0a,0 0 0 82px #b7f6de0a;pointer-events:none}
.fd37-shop-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-width:0}.fd37-eyebrow{font-weight:950;letter-spacing:1.4px;color:#ffdfa1;font-size:9px}.fd37-spark{font-size:15px}.fd37-shop-hero-copy h2{font-weight:1000;letter-spacing:-1.3px;line-height:.98;font-size:clamp(26px,8vw,37px);margin:0;color:#fff4d7;text-shadow:0 3px 14px #020c2680}.fd37-shop-hero-copy h2 em{font-style:normal;color:#79eec1}.fd37-shop-hero-copy p{font-size:10px;line-height:1.55;color:#e0eee9;margin:0;max-width:220px}.fd37-shop-hero-actions{display:flex;gap:6px;flex-wrap:wrap}
.fd37-gold-button,.fd37-glass-button{border:1px solid #f6df9b9c;border-radius:10px;padding:10px 11px;font-size:9px;font-weight:950;cursor:pointer;line-height:1.1;min-height:38px}.fd37-gold-button{color:#182b35;background:linear-gradient(135deg,#fff1be,#eebd6c);box-shadow:0 5px 16px #c6974563}.fd37-glass-button{color:#d8fff1;background:#122f4888;border-color:#acdfce80}.fd37-shop-hero-art{position:relative;min-width:0;display:grid;place-items:center;isolation:isolate}.fd37-gold-orbit{position:absolute;width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e9fbaf33,transparent 68%);border:1px solid #ffe1ab67;transform:rotate(18deg);box-shadow:0 0 35px #bceda622}
.fd37-hero-kit{position:relative;width:94%;max-width:190px;filter:drop-shadow(0 14px 16px #0009);transform:rotate(-8deg)}.fd37-hero-crest{position:absolute;width:48%;max-width:88px;right:-3%;bottom:3%;filter:drop-shadow(0 8px 9px #001725db);transform:rotate(9deg)}.fd37-floating-star{position:absolute;right:13%;top:3%;color:#ffecc0;font-size:22px;text-shadow:0 0 20px #f9d681}
.fd37-shop-stat{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:8px 10px;color:#dfedea;background:#062137a8;border-top:1px solid #ffffff26;font-size:10px;font-weight:800;letter-spacing:.1px}
.fd37-shop-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:hidden;margin:0 0 16px}.fd37-shop-nav button{min-width:0;white-space:normal;min-height:51px;border-radius:12px;border:1px solid #a3e3c542;background:linear-gradient(155deg,#173f52,#0d2a40);color:#ddf6e8;font-size:9px;font-weight:850;line-height:1.4;padding:7px 3px;cursor:pointer;box-shadow:inset 0 1px 0 #ffffff0e}.fd37-shop-nav button:active,.fd37-pass-filters button:active,.fd37-collection-filters button:active{transform:scale(.96)}
#fd37-energy,#fd37-offers,#fd37-collection,#fd37-vip,#fd37-services{scroll-margin-top:20px}
/* Season: premium appearance; rewards remain free / premium always demo */
.fd37-pass-hero{position:relative;display:flex;min-height:150px;align-items:center;gap:12px;margin:13px 0;border:1px solid #d8b9819e;border-radius:19px;padding:16px;background:radial-gradient(circle at 90% 5%,#d9ae5661,transparent 40%),linear-gradient(125deg,#453d5c,#243d5a 56%,#162e48);box-shadow:inset 0 1px 0 #ffffff2c;overflow:hidden}.fd37-pass-hero::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 37px,#ffffff07 38px 39px);pointer-events:none}.fd37-pass-crown{font-size:67px;line-height:1;color:#ffdfa2;text-shadow:0 4px 18px #eabc72b5;filter:drop-shadow(0 8px 7px #090e2780);z-index:1}.fd37-pass-hero-text{position:relative;z-index:1;min-width:0}.fd37-pass-hero-text>span{font-size:9px;color:#ffde9c;letter-spacing:1.1px;font-weight:950}.fd37-pass-hero-text>strong{display:block;line-height:1.03;letter-spacing:-.8px;font-size:clamp(20px,6vw,28px);margin:6px 0;color:#fff5d7}.fd37-pass-hero-text>strong em{color:#b3f1dc;font-style:normal}.fd37-pass-hero-text>p{font-size:10px;line-height:1.45;color:#e9e5e8;max-width:300px;margin:0}.fd37-pass-hero-stars{position:absolute;top:8px;right:12px;color:#ffe4a982;font-size:11px}
.fd37-pass-controls{display:flex;flex-wrap:wrap;gap:9px;justify-content:space-between;align-items:center;border:1px solid #7abeb24b;border-radius:16px;background:#12354af0;padding:12px;margin:12px 0}.fd37-pass-controls>div:first-child{display:flex;flex-direction:column;gap:4px}.fd37-pass-controls strong{font-size:13px;color:#fff6e0}.fd37-pass-controls small{font-size:9px;color:#b6d7ce}.fd37-pass-filters,.fd37-collection-filters{display:flex;gap:6px;flex-wrap:wrap}.fd37-pass-filters button,.fd37-collection-filters button{border:1px solid #90cdb656;border-radius:12px;min-height:35px;color:#d1f1e4;background:#10283f;padding:7px 9px;font-size:10px;font-weight:850;cursor:pointer}.fd37-pass-filters button.selected,.fd37-collection-filters button.selected{background:linear-gradient(125deg,#ffe7af,#e3be82);color:#1b3447;border-color:#eacb8d;box-shadow:0 3px 11px #0004}
.fd37-collection-filters{margin:10px 0 15px}.fd37-empty{padding:17px 13px;margin:10px 0;border:1px dashed #96cbb47d;border-radius:12px;color:#bce9d3;font-size:12px;text-align:center}
#season-rewards .season-dual-row{position:relative;overflow:hidden;border-left:3px solid #cbb2759c}#season-rewards .season-dual-row:not(.is-claimed){box-shadow:inset 0 1px 0 #fff1}#season-rewards .season-column.free .action-btn:not(:disabled){box-shadow:0 0 0 1px #fbe1a57d,0 0 17px #f2c66b52;animation:fd37-ready 2.4s ease-in-out infinite}
@keyframes fd37-ready{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
@media(max-width:360px){.fd37-shop-hero{grid-template-columns:minmax(0,1fr) 33%;padding-left:11px;padding-right:10px}.fd37-shop-hero-copy h2{font-size:25px}.fd37-shop-hero-copy p{font-size:9px}.fd37-shop-nav{gap:3px}.fd37-shop-nav button{font-size:8px}.fd37-gold-button,.fd37-glass-button{padding:9px 6px;font-size:8px}.fd37-pass-crown{font-size:49px}.fd37-pass-hero{padding:11px}.fd37-pass-controls{padding:10px}}
@media(prefers-reduced-motion:reduce){#season-rewards .season-column.free .action-btn:not(:disabled){animation:none}}
body.reduce-motion #season-rewards .season-column.free .action-btn:not(:disabled){animation:none}

/* V3.8 — compact celebratory banners: pointer events pass through to the game,
   movement disabled for reduced-motion users and low-power devices. */
.fd38-moment[hidden]{display:none!important}
.fd38-moment{position:fixed;z-index:46;top:calc(13px + env(safe-area-inset-top));left:50%;width:min(460px,calc(100vw - 28px));transform:translateX(-50%);pointer-events:none;isolation:isolate}
.fd38-moment-card{position:relative;display:flex;align-items:center;gap:12px;padding:16px 48px 15px 17px;min-height:104px;border-radius:22px;border:2px solid #ffe8a5;box-shadow:0 18px 45px #020c1cd9,inset 0 1px 0 #fff8;background:radial-gradient(circle at 10% 10%,#6a5735,#243f61 44%,#0f253d 100%);overflow:hidden;pointer-events:auto}
.fd38-moment[data-tone="win"] .fd38-moment-card{background:radial-gradient(circle at 15% 0%,#356d72,#173d57 48%,#0c263c 100%);border-color:#adffd5}
.fd38-moment[data-tone="trophy"] .fd38-moment-card{background:radial-gradient(circle at 15% 0%,#9b7839,#493854 45%,#1b2844 100%);border-color:#ffe5a2}
.fd38-moment[data-tone="level"] .fd38-moment-card{background:radial-gradient(circle at 15% 0%,#7352a5,#3c346f 42%,#152943 100%);border-color:#d7bbff}
.fd38-moment-icon{flex:0 0 60px;height:62px;display:grid;place-items:center;background:linear-gradient(145deg,#ffffff33,#060e2733);border:1px solid #ffffff66;box-shadow:0 5px 18px #0007;border-radius:19px;font-size:36px;line-height:1;filter:drop-shadow(0 4px 8px #0008)}
.fd38-moment-copy{min-width:0;display:grid;gap:4px;position:relative;z-index:1}.fd38-moment-copy span{font-weight:1000;font-size:9px;letter-spacing:1.5px;color:#c9f7e5}.fd38-moment-copy strong{font-size:clamp(15px,4.6vw,22px);font-weight:1000;line-height:1.13;color:#fff4cc;text-shadow:0 2px 12px #000a;overflow-wrap:anywhere}.fd38-moment-copy small{font-size:11px;font-weight:750;line-height:1.45;color:#ecf6fa;overflow-wrap:anywhere}
.fd38-moment-close{position:absolute;right:7px;top:7px;border:1px solid #ffffff77;background:#132c4cba;border-radius:50%;font-size:19px;font-weight:900;color:#fff;line-height:1;width:32px;height:32px;display:grid;place-items:center;pointer-events:auto;z-index:2}
.fd38-rays{position:absolute;inset:-12px 0;z-index:-1;filter:blur(20px);background:#fee3a155;opacity:.7}.fd38-stars{position:absolute;inset:0;pointer-events:none;color:#ffe9a2}.fd38-stars i{position:absolute;font-size:17px;font-style:normal;opacity:.75;filter:drop-shadow(0 0 5px #fff0b9)}.fd38-stars i:nth-child(1){top:5px;left:5%}.fd38-stars i:nth-child(2){right:18%;top:3px}.fd38-stars i:nth-child(3){bottom:4px;left:24%}.fd38-stars i:nth-child(4){right:10%;bottom:9px}.fd38-stars i:nth-child(5){left:50%;top:-4px}
.fd38-moment.fd38-visible .fd38-moment-card{animation:fd38-arrive .38s cubic-bezier(.16,1.35,.38,1) both}.fd38-moment.fd38-visible .fd38-moment-icon{animation:fd38-icon .75s ease-out both}.fd38-moment.fd38-visible .fd38-stars i{animation:fd38-spark 1.6s ease-in-out infinite alternate}.fd38-moment.fd38-visible .fd38-stars i:nth-child(2n){animation-delay:.45s}
@keyframes fd38-arrive{from{opacity:.15;transform:translateY(-22px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fd38-icon{0%{transform:scale(.6) rotate(-12deg)}65%{transform:scale(1.17) rotate(5deg)}100%{transform:scale(1) rotate(0)}}@keyframes fd38-spark{from{opacity:.15;transform:translateY(6px) scale(.85)}to{opacity:.95;transform:translateY(-6px) scale(1.2)}}
@media(max-width:360px){.fd38-moment-card{gap:9px;padding:12px 43px 12px 11px;min-height:89px}.fd38-moment-icon{flex-basis:46px;height:49px;font-size:29px;border-radius:13px}.fd38-moment-copy strong{font-size:16px}.fd38-moment-copy small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fd38-moment *, .fd38-moment *::before,.fd38-moment *::after{animation:none!important;transition:none!important}}
body.reduce-motion .fd38-moment *,body.reduce-motion .fd38-moment *::before,body.reduce-motion .fd38-moment *::after{animation:none!important;transition:none!important}

/* V3.8: luminous original collector-card finish, cosmetic-only. */
.collector-player{position:relative;isolation:isolate;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.collector-player:before{content:"";position:absolute;z-index:-1;inset:-45% 36% auto -34%;height:170px;background:radial-gradient(circle,rgba(255,217,132,.18),transparent 68%);pointer-events:none}
.collector-player img{filter:drop-shadow(0 5px 9px #061224a8);transition:transform .3s ease,filter .3s ease}
.collector-player[data-selected=true]{background:radial-gradient(ellipse at 50% 5%,rgba(240,197,103,.18),transparent 72%),linear-gradient(140deg,#344b6b,#132d44);border-color:#ffe2a4;box-shadow:0 0 0 1px #ffe2a44d,0 12px 28px #0005,0 0 20px #f4d27b27}
.collector-player[data-selected=true] img{filter:drop-shadow(0 8px 14px #030f23cc)}
@media(hover:hover){.collector-player:hover{transform:translateY(-2px)}.collector-player:hover img{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.collector-player,.collector-player img{transition:none!important;transform:none!important}}
body.reduce-motion .collector-player,body.reduce-motion .collector-player img{transition:none!important;transform:none!important}

/* V3.9 · Direct des tirs, rejouabilité purement visuelle et joueurs mis en avant. */
.fd39-match-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:7px;margin:12px 1px 8px}
.fd39-match-live{font-size:10px;font-weight:950;letter-spacing:.8px;color:#b1ffdc;border:1px solid #46a99a8c;border-radius:99px;padding:7px 10px;background:#133e47}
.fd39-match-label{font-size:9px;letter-spacing:1px;font-weight:850;color:#a8c9e6}
.fd39-match-console{background:linear-gradient(145deg,#172f51,#0d263b);border:1px solid #4f8c9a80;border-radius:19px;padding:12px 10px 10px;margin:12px 0;box-shadow:inset 0 1px #ffffff19}
.fd39-console-head{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:10px}
.fd39-console-head strong{font-size:11px;font-weight:950;letter-spacing:.9px;color:#fff1c7}
.fd39-console-head small{font-size:9px;font-weight:800;color:#9ed7e3}
.fd39-match-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.fd39-shot{display:flex;align-items:center;flex-direction:column;text-align:center;gap:3px;min-width:0;padding:8px 4px;border-radius:14px;background:#1e3d56;border:1px solid #427082;color:#f3fbff;min-height:126px;position:relative;transition:transform .16s,border-color .16s}
.fd39-shot:not(:disabled){cursor:pointer}.fd39-shot:focus-visible{outline:3px solid #fff4bf;outline-offset:3px}.fd39-shot:active:not(:disabled){transform:scale(.97)}
.fd39-shot.fd39-current{border-color:#ffe6a6;box-shadow:0 0 0 1px #e5bc69,0 0 13px #edce5c44}
.fd39-shot.fd39-scored{background:linear-gradient(145deg,#185950,#193751)}
.fd39-shot.fd39-saved{background:linear-gradient(145deg,#4a334f,#1b3151)}
.fd39-shot.fd39-awaiting{opacity:.6}
.fd39-shot-id{position:absolute;top:5px;left:7px;font-size:9px;font-weight:850;color:#e2efff}
.fd39-shot img{width:47px;height:47px;object-fit:cover;margin:6px auto 0;border-radius:50%;background:#193a51;border:2px solid #b0dce4}
.fd39-shot-meta{display:grid;gap:2px;min-width:0}.fd39-shot-meta strong{font-size:10px;color:#ffebad;font-weight:1000}.fd39-shot-meta small{font-size:9px;line-height:1.25;overflow-wrap:anywhere;color:#e0edfa}
.fd39-replay-hint{color:#a6d8de;text-align:center;font-size:10px;font-weight:700;line-height:1.5;margin:10px 3px 0}
.fd39-match-mvp[hidden]{display:none!important}
.fd39-match-mvp{display:flex;align-items:center;gap:10px;margin:10px 0 14px;padding:11px;background:radial-gradient(circle at 0 0,#6f5b3a,#253d56 50%,#152d44);border:1px solid #cfb47b;border-radius:18px;position:relative;overflow:hidden}
.fd39-match-mvp>img{height:63px;width:63px;flex-shrink:0;border-radius:13px;background:#29485c;border:2px solid #dcd5b0;object-fit:cover}
.fd39-match-mvp>div{display:grid;gap:4px;min-width:0;padding-right:10px}
.fd39-match-mvp>div span{font-size:9px;letter-spacing:.7px;font-weight:1000;color:#ffdf92}
.fd39-match-mvp>div strong{color:white;font-size:17px;overflow-wrap:anywhere}
.fd39-match-mvp>div small{color:#dbe8ed;font-size:10px;line-height:1.4}
.fd39-mvp-star{position:absolute;top:-8px;right:5px;font-size:60px;color:#ffecb125;pointer-events:none}
/* Après chaque frappe, animation directionnelle du ballon et du gardien. */
.penalty-stage .fd39-ball-motion{animation:fd39-shot-flight .53s cubic-bezier(.2,.72,.35,1) both}
.penalty-stage .fd39-keeper-motion{animation:fd39-keeper-flight .48s cubic-bezier(.3,.5,.2,1) both}
@keyframes fd39-shot-flight{0%{opacity:.9;transform:translate(var(--fd39-start-x),var(--fd39-start-y)) scale(.9)}100%{opacity:1;transform:translate(0,0) scale(1)}}
@keyframes fd39-keeper-flight{from{transform:translateX(var(--fd39-keeper-x))}to{transform:translateX(0)}}
@media(max-width:355px){.fd39-shot{min-height:117px;padding:7px 2px}.fd39-shot img{width:40px;height:40px}.fd39-shot-meta small{font-size:8px}.fd39-console-head strong{font-size:10px}.fd39-console-head small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.penalty-stage .fd39-ball-motion,.penalty-stage .fd39-keeper-motion{animation:none!important}.fd39-shot{transition:none!important}}
body.reduce-motion .penalty-stage .fd39-ball-motion,body.reduce-motion .penalty-stage .fd39-keeper-motion{animation:none!important}
body.reduce-motion .fd39-shot{transition:none!important}

/* V4.0 — centre beta, compact sur iPhone 320 px */
.fd40-beta-auto {margin:18px 0; padding:16px; border:1px solid rgba(114,202,255,.38);border-radius:20px;background:linear-gradient(136deg,rgba(22,73,115,.6),rgba(11,27,53,.92));box-shadow:inset 0 1px 0 rgba(255,255,255,.09)}
.fd40-beta-auto .section-head {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.fd40-beta-auto h3 {margin:3px 0}
.fd40-beta-auto p {color:#bfd0df;font-size:.88rem;line-height:1.45}
.fd40-live {padding:5px 10px;background:rgba(72,226,176,.14);border:1px solid rgba(72,226,176,.35);border-radius:99px;font-size:.7rem;color:#9ff6d6;font-weight:800;letter-spacing:.08em}
.fd40-beta-actions {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 12px}
.fd40-beta-actions button {width:100%;min-width:0;min-height:44px;font-size:.78rem;white-space:normal;line-height:1.3}
.fd40-beta-results {display:grid;gap:7px;margin:10px 0}
.fd40-test {display:flex;align-items:center;gap:10px;border-radius:12px;padding:10px 11px;background:rgba(7,18,37,.65);border:1px solid rgba(255,255,255,.12)}
.fd40-test-icon {width:27px;height:27px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;font-weight:900;background:#294964;color:#fff}
.fd40-ok .fd40-test-icon{background:#167956;color:#fff}
.fd40-fail .fd40-test-icon{background:#9b393e;color:#fff}
.fd40-warning .fd40-test-icon{background:#9a6c22;color:#fff}
.fd40-test div {min-width:0}.fd40-test strong{display:block;color:#fff;font-size:.85rem}.fd40-test small{display:block;margin-top:3px;color:#c1d1e1;line-height:1.3}
.fd40-beta-note{font-size:.78rem!important;opacity:.85}
@media(max-width:360px){.fd40-beta-auto{padding:11px}.fd40-beta-actions{grid-template-columns:1fr}.fd40-beta-auto .section-head h3{font-size:1rem}}

/* FOOTBALL DREAMS V4.2 — carrière prestige / aucun paiement réel */
.fd42-league-identity{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #c49b47a1;border-radius:16px;background:radial-gradient(circle at 84% 0%,#9b772b42,transparent 54%),linear-gradient(120deg,#101a30,#1d2642)}
.fd42-league-medal{font-size:35px;color:#ffd77d;text-shadow:0 0 14px #ffe28b77}
.fd42-league-identity>div{display:grid;gap:3px;min-width:0;flex:1}.fd42-league-identity strong{font-size:22px;color:#fff1b4}.fd42-league-identity small{font-size:10px;color:#d1dfef}.fd42-overline{font-size:9px;letter-spacing:2px;color:#d0a456;font-weight:800}
.fd42-rank-chip{font-size:24px;font-weight:1000;color:#ffdf80;text-align:center}.fd42-rank-chip small{display:block;color:#c7d3e3}
.fd42-status{margin-top:8px;color:#f1cf7c;font-size:11px;font-weight:900;letter-spacing:.5px}
.fd42-fixture-label{margin:18px 0 8px;font-weight:900;color:#dfcd98;font-size:10px;letter-spacing:1px}
.fd42-table-title{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:11px;font-weight:900;letter-spacing:.7px;color:#f9e6ae}.fd42-table-title small{font-weight:600;color:#a7b5d1;letter-spacing:0}
.fd42-table{margin:8px 0 18px;padding:6px;background:linear-gradient(180deg,#101c32,#071425);border:1px solid #596a7a88;border-radius:14px;overflow:hidden;color:#e8f0ff}
.fd42-table-head,.fd42-table-row{display:grid;grid-template-columns:minmax(0,1fr) 33px 41px 38px;gap:6px;align-items:center;padding:8px 5px;font-size:11px;text-align:right}
.fd42-table-head{text-transform:uppercase;color:#9aaac0;font-size:9px;border-bottom:1px solid #7790ae44}.fd42-table-head>span:first-child{text-align:left}
.fd42-table-row{border-bottom:1px solid #ffffff12}.fd42-table-row:last-child{border-bottom:none}.fd42-table-row.fd42-my-club{background:linear-gradient(90deg,#e8b65444,#96732716);border:1px solid #ddac53;border-radius:8px}.fd42-table-row.fd42-promotion:not(.fd42-my-club){border-left:3px solid #58d6a1}.fd42-table-row.fd42-relegation:not(.fd42-my-club){border-left:3px solid #fb8080}
.fd42-club{display:flex;gap:7px;align-items:center;text-align:left;min-width:0}.fd42-club>b{min-width:18px;color:#d9cda9}.fd42-club strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.fd42-bot-emblem{width:16px;height:19px;flex:0 0 16px;background:linear-gradient(135deg,#f9e3a7,hsl(var(--team-hue) 76% 40%));clip-path:polygon(50% 0,100% 20%,91% 76%,50% 100%,9% 76%,0 20%);border:1px solid #c8e1e6}.fd42-table-ellipsis{padding:5px;text-align:center;color:#8293a6}
.fd42-prestige{position:relative;margin:19px 0;padding:18px 12px;background:radial-gradient(ellipse at 98% 4%,#dca94230,transparent 48%),linear-gradient(150deg,#101424,#050c1c 65%,#111e38);border-radius:20px;border:1px solid #9e792d;box-shadow:0 10px 35px #0006;color:#fff;overflow:hidden}
.fd42-prestige:before{content:'';position:absolute;inset:-120% auto -120% -80%;width:65%;transform:rotate(20deg);pointer-events:none;background:linear-gradient(90deg,transparent,#fff2b417,transparent);animation:fd42-golden-wash 8s linear infinite}
.fd42-prestige-heading{display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}.fd42-gold-tag{font-size:10px;font-weight:900;letter-spacing:2.5px;color:#ddbc6e}.fd42-prestige-heading h3{font-weight:1000;font-size:26px;margin:8px 0 5px;letter-spacing:.7px;color:#fff6dc}.fd42-prestige-heading h3 em{font-style:normal;background:linear-gradient(90deg,#a76b18,#fff4ba,#d79d34,#fff5cc);background-clip:text;color:transparent}.fd42-prestige-heading p{color:#a9b6ce;font-size:11px;line-height:1.5;margin:0 0 15px}.fd42-prestige-heading p strong{color:#ecdbb0}.fd42-prestige-star{font-size:45px;color:#ffea99;text-shadow:0 0 20px #ffc859;animation:fd42-twinkle 3s ease-in-out infinite}
.fd42-prestige-cards{display:flex;gap:8px;justify-content:center;position:relative;z-index:1;overflow-x:auto;padding:5px 0 12px;scroll-snap-type:x mandatory}.fd42-player-card{position:relative;overflow:hidden;isolation:isolate;flex:1 0 0;min-width:96px;max-width:175px;aspect-ratio:.68;background:radial-gradient(ellipse at 50% 55%,#e9be6190,transparent 58%),linear-gradient(142deg,#6e4513,#f6dc83 22%,#21190e 43%,#a66a21 80%,#e6c06c);border:2px solid #ffe6a5;clip-path:polygon(11% 0,89% 0,100% 11%,100% 90%,86% 100%,14% 100%,0 90%,0 11%);box-shadow:inset 0 0 17px #ffe8ae66,0 0 17px #bd983555;scroll-snap-align:center}
.fd42-player-card:before{content:'';position:absolute;z-index:2;inset:-60% -120%;background:linear-gradient(96deg,transparent 35%,#ffffff77 49%,transparent 63%);transform:translateX(-45%) rotate(17deg);animation:fd42-card-shine 6s ease-in-out infinite;pointer-events:none}.fd42-player-card:after{content:'';position:absolute;z-index:-1;inset:10px;background:radial-gradient(circle at 40% 35%,#ffffca33,transparent 52%);border:1px solid #ffeda77a}.fd42-player-card>img{position:absolute;width:108%;height:77%;object-fit:cover;object-position:center 20%;left:-4%;top:13%;filter:drop-shadow(0 0 9px #ffe9ac44)}
.fd42-card-top{position:absolute;z-index:3;display:flex;justify-content:space-between;align-items:center;inset:10px 9px auto;font-size:8px;font-weight:1000;letter-spacing:.7px;color:#fff9db;text-shadow:0 2px 5px #000}.fd42-card-top strong{font-size:24px;color:#fff2b5}.fd42-card-content{position:absolute;z-index:3;bottom:0;left:0;right:0;display:grid;text-align:center;gap:1px;padding:18px 3px 13px;background:linear-gradient(transparent,#150e06cc 40%,#120d05f5)}.fd42-card-content small{font-size:7px;color:#ffe5b2}.fd42-card-content strong{font-size:12px;letter-spacing:.2px;color:#fff9db}.fd42-card-content span{color:#ffe6a2;font-size:7px;font-weight:900;letter-spacing:.5px}
.fd42-card-royal{background:radial-gradient(ellipse at 45% 48%,#9cc9e57b,transparent 50%),linear-gradient(142deg,#060d30,#8aa6da 22%,#1e2764 55%,#ead393);border-color:#dcf1ff}.fd42-card-aurora{background:radial-gradient(ellipse at 40% 50%,#eedbff88,transparent 50%),linear-gradient(135deg,#432e6d,#9b66b3 34%,#22345a 60%,#eac88e);border-color:#dbbeff}
.fd42-prestige-collect{position:relative;z-index:1;margin-top:10px;padding:12px;border-radius:14px;background:linear-gradient(135deg,#25304a88,#161725);border:1px solid #a28a5866}.fd42-collect-sub{display:grid;gap:3px}.fd42-collect-sub span{color:#edcb85;font-size:9px;letter-spacing:1.8px;font-weight:900}.fd42-collect-sub strong{font-size:12px;color:#e8efff}.fd42-prestige-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}.fd42-prestige-items figure{margin:0;text-align:center;background:#070f1c8a;border:1px solid #d3b56d44;border-radius:10px;padding:5px}.fd42-prestige-items img{display:block;width:100%;height:80px;object-fit:contain}.fd42-prestige-items figcaption{color:#ead19d;font-size:9px;margin-top:3px;font-weight:900}
.fd42-stadium-display{position:relative;margin-top:12px;overflow:hidden;border:1px solid #bfa26373;border-radius:14px}.fd42-stadium-display>img{display:block;width:100%;height:auto}.fd42-stadium-display>div{display:grid;position:absolute;inset:auto 0 0;padding:15px 12px 9px;background:linear-gradient(transparent,#070e20ed 47%,#050b18)}.fd42-stadium-display small{color:#eed394;font-size:8px;font-weight:900;letter-spacing:2px}.fd42-stadium-display strong{color:#fff5cc;font-size:21px;letter-spacing:1px}.fd42-stadium-display span{color:#c3d0e1;font-size:10px}
@keyframes fd42-card-shine{0%,36%{transform:translateX(-75%) rotate(17deg)}64%,100%{transform:translateX(75%) rotate(17deg)}}@keyframes fd42-twinkle{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@keyframes fd42-golden-wash{0%{left:-80%}100%{left:130%}}
@media(max-width:390px){.fd42-player-card{min-width:88px}.fd42-card-top strong{font-size:19px}.fd42-card-content strong{font-size:10px}.fd42-collect-sub strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fd42-player-card:before,.fd42-prestige:before,.fd42-prestige-star{animation:none!important}}
body.reduce-motion .fd42-player-card:before,body.reduce-motion .fd42-prestige:before,body.reduce-motion .fd42-prestige-star{animation:none!important}

.fd42-svg-crest{display:block;flex-shrink:0;filter:drop-shadow(0 1px 4px #efc57044)}

/* V4.3 — Boutique de ressources, packs originaux et vitrine sécurisée. */
.fd43-bundle-section{margin:20px 0;padding:17px 13px 15px;border-radius:23px;background:radial-gradient(circle at 90% 0%,#1b468b4d,transparent 45%),linear-gradient(155deg,#0a1630,#101d3a 65%,#090f22);border:1px solid #688bcc70;box-shadow:0 15px 40px #03081488;color:#f9fbff}
.fd43-bundle-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.fd43-bundle-heading .eyebrow{color:#98d3ff;font-weight:900;letter-spacing:.1em;font-size:10px}.fd43-bundle-heading h3{font-size:clamp(22px,5vw,32px);margin:5px 0 7px;color:#fff;letter-spacing:-.03em}.fd43-bundle-heading p{margin:0 0 10px;color:#b9cce9;max-width:620px;line-height:1.5;font-size:12px}.fd43-bundle-heading p strong{color:#fff}.fd43-gem-emblem{display:grid;place-items:center;flex:0 0 50px;height:50px;font-size:31px;background:radial-gradient(circle,#3477ec88,transparent 75%);filter:drop-shadow(0 0 14px #4bb4ff)}
.fd43-resource-summary{display:inline-flex;background:#0d2544;color:#addfff;border:1px solid #376da3;padding:8px 12px;border-radius:11px;font-weight:800;font-size:12px;margin:6px 0 14px}
.fd43-bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.fd43-bundle{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:linear-gradient(150deg,#0f2747,#071124);border:1px solid #5483ac;border-radius:18px;box-shadow:inset 0 0 25px #143d7570,0 5px 13px #0004;position:relative}
.fd43-indigo{border-color:#8881cb;background:linear-gradient(150deg,#22234f,#10162a)}.fd43-gold{border-color:#d5ae5e;background:radial-gradient(circle at 75% 0,#96652355,transparent 75%),#201b1c}
.fd43-bundle-art{height:138px;position:relative;background:radial-gradient(ellipse at 50% 70%,#247ed377,transparent 69%),linear-gradient(#162947,#0b1427);display:flex;justify-content:center;align-items:center;overflow:hidden}
.fd43-indigo .fd43-bundle-art{background:radial-gradient(ellipse at 50% 70%,#6351c477,transparent 69%),#171733}.fd43-gold .fd43-bundle-art{background:radial-gradient(ellipse at 50% 70%,#bd863d88,transparent 70%),#231a10}
.fd43-bundle-art img{height:130px;width:130px;object-fit:contain;filter:drop-shadow(0 6px 16px #0009)}
.fd43-gold .fd43-bundle-art:after{content:'';position:absolute;inset:-60%;transform:translateX(-60%) rotate(20deg);background:linear-gradient(90deg,transparent 43%,#fff9ca55 50%,transparent 58%);animation:fd43-shimmer 6.5s ease-in-out infinite;pointer-events:none}
@keyframes fd43-shimmer{0%,18%{transform:translateX(-65%) rotate(20deg)}70%,100%{transform:translateX(65%) rotate(20deg)}}
.fd43-pack-eyebrow{position:absolute;top:8px;left:8px;color:#fff;background:#0a183ad9;border:1px solid #9bc3ff66;border-radius:20px;font-size:9px;padding:5px 7px;font-weight:1000;letter-spacing:.05em}
.fd43-gold .fd43-pack-eyebrow{color:#ffe3a1;border-color:#bc9b57;background:#38250d}
.fd43-bundle-copy{padding:12px;flex:1;display:flex;flex-direction:column}.fd43-bundle-copy>strong{font-size:15px;color:#fff7df;line-height:1.25}.fd43-bundle-copy p{color:#bccbdf;font-size:11px;line-height:1.4;min-height:44px;margin:7px 0 9px}
.fd43-rewards{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 9px}.fd43-rewards span{display:inline-flex;align-items:center;font-size:10px;font-weight:900;color:#ffeab7;padding:5px 7px;border-radius:8px;background:#ffffff10;border:1px solid #ffffff2c;white-space:nowrap}
.fd43-bundle-copy>small{font-size:10px;color:#90bcdb;line-height:1.4;margin-top:auto}
.fd43-bundle-buy{margin:0 12px 12px;min-height:53px;border:1px solid #eed187;border-radius:12px;background:linear-gradient(#ffedaf,#daa744);color:#25160b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:900;cursor:pointer;box-shadow:0 3px 12px #f3c15536}
.fd43-bundle-buy b{font-size:17px}.fd43-bundle-buy small{font-size:9px;letter-spacing:.06em}.fd43-bundle-buy:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.fd43-bundle-footnote{margin:13px 3px 0;color:#adc3e3;font-size:11px;line-height:1.5}
.fd43-paid-card{position:relative;overflow:hidden}.fd43-paid-art{position:relative;background:radial-gradient(circle at 40% 40%,#efca7659,transparent 76%),#1b2842!important;border:1px solid #d4ab656e;box-shadow:inset 0 0 16px #f9d87724}.fd43-paid-art i{position:absolute;right:5px;top:1px;font-style:normal;font-size:12px;color:#ffe18d;animation:fd42-twinkle 3s ease-in-out infinite}.fd43-mini-pips{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.fd43-mini-pips span{border-radius:5px;background:#ffd7801e;border:1px solid #d8b16c46;padding:3px 5px;color:#f1da9d;font-size:10px;font-weight:800}
.fd43-premium-detail{display:flex;gap:12px;align-items:flex-start;margin:14px 0;padding:15px;background:radial-gradient(circle at 100% 0%,#88602d39,transparent 70%),#12192a;border:1px solid #ba944e;border-radius:16px;color:#fff;box-shadow:inset 0 0 20px #db9a3d0d}
.fd43-preview-icon{flex:0 0 50px;height:50px;display:grid;place-items:center;background:linear-gradient(135deg,#503d1c,#bca052,#362816);border:1px solid #e2c77e;border-radius:13px;font-size:28px}.fd43-preview-copy{min-width:0}.fd43-preview-copy>span{color:#ffca71;font-size:10px;font-weight:1000;letter-spacing:.07em}.fd43-preview-copy>strong{display:block;margin:5px 0 7px;font-size:18px;color:#fff4d2}.fd43-preview-copy p{font-size:12px;color:#c7c9d3;line-height:1.5;margin:0}.fd43-preview-copy small{font-size:11px;color:#e4b574;line-height:1.4}
@media(max-width:640px){.fd43-bundle-grid{grid-template-columns:1fr}.fd43-bundle{flex-direction:row;flex-wrap:wrap}.fd43-bundle-art{flex:0 0 112px;height:145px}.fd43-bundle-art img{width:110px;height:110px}.fd43-bundle-copy{flex:1 1 160px;padding:10px}.fd43-bundle-copy p{min-height:0;margin:5px 0}.fd43-bundle-buy{margin:0 10px 10px;flex:0 0 calc(100% - 20px)}.fd43-rewards span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.fd43-gold .fd43-bundle-art:after,.fd43-paid-art i{animation:none}}.reduce-motion .fd43-gold .fd43-bundle-art:after,.reduce-motion .fd43-paid-art i{animation:none}

/* Football Dreams V4.4 · Matchday tactique et scouting, responsive et sans achats. */
.fd44-matchday{margin:14px 0 17px;padding:15px;border:1px solid rgba(242,201,106,.34);border-radius:18px;background:linear-gradient(146deg,rgba(9,36,65,.97),rgba(8,21,39,.98));box-shadow:inset 0 1px rgba(255,234,177,.12),0 10px 25px rgba(0,0,0,.2)}
.fd44-matchday-head,.fd44-plan-heading,.fd44-scout{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fd44-matchday-head h3{font-size:clamp(16px,3.4vw,20px);margin:5px 0 0;color:#fdf7e4}
.fd44-matchday-head .eyebrow,.fd44-plan-heading small{color:#edc878;font-size:10px;letter-spacing:.08em}
.fd44-plan-tag{font-size:9px;letter-spacing:.07em;font-weight:900;color:#ffdf90;background:rgba(219,175,77,.14);border:1px solid rgba(225,181,91,.3);padding:8px;border-radius:100px;text-align:center;max-width:125px}
.fd44-scout{background:linear-gradient(96deg,rgba(14,65,94,.95),rgba(13,35,61,.9));padding:12px;border-radius:12px;margin:14px 0}
.fd44-scout-crest{width:50px;height:55px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fd44-scout-crest svg{width:44px;height:50px}
.fd44-scout-team{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.fd44-scout-team span,.fd44-scout-team small{font-size:10px;color:#b5c9dc;letter-spacing:.04em}.fd44-scout-team strong{font-size:16px;color:white;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd44-scout-live{color:#92f1bc;font-size:9px;letter-spacing:.08em;white-space:nowrap}
.fd44-plan-heading{margin:7px 0 10px;color:#f9e5bd}.fd44-plan-heading strong{font-size:12px}
.fd44-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.fd44-plan{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:111px;text-align:center;padding:11px 5px;border:1px solid rgba(124,160,199,.3);background:linear-gradient(155deg,#153456,#0a1f38);border-radius:13px;color:#dae5f7;transition:transform .15s,border-color .15s,box-shadow .15s;font:inherit;cursor:pointer}
.fd44-plan-icon{font-size:24px}.fd44-plan strong{font-size:clamp(11px,2.8vw,14px);line-height:1.2}.fd44-plan small{font-size:9px;letter-spacing:.06em;color:#95c6ef}.fd44-plan-desc{font-size:10px;line-height:1.35;color:#b8cde0;display:block}
.fd44-plan.is-selected{color:#fff7dc;background:linear-gradient(150deg,#4a3b1a,#1b2c3d);border-color:#f1c875;box-shadow:inset 0 0 0 1px rgba(255,237,168,.18),0 0 19px rgba(232,181,75,.18)}
.fd44-plan:disabled{opacity:.65;cursor:not-allowed}.fd44-scout-tip{font-size:11px;line-height:1.5;color:#b7d7e8;margin:10px 0 0}
.fd44-table-toggle{display:block;margin:9px auto 15px;padding:10px 18px;color:#f8d783;background:#0e2f4a;border:1px solid rgba(245,205,123,.42);border-radius:50px;cursor:pointer;font:inherit;font-size:11px;font-weight:900;letter-spacing:.06em}
@media(max-width:370px){.fd44-matchday{padding:10px}.fd44-plan{padding:9px 3px}.fd44-plan-desc{font-size:9px}.fd44-plan-tag{font-size:8px;max-width:96px}.fd44-scout-live{display:none}}
@media(prefers-reduced-motion:reduce){.fd44-plan{transition:none}}

/* V4.5 — match broadcast accessible, responsive, sans dépenses imposées */
.fd45-live{margin:14px 0;padding:16px;border:1px solid rgba(238,202,119,.35);border-radius:18px;background:radial-gradient(circle at top right,rgba(238,190,85,.14),transparent 56%),linear-gradient(145deg,#0a213d,#102e46);box-shadow:inset 0 1px rgba(255,255,255,.07)}
.fd45-live[hidden]{display:none!important}
.fd45-live-header{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.72rem;letter-spacing:.09em;color:#edcf8f}
.fd45-live-minute{background:rgba(238,199,105,.12);border:1px solid rgba(238,199,105,.25);border-radius:30px;padding:5px 9px;color:#ffe4a9;font-weight:800}
.fd45-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);gap:7px;align-items:center;margin:13px 0 9px;color:#f6f9ff}
.fd45-scoreboard span{font-weight:750;font-size:.83rem;overflow-wrap:anywhere}
.fd45-scoreboard span:last-child{text-align:right}
.fd45-scoreboard b{font-size:1.65rem;text-align:center;font-variant-numeric:tabular-nums;color:#ffe2a0;text-shadow:0 0 19px rgba(247,185,81,.3)}
.fd45-match-clock{height:5px;background:rgba(159,200,225,.15);border-radius:12px;overflow:hidden}
.fd45-match-clock i{display:block;width:0;height:100%;background:linear-gradient(90deg,#28d2bd,#ffd47e);transition:width .45s ease;border-radius:12px}
.fd45-live-events{padding:0;margin:12px 0;list-style:none;display:grid;gap:5px;max-height:210px;overflow:auto}
.fd45-live-events li{display:grid;grid-template-columns:36px 24px minmax(0,1fr);gap:8px;align-items:center;background:rgba(255,255,255,.035);padding:8px 10px;border-radius:9px;color:#e5effa;font-size:.81rem}
.fd45-live-events time{color:#ffe3a0;font-weight:850;font-variant-numeric:tabular-nums}
.fd45-live-note{font-size:.7rem;color:#aac5d6;line-height:1.4;display:block}
@media(max-width:410px){.fd45-live{padding:12px}.fd45-scoreboard{grid-template-columns:minmax(0,1fr) 83px minmax(0,1fr)}.fd45-scoreboard b{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.fd45-match-clock i{transition:none}}

/* V4.6 — direction du projet : gestion / fusion / simulation, aucun contrôle du ballon. */
.fd39-match-top,.penalty-stage,.penalty-caption,.fd39-match-console,.fd39-match-mvp,.match-actions,.match-ticket,
.passing-card,.fd36-card-train,.fd36-card-tactics,.fd36-card-players,.fd36-card-arena {display:none!important;}
.fd46-manager-panel{border:1px solid rgba(255,214,120,.43);border-radius:17px;padding:15px;background:linear-gradient(135deg,rgba(20,38,69,.98),rgba(52,41,25,.88));margin:14px 0;color:#f4f6ff;box-shadow:inset 0 1px 0 #fff2}
.fd46-manager-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.11em;color:#edd09a;font-weight:900}
.fd46-manager-top strong{font-size:9px;border:1px solid #ebce84a1;border-radius:20px;padding:5px 8px;color:#ffe3a1}
.fd46-power-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:14px 0;text-align:center}
.fd46-power-grid>div:not(.fd46-versus){display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:13px;background:#ffffff0d;padding:12px 4px}
.fd46-power-grid small{font-size:10px;font-weight:900;color:#c0d7e8}.fd46-power-grid strong{font-size:38px;line-height:1.1;color:#ffda85;font-variant-numeric:tabular-nums;text-shadow:0 0 20px #ffc7643b}.fd46-power-grid span{font-size:10px;color:#c5ccdf}.fd46-versus{color:#d5d8e5;font-weight:900;font-size:13px}
.fd46-manager-panel p{margin:8px 0;font-size:13px;line-height:1.5;color:#f3f5fb}
.fd46-manager-panel>small{color:#bcc7d3;font-size:10px;line-height:1.5}
.fd46-report{display:flex;align-items:center;gap:12px;padding:18px 14px;margin-top:10px;background:linear-gradient(115deg,#0d2f43,#172547);border-radius:14px;border:1px solid #ffffff35}
.fd46-report-icon{font-size:35px}.fd46-report strong{font-size:12px;color:#ffe1a3;letter-spacing:.04em}.fd46-report p{color:#eff7ff;font-size:14px;font-weight:650;margin:7px 0}.fd46-report small{color:#aebdcf;font-size:11px}
.fd45-live-note{color:#bfcbe1}.fd36-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:420px){.fd46-power-grid strong{font-size:32px}.fd46-manager-top strong{letter-spacing:0}}

/* Deprecated skill games remain only in old save adapters; gameplay V4.6 is management-only. */
#tactics-zone,#fd36-training,#fd36-shooters{display:none!important;}

/* Pas de pastilles de tirs dans la simulation. */
.match-card>.score{display:none!important;}


/* V4.7 — Centre de recrutement, cartes originales animées et composition */
.fd47-recruitment{margin:22px 0;padding:13px;border:1px solid #9e7f48;border-radius:21px;background:linear-gradient(160deg,#173557,#091c36 36%,#171d38);box-shadow:0 13px 34px #0007;scroll-margin-top:18px}
.fd47-hero{position:relative;min-height:172px;overflow:hidden;padding:20px 15px 15px;border-radius:17px;background:radial-gradient(ellipse at 88% 20%,#98713555,transparent 48%),linear-gradient(115deg,#08213c,#203c60 50%,#10223b);border:1px solid #ad8e5d}
.fd47-eyebrow{color:#f4ca7b;font-size:9px;letter-spacing:2px;font-weight:950}.fd47-hero h2{max-width:270px;color:white;font-size:clamp(22px,6.2vw,31px);font-weight:1000;line-height:.98;letter-spacing:-.8px;margin:14px 0 9px;text-shadow:0 4px 8px #0008}.fd47-hero h2 em{color:#f5c870;font-style:normal}.fd47-hero p{max-width:290px;font-size:11px;color:#d6e8fc;line-height:1.5;margin:0}.fd47-hero-ornament{position:absolute;right:-3px;top:20px;font-size:110px;color:#fce6a7;opacity:.14;transform:rotate(13deg);pointer-events:none}
.fd47-meter{display:grid;gap:4px;background:#071a30;border:1px solid #354f6b;border-radius:13px;margin:10px 0;padding:10px 12px;font-size:11px;color:#c4daf0}.fd47-meter strong{color:#fff0b5}.fd47-meter small{color:#e6bc7c;font-size:10px}.fd47-invoke-controls{display:grid;gap:8px}.fd47-invoke-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fd47-invoke-controls button{border:1px solid #e4be6b;background:linear-gradient(#dfb560,#956022);border-radius:12px;color:#201913;padding:13px 5px;font-size:11px;font-weight:1000;box-shadow:inset 0 1px #fff8,0 3px 5px #0007}.fd47-invoke-controls .fd47-free{background:linear-gradient(#78d9aa,#2f8c6e);border-color:#a9f4c8;color:#053c2c}.fd47-invoke-controls button:disabled{opacity:.5;filter:grayscale(.6);box-shadow:none}.fd47-info,.fd47-disclaimer{font-size:10px;color:#b8cfe6;line-height:1.6;margin:11px 4px}.fd47-info strong{color:#ffe1a0}
.fd47-results{padding:11px;background:linear-gradient(115deg,#233958,#122940);border:1px solid #5a6286;border-radius:14px;min-height:48px;font-size:11px;color:#d9e9f9}.fd47-results>strong{display:block;font-size:10px;color:#ffdda6;letter-spacing:1px;margin-bottom:9px}.fd47-results-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px}.fd47-result{min-width:95px;width:95px;padding:5px;border:1px solid #6595b6;border-radius:10px;background:#142744}.fd47-result img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:7px}.fd47-result span{display:block;font-size:9px;line-height:1.3;margin-top:3px;color:#e7f4ff}
.fd47-subhead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:18px 2px 9px}.fd47-subhead h3{font-size:13px;margin:0;color:#ffdf9b}.fd47-subhead span{font-size:9px;color:#acc8e1}.fd47-lineup{display:grid;gap:6px}.fd47-lineup-row{display:grid;grid-template-columns:52px 1fr;align-items:start;gap:8px;padding:8px;background:#102a45;border:1px solid #3a5574;border-radius:10px}.fd47-lineup-row>strong{font-size:12px;color:#fce5b5}.fd47-lineup-row>strong small{display:block;font-size:9px;color:#a2bfda}.fd47-lineup-row>div{display:flex;flex-wrap:wrap;gap:5px}.fd47-chip{display:inline-flex;align-items:center;gap:5px;background:#29516e;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:800}.fd47-chip small{color:#fffacb}.fd47-chip-ur{background:#49316d}.fd47-chip-lr{background:#725520;color:#fff1bf}.fd47-empty{color:#8baac1;font-size:10px}
.fd47-filters{display:flex;gap:5px;overflow-x:auto;padding:2px 0 9px}.fd47-filters button{background:#203b59;color:#b4d0e5;border:1px solid #42688d;padding:8px 11px;border-radius:9px;font-size:10px;font-weight:850}.fd47-filters button[aria-pressed=true]{background:#e8c47e;color:#2f240c;border-color:#ffebaf}.fd47-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fd47-card{position:relative;min-width:0;overflow:hidden;padding:6px;background:linear-gradient(140deg,#21384e,#0e253d 57%,#12233e);border:2px solid #6ab1e0;border-radius:13px;box-shadow:inset 0 0 8px #fff1,0 8px 12px #0004}.fd47-card:before{content:'';position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 45%,#ffffff18 51%,transparent 58%);pointer-events:none;transform:translateX(-100%)}.fd47-card.is-owned:before{animation:fd47Shine 4.5s linear infinite}@keyframes fd47Shine{to{transform:translateX(100%)}}.fd47-ur{border-color:#bb8efa;background:linear-gradient(150deg,#422b6d,#14294e 64%,#241638)}.fd47-lr{border-color:#ffdc83;background:radial-gradient(ellipse at 50% -40%,#eebc5688,transparent 66%),linear-gradient(160deg,#735022,#172840 62%,#473119);box-shadow:0 0 14px #d3a64355,inset 0 0 10px #ffe7b52e}.fd47-card-head,.fd47-card-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:5px;font-weight:1000}.fd47-card-head{padding:3px 3px 5px}.fd47-card-head strong{font-size:24px;color:#fff3c6;text-shadow:0 2px 4px #0009}.fd47-grade{font-size:10px;letter-spacing:1.5px;color:#cdf4ff}.fd47-lr .fd47-grade{color:#ffdea0}.fd47-ur .fd47-grade{color:#ebcaff}.fd47-card>img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:7px;border:1px solid #ffe5b15a}.fd47-card:not(.is-owned)>img{filter:grayscale(.6) brightness(.58)}.fd47-card-bottom{flex-direction:column;align-items:stretch;padding:7px 3px;gap:3px;text-align:left}.fd47-card-bottom span{font-size:9px;color:#bbd9ee}.fd47-card-bottom strong{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fd47-card-actions{display:grid;gap:5px}.fd47-card-actions button{padding:8px 2px;border-radius:8px;background:#244d64;border:1px solid #6c9eb5;font-size:9px;font-weight:900}.fd47-card-actions button[aria-pressed=true]{background:#2e776c;border-color:#70e6b4;color:#dafff2}.fd47-card-actions button:disabled{opacity:.5}.fd47-unknown{display:block;padding:9px 3px 4px;text-align:center;font-size:9px;color:#a9c2d3}.fd47-shop-shortcut{display:block;width:100%;margin:11px 0;border:1px solid #ecd082;border-radius:13px;padding:14px;background:linear-gradient(125deg,#5c4527,#a97831,#3a3855);color:#fff0c3;font-size:12px;font-weight:1000}
@media(min-width:440px){.fd47-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.fd47-card.is-owned:before{animation:none}}body.reduce-motion .fd47-card.is-owned:before{animation:none}

/* V4.8 — Coupe hebdomadaire : rendu mobile-first sans librairie. */
.fd48-weekly{position:relative;overflow:hidden;border:1px solid rgba(241,191,96,.55);border-radius:19px;margin:18px 0 23px;padding:17px;background:radial-gradient(ellipse at 96% -12%,rgba(236,178,70,.21),transparent 48%),linear-gradient(150deg,#122e53,#09192d 90%);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.fd48-weekly::after{content:'✦';position:absolute;right:24px;top:46px;color:#f5da9d;opacity:.28;font-size:67px;pointer-events:none}
.fd48-header{display:flex;justify-content:space-between;align-items:start;gap:10px}.fd48-header h3{color:#ffe5a3;font-size:1.3rem;line-height:1.4;margin:2px 0}.fd48-header small{color:#b8cce6;font-size:.75rem}.fd48-trophy{white-space:nowrap;flex-shrink:0;font-size:1.1rem;border:1px solid #b8904a;border-radius:16px;background:#3c301f;padding:8px 11px;color:#ffe4a8;font-weight:850}
.fd48-score{display:grid;grid-template-columns:1fr 1.45fr;gap:9px;margin:16px 0}.fd48-score>div{display:flex;flex-direction:column;justify-content:center;min-height:68px;padding:10px;border:1px solid rgba(141,175,218,.25);border-radius:12px;background:#ffffff0c;gap:6px}.fd48-score span{font-size:.76rem;color:#b5c6df}.fd48-score strong{font-size:1.12rem;color:#fff6d9}
.fd48-rounds{display:grid;gap:7px}.fd48-round{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;background:#0b2038;border-left:3px solid #607a9b;border-radius:9px;align-items:center}.fd48-round span{font-size:.76rem;color:#aebfd7}.fd48-round strong{font-size:.79rem;text-align:right;color:#e7edf9}.fd48-round.current{border-left-color:#edbe6b;background:linear-gradient(90deg,#30301e,#11243b)}.fd48-round.played{border-left-color:#6cc7a3}
.fd48-prizes{padding:11px 2px;font-size:.79rem;color:#f7dfaa;line-height:1.55}.fd48-last{display:block;margin:11px 0;color:#b4c9e1;line-height:1.6;font-size:.78rem}.fd48-history{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #ffffff25;padding-top:12px}.fd48-history strong{flex-basis:100%;font-size:.81rem;color:#fff}.fd48-history small{border-radius:7px;background:#ffffff0e;color:#cad7ec;padding:5px 8px;font-size:.73rem}
@media(max-width:420px){.fd48-header h3{font-size:1.14rem}.fd48-score{grid-template-columns:1fr 1fr}.fd48-round{gap:7px}.fd48-round strong{max-width:54%}}

/* V4.9 : Mondial des Clubs des Rêves, contraste lisible sur iPhone */
.fd49-world{position:relative;overflow:hidden;margin:20px 0;padding:18px;border-radius:20px;border:1px solid rgba(119,201,226,.5);background:radial-gradient(ellipse at 100% 0%,rgba(34,151,202,.26),transparent 50%),linear-gradient(150deg,#122d4b,#091c34);box-shadow:0 15px 32px #0003}
.fd49-hero{display:flex;justify-content:space-between;align-items:start;gap:10px}.fd49-hero h3{font-size:1.36rem;line-height:1.35;margin:3px 0;color:#cbf4ff}.fd49-hero small{color:#b8d4e6;font-size:.78rem}.fd49-title-count{white-space:nowrap;border:1px solid #74baca;background:#143d58;color:#dbfaff;padding:9px;border-radius:12px;font-weight:800}
.fd49-versus{display:grid;grid-template-columns:1fr 1.6fr;gap:9px;margin:16px 0}.fd49-versus>div{display:flex;flex-direction:column;gap:6px;padding:11px;justify-content:center;border:1px solid #9cd7e13b;border-radius:12px;background:#ffffff0b;min-width:0}.fd49-versus span{font-size:.73rem;color:#b5d0e1;overflow-wrap:anywhere}.fd49-versus strong{font-size:1.04rem;color:#fff;overflow-wrap:anywhere}
.fd49-stages{display:grid;gap:7px}.fd49-stage{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:10px 12px;background:#07182c99;border-left:3px solid #526f8c;border-radius:10px}.fd49-stage span{font-size:.77rem;color:#b8cee0}.fd49-stage strong{max-width:55%;text-align:right;color:#f4f7ff;font-size:.8rem;overflow-wrap:anywhere}.fd49-stage.fd49-now{border-left-color:#7de5f0;background:#19465e}.fd49-stage.fd49-played{border-left-color:#66c9a7}
.fd49-rewards{padding:13px 2px 12px;color:#d6f5fe;font-size:.79rem;line-height:1.55}.fd49-note{color:#bdd2e5;font-size:.79rem;line-height:1.6;margin:11px 0}.fd49-bracket{border-top:1px solid #ffffff2b;padding:12px 0}.fd49-bracket summary{cursor:pointer;color:#c8eaf8;font-weight:750;font-size:.81rem}.fd49-bracket-match{display:flex;justify-content:space-between;gap:8px;margin-top:8px;padding:9px 8px;background:#092740;border-radius:7px;color:#cfdef0;font-size:.73rem}.fd49-bracket-match em{font-style:normal;color:#91dfce;text-align:right}.fd49-honours{display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid #ffffff25;padding-top:12px}.fd49-honours strong{flex-basis:100%;font-size:.81rem;color:#fff}.fd49-honours small{border-radius:7px;padding:6px;background:#ffffff12;color:#c4dff1;font-size:.73rem}
@media(max-width:420px){.fd49-world{padding:13px}.fd49-hero h3{font-size:1.17rem}.fd49-versus{grid-template-columns:1fr 1.4fr}.fd49-stage{padding:10px 8px}.fd49-stage strong{max-width:52%}}

/* ══════════════════════════════════════════════════════════════════════════
   FOOTBALL DREAMS V5.0  —  DOSSIERS D'ATLAS
   Identité graphique originale : panoramique, topographie, médaillons orbitaux.
   Ne reproduit pas les silhouettes, les arrangements ou les polices d'Ultimate Team.
   ══════════════════════════════════════════════════════════════════════════ */
.fd47-recruitment{border:1px solid #506d86;background:radial-gradient(circle at 94% 4%,#254d6388,transparent 38%),linear-gradient(155deg,#091a2d,#09121f 60%,#102b3d);}
.fd47-hero .fd47-eyebrow{color:#92d5d2;letter-spacing:2px}.fd47-hero h2{font-size:clamp(23px,6vw,34px)}
.fd47-card-grid{grid-template-columns:1fr;gap:12px;overflow:hidden;}
.fd47-card.fd50-dossier{padding:0;border:1px solid #457a92;border-radius:11px;background:linear-gradient(90deg,#082438,#143a50 55%,#101d34);box-shadow:0 8px 22px #01071180;clip-path:none;isolation:isolate;min-height:0;color:#eafaff;}
.fd47-card.fd50-dossier:before{display:none;}
.fd50-dossier-main{position:relative;display:grid;grid-template-columns:minmax(82px,32%) minmax(0,1fr);gap:9px;align-items:center;min-height:146px;padding:12px 11px 10px 8px;background:url('assets/atlas/horizon.svg') center/cover;}
.fd50-dossier.fd47-ur{border-color:#9276bd;background:#18234a}.fd50-dossier.fd47-ur .fd50-dossier-main{background-image:url('assets/atlas/aurore.svg');}
.fd50-dossier.fd47-lr{border-color:#c39b59;box-shadow:0 0 16px #be91592f,0 10px 22px #0007;}.fd50-dossier.fd47-lr .fd50-dossier-main{background-image:url('assets/atlas/constellation.svg');}
.fd50-avatar{position:relative;width:100%;aspect-ratio:1/1;max-width:142px;max-height:142px;border-radius:50%;padding:5px;isolation:isolate;background:conic-gradient(from 40deg,#c9fff6 0 20%,#12516f 20% 50%,#91d7d9 50% 64%,#122b4a 64% 100%);border:2px solid #e1f4ec70;box-shadow:0 0 18px #67b4d34f;}
.fd50-avatar:after{content:'✧';position:absolute;z-index:3;right:-2px;top:-6px;color:#dbfff7;font-size:20px;text-shadow:0 0 8px currentColor;}
.fd50-avatar img,.fd47-card.fd50-dossier .fd50-avatar>img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:center 25%;border:2px solid #071c2b;border-radius:50%;background:#0a2136;}
.fd50-avatar-orbit{position:absolute;z-index:2;inset:-7px;border:1px dashed #c8fbf988;border-radius:50%;pointer-events:none;transform:rotate(-18deg);}
.fd50-dossier.fd47-ur .fd50-avatar{background:conic-gradient(from 15deg,#f6d6ff,#582d88,#c693fa,#28195a,#f6d6ff);}
.fd50-dossier.fd47-lr .fd50-avatar{background:conic-gradient(from 15deg,#fff2cd,#865b23,#f6cf79,#503518,#fff1c2);box-shadow:0 0 17px #ffd47780;}
.fd50-dossier-info{position:relative;z-index:1;min-width:0;text-align:left;display:grid;gap:7px;align-content:center;}
.fd50-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px;font-size:8px;letter-spacing:1.1px;font-weight:900;color:#a9c6d5}.fd50-rarity{font-size:10px;color:#c8fbfc;}
.fd50-dossier.fd47-ur .fd50-rarity{color:#e8caff}.fd50-dossier.fd47-lr .fd50-rarity{color:#ffe7ae}
.fd50-series{font-size:9px;letter-spacing:2px;font-weight:950;color:#99e3e3}.fd50-series small{letter-spacing:.5px;font-size:8px;color:#b2cad3}.fd50-dossier.fd47-lr .fd50-series{color:#ffe4a5}.fd50-dossier.fd47-ur .fd50-series{color:#f3c0ff}
.fd50-player-name{font-size:clamp(16px,4.5vw,22px);font-weight:1000;letter-spacing:-.35px;line-height:1.06;overflow-wrap:anywhere;text-shadow:0 2px 8px #0009;}
.fd50-player-data{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.fd50-power-label{border:1px solid #ffffff59;background:#030c1a88;border-radius:6px;padding:4px 6px;display:flex;align-items:center;gap:8px;color:#cee6e9;font-size:8px;letter-spacing:.5px}.fd50-power-label b{font-size:22px;line-height:1;color:#fff2ba}.fd50-stars{font-size:10px;color:#d9ecf3;letter-spacing:.2px;overflow-wrap:anywhere;}
.fd50-dossier.fd47-lr.is-owned .fd50-avatar-orbit{animation:fd50Orbit 18s linear infinite}.fd50-dossier.fd47-ur.is-owned .fd50-avatar-orbit{animation:fd50Orbit 26s linear infinite reverse;}
.fd50-dossier.fd47-lr.is-owned .fd50-dossier-main:after{content:'';position:absolute;inset:-150% -100%;pointer-events:none;background:linear-gradient(100deg,transparent 43%,#fff2b51b 49%,transparent 56%);animation:fd50Shimmer 8s ease-in-out infinite;}
.fd50-dossier-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-top:1px solid #ffffff28;background:#010c17a8;color:#a8c4d5;font-size:8px;font-weight:850;letter-spacing:.7px}.fd50-dossier-footer>span:last-child{color:#f5deb0;white-space:nowrap;}
.fd50-dossier .fd47-card-actions{grid-template-columns:1fr 1fr;gap:7px;padding:9px;background:#0c1c2c}.fd50-dossier .fd47-card-actions button{padding:10px 7px;font-size:10px;border-radius:6px;border-color:#779eae;background:#163249;}.fd50-dossier .fd47-card-actions button[aria-pressed=true]{border-color:#6edcbf;background:#136959;color:#eafff2;}.fd50-dossier .fd47-unknown{text-align:left;padding:10px 12px;color:#d0dfe6;background:#101d2e;border-top:1px solid #ffffff14;}
.fd50-dossier:not(.is-owned) .fd50-avatar img{filter:grayscale(.65) brightness(.67)}
@media(min-width:720px){.fd47-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.fd50-dossier-main{min-height:162px}.fd50-player-name{font-size:18px;}}
@media(max-width:360px){.fd50-dossier-main{grid-template-columns:80px minmax(0,1fr);min-height:133px;gap:7px;padding:9px 8px}.fd50-avatar{width:78px}.fd50-series{letter-spacing:1px}.fd50-meta{font-size:7px}.fd50-player-name{font-size:15px}.fd50-dossier .fd47-card-actions button{font-size:9px}}
@keyframes fd50Orbit{to{transform:rotate(342deg)}}@keyframes fd50Shimmer{0%,40%{transform:translateX(-70%) rotate(13deg)}72%,100%{transform:translateX(70%) rotate(13deg)}}
@media(prefers-reduced-motion:reduce){.fd50-dossier.fd47-lr.is-owned .fd50-avatar-orbit,.fd50-dossier.fd47-ur.is-owned .fd50-avatar-orbit,.fd50-dossier.fd47-lr.is-owned .fd50-dossier-main:after{animation:none!important}}
body.reduce-motion .fd50-dossier .fd50-avatar-orbit,body.reduce-motion .fd50-dossier .fd50-dossier-main:after{animation:none!important}
/* Galerie des éditions artistiques : mini-affiches panoramiques avec portrait-médaillon, pas bouclier FUT. */
.fd50-showcase{justify-content:stretch;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;}
.fd50-showpiece{flex:1 0 160px;min-width:154px;max-width:230px;aspect-ratio:.82;position:relative;display:grid;grid-template-rows:auto 1fr auto;padding:11px 9px;overflow:hidden;border:1px solid #c69c59;border-radius:10px;scroll-snap-align:center;background:#172c37 url('assets/atlas/constellation.svg') center/cover;box-shadow:0 8px 22px #0007;isolation:isolate;}
.fd50-showpiece-royal{background-image:url('assets/atlas/horizon.svg');border-color:#6facbf}.fd50-showpiece-nebula{background-image:url('assets/atlas/aurore.svg');border-color:#c89ae9}
.fd50-showpiece-label{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:9px;font-weight:950;letter-spacing:1.3px;color:#ffe8a9;text-shadow:0 2px 6px #000a}.fd50-showpiece-label small{font-size:7px;opacity:.7;white-space:nowrap}.fd50-showpiece-royal .fd50-showpiece-label{color:#c3faff}.fd50-showpiece-nebula .fd50-showpiece-label{color:#eccaff}
.fd50-showpiece-portrait{align-self:center;justify-self:center;position:relative;width:87%;max-width:170px;aspect-ratio:1;border-radius:50%;border:5px double #fcebc8;background:conic-gradient(#c3a363,#1c304b,#d2b65b,#c3a363);padding:4px;box-shadow:0 0 25px #fce4a950}.fd50-showpiece-portrait img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:2px solid #ffffff79}.fd50-showpiece-royal .fd50-showpiece-portrait{border-color:#83d6ef;box-shadow:0 0 25px #70e8fb55}.fd50-showpiece-nebula .fd50-showpiece-portrait{border-color:#dbb0f6;box-shadow:0 0 25px #c895ff55}
.fd50-showpiece-name{display:grid;gap:2px;text-align:center;border-top:1px solid #ffffff63;padding-top:8px;color:white;text-shadow:0 2px 5px #000}.fd50-showpiece-name small{font-size:8px;letter-spacing:1px;color:#ffe5b8}.fd50-showpiece-name strong{font-size:14px;letter-spacing:.4px;}.fd50-showpiece-name span{font-size:8px;letter-spacing:1px;color:#ffe2a2}
.fd50-showpiece-sun:after{content:'';position:absolute;inset:-70%;pointer-events:none;background:linear-gradient(95deg,transparent 45%,#fffbd01d,transparent 55%);animation:fd50Shimmer 9s linear infinite;}
@media(prefers-reduced-motion:reduce){.fd50-showpiece-sun:after{animation:none}}body.reduce-motion .fd50-showpiece-sun:after{animation:none}
/* Saison vivante, adversaires qui développent leur club */
.fd50-rival-report{margin:16px 0 20px;border:1px solid #58828e;border-radius:17px;padding:13px;background:linear-gradient(120deg,#092436,#10263c 70%,#171e3c);color:#e8f8ff;box-shadow:0 8px 24px #0005;}
.fd50-rival-head{display:grid;gap:5px}.fd50-rival-kicker{font-size:9px;letter-spacing:1.8px;color:#91e7d8;font-weight:900}.fd50-rival-head>strong{font-size:18px}.fd50-rival-head>small{color:#b8cbd8;font-size:11px;line-height:1.5}
.fd50-rival-current{display:flex;align-items:center;gap:9px;margin-top:11px;border:1px solid #ffffff29;background:#03111d6a;border-radius:10px;padding:9px}.fd50-rival-symbol{font-size:23px}.fd50-rival-current>div{display:grid;gap:3px;min-width:0;flex:1}.fd50-rival-current>div strong{font-size:12px;overflow-wrap:anywhere}.fd50-rival-current>div small{color:#b6d2d9;font-size:10px}.fd50-rival-growth{text-align:right;color:#fce4a1;font-size:14px;font-weight:950;white-space:nowrap}.fd50-rival-growth small{display:block;color:#bdced5;font-size:8px;font-weight:700}.fd50-rival-growthbar{height:4px;background:#243f51;border-radius:100px;margin:8px 4px;overflow:hidden}.fd50-rival-growthbar span{display:block;background:linear-gradient(90deg,#46b6bc,#ffe1a0);height:100%;transition:width .3s}.fd50-rival-peers{display:grid;gap:5px;margin-top:10px}.fd50-rival-peers span{font-size:10px;border-bottom:1px solid #ffffff16;padding-bottom:5px;display:flex;gap:6px;justify-content:space-between}.fd50-rival-peers b{color:#f5d99b}

/* V5.1 · Atelier des talents : interface originale d'un carnet de scouting, pas une carte FUT */
.fd51-training-report{position:relative;margin:15px 0 19px;overflow:hidden;padding:17px 16px;border:1px solid #70afae8a;border-radius:15px;color:#eafaff;background:radial-gradient(circle at 93% 5%,#246e6c77,transparent 42%),linear-gradient(133deg,#0a2632,#14263f 65%,#172044);box-shadow:0 8px 25px #0006;}
.fd51-training-report:before{content:'✧';position:absolute;right:13px;top:7px;color:#adeadb69;font-size:49px;pointer-events:none;}
.fd51-overline{display:block;color:#88e2ca;font-size:9px;font-weight:950;letter-spacing:1.6px;margin-bottom:5px;}
.fd51-training-report>strong{display:block;font-size:20px;line-height:1.17;max-width:280px;}
.fd51-training-report p{color:#bdd1dc;font-size:12px;line-height:1.55;max-width:620px;margin:9px 0 12px;}
.fd51-roster-facts{display:flex;flex-wrap:wrap;gap:7px}.fd51-roster-facts span{background:#071c2ccc;border:1px solid #96c1d144;border-radius:7px;padding:7px 8px;font-size:10px;white-space:nowrap}.fd51-roster-facts b{color:#ffdd93;}
.fd51-rank{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:9px;color:#d5eaf1;letter-spacing:.4px;font-weight:850}.fd51-rank strong{color:#fff0b9;font-size:11px;}
.fd51-xp-meter{height:5px;background:#03121cb5;border:1px solid #a5cddb36;overflow:hidden;border-radius:10px;}.fd51-xp-meter>i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,#53bfcb,#f1e0a6);transition:width .25s ease;}
.fd51-training{padding:10px 11px;background:linear-gradient(100deg,#0d2536,#142238);border-top:1px solid #ffffff29;display:grid;gap:7px;}
.fd51-training .fd51-train-btn{width:100%;padding:9px 8px;font-size:11px;border:1px solid #bfaa75;border-radius:8px;background:linear-gradient(120deg,#27414a,#4f4033);color:#fff2c8;font-weight:900;}
.fd51-training .fd51-train-btn:disabled{opacity:.55;filter:grayscale(.4);}
.fd51-style-label{font-size:9px;color:#afcdd6;letter-spacing:.7px;font-weight:850;}
.fd51-style-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.fd51-style-row button{background:#092536;border:1px solid #5c879a;border-radius:7px;padding:9px 2px;font-size:10px;color:#dce8f2;font-weight:850;min-width:0;}
.fd51-style-row button[aria-pressed='true']{background:linear-gradient(125deg,#16645e,#204e5c);color:#e9fff8;border-color:#72e8c1;box-shadow:inset 0 0 8px #47e2ae36;}
.fd51-style-row button:disabled{opacity:.3;}
.fd51-style-row button:focus-visible,.fd51-train-btn:focus-visible{outline:2px solid #fff0ba;outline-offset:2px;}
@media(max-width:360px){.fd51-training-report{padding:12px}.fd51-training-report>strong{font-size:17px}.fd51-style-row button{font-size:9px;padding:9px 0}}
@media(prefers-reduced-motion:reduce){.fd51-xp-meter>i{transition:none}}body.reduce-motion .fd51-xp-meter>i{transition:none}

/* V5.2 — Les Quatre Horizons : esthétique d'affiche de club, distincte des cartes football existantes */
.fd52-challenge{margin:17px 0 22px;padding:18px 15px 12px;border:1px solid rgba(221,182,112,.6);border-radius:21px;background:radial-gradient(ellipse at 94% 4%,rgba(232,176,95,.16),transparent 40%),linear-gradient(155deg,#21344c,#10263e 58%,#0c1c31);box-shadow:0 12px 32px #0004;color:#f6f3ed;overflow:hidden}
.fd52-top{display:flex;gap:12px;justify-content:space-between;align-items:center}.fd52-kicker{font-size:10px;font-weight:900;letter-spacing:.1em;color:#f7c980}.fd52-top h3{margin:4px 0;font-size:21px;letter-spacing:.015em;color:#fff0c2}.fd52-top p{margin:0;line-height:1.5;font-size:11px;color:#cbd9e4}.fd52-emblem{display:grid;place-items:center;flex:0 0 57px;width:57px;height:57px;border:2px solid #d6a967;border-radius:17px 17px 31px 31px;background:radial-gradient(circle at 30% 25%,#5d7392,#203958 60%,#122037);font-size:32px;color:#ffdb94;text-shadow:0 0 14px #f5b85c88}
.fd52-ribbon{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:800;color:#9fcad8;border-bottom:1px solid #ffffff20;padding:12px 0}.fd52-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0}.fd52-step{min-width:0;display:flex;align-items:center;gap:7px;padding:10px 7px;border:1px solid #5b718a80;border-radius:12px;background:#1e354c99}.fd52-step.complete{border-color:#b3d9b088;background:#274b4980}.fd52-step-icon{font-size:18px;flex:0 0 auto}.fd52-step div{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.fd52-step strong{font-size:10px;line-height:1.25;color:#eaf5fb}.fd52-step small{font-size:10px;color:#9ebdd1}.fd52-status{font-size:15px;color:#d2b58d}.fd52-step.complete .fd52-status{color:#a9e4be}
.fd52-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 10px;border:1px solid #f9db8b55;border-radius:12px;background:#584a3150}.fd52-bottom>div{display:flex;flex-direction:column;gap:5px;min-width:0}.fd52-bottom strong{font-size:12px;color:#ffe0a0}.fd52-bottom small{font-size:10px;color:#d9dbda;line-height:1.45}.fd52-bottom .action-btn{min-width:96px;font-size:10px;padding:9px 7px;flex:0 0 auto}.fd52-hint{font-size:10px;color:#9bb6c9;margin:10px 2px 0;line-height:1.5}
@media(max-width:360px){.fd52-grid{grid-template-columns:1fr}.fd52-bottom{align-items:stretch;flex-direction:column}.fd52-bottom .action-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.fd52-challenge *{animation:none!important;transition:none!important}}

/* V5.3 — dossier statistique original, 100 % simulation automatique */
.fd53-scouting{margin:12px 0 20px;padding:17px 15px 13px;background:radial-gradient(circle at 92% -18%,#b2d9e025,transparent 45%),linear-gradient(145deg,#112f42,#0a1c2c 75%);border:1px solid #5c97a78a;border-radius:16px;box-shadow:0 8px 20px #0005;color:#eaf5f7}
.fd53-heading{display:flex;flex-direction:column;gap:5px}.fd53-heading>span{font-size:9px;letter-spacing:1.4px;color:#9ce2d3;font-weight:900}.fd53-heading>strong{font-size:19px;color:#f7f0d8}.fd53-heading>small{font-size:11px;color:#b5ceda;line-height:1.5;overflow-wrap:anywhere}
.fd53-odds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:15px}.fd53-odd{min-width:0;padding:10px 7px;background:#0315238c;border:1px solid #7ca5bb49;border-radius:10px;text-align:center}.fd53-odd span{display:block;font-size:10px;color:#c4d3df;font-weight:800}.fd53-odd strong{display:block;font-size:21px;margin:5px 0;color:#fef4d3;font-variant-numeric:tabular-nums}.fd53-rail{width:100%;height:5px;border-radius:8px;background:#29425d;overflow:hidden}.fd53-rail i{height:100%;display:block;max-width:100%;border-radius:8px;background:#86d9bb}.fd53-draw .fd53-rail i{background:#d3c486}.fd53-loss .fd53-rail i{background:#de8f8f}
.fd53-disclaimer{color:#99b4c3;font-size:10px;line-height:1.55;margin:12px 0 0}.fd53-wait{display:grid;gap:5px}.fd53-wait small{color:#a9c1d0}.fd53-wait strong{color:#f5e1b1}@media(max-width:360px){.fd53-scouting{padding:13px 10px}.fd53-odd strong{font-size:18px}.fd53-odd{padding:9px 4px}}

/* V5.4 — commandes accessibles pour les saisons longues, identité graphique originale. */
.fd54-batch-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0}
.fd54-batch-buttons[hidden],.fd54-batch-summary[hidden]{display:none!important}
.fd54-batch-buttons button{min-width:0;min-height:48px;padding:10px 7px;color:#d9f9ee;background:linear-gradient(140deg,#123d51,#09232d);border:1px solid #69bca7;border-radius:12px;font-weight:900;letter-spacing:.3px;cursor:pointer;font-size:12px}
.fd54-batch-buttons button:focus-visible{outline:3px solid #ebd58e;outline-offset:3px}
.fd54-batch-buttons button:disabled{opacity:.4;cursor:not-allowed}
.fd54-batch-summary{color:#f4e9c5;background:#15343e;border:1px solid #8ead93;border-radius:12px;padding:12px;line-height:1.55;font-size:12px;font-weight:700}
.fd54-note{font-size:11px;color:#bcd1d9;line-height:1.5;margin:5px 0 10px}
@media(max-width:345px){.fd54-batch-buttons button{font-size:10px;padding:8px 4px}}

/* V5.5 : terrain tactique original et sélecteur compact (accessible au pouce). */
.fd55-formation-center{margin:15px 0 17px;border:1px solid #567996;border-radius:17px;padding:13px;background:linear-gradient(145deg,#091d35,#142e47 66%,#0b2636);box-shadow:inset 0 1px #ffffff20,0 8px 30px #0005}
.fd55-heading{display:grid;gap:5px;margin-bottom:13px}.fd55-heading>span{font-size:9px;letter-spacing:.15em;color:#b2e5e4;font-weight:900}.fd55-heading>strong{font-size:17px;color:#ffdfa0}.fd55-heading>small{font-size:11px;color:#b7cfdf;line-height:1.5}
.fd55-formation-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:12px}
.fd55-formation-options button{min-width:0;min-height:60px;display:grid;place-items:center;align-content:center;gap:4px;border-radius:10px;color:#dbe7f6;background:#17354e;border:1px solid #53708a;padding:7px 3px;cursor:pointer}
.fd55-formation-options button[aria-pressed="true"]{color:#ffe6a3;border:1px solid #f0c46c;background:linear-gradient(155deg,#634a29,#233d50);box-shadow:0 0 0 1px #f7cf6560 inset}
.fd55-formation-options button:focus-visible{outline:3px solid #ffd575;outline-offset:2px}.fd55-formation-options button:disabled{opacity:.55;cursor:not-allowed}.fd55-formation-options strong{font-size:15px}.fd55-formation-options small{font-size:8px;text-align:center;line-height:1.3}
.fd55-formation-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:11px;align-items:center}
.fd55-field{position:relative;min-height:235px;display:flex;flex-direction:column-reverse;justify-content:space-around;gap:7px;padding:13px 7px;border:2px solid #b7d7b570;border-radius:12px;overflow:hidden;background:repeating-linear-gradient(180deg,#17604b 0 32px,#1b7157 32px 64px);box-shadow:inset 0 0 35px #082a1c9c}
.fd55-field-lines{position:absolute;inset:7px;border:1px solid #b9e9ce75;pointer-events:none}.fd55-field-lines:before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid #b9e9ce85}.fd55-field-lines:after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border:1px solid #b9e9ce85;border-radius:50%}
.fd55-field-row{display:flex;justify-content:space-around;align-items:center;position:relative;z-index:1;gap:1px}.fd55-spot{min-width:0;max-width:55px;display:grid;place-items:center;text-align:center;gap:2px;color:white;flex:1}.fd55-spot b{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d8efff;border-radius:50%;background:#123f68;box-shadow:0 2px 5px #0008;font-size:12px}.fd55-spot small{width:100%;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:1px 2px 3px #001}.fd55-spot-lr b{background:#6c521b;border-color:#fff4aa;color:#fff4aa}.fd55-spot-ur b{background:#5b3f88;border-color:#e1c2ff}.fd55-vacant b{background:#133e3d80;border-style:dashed;color:#d6f9dc}
.fd55-formation-explain{display:grid;gap:8px;align-content:center}.fd55-formation-explain>span{color:#9be2d5;letter-spacing:.1em;font-size:9px;font-weight:900}.fd55-formation-explain>strong{font-size:17px;color:#ffe19a}.fd55-formation-explain p{font-size:11px;line-height:1.6;color:#f5f0d7;margin:0}.fd55-formation-explain>small{font-size:10px;line-height:1.5;color:#a6c9d6}
@media(max-width:370px){.fd55-formation-bottom{grid-template-columns:1fr}.fd55-field{min-height:240px}.fd55-formation-options small{font-size:7px}}
@media(prefers-reduced-motion:reduce){.fd55-formation-options button{transition:none!important}}

/* V5.6 : Chroniques de Dynastie — univers Atlas, pas une carte de football tierce. */
.fd56-chronicles{border:1px solid rgba(207,185,128,.38);background:radial-gradient(circle at 95% 0%,rgba(229,179,80,.13),transparent 45%),linear-gradient(160deg,#101d32,#0a1528);border-radius:20px;padding:17px;margin:15px 0 19px;box-shadow:0 14px 38px #07111e3b;color:#f8f1dc;overflow:hidden}
.fd56-head>span{font-size:10px;color:#e5c781;letter-spacing:.13em;font-weight:800}
.fd56-head h3{font-size:20px;line-height:1.2;margin:7px 0;color:#fff5d2}
.fd56-head p,.fd56-footnote{font-size:12px;line-height:1.55;color:#b7c8d7;margin:4px 0 12px}
.fd56-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.fd56-stats>div{border:1px solid #ffffff19;border-radius:12px;background:#ffffff08;padding:10px 5px;text-align:center;display:flex;flex-direction:column;gap:4px;min-width:0}
.fd56-stats b{color:#f6d386;font-size:21px}.fd56-stats small{font-size:10px;color:#b7c8d7}
.fd56-minimum{color:#c5d2df;font-size:11px;line-height:1.45;margin:14px 0}
.fd56-minimum b{color:#fff0b5}
.fd56-next{border-left:3px solid #eaca82;background:#e4b76112;border-radius:9px;padding:10px 12px;display:grid;gap:3px;margin:8px 0 13px}
.fd56-next>span{font-size:9px;letter-spacing:.12em;color:#e5c781}.fd56-next strong{font-size:14px;color:#fff4db}.fd56-next small{color:#c6d3df;font-size:11px}
.fd56-step-list{display:grid;gap:7px}
.fd56-step{display:flex;align-items:center;gap:9px;border:1px solid #ffffff1a;background:#ffffff07;border-radius:12px;padding:9px;min-width:0}
.fd56-step.fd56-claimed{opacity:.7}.fd56-step.fd56-ready{border-color:#e7ca8277;background:#e8bb7220}
.fd56-emblem{display:grid;place-items:center;background:#a97e332d;border:1px solid #d4b06a55;color:#f9d98c;font-size:20px;flex:0 0 35px;height:35px;border-radius:50%}
.fd56-step-copy{min-width:0;flex:1;display:grid;gap:2px}.fd56-step-copy strong{font-size:12px;line-height:1.2;color:#f8edce}.fd56-step-copy small{font-size:10px;color:#a9bdd2;line-height:1.3}.fd56-step-copy span{font-size:10px;color:#e4c77d}
.fd56-step button{flex:0 0 auto;background:#deb96b;color:#132339;border:0;border-radius:9px;padding:8px 7px;font-weight:850;font-size:9px;max-width:93px;cursor:pointer}
.fd56-step button:disabled{cursor:default;background:#344459;color:#bdc8d2}
.fd56-footnote{margin-top:12px;margin-bottom:0}
@media(max-width:370px){.fd56-chronicles{padding:12px}.fd56-step{gap:6px}.fd56-emblem{flex-basis:29px;height:29px;font-size:16px}.fd56-step button{font-size:8px;padding:7px 5px;max-width:70px}}
@media(prefers-reduced-motion:reduce){.fd56-chronicles *{animation:none!important;transition:none!important}}

/* V5.7 — Registre Atlas : une signature graphique éditoriale, sans imitation d'Ultimate Team. */
.fd57-register{margin:18px 0 22px;padding:20px;border:1px solid rgba(209,184,116,.44);border-radius:20px;background:radial-gradient(ellipse at 100% 0%,rgba(219,181,100,.18),transparent 44%),linear-gradient(155deg,#13263a,#091729 72%);color:#f4f0e7;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)}
.fd57-head span{display:block;font-size:10px;letter-spacing:.17em;color:#ebce8b;font-weight:800}.fd57-head strong{display:block;font-size:clamp(20px,4.4vw,26px);font-family:Georgia,serif;margin:6px 0;color:#fff0c7}.fd57-head p{font-size:12px;color:#b9cfde;line-height:1.65;margin:0 0 16px}
.fd57-meter{height:10px;border-radius:99px;overflow:hidden;background:#233448;border:1px solid rgba(217,195,135,.27)}.fd57-meter i{display:block;height:100%;background:linear-gradient(90deg,#46b8ce,#c49af0,#ffe4a0);box-shadow:0 0 12px #e2c178;transition:width .35s ease}
.fd57-count{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0 16px;flex-wrap:wrap}.fd57-count>b{font-size:24px;color:#ffe5a4;font-family:Georgia,serif}.fd57-count>b small{font-size:13px;color:#adbdcb}.fd57-rare-counts{display:flex;flex-wrap:wrap;gap:5px}.fd57-rarity{font-size:10px;color:#cfdeea;border:1px solid #325069;border-radius:99px;padding:4px 8px}.fd57-rarity-lr{border-color:#b78c3c;color:#f8d890}.fd57-rarity-ur{border-color:#9f83d6;color:#e0bbff}
.fd57-milestones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fd57-milestone{display:grid;grid-template-columns:28px minmax(0,1fr);gap:7px;align-items:center;border:1px solid rgba(184,205,219,.18);border-radius:13px;padding:10px;background:rgba(9,21,35,.63)}.fd57-milestone.is-ready{border-color:#e0bb6b;background:rgba(113,88,38,.15)}.fd57-seal{grid-row:span 2;text-align:center;color:#e2c37b;font-size:23px}.fd57-milestone strong{display:block;font-size:12px}.fd57-milestone small{display:block;color:#bdcbd8;font-size:10px;margin-top:4px}.fd57-milestone button{grid-column:2;justify-self:start;border:1px solid #d7b66c;background:linear-gradient(120deg,#d9b66a,#f8e2ad);border-radius:8px;padding:7px 9px;font-weight:900;color:#152139;font-size:10px;cursor:pointer}.fd57-milestone button:disabled{cursor:default;background:#273747;color:#99a8b3;border-color:#3a4c60}.fd57-milestone.is-claimed .fd57-seal{color:#72d6a7}
@media(max-width:550px){.fd57-register{padding:15px}.fd57-milestones{grid-template-columns:1fr}.fd57-milestone{grid-template-columns:34px minmax(0,1fr) auto}.fd57-seal{grid-row:1}.fd57-milestone button{grid-column:3;grid-row:1}.fd57-milestone small{white-space:normal}}
@media(prefers-reduced-motion:reduce){.fd57-meter i{transition:none}}

/* V5.9 · Stades Atlas */
.fd59-gallery{margin:18px 0;padding:15px;border:1px solid #547da477;border-radius:20px;background:linear-gradient(145deg,#142944,#091829);color:#edf7ff}.fd59-gallery p{font-size:12px;color:#b7cde0}.fd59-gallery>img{width:100%;display:block;border-radius:15px;aspect-ratio:16/9;object-fit:cover;margin:12px 0 6px}.fd59-gallery>strong{display:block;margin-bottom:12px}.fd59-stadium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fd59-stadium-card{min-width:0;padding:8px;background:#10283d;color:#f3f9ff;border:1px solid #496b82;border-radius:12px;text-align:left;cursor:pointer}.fd59-stadium-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.fd59-stadium-card strong,.fd59-stadium-card small{display:block;overflow-wrap:anywhere}.fd59-stadium-card strong{font-size:12px;margin-top:5px}.fd59-stadium-card small{font-size:10px;color:#a8d6e6;margin-top:3px}.fd59-chosen{border-color:#f0d47b;box-shadow:0 0 0 1px #f0d47b}

/* V6.0 — finition : lisibilité, interaction tactile, accessibilité et batterie. */
.fd59-stadium-card:focus-visible,.fd55-formation-options button:focus-visible,.fd47-card button:focus-visible{outline:3px solid #f8da8a;outline-offset:3px}
.fd59-stadium-card:active{transform:scale(.985)}
.fd59-stadium-card img{background:#152e43}
@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}

/* V6.3 — Direction artistique Atlas : finitions légères et accessibles. */
.fd59-gallery{position:relative;isolation:isolate;background:radial-gradient(ellipse at 85% 0%,#315b77 0%,transparent 50%),linear-gradient(150deg,#162d47,#081728 72%);box-shadow:inset 0 1px 0 #ffffff1c,0 12px 30px #00000024}
.fd59-gallery>img{border:1px solid #a5d7ef45;box-shadow:0 10px 25px #0006}
.fd59-stadium-card{position:relative;overflow:hidden;transition:border-color .16s ease,background .16s ease,transform .16s ease;box-shadow:inset 0 1px 0 #ffffff12}
.fd59-stadium-card::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#ffffff0c,transparent 48%)}
.fd59-stadium-card:hover{border-color:#9ac8e8;background:#19394e}
.fd59-stadium-card.fd59-chosen{border-color:#f4d789;background:linear-gradient(160deg,#294451,#122a3e);box-shadow:0 0 0 2px #f4d78977,inset 0 1px 0 #fff3b638}
.fd59-stadium-card.fd59-chosen small{color:#ffe7a4;font-weight:700}
.fd59-stadium-card img{display:block;transition:transform .2s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.fd59-stadium-card:hover img{transform:scale(1.025)}}
@media(max-width:360px){.fd59-stadium-grid{gap:7px}.fd59-stadium-card{padding:6px}.fd59-stadium-card strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fd59-stadium-card,.fd59-stadium-card img{transition:none!important;transform:none!important}}
@media(forced-colors:active){.fd59-stadium-card.fd59-chosen{outline:3px solid Highlight;outline-offset:1px}}

/* V6.7 — Ergonomie mobile : zones tactiles, encoches et petits écrans. */
@supports(padding:max(0px)){.app{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
button,[role="button"],.tab{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,[role="button"]:focus-visible,.tab:focus-visible{outline:3px solid #f8da8a;outline-offset:2px}
img{max-width:100%}
@media(max-width:380px){.topbar,.wallet{min-width:0}.brand{min-width:0}.brand strong{overflow-wrap:anywhere}.wallet-pill{min-width:0}}
@media(prefers-reduced-motion:reduce){.fd59-stadium-card:active{transform:none}}


/* V6.9 · Pivot vers la gestion de club */
.fd69-legacy-merge{display:none!important}
.fd69-player-meta{display:flex;flex-wrap:wrap;gap:6px;margin:.35rem 0 .15rem}
.fd69-player-meta span{display:inline-flex;align-items:center;gap:4px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);font-size:.68rem;font-weight:800;letter-spacing:.02em}
.fd69-nation-challenges{margin:18px 0 26px;padding:18px;border-radius:24px;background:linear-gradient(145deg,rgba(7,31,47,.96),rgba(15,53,64,.92));border:1px solid rgba(156,232,218,.16);box-shadow:0 20px 50px rgba(0,0,0,.2)}
.fd69-nation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.fd69-nation-head span{font-size:.68rem;letter-spacing:.14em;color:#8ee6d3;font-weight:900}
.fd69-nation-head strong{display:block;margin-top:5px;font-size:1.25rem}
.fd69-nation-head p{margin:5px 0 0;color:rgba(235,249,247,.72);font-size:.82rem;max-width:620px}
.fd69-nation-head>b{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);font-size:.7rem}
.fd69-nation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.fd69-nation-card{padding:14px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}
.fd69-nation-card header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.fd69-nation-card header>span{font-size:1.9rem}
.fd69-nation-card header strong{display:block;font-size:1rem}
.fd69-nation-card header small{display:block;color:rgba(235,249,247,.62);font-size:.68rem;margin-top:2px}
.fd69-nation-steps{display:grid;gap:7px}
.fd69-nation-steps>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border-radius:13px;background:rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.055)}
.fd69-nation-steps>div.ready{border-color:rgba(255,217,102,.55);box-shadow:0 0 0 1px rgba(255,217,102,.08) inset}
.fd69-nation-steps>div.done{opacity:.68}
.fd69-nation-steps>div>div{display:grid;grid-template-columns:34px 1fr;column-gap:8px;align-items:center}
.fd69-nation-steps b{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.07);font-size:.72rem}
.fd69-nation-steps span{font-size:.75rem;font-weight:800}
.fd69-nation-steps small{font-size:.62rem;color:rgba(235,249,247,.6)}
.fd69-nation-steps button{border:0;border-radius:10px;padding:8px 9px;background:#f2c55c;color:#18262d;font-size:.62rem;font-weight:950}
.fd69-nation-steps button:disabled{background:rgba(255,255,255,.08);color:rgba(255,255,255,.42)}
.fd69-nation-note{display:block;margin-top:11px;color:rgba(235,249,247,.55);font-size:.68rem}
.tab{position:relative}
.fd69-tab-badge{position:absolute;top:3px;right:8px;min-width:22px;height:18px;padding:0 5px;border-radius:999px;background:#ff334f;color:white;display:grid;place-items:center;font-size:.58rem;font-weight:950;line-height:1;box-shadow:0 0 0 2px rgba(5,19,28,.86),0 4px 12px rgba(255,51,79,.35);animation:fd69BadgePulse 1.5s ease-in-out infinite}
.fd69-tab-badge[hidden]{display:none!important}
@keyframes fd69BadgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
.reduce-motion .fd69-tab-badge{animation:none}
@media (max-width:560px){
 .fd69-nation-challenges{padding:14px;margin-inline:-2px}
 .fd69-nation-head{display:block}
 .fd69-nation-head>b{display:inline-flex;margin-top:10px}
 .fd69-nation-grid{grid-template-columns:1fr}
 .fd69-nation-steps>div{align-items:flex-start}
}


/* ==========================================================================
   V7.0 · FOOTBALL: BUILD YOUR DREAM — PREMIUM NIGHT / GOLD REBUILD
   Direction: bleu nuit, or, stades réalistes, cartes joueurs semi-réalistes.
   ========================================================================== */
:root{
  --fd70-bg:#03101d;--fd70-panel:#081a2b;--fd70-panel2:#0c2238;--fd70-line:#29445f;
  --fd70-gold:#e3b75c;--fd70-gold2:#ffe49b;--fd70-blue:#4e95ff;--fd70-cyan:#54d6ff;
  --fd70-red:#ef3340;--fd70-text:#f7f1df;--fd70-muted:#9eb4c9;
}
html{background:#020b14}
body{
  font-family:"Avenir Next","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 50% -10%,#153d67 0,transparent 26rem),
    radial-gradient(circle at 8% 35%,#0c2948 0,transparent 30rem),
    linear-gradient(180deg,#020a13,#07121f 45%,#020a12);
  color:var(--fd70-text);
}
.app{width:min(100%,620px);padding-inline:12px;padding-bottom:calc(92px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(5,17,30,.8),rgba(1,8,15,.88));border-inline:1px solid #38516f33}
.topbar{position:sticky;top:0;z-index:80;margin:0 -12px;padding:calc(10px + env(safe-area-inset-top)) 15px 10px;background:linear-gradient(180deg,rgba(2,12,23,.98),rgba(3,16,30,.92));border-bottom:1px solid #b48a3d55;backdrop-filter:blur(16px)}
.fd70-brand{gap:10px;min-width:0}.fd70-brand-crest{width:48px;height:54px;object-fit:contain;filter:drop-shadow(0 4px 8px #0008)}
.fd70-brand>div{min-width:0;line-height:.92}.fd70-brand strong{display:block;font-family:Georgia,serif;color:#fff;font-size:18px;letter-spacing:-.02em}
.fd70-brand em{display:block;font-style:normal;font-family:Georgia,serif;font-weight:800;color:var(--fd70-gold2);font-size:16px;margin-top:3px}
.fd70-brand small{display:block;margin-top:5px;color:#89a6c1;font-size:7px;letter-spacing:.12em;white-space:nowrap}
.top-actions{display:flex;gap:7px}.icon-btn{width:37px;height:37px;background:#0c2238;border:1px solid #48627b;color:#e6c676;box-shadow:inset 0 1px #ffffff10}
.wallet{position:sticky;top:82px;z-index:70;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 -3px 11px;padding:7px 3px;background:linear-gradient(180deg,rgba(3,15,28,.94),rgba(3,15,28,.76));backdrop-filter:blur(14px)}
.wallet-pill{min-height:48px;padding:5px 7px;border-radius:12px;background:linear-gradient(155deg,#0b1d30,#07121f);border-color:#415873;box-shadow:inset 0 1px #ffffff10,0 5px 12px #0004}
.wallet-pill>span{font-size:19px}.wallet-pill strong{font-family:Georgia,serif;color:#fff0c4;font-size:15px}.wallet-pill small{font-size:7px;color:#8da7c2}
.stadium-hero,.captain-hero{display:none!important}
.screen{padding-top:3px}
.section-head h2,.section-head h3,.fd47-hero h2,.fd55-heading strong,.fd70-mode-head strong,.fd70-challenge-head strong,.fd69-nation-head strong{font-family:Georgia,serif}
.action-btn{background:linear-gradient(180deg,#f6d981,#c38c34);border-color:#ffe5a1;color:#14202d;box-shadow:0 3px 0 #7e5b22;font-weight:950}
.subtle-btn{background:#0b2136;border-color:#3e5d7c;color:#d5e4f2}

/* Home exact visual direction */
.fd70-home-dashboard{display:grid;gap:12px;margin:3px 0 15px}
.fd70-home-hero{position:relative;min-height:490px;border-radius:25px;overflow:hidden;border:1px solid #d6ad575e;background:#061524;box-shadow:0 20px 55px #0009,inset 0 1px #fff2}
.fd70-home-hero-art{position:absolute;inset:0;background-image:url("assets/premium/home-hero.jpg");background-size:cover;background-position:center 25%}
.fd70-home-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,8,17,.08),rgba(2,11,21,.08) 40%,rgba(2,10,18,.92) 100%),linear-gradient(90deg,rgba(0,8,17,.72),transparent 48%)}
.fd70-home-hero-copy{position:absolute;inset:0;padding:20px;display:flex;flex-direction:column;justify-content:space-between}
.fd70-home-clubline{display:flex;align-items:flex-start;gap:10px;max-width:270px}.fd70-home-clubline img{width:56px;height:64px;object-fit:contain;filter:drop-shadow(0 4px 9px #000)}
.fd70-home-clubline small{display:block;color:#8ec4ff;font-weight:900;letter-spacing:.09em}.fd70-home-clubline strong{display:block;font-family:Georgia,serif;font-size:22px;margin:2px 0;color:#fff4d0;text-shadow:0 3px 8px #000}.fd70-home-clubline span{font-size:11px;color:#c3d3e2}
.fd70-home-division{align-self:flex-end;display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:15px;background:rgba(3,16,30,.84);border:1px solid #d6ad576d;box-shadow:0 8px 22px #0007;max-width:200px}.fd70-home-division img{width:39px;height:39px}.fd70-home-division small,.fd70-home-division span{display:block;font-size:9px;color:#9bb0c5}.fd70-home-division strong{display:block;color:#fff0bd;font-size:16px;margin:2px 0}
.fd70-home-motto{display:flex;flex-direction:column;gap:7px;align-self:flex-start;padding-bottom:8px}.fd70-home-motto span{font-size:8px;letter-spacing:.35em;color:#b8c7d7}.fd70-home-motto:after{content:"";width:30px;height:2px;background:var(--fd70-gold)}
.fd70-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fd70-home-tile{position:relative;min-height:145px;text-align:left;border:1px solid #395b78;border-radius:18px;overflow:hidden;padding:14px;background:linear-gradient(145deg,#0c2238,#06111f);box-shadow:0 10px 22px #0006;color:#eef6ff}
.fd70-home-tile:before{content:"";position:absolute;inset:0;opacity:.26;background-size:cover;background-position:center}
.fd70-tile-match{grid-column:1/-1;min-height:205px;padding-top:105px}.fd70-tile-match:before{background-image:linear-gradient(180deg,transparent,#04101ddb),url("assets/premium/stadium-night.jpg");opacity:1}
.fd70-tile-invoke:before{background-image:linear-gradient(180deg,transparent,#071322e8),url("assets/premium/invocation-hero.jpg");opacity:.72}
.fd70-tile-challenge:before{background-image:linear-gradient(180deg,transparent,#071322e8),url("assets/premium/challenges-hero.jpg");opacity:.72}
.fd70-tile-stadium{grid-column:1/-1;min-height:115px}.fd70-tile-stadium:before{background-image:linear-gradient(90deg,#061524dd,transparent),url("assets/premium/stadium-night.jpg");opacity:.85}
.fd70-home-tile>*{position:relative;z-index:1}.fd70-tile-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#07182bd9;border:1px solid #d1aa5b80;margin-bottom:10px}.fd70-tile-icon img{width:28px;height:28px}
.fd70-home-tile small{display:block;font-size:8px;letter-spacing:.12em;color:#f0c976;font-weight:900}.fd70-home-tile strong{display:block;font-family:Georgia,serif;font-size:20px;color:#fff4d1;margin:2px 0}.fd70-home-tile span{font-size:10px;color:#b7c8d8}.fd70-home-tile>b{float:right;margin-top:9px;padding:7px 9px;border-radius:9px;background:#0a6fd6;border:1px solid #70c5ff;font-size:10px}
.fd70-mini-badge,.fd69-tab-badge{position:absolute;z-index:9;top:7px;right:8px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--fd70-red);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:1000;box-shadow:0 0 0 2px #06111d,0 3px 8px #ef334066;animation:fd69BadgePulse 1.6s ease-in-out infinite}
.fd70-mini-badge[hidden],.fd69-tab-badge[hidden]{display:none!important}
.fd70-home-reward-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.fd70-home-reward-row button{position:relative;display:flex;align-items:center;gap:9px;text-align:left;padding:10px;border-radius:15px;border:1px solid #684f28;background:linear-gradient(145deg,#12253a,#0c1827);color:#fff}.fd70-home-reward-row img{width:36px;height:36px}.fd70-home-reward-row strong{display:block;font-size:12px;color:#ffe4a1}.fd70-home-reward-row span{font-size:9px;color:#a9bdcf}
.fd70-secondary-home,.launch-hub{display:none!important}

/* Bottom navigation like the approved concept */
.fd70-tabbar{position:fixed;z-index:100;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,620px);height:74px;padding:6px 8px calc(5px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:linear-gradient(180deg,rgba(3,15,28,.97),rgba(2,9,17,.99));border-top:1px solid #6c542e;box-shadow:0 -14px 32px #0009}
.fd70-tabbar .tab{min-width:0;border:0;background:transparent;color:#8fa8c7;display:grid;place-items:center;align-content:center;gap:1px;border-radius:13px;position:relative}
.fd70-tabbar .tab.active{background:radial-gradient(circle at 50% 0,#9e773d55,transparent 72%);color:#ffe7aa;box-shadow:inset 0 1px #f2c869}
.fd70-tabbar .fd36-tab-icon{display:grid;place-items:center;width:31px;height:31px}.fd70-tabbar .fd36-tab-icon img{width:27px;height:27px;filter:drop-shadow(0 2px 4px #0008)}.fd70-tabbar .tab small{font-size:8px;font-weight:900;letter-spacing:.02em}
.fd70-tabbar .fd36-tab-marker{display:none}

/* Premium headers / modes */
.fd36-match-title{padding:15px;border-radius:18px;background:linear-gradient(120deg,#0c2135,#07121f);border:1px solid #594623;margin:7px 0 10px}.fd36-match-title h2{color:#ffe5a8}
.fd36-modes{border-color:#72582e!important;background:linear-gradient(145deg,#0b1d30,#06121f)!important}
.fd36-mode-card{border-color:#314e6c!important;background:linear-gradient(145deg,#0b2138,#071320)!important;box-shadow:inset 0 1px #fff1!important}.fd36-mode-card strong{font-family:Georgia,serif;color:#ffe5a1!important}
.fd70-special-modes{margin:16px 0 25px;padding:15px;border-radius:22px;border:1px solid #8d6b3280;background:radial-gradient(circle at 90% 0,#72522025,transparent 35%),linear-gradient(145deg,#0b1e31,#05101c);box-shadow:0 15px 34px #0006}
.fd70-mode-head,.fd70-challenge-head,.fd70-world-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.fd70-mode-head span,.fd70-challenge-head span,.fd70-world-head span{display:block;color:#e6bf6c;font-size:9px;font-weight:950;letter-spacing:.13em}.fd70-mode-head strong,.fd70-challenge-head strong,.fd70-world-head strong{display:block;font-size:22px;color:#fff0c4;margin:4px 0}.fd70-mode-head p,.fd70-challenge-head p,.fd70-world-head p{margin:0;color:#a8bfd2;font-size:11px;line-height:1.5}.fd70-mode-head>b,.fd70-challenge-head>b{padding:6px 9px;border:1px solid #756035;border-radius:999px;background:#1a2a36;color:#ffe0a0;font-size:9px;white-space:nowrap}
.fd70-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fd70-mode-card{min-width:0;padding:12px;border:1px solid #334f69;border-radius:17px;background:linear-gradient(150deg,#10263b,#071523);display:grid;grid-template-columns:48px 1fr;gap:9px;box-shadow:inset 0 1px #fff1}.fd70-mode-card>img{width:48px;height:48px}.fd70-mode-card-copy{min-width:0}.fd70-mode-card-copy small{display:block;font-size:7px;letter-spacing:.12em;color:#d8b660;font-weight:900}.fd70-mode-card-copy strong{display:block;font-family:Georgia,serif;font-size:14px;color:#fff0c7}.fd70-mode-card-copy span{display:block;font-size:9px;color:#a9bfd2;line-height:1.35;margin:2px 0 7px}.fd70-mode-card-copy em{font-size:8px;color:#8fb0ce;font-style:normal}.fd70-mode-card-copy p{font-size:8px;color:#f5a3a9;margin:4px 0 0}.fd70-mode-progress{height:5px;background:#06111d;border-radius:99px;overflow:hidden;border:1px solid #34516a}.fd70-mode-progress i{display:block;height:100%;background:linear-gradient(90deg,#4d95ff,#f0c35f)}
.fd70-mode-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid #ffffff12;padding-top:8px}.fd70-mode-actions span{font-size:8px;color:#d8c495}.fd70-mode-actions button{border:1px solid #d9b45d;border-radius:9px;background:linear-gradient(#f3d57d,#c89236);color:#122032;font-size:8px;font-weight:950;padding:7px 8px}.fd70-mode-actions button:disabled{background:#27394b;color:#778da1;border-color:#3a5269}.fd70-mode-card.is-ready{border-color:#d5ad57;box-shadow:0 0 0 1px #d5ad5724 inset}.fd70-mode-card.is-failed{border-color:#7a3d48;opacity:.78}

/* Team field: real card feeling */
.fd55-formation-center{border-radius:22px!important;border-color:#72582e!important;background:linear-gradient(145deg,#0b1d30,#06111e)!important}
.fd55-heading strong{color:#ffe3a0!important}.fd55-formation-options button[aria-pressed=true]{border-color:#e5b95b!important;box-shadow:0 0 0 1px #e5b95b55!important}
.fd70-field{position:relative;min-height:620px;padding:28px 12px!important;border-radius:22px!important;overflow:hidden;background:linear-gradient(#0c5534,#0b7440)!important;border:2px solid #d7b45b66!important;box-shadow:inset 0 0 55px #00180d99,0 15px 35px #0008}
.fd70-field:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 12.5%,transparent 12.5% 25%);pointer-events:none}
.fd70-field .fd55-field-lines{opacity:.7}.fd70-field .fd55-field-row{position:relative;z-index:1;gap:7px}
.fd70-field .fd55-spot{position:relative;width:80px!important;min-height:112px!important;padding:0 3px 7px!important;overflow:hidden;border-radius:13px!important;background:linear-gradient(160deg,#0b1b31,#07101c)!important;border:1px solid #4e82b1!important;box-shadow:0 8px 16px #0008!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important}
.fd70-field .fd55-spot img{position:absolute;inset:0 0 auto;width:100%;height:77px;object-fit:cover;object-position:center 18%;opacity:.94}.fd70-field .fd55-spot:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,#07121fed 72%);pointer-events:none}
.fd70-field .fd55-spot b,.fd70-field .fd55-spot small,.fd70-field .fd55-spot em{position:relative;z-index:2}.fd70-field .fd55-spot b{align-self:flex-start;font-family:Georgia,serif;color:#ffe29a;font-size:16px}.fd70-field .fd55-spot small{font-size:8px;font-weight:900;color:#fff;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd70-field .fd55-spot em{font-size:6px;color:#9dc5eb;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:72px}
.fd70-field .fd55-spot-lr{border-color:#efc65d!important;box-shadow:0 0 0 1px #efc65d55,0 10px 20px #0009!important}.fd70-field .fd55-spot-ur{border-color:#7f9cff!important}.fd70-field .fd55-vacant{min-height:65px!important;justify-content:center!important;opacity:.55}

/* Invocation, real-looking star cards */
.fd47-recruitment{position:relative;overflow:hidden;border:1px solid #755b31!important;border-radius:24px!important;background:radial-gradient(circle at 80% 8%,#7d5b1b26,transparent 30%),linear-gradient(150deg,#0a1c2e,#04101b)!important;box-shadow:0 18px 48px #0007!important}
.fd47-hero{min-height:260px!important;padding:20px!important;background:linear-gradient(90deg,#04101eee,rgba(4,16,30,.48)),url("assets/premium/invocation-hero.jpg") center/cover!important;border-bottom:1px solid #d7b15e66!important}.fd47-hero h2{font-size:28px!important;color:#fff0c2!important;text-shadow:0 3px 11px #000}.fd47-hero p{max-width:310px!important;color:#d0deea!important}.fd47-hero-ornament{color:#efc45d!important}
.fd47-invoke-controls button{border-radius:14px!important;min-height:48px!important;font-weight:950!important}.fd47-invoke-controls #fd47-ten{background:linear-gradient(180deg,#f7df91,#c99235)!important;color:#102033!important;border-color:#fff0af!important}
.fd47-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.fd47-card{border-radius:18px!important;overflow:hidden!important;border-color:#3b5876!important;background:linear-gradient(155deg,#0e2134,#06111d)!important;padding:0!important}.fd47-lr{border-color:#d6ac53!important;box-shadow:0 0 0 1px #d6ac532c,0 12px 25px #0008!important}.fd47-ur{border-color:#6b79d9!important}.fd50-dossier-main{display:block!important}.fd50-avatar{height:185px!important;width:100%!important;overflow:hidden!important;border-radius:0!important;background:#0a1727!important}.fd50-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 18%!important}.fd50-dossier-info{padding:10px!important}.fd50-player-name{font-family:Georgia,serif!important;font-size:17px!important;color:#fff0c9!important}.fd50-player-data{align-items:end!important}.fd50-power-label b{font-family:Georgia,serif!important;color:#f2c75e!important;font-size:22px!important}.fd50-dossier-footer,.fd47-card-actions,.fd51-training{margin-inline:9px!important}.fd51-training{margin-bottom:10px!important}
.fd69-player-meta{gap:4px}.fd69-player-meta span{font-size:8px;padding:4px 6px}

/* Nations + all-country tour */
.fd69-nation-challenges{border-color:#70572f!important;background:linear-gradient(145deg,#0a1d30,#05111e)!important}.fd69-nation-head{padding:145px 10px 10px!important;margin:-4px -4px 13px!important;border-radius:18px!important;background:linear-gradient(180deg,transparent,#071523 86%),url("assets/premium/challenges-hero.jpg") center/cover!important}.fd69-nation-head strong{color:#ffe5a8!important}
.fd70-world-head{margin-top:20px;padding-top:15px;border-top:1px solid #6b542d}.fd70-world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fd70-world-grid>article{border:1px solid #344f68;border-radius:15px;background:#0a1c2d;padding:10px}.fd70-world-grid header{display:grid;grid-template-columns:auto 1fr;column-gap:7px;margin-bottom:8px}.fd70-world-grid header>span{font-size:25px;grid-row:1/3}.fd70-world-grid header strong{font-family:Georgia,serif;color:#ffe3a4}.fd70-world-grid header small{font-size:8px;color:#8fa9c1}.fd70-world-grid article>div{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:7px 0;border-top:1px solid #ffffff0d}.fd70-world-grid article>div>span{font-size:8px;font-weight:800}.fd70-world-grid article>div small{display:block;color:#8fa6bd;font-weight:500;margin-top:2px}.fd70-world-grid button{font-size:7px;padding:6px;border-radius:7px;border:1px solid #d3ae5a;background:#e9c66c;color:#132133;font-weight:950}.fd70-world-grid button:disabled{background:#24374a;color:#72879a;border-color:#3b5268}

/* Club challenges */
.fd70-club-challenges{margin:18px 0;padding:15px;border-radius:22px;background:linear-gradient(145deg,#0a1c2e,#05111e);border:1px solid #72582f}.fd70-challenge-grid{display:grid;gap:8px}.fd70-challenge-grid article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid #304a63;border-radius:14px;background:#0b1f32}.fd70-challenge-grid article.is-ready{border-color:#d3aa53;background:linear-gradient(100deg,#152638,#0d2133)}.fd70-challenge-grid article.is-done{opacity:.55}.fd70-challenge-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#132e47;border:1px solid #496887;font-size:21px}.fd70-challenge-grid strong{display:block;font-size:11px}.fd70-challenge-grid small{display:block;font-size:8px;color:#95adc2;margin:2px 0 5px}.fd70-challenge-meter{height:5px;border-radius:99px;background:#06111d;overflow:hidden}.fd70-challenge-meter i{display:block;height:100%;background:linear-gradient(90deg,#4d95ff,#e8bd5f)}.fd70-challenge-grid button{border:1px solid #d3ac58;border-radius:8px;background:#e7c167;color:#112133;padding:7px;font-size:7px;font-weight:950}.fd70-challenge-grid button:disabled{background:#27394b;color:#71869b;border-color:#3b5269}

/* Stadium */
#screen-stadium .stadium-journey{border-color:#73592e!important;background:linear-gradient(145deg,#0b1e31,#06111d)!important;box-shadow:0 18px 42px #0007!important}
#screen-stadium .stadium-journey:before{content:"";display:block;height:145px;margin:-1px -1px 12px;border-radius:20px 20px 12px 12px;background:linear-gradient(180deg,transparent,#06111ddd),url("assets/premium/stadium-night.jpg") center/cover}
#screen-stadium .reno,#screen-stadium .district-card,#screen-stadium .fd59-stadium-card{background:linear-gradient(145deg,#0b2135,#071421)!important;border-color:#3b5b78!important}

/* Small red badges */
.fd69-tab-badge{top:4px;right:9px;min-width:19px;height:19px;font-size:9px;padding:0 5px;background:var(--fd70-red);box-shadow:0 0 0 2px #06111e,0 4px 9px #ef33404f}

/* General premium cards */
.quest,.reno,.shop-product,.career-panel,.match-card,.passing-card,.coach-card,.season-card,.academy-card{border-color:#354f68!important;background:linear-gradient(145deg,#0b2033,#06131f)!important;box-shadow:inset 0 1px #ffffff0c,0 9px 20px #0004!important}
.match-card{border-color:#765a2f!important}.match-header{color:#e4bf6f!important}
.screen[id="screen-missions"]>.section-head:first-child{padding:150px 14px 14px;margin:6px 0 14px;border-radius:21px;background:linear-gradient(180deg,transparent,#06131fe8 80%),url("assets/premium/challenges-hero.jpg") center/cover;border:1px solid #765a2f}.screen[id="screen-missions"]>.section-head:first-child h2{color:#ffe5a8}

/* Responsive */
@media(max-width:520px){
 .fd70-home-hero{min-height:430px}
 .fd70-mode-grid,.fd70-world-grid{grid-template-columns:1fr}
 .fd70-field{min-height:540px;padding-inline:5px!important}
 .fd70-field .fd55-spot{width:66px!important;min-height:98px!important}.fd70-field .fd55-spot img{height:68px}.fd70-field .fd55-spot b{font-size:14px}
 .fd47-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:360px){
 .fd70-home-grid{gap:7px}.fd70-home-tile{padding:10px}.fd70-home-tile strong{font-size:17px}
 .fd47-card-grid{grid-template-columns:1fr!important}
 .fd70-field .fd55-spot{width:58px!important;min-height:91px!important}.fd70-field .fd55-spot img{height:61px}
 .fd70-tabbar .tab small{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.fd70-mini-badge,.fd69-tab-badge{animation:none!important}}
