/* Le contenu utilise la largeur disponible ; les cartes gardent une taille de lecture constante. */
body:not(.duel-active) #play-main{width:100%;max-width:1800px;padding:18px 32px 45px;margin:auto}
body:not(.duel-active) .game-header{max-width:1800px;height:104px;padding:0 32px}
body:not(.duel-active) .wordmark{width:190px;height:100px;overflow:visible}
body:not(.duel-active) .fearith-logo{width:100%;height:88px;left:0;top:0;object-fit:contain;mix-blend-mode:normal}
body:not(.duel-active) .wordmark .brand-tagline{bottom:5px;font-size:6px;letter-spacing:2.5px}
body:not(.duel-active) .game-nav{max-width:calc(min(1800px,100vw) - 64px);margin:0 auto 2px;padding:5px;gap:5px;border-radius:14px;background:#10131be8;border-color:#ac8b5844;box-shadow:0 10px 30px #0005}
body:not(.duel-active) .game-nav button{flex:1;min-width:0;min-height:46px;padding:10px 16px;border:0;border-radius:9px;font:13px system-ui;transition:background 180ms,color 180ms}
body:not(.duel-active) .game-nav button.active{background:linear-gradient(120deg,#51201e,#28191d);box-shadow:inset 0 0 0 1px #d2906455;color:#f8dfba}
.cta,.secondary{display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;line-height:1.3;min-height:46px;border-radius:9px;font-family:system-ui;letter-spacing:.03em;transition:transform 160ms cubic-bezier(.2,.8,.2,1),background 180ms,border-color 180ms;box-sizing:border-box}
.cta{background:radial-gradient(circle at 90% 0,#c84d3b55,transparent 50%),linear-gradient(#783128,#451b1b);color:#fff0d6;border:1px solid #bc8054;box-shadow:inset 0 1px #e5b08333,0 7px 18px #0004}
.secondary{background:linear-gradient(#1f232b,#11151d);color:#e6d4b8;border:1px solid #8b765455;box-shadow:inset 0 1px #ead9b20b}
.cta:hover:not(:disabled),.secondary:hover:not(:disabled){transform:translateY(-2px);border-color:#d7ab71;filter:none}
.cta:active:not(:disabled),.secondary:active:not(:disabled){transform:translateY(0) scale(.98)}
.cta:focus-visible,.secondary:focus-visible,.game-nav button:focus-visible{outline:2px solid #efc98c;outline-offset:3px}
body:not(.duel-active) .player-chip,body:not(.duel-active) .balance,body:not(.duel-active) .header-actions .round-button{border-radius:10px;border-color:#a58b5c55;background:#10151ce8}
.home-top{grid-template-columns:minmax(0,2.1fr) minmax(290px,1fr);gap:18px}
.home-hero{padding:clamp(28px,3vw,55px);min-height:350px;border-radius:16px;box-shadow:inset 0 0 0 1px #b0925b44,0 15px 40px #0004;background-position:center 45%}
.home-hero h1{font-size:clamp(40px,4.3vw,76px);margin:18px 0;line-height:.98;letter-spacing:-.03em}
.home-hero>.cta{width:min(380px,100%);min-width:0;min-height:54px;font-size:15px;border-radius:10px}
.home-sidebar{gap:16px}.profile-panel,.home-discovery{padding:24px;border-radius:14px;background:linear-gradient(130deg,#171922ed,#0c0f16f2);border-color:#b28d5344}
.home-discovery{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.home-discovery>strong{font-size:34px;margin:0}.home-discovery>progress,.home-discovery>.secondary{grid-column:1/-1}.home-discovery>.secondary{margin-top:2px}
.home-bottom{grid-template-columns:minmax(0,2.1fr) minmax(290px,1fr);gap:18px;margin-top:18px}
.home-boosters,.home-deck{padding:22px;border-radius:14px;border-color:#b28d5344;background:linear-gradient(130deg,#161922e8,#0b0e15f0)}
.home-pack-grid{gap:16px}.home-pack{padding-top:16px;border-radius:10px}.home-pack>img{width:clamp(130px,12vw,205px);height:clamp(180px,17vw,285px)}.home-pack strong{font-size:22px}.home-pack small,.home-pack b{font-size:9px}
.home-deck-cards{gap:12px;margin:18px 0}.home-deck-cards .tcg-card{max-width:155px;width:calc((100% - 24px)/3)}
.home-shortcuts{gap:18px;margin-top:18px}.home-shortcuts>button{border-radius:12px;padding:21px;border-color:#b28d5344;background:#11151de8}.home-shortcuts h2{font-size:21px}
.section-title{padding-bottom:16px;margin-bottom:20px;gap:18px;border-color:#a9905b44}.section-title h1,.collection-page .section-title h1{font:clamp(30px,3vw,46px)/1.1 Georgia;letter-spacing:-.025em}.section-title h2{font-size:30px}
.collection-tools{padding:12px 14px;border-radius:12px;background:#10151de8;border:1px solid #9c825b44;gap:12px}.collection-tools .search-label{border-radius:8px;background:#090e15;border-color:#9c825b44;min-height:44px}.collection-tools select{min-height:42px;border-radius:8px}.collection-tools input{font-size:14px}
.filter-chips{padding-bottom:14px;gap:8px;border-color:#a9905b33}.filter-chips button{font:12px system-ui;min-height:40px;padding:10px 17px;border-radius:20px;border-color:#a9905b44;background:#11151dc9}.filter-chips button[aria-pressed=true]{background:#552623;border-color:#cc9968;box-shadow:none}
.collection-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px 20px}.collection-item{padding:7px;border-radius:12px;border-color:#a9905b33;background:linear-gradient(#14182188,#080c12e8)}.inventory-line{font:11px system-ui;padding:10px 4px 4px}
.shop-grid,.duplicate-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px}.shop-tile,.duplicate-tile{border-radius:12px;border-color:#a9905b44;background:#10151ded}.shop-tile>div,.duplicate-actions{padding:16px}.shop-tile strong{font:20px Georgia}.market-notice{padding:16px 22px;border-radius:12px;background:#10151de8;border-color:#a9905b44}.market-notice p{font-size:14px}
.combat-lobby{padding:12px 0 35px}.combat-lobby-grid{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:22px}.combat-deck-panel,.combat-match-panel,.combat-builder-grid>div{border-radius:14px;padding:26px;background:linear-gradient(140deg,#1a1b24ed,#0b0f17f2);border-color:#a9905b55}.combat-heading h1{font:clamp(32px,3.4vw,52px)/1.1 Georgia;margin-bottom:14px}.combat-heading p{font:14px/1.6 system-ui}.combat-deck-preview{margin-top:22px;gap:16px}.combat-deck-preview .tcg-card{width:calc((100% - 48px)/4);max-width:200px}.combat-match-panel>.cta,.combat-match-panel>.secondary{min-height:52px;font:13px system-ui}.combat-label{font:12px system-ui;gap:10px}.combat-label input,.combat-label select{border-radius:8px;min-height:44px;font:14px system-ui}.combat-builder-grid{gap:22px}.combat-builder .deck-entry{padding:10px;border-radius:8px;font:14px system-ui}.deck-entry img[data-view-key]{width:45px;height:63px}.combat-waiting{border-radius:16px;background:#11151deb}.combat-rules{border-radius:9px;border-color:#a9905b44}.combat-rules summary{font:13px system-ui;min-height:40px;align-content:center}
.ritual-hub{grid-template-columns:minmax(220px,.9fr) minmax(360px,1.6fr) minmax(230px,.9fr);gap:0 30px;min-height:0;padding:14px 0 30px}.ritual-heading h1{font:clamp(32px,3vw,49px)/1.05 Georgia}.ritual-heading p{font:13px system-ui}.edition-list{gap:12px}.edition-list button{min-height:110px;border-radius:12px;padding:14px;background:#10151de0;border-color:#a9905b44}.edition-list button>img{width:55px;height:80px;object-fit:contain}.edition-list button strong{font-size:23px}.edition-list button[aria-pressed=true]{background:linear-gradient(120deg,#4c2522,#17141b);border-color:#c69862}.ritual-count{border-radius:12px;background:#10151de0;border-color:#a9905b44}.pack-stage{height:clamp(317px,calc(min(30vw,39dvh) + 32px),512px)}.pack-stage .booster.large{width:clamp(190px,min(20vw,26dvh),320px);height:auto;aspect-ratio:2/3}.pack-stage .floating-back{height:clamp(240px,32dvh,420px);width:auto;aspect-ratio:2/3}.pack-name h2{font-size:32px}.pack-experience>.open-pack{width:min(380px,100%);margin-inline:auto;min-height:54px;font-size:13px}.cabinet-peek{padding-left:24px}.cabinet-cards{gap:12px}.cabinet-cards .tcg-card{max-width:none}.cabinet-peek>p{font:15px/1.6 Georgia}.cabinet-peek>.secondary{font-size:12px;border-radius:9px}
#game-dialog{border-radius:16px;background:linear-gradient(135deg,#201d24,#0c1119 65%)}.modal-header h2{font-family:Georgia}.modal-header button{border-radius:50%}
@media(min-width:1800px){.home-top,.home-bottom{grid-template-columns:minmax(0,2.3fr) minmax(360px,1fr)}.home-hero{min-height:440px}.collection-grid,.shop-grid,.duplicate-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
@media(max-width:1000px){.collection-grid,.shop-grid,.duplicate-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.ritual-hub{grid-template-columns:minmax(190px,.8fr) minmax(310px,1.4fr)}.cabinet-peek{grid-column:1/-1;display:none}.home-top,.home-bottom{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr)}.home-hero{padding:30px;min-height:340px}.home-hero h1{font-size:45px}.combat-lobby-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){
 body:not(.duel-active) #play-main{padding:12px 13px 92px}.game-header,body:not(.duel-active) .game-header{height:92px;padding:0 14px}.wordmark,body:not(.duel-active) .wordmark{width:140px;height:88px;overflow:visible}.fearith-logo,body:not(.duel-active) .fearith-logo{width:100%;height:78px;left:0;top:0;object-fit:contain}.wordmark .brand-tagline,body:not(.duel-active) .wordmark .brand-tagline{font-size:4.5px;bottom:4px;letter-spacing:1.8px}
 body:not(.duel-active) .game-nav{max-width:none;position:fixed;inset:auto 0 0;margin:0;padding:5px 5px max(6px,env(safe-area-inset-bottom));border-radius:15px 15px 0 0;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;background:#0c1119f5}
 body:not(.duel-active) .game-nav button{padding:6px 2px;min-height:53px;font:9px system-ui;gap:4px;border-radius:9px}.game-nav button svg{width:20px;height:20px}.player-chip{border-radius:50%}.balance{font-size:10px;padding:8px}.header-actions{gap:6px}
 .home-top,.home-bottom{display:flex;flex-direction:column;gap:12px}.home-hero{padding:25px;min-height:285px;border-radius:13px}.home-hero h1{font-size:44px;margin:14px 0}.home-hero>.cta{min-height:48px;font-size:13px;width:100%}.home-hero>.eyebrow{font-size:8px}.home-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-panel,.home-discovery{padding:14px;border-radius:12px}.profile-identity{gap:8px}.profile-identity>img{width:32px;height:32px}.profile-identity h2{font-size:18px}.profile-panel .xp-label{font-size:7px;margin:14px 0 7px}.profile-panel .text-button{font-size:8px}.home-discovery{display:flex;flex-direction:column;align-items:stretch;gap:10px}.home-discovery>.eyebrow{font-size:7px}.home-discovery>strong{font-size:25px}.home-discovery>.secondary{font-size:8px;padding:8px;min-height:34px}.home-bottom{margin-top:12px}.home-boosters,.home-deck{padding:16px 12px}.home-pack-grid{gap:7px}.home-pack>img{width:clamp(85px,25vw,140px);height:clamp(125px,36vw,200px)}.home-pack strong{font-size:17px}.home-pack small,.home-pack b{font-size:7px}.home-pack>span{gap:6px}.panel-heading{padding-bottom:10px}.panel-heading h2{font-size:17px}.home-deck-cards .tcg-card{max-width:130px}.home-shortcuts{display:grid;grid-template-columns:1fr;gap:9px;margin-top:12px}.home-shortcuts>button{padding:16px}.home-shortcuts h2{font-size:20px}
 .section-title{padding-bottom:12px;margin-bottom:14px}.section-title h1,.collection-page .section-title h1{font-size:29px}.section-title h2{font-size:25px}.summary-count{padding:8px;font-size:23px}.collection-tools{padding:10px;gap:10px}.collection-tools .search-label{flex-basis:100%}.collection-tools>.secondary{min-height:42px;font-size:10px}.filter-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:10px;gap:7px}.filter-chips button{flex-shrink:0;font-size:11px;min-height:38px;padding:8px 14px}.cinema-library-tools{gap:9px}.film-select-label select{max-width:155px;font-size:11px}.collection-grid,.shop-grid,.duplicate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 10px}.collection-item{padding:3px;border-radius:10px}.inventory-line{font-size:9px;padding:8px 2px 4px}.market-notice{padding:13px}.market-notice p{font-size:12px}.shop-tile>div,.duplicate-actions{padding:12px 9px}.shop-tile strong{font-size:17px}.shop-tile .secondary,.duplicate-tile .secondary{font-size:9px;min-height:42px;padding:8px 5px}
 .combat-lobby-grid{grid-template-columns:1fr;gap:14px}.combat-deck-panel,.combat-match-panel,.combat-builder-grid>div{padding:18px 15px;border-radius:12px}.combat-heading h1{font-size:32px}.combat-heading p{font-size:12px}.combat-deck-preview{gap:9px}.combat-deck-preview .tcg-card{width:calc((100% - 27px)/4)}.combat-match-panel>.cta,.combat-match-panel>.secondary{font-size:11px;min-height:48px}.combat-builder .deck-entry{font-size:12px}.combat-label input,.combat-label select{font-size:13px}.deck-entry img[data-view-key]{width:35px;height:49px}
 .ritual-hub{display:flex;flex-direction:column;padding:5px 0 18px;gap:0}.ritual-heading{width:100%;text-align:left}.ritual-heading h1{font-size:30px;margin:9px 0}.ritual-heading p{font-size:11px}.ritual-rail{width:100%}.ritual-rail>.eyebrow,.ritual-count{display:none}.edition-list{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.edition-list button{min-height:45px;padding:9px 4px;justify-content:center;border-radius:9px}.edition-list button>img,.edition-list button em,.edition-list button small,.edition-list button>b{display:none}.edition-list button strong{font:12px system-ui}.pack-experience{width:100%;max-width:460px}.pack-stage{height:clamp(300px,43dvh,430px);margin:0}.pack-stage .booster.large{width:clamp(195px,56vw,260px);height:auto}.pack-stage .floating-back{height:240px}.pack-name{margin:5px 0 12px}.pack-name h2{font-size:26px}.pack-name p{font-size:9px}.pack-experience>.open-pack{min-height:51px;width:100%;font-size:12px}.charge-row{font-size:10px}.cabinet-peek{display:none}.odds-link{font-size:10px;min-height:40px}
}
@media(prefers-reduced-motion:reduce){.cta,.secondary,body:not(.duel-active) .game-nav button{transition:none}.cta:hover:not(:disabled),.secondary:hover:not(:disabled){transform:none}}
.section-title{padding-top:10px}.filter-chips{margin:12px 0 16px}.cinema-library-tools{margin-top:8px;padding-top:0}.empty-state{min-height:145px;padding:22px}.home-hero>.cta{font:600 14px system-ui}
/* Les missions partagent les matières et les contrôles du jeu, avec un état de récompense explicite. */
.mission-home,.mission-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;margin:24px 0;border:1px solid #b48c5855;border-radius:16px;background:radial-gradient(ellipse at 100% 0,#821f293e,transparent 65%),linear-gradient(130deg,#202029ef,#10131bef);box-shadow:0 16px 44px #0004}
.mission-home h2,.mission-hero h2{margin:8px 0;font:clamp(24px,3vw,36px)/1.15 Georgia;color:#f5e7d2}.mission-home p,.mission-hero p{font:14px/1.6 system-ui;color:#d2c8bb;margin:0}.mission-home>.cta,.mission-hero>.cta{flex-shrink:0;min-width:210px}
.missions-page{max-width:1440px;margin:auto}.mission-group{margin:32px 0}.mission-group>header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}.mission-group>header h2{font:28px Georgia;color:#f1e5d2}.mission-group>header>span{font:12px/1.7 system-ui;color:#c9bda9}.mission-group time{color:#efddbb;font-variant-numeric:tabular-nums;white-space:nowrap}
.mission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.mission-grid.weekly{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-card{display:flex;flex-direction:column;padding:24px;border:1px solid #a68b5844;border-radius:14px;background:linear-gradient(140deg,#1d202aeF,#0d1119f5);box-shadow:0 10px 30px #0003}.mission-card h3{font:23px/1.2 Georgia;margin:13px 0 9px;color:#f0e3cf}.mission-card p{font:14px/1.55 system-ui;color:#d1c8ba;margin:0 0 22px;flex:1}.mission-status{font:600 10px/1.4 system-ui;letter-spacing:1.5px;color:#cbb795}.mission-progress{display:flex;align-items:center;gap:14px;margin:0 0 23px}.mission-progress progress{flex:1;min-width:0;height:5px;accent-color:#ba784f}.mission-progress b{font:12px system-ui;color:#e9d8bf;white-space:nowrap}.mission-reward{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #ac8b5830;padding-top:18px}.mission-reward strong{font:13px/1.5 system-ui;color:#ebd2a2}.mission-reward button{min-height:42px;padding:10px 15px;font:600 10px system-ui;letter-spacing:1px;flex-shrink:0}.mission-card.ready{border-color:#e1b56e;background:radial-gradient(ellipse at 0 0,#7d402530,transparent 80%),#181a22;box-shadow:0 0 24px #c3934814}.ready .mission-status{color:#f4ce8c}.mission-card.claimed .mission-status{color:#9cc9b5}.mission-card.claimed{border-color:#80ad9633}.missions-note{font:12px/1.8 system-ui;color:#bfb8ae;max-width:850px}
.quest-dialog{width:min(480px,calc(100vw - 24px))}.quest-receipt{text-align:center;padding:10px 20px 24px;animation:reward-arrival 550ms cubic-bezier(.16,1,.3,1) both}.quest-receipt>.card-button{display:block;width:min(240px,100%);margin:10px auto 20px}.quest-receipt>img{display:block;width:140px;max-height:200px;object-fit:contain;margin:12px auto;filter:drop-shadow(0 0 25px #d2393938)}.quest-receipt h3{font:30px Georgia;color:#eed5ac}.quest-receipt p{font:14px/1.65 system-ui;color:#ddd0bb}.quest-dialog>.cta{width:100%}
@keyframes reward-arrival{from{opacity:0;transform:translateY(25px) scale(.92)}to{opacity:1;transform:none}}
body:not(.duel-active) button:not(.card-button):not(.home-pack):not([data-viewer]):focus-visible{outline:2px solid #efc78c;outline-offset:4px}.cta:disabled,.secondary:disabled{cursor:not-allowed;filter:none;transform:none;opacity:.52}.cta,.secondary{justify-content:center;text-align:center;line-height:1.3}.mission-reward button:hover:disabled{transform:none;box-shadow:none}
@media(max-width:900px){.mission-grid{grid-template-columns:1fr}.mission-grid.weekly{grid-template-columns:1fr 1fr}.mission-card{padding:20px}.mission-reward{flex-wrap:wrap}.mission-group>header{align-items:start;flex-direction:column;gap:6px}.mission-group>header h2{margin-bottom:4px}}
@media(max-width:600px){.mission-home,.mission-hero{flex-direction:column;align-items:stretch;padding:22px;gap:20px}.mission-home>.cta,.mission-hero>.cta{width:100%}.mission-grid.weekly{grid-template-columns:1fr}.mission-reward{flex-wrap:nowrap}.mission-group time{display:block}.missions-page .section-title{align-items:start;gap:12px}.missions-page .section-title .secondary{font-size:10px;min-height:40px;padding:10px}.missions-page .section-title h1{font-size:31px}}
@media(prefers-reduced-motion:reduce){.quest-receipt{animation:none}}
body:not(.duel-active) .eyebrow{font-size:10px;line-height:1.5;letter-spacing:2px;color:#d5bb91}
body:not(.duel-active) .fine-print,body:not(.duel-active) .original-note{font:12px/1.7 system-ui;color:#c5bbaa}
body:not(.duel-active) .inventory-line{font:11px/1.5 system-ui;color:#d0c1ac}.charge-row{font:12px/1.5 system-ui;color:#d4c6b5}.opening-note,.swipe-hint{font-size:12px;color:#ccbea9}.reveal-label small{font:600 11px/1.5 system-ui;letter-spacing:2px;color:#e9c58d}.settings-links>.secondary,.settings-links>a{font-size:12px;min-height:48px}.odds-link{font:12px system-ui;color:#d8c7aa}.cta{background-image:url('assets/blood-trace.svg'),radial-gradient(circle at 90% 0,#c84d3b55,transparent 50%),linear-gradient(#783128,#451b1b);background-size:100% 100%;background-blend-mode:soft-light,normal,normal}
.cabinet-cards .card-rule{display:flex}.cabinet-cards .card-bottom p,.cabinet-cards .card-film{display:block}.cabinet-cards .card-colophon{display:flex}
@media(max-width:600px){.charge-row{font-size:11px;align-items:start;gap:10px}.charge-row>span{flex:1}.charge-row>span:last-child{text-align:right}body:not(.duel-active) .game-nav button{font-size:11px}body:not(.duel-active) .filter-chips button{font-size:11px;min-height:40px}body:not(.duel-active) .text-button{font-size:11px}body:not(.duel-active) .film-select-label{font-size:11px}.self-bench .bench-unit>div button{min-height:28px;font-size:8px}}
.card-viewer{border-radius:16px;background:radial-gradient(ellipse at 25% 40%,#4d252440,transparent 60%),#10131b}.viewer-toolbar{position:sticky;top:0;height:0;z-index:30;pointer-events:none}.viewer-toolbar .viewer-close{top:0;right:0;pointer-events:auto;box-shadow:0 4px 20px #0008}.viewer-info p{font-size:14px;color:#ded4c5}.viewer-info .viewer-film{font-size:11px;color:#d6b884}.viewer-hint{font-size:11px;color:#c3b49c}.viewer-tools button{border-radius:8px;min-height:44px;font:12px system-ui}.viewer-info>button{font:13px system-ui;min-height:44px}.viewer-info>a{font-size:12px;color:#e5c68f}
