:root{--bg:#0b101b;--panel:#111827;--panel2:#151e2e;--line:#263247;--muted:#8c9aaf;--text:#f3f5f7;--gold:#d9b66e;--gold2:#f1d79b;--blue:#83a9d7;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px var(--sans);min-height:100vh}button{font:inherit;color:inherit;cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:232px;padding:29px 18px 18px;border-right:1px solid #202a3a;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;background:#0c121e;z-index:4}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;letter-spacing:.17em;font-size:12px}.brand b{display:block;font-size:12px;font-weight:700}.brand small{display:block;color:var(--gold);font-size:10px;letter-spacing:.38em;margin-top:3px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid #8d7545;color:var(--gold2);font:700 21px var(--serif);border-radius:10px;background:linear-gradient(145deg,#252a32,#101621)}.sidebar-label{color:#59667a;font-size:9px;letter-spacing:.18em;font-weight:700;margin:54px 0 12px 10px}.nav{display:grid;gap:5px}.nav-link{height:43px;border:0;background:transparent;color:#9ca8b9;text-align:left;border-radius:8px;padding:0 12px;display:flex;align-items:center;gap:13px;font-size:12px;transition:.2s}.nav-link>span{font-size:18px;width:18px;color:#7f8ba0}.nav-link:hover,.nav-link.active{background:#182233;color:#f0d9a5}.nav-link.active>span{color:var(--gold)}.side-bottom{margin-top:auto}.side-note{border-top:1px solid #242e3e;border-bottom:1px solid #242e3e;padding:18px 7px;color:#8d9aad;font-size:11px;line-height:1.8;margin-bottom:16px}.side-note b{font:600 17px var(--serif);color:#d8c38e}.live-dot,.notify-dot{display:inline-block;width:6px;height:6px;background:#8db79d;border-radius:100%;margin-right:6px;box-shadow:0 0 9px #8db79d}.user-mini{display:flex;align-items:center;gap:10px;padding:7px 2px}.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d5b874,#8e7040);color:#131821;font:700 13px var(--serif)}.user-mini b{font-size:11px;display:block}.user-mini small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.more{margin-left:auto;color:#77849a}.main-content{margin-left:232px;width:calc(100% - 232px);padding:0 46px;max-width:1600px}.topbar{height:79px;border-bottom:1px solid #202a3a;display:flex;align-items:center;justify-content:space-between}.crumb{font-size:9px;letter-spacing:.16em;color:#66748a}.crumb i{font-style:normal;color:#3b485c;margin:0 11px}.crumb b{font-weight:600;color:#cad0da}.top-actions{display:flex;align-items:center;gap:21px}.icon-button{border:0;background:none;color:#bac3d0;font-size:18px;position:relative}.notify-dot{position:absolute;right:0;top:1px;width:5px;height:5px;background:var(--gold)}.profile-button{display:flex;align-items:center;gap:9px;border:1px solid #2a3547;border-radius:8px;background:#111a29;padding:5px 9px;font-size:10px;color:#d7dce4}.avatar.small{width:24px;height:24px;font-size:10px}.chevron{color:#8390a2;margin-left:6px}.view{display:none}.active-view{display:block}.hero{min-height:326px;margin-top:27px;border:1px solid #303445;border-radius:13px;overflow:hidden;position:relative;background:linear-gradient(90deg,rgba(10,15,25,.99) 0%,rgba(10,15,25,.91) 35%,rgba(10,15,25,.35) 72%,rgba(10,15,25,.12) 100%),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=85') center 48%/cover}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 77% 40%,rgba(222,186,113,.12),transparent 39%);pointer-events:none}.hero-copy{position:relative;z-index:1;padding:44px 45px;max-width:590px}.eyebrow{color:var(--gold);font-size:9px;letter-spacing:.23em;font-weight:700}.hero h1{font:600 clamp(32px,3.4vw,47px)/1.15 var(--serif);letter-spacing:-.025em;margin:20px 0 15px;max-width:500px}.hero h1 em{font-style:normal;color:var(--gold2)}.hero p{color:#b1bac7;line-height:1.7;font-size:12px;max-width:365px;margin:0 0 24px}.primary,.secondary{border:1px solid #ddc28b;background:linear-gradient(135deg,#e5ca8b,#ba9655);color:#151a22;border-radius:6px;padding:11px 16px;font-size:11px;font-weight:700;box-shadow:0 5px 18px #0003}.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary span{margin-left:15px}.secondary{background:#131d2b;color:#e3c984;border-color:#776342;box-shadow:none}.hero-foot{position:absolute;right:25px;bottom:20px;color:#d2c8b2;font-size:9px;letter-spacing:.1em}.hero-foot b{font-size:20px;color:#f0dba5;margin-right:5px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:36px 1px 15px}.section-heading h2,.section-title{font:600 20px var(--serif);margin:0}.section-heading p{font-size:10px;color:var(--muted);margin:6px 0 0}.text-button{border:0;background:none;color:var(--gold2);font-size:10px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stat-card{display:flex;align-items:center;gap:13px;background:#111a29;border:1px solid #222e41;border-radius:9px;padding:14px 16px}.stat-icon{width:34px;height:34px;border:1px solid #354158;border-radius:8px;display:grid;place-items:center;color:var(--gold);font-size:16px}.stat-label{font-size:9px;color:#8a98ad;letter-spacing:.08em}.stat-value{font:600 19px var(--serif);margin-top:5px}.stat-value small{font:10px var(--sans);color:#91a0b3}.booster-panel{border:1px solid #333344;background:linear-gradient(110deg,#141a28,#1c1a25 68%,#282231);border-radius:10px;padding:20px;display:flex;align-items:center;gap:18px;position:relative;overflow:hidden}.booster-panel:after{content:'✦';font-size:130px;color:#d5b973;opacity:.05;position:absolute;right:23%;top:-40px}.pack-art{width:76px;height:98px;flex:none;border:1px solid #987c4c;border-radius:6px;background:radial-gradient(ellipse at 50% 35%,#9b8357 0,#554a3a 18%,#202433 57%,#111724 100%);display:grid;place-items:center;box-shadow:inset 0 0 20px #d5b97322,0 6px 20px #0006;transform:rotate(-5deg)}.pack-art span{font:700 33px var(--serif);color:#e2cd97;text-shadow:0 0 13px #e1c276}.booster-info{position:relative;z-index:1;flex:1}.booster-info .eyebrow{font-size:8px}.booster-info h3{font:600 19px var(--serif);margin:7px 0}.booster-info p{font-size:10px;color:#9ba7b8;margin:0}.booster-side{position:relative;z-index:1;text-align:right}.booster-side .primary{white-space:nowrap}.booster-side small{display:block;color:#8190a4;font-size:9px;margin-top:8px}.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.city-card{min-width:0;background:#111a28;border:1px solid #273247;border-radius:9px;overflow:hidden;cursor:pointer;transition:.2s}.city-card:hover{transform:translateY(-3px);border-color:#88764e}.city-image{height:127px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#3e3d39 0,#222a35 36%,#141c29 76%)}.city-image:before{content:"VISUEL À AJOUTER";position:absolute;inset:0;display:grid;place-items:center;color:#d2bd86;font-size:8px;letter-spacing:.22em;opacity:.72}.city-image:after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#101721)}.rarity-pill{position:absolute;z-index:1;top:10px;left:10px;border:1px solid #eccd81;background:#4c3e26d9;color:#f3d993;border-radius:20px;padding:5px 8px;font-size:8px;letter-spacing:.08em}.city-info{padding:12px 13px 13px}.city-info h3{font:600 16px var(--serif);margin:0 0 4px}.city-info p{margin:0;color:#8e9aab;font-size:9px}.city-meta{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:10px;border-top:1px solid #263143;color:#8290a3;font-size:9px}.city-meta b{color:#d7c184;font-weight:500}.progress-box{padding:16px;border:1px solid #263247;background:#111a29;border-radius:9px}.progress-top{display:flex;justify-content:space-between;font-size:10px}.progress-top span:last-child{color:var(--gold2)}.progress-track{height:4px;background:#273247;border-radius:4px;margin-top:11px}.progress-track span{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,#a8854c,#e4ce94);width:0;transition:width .4s}.view-title{display:flex;justify-content:space-between;align-items:end;padding:35px 0 22px}.view-title h1{font:600 29px var(--serif);margin:0 0 7px}.view-title p{color:var(--muted);font-size:11px;margin:0}.view-title .eyebrow{margin-bottom:10px}.filters{display:flex;gap:8px;margin-bottom:18px}.search{flex:1;max-width:370px;padding:10px 12px;border:1px solid #2a3547;background:#111a29;border-radius:6px;color:white;font:11px var(--sans);outline:none}.search:focus{border-color:#9c8452}.filter-select{padding:9px 11px;background:#111a29;color:#aeb9c8;border:1px solid #2a3547;border-radius:6px;font:10px var(--sans)}.album-summary{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin-bottom:25px}.empty-state{text-align:center;border:1px dashed #364257;padding:50px 15px;border-radius:10px;color:#a3afbd}.empty-state .empty-icon{font-size:30px;color:#c6a963}.empty-state h3{font:600 20px var(--serif);color:white;margin:12px 0 6px}.empty-state p{font-size:11px;margin:0 auto 19px;max-width:400px;line-height:1.6}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.shop-card{border:1px solid #2b3648;background:#111a29;border-radius:10px;padding:19px;position:relative;overflow:hidden}.shop-card.featured{border-color:#7b6946;background:linear-gradient(150deg,#1d1c24,#111a29 65%)}.shop-card .eyebrow{font-size:8px}.shop-card h3{font:600 19px var(--serif);margin:12px 0 7px}.shop-card p{color:#94a1b2;font-size:10px;line-height:1.6;min-height:32px}.shop-price{font:600 25px var(--serif);margin:18px 0 13px}.shop-price small{font:10px var(--sans);color:#93a0b0}.shop-card button{width:100%}.probability{margin-top:25px;border:1px solid #2a3547;border-radius:9px;background:#111a29;padding:18px}.probability h3{font:600 16px var(--serif);margin:0 0 12px}.prob-row{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid #222e40;font-size:10px;color:#aeb9c8}.prob-row b{color:#ddd}.notice{color:#78869a;font-size:9px;line-height:1.6;margin-top:12px}.mega-note{padding:13px 14px;border:1px solid #675339;background:linear-gradient(110deg,#332b1e,#211e22);border-radius:7px;color:#f0d89e;font-size:10px;line-height:1.6;margin-top:13px}.modal-backdrop{position:fixed;inset:0;background:#05080dc9;z-index:10;display:none;place-items:center;padding:20px;backdrop-filter:blur(4px)}.modal-backdrop.open{display:grid}.modal{background:#121a28;border:1px solid #445066;border-radius:12px;width:min(650px,100%);max-height:90vh;overflow:auto;padding:25px;position:relative;box-shadow:0 25px 90px #0009}.modal-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#aeb9c8;font-size:25px}.modal h2{font:600 25px var(--serif);margin:9px 0}.modal p{font-size:11px;color:#a0acbb;line-height:1.7}.modal-card{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.modal-card .city-image{height:220px;border-radius:8px}.modal-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.detail{padding:10px;border:1px solid #283448;border-radius:6px}.detail span{display:block;font-size:8px;color:#8492a6;margin-bottom:5px}.detail b{font-size:10px}.reveal-grid{display:flex;gap:12px;margin:18px 0;padding:3px 2px 13px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#927b4d #202a3a}.reveal-card{flex:0 0 150px;scroll-snap-align:start}.reveal-card{aspect-ratio:2/3;border:1px solid #836f49;border-radius:7px;overflow:hidden;position:relative;background:#111a28;animation:none}.reveal-card .city-image{height:100%}.reveal-card .city-image:after{inset:45% 0 0}.reveal-card span{position:absolute;z-index:1;bottom:8px;left:7px;right:6px;font:600 10px var(--serif);text-shadow:0 2px 5px #000}.reveal-card small{position:absolute;z-index:1;top:6px;left:6px;font-size:7px;color:#f1d897;background:#161a20b8;padding:4px;border-radius:10px}@keyframes reveal{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e1c581;color:#111923;padding:11px 17px;border-radius:7px;font-size:11px;z-index:20;transition:.25s}.toast.show{transform:translate(-50%,0);opacity:1}footer{border-top:1px solid #202a3a;color:#58667b;font-size:9px;letter-spacing:.09em;padding:18px 0;margin-top:40px}footer span{color:#aa8d55;margin:0 5px}
@media(max-width:900px){.sidebar{width:195px}.main-content{margin-left:195px;width:calc(100% - 195px);padding:0 26px}.hero-copy{padding:38px 33px}.cards-grid{gap:10px}.city-image{height:105px}}@media(max-width:650px){.sidebar{inset:auto 0 0;width:100%;height:62px;padding:5px 8px;border:0;border-top:1px solid #2a3547;flex-direction:row;background:#0d1421}.brand,.sidebar-label,.side-bottom{display:none}.nav{display:flex;width:100%;justify-content:space-around;gap:2px}.nav-link{height:50px;padding:3px 8px;flex-direction:column;justify-content:center;gap:2px;font-size:8px;flex:1;text-align:center}.nav-link>span{font-size:17px}.main-content{margin:0;width:100%;padding:0 16px 76px}.topbar{height:61px}.profile-button{font-size:0;border:0;background:none;padding:0}.profile-button .chevron{display:none}.top-actions{gap:12px}.hero{margin-top:16px;min-height:360px;background-position:60% center}.hero-copy{padding:31px 23px}.hero h1{font-size:37px;max-width:370px}.hero p{max-width:300px}.hero-foot{right:16px;bottom:14px}.stats-row{gap:7px}.stat-card{padding:10px 8px;gap:7px}.stat-icon{width:28px;height:28px;font-size:12px}.stat-label{font-size:7px}.stat-value{font-size:15px}.section-heading{margin-top:28px}.section-heading h2,.section-title{font-size:18px}.booster-panel{padding:14px;gap:12px}.pack-art{width:57px;height:78px}.pack-art span{font-size:25px}.booster-info h3{font-size:15px}.booster-info p{font-size:9px}.booster-side .primary{padding:10px 9px;font-size:9px}.booster-side small{font-size:8px}.cards-grid{grid-template-columns:repeat(2,1fr)}.city-image{height:110px}.city-info{padding:10px}.city-info h3{font-size:14px}.view-title{padding:24px 0 17px}.view-title h1{font-size:25px}.filters{flex-wrap:wrap}.search{max-width:none;flex-basis:100%}.filter-select{flex:1;min-width:0}.album-summary{grid-template-columns:1fr 1fr}.album-summary .progress-box{grid-column:1/-1}.shop-grid{grid-template-columns:1fr}.shop-card p{min-height:0}.modal{padding:21px 16px}.modal-card{grid-template-columns:1fr}.modal-card .city-image{height:160px}.reveal-grid{grid-template-columns:repeat(2,1fr)}footer{margin-top:28px}}
.reveal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.reveal-heading h2{margin:7px 0 3px}.reveal-heading p{margin:0 0 10px}.reveal-count{font:600 14px var(--serif);color:var(--gold2);white-space:nowrap}.reveal-stage{display:grid;place-items:center;min-height:360px;padding:8px 0 16px}.single-reveal-card{width:min(280px,75vw);border:1px solid #a88c55;border-radius:11px;overflow:hidden;background:#121a28;box-shadow:0 12px 36px #0008,0 0 24px #c5a85b22}.single-reveal-visual{height:320px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 35%,#565044 0,#29303b 42%,#151d2b 100%)}.single-reveal-visual:after{content:'';position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#101721)}.single-reveal-visual .rarity-pill{left:12px;top:12px}.reveal-placeholder{color:#e0cc99;font-size:9px;letter-spacing:.2em;opacity:.8}.single-reveal-title{position:absolute;z-index:1;bottom:15px;left:15px}.single-reveal-title h3{font:600 23px var(--serif);margin:0 0 5px}.single-reveal-title p{font-size:10px;margin:0;color:#d0d4da}.single-reveal-meta{padding:11px 14px;display:flex;justify-content:space-between;font-size:10px;color:#aeb9c8}.single-reveal-meta b{color:#e2c477;font-weight:500}.reveal-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 18px}.reveal-arrow{width:38px;height:38px;border:1px solid #38465b;border-radius:50%;background:#182233;color:#e4cf95;font-size:25px;line-height:1}.reveal-arrow:disabled{opacity:.35;cursor:default}.reveal-dots{display:flex;gap:7px;align-items:center}.reveal-dot{width:7px;height:7px;border-radius:50%;background:#344054}.reveal-dot.current{background:#e2c477;box-shadow:0 0 8px #e2c477}
.booster-hub{border:1px solid #394255;border-radius:13px;overflow:hidden;background:linear-gradient(115deg,#151c2a,#1c1b24 70%,#292331);margin-top:10px}.booster-main{display:flex;align-items:center;gap:34px;padding:35px 38px}.booster-cover{width:150px;height:196px;flex:none;border:1px solid #aa8d55;border-radius:10px;background:radial-gradient(ellipse at 50% 35%,#b9a16b 0,#6a5a3d 20%,#252b38 65%,#121a28 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 35px #e2ca8b28,0 10px 30px #0007;transform:rotate(-4deg)}.booster-cover span{font:700 65px var(--serif);color:#e3cf98}.booster-cover small{font-size:8px;letter-spacing:.2em;text-align:center;color:#e2d4ae;line-height:1.5}.booster-copy{max-width:540px}.booster-copy h2{font:600 clamp(23px,3vw,36px) var(--serif);margin:12px 0}.booster-copy p{font-size:12px;line-height:1.7;color:#a6b0bf}.booster-stock{display:flex;align-items:center;gap:11px;margin:19px 0;color:#aab6c6;font-size:11px}.booster-stock b{font:600 26px var(--serif);color:var(--gold2)}.booster-copy .primary:disabled{opacity:.45;cursor:default}.booster-timer{border-top:1px solid #30394a;padding:13px 25px;display:flex;align-items:center;justify-content:space-between;color:#a0adbd;font-size:11px}.booster-timer strong{font:600 17px var(--serif);color:var(--gold2)}
.card-enter{animation:cardReveal .55s cubic-bezier(.2,.8,.2,1) both;transform-origin:center}.rarity-pill{transition:filter .2s}.single-reveal-card:has(.rarity-pill){animation:cardReveal .55s cubic-bezier(.2,.8,.2,1) both}@keyframes cardReveal{0%{opacity:0;transform:perspective(800px) rotateY(75deg) scale(.88)}70%{opacity:1;transform:perspective(800px) rotateY(-7deg) scale(1.02)}100%{transform:perspective(800px) rotateY(0) scale(1)}}
.city-card{border-color:var(--rarity,#667085);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rarity) 35%,transparent)}.city-card .city-image,.single-reveal-visual{background:radial-gradient(ellipse at 50% 32%,color-mix(in srgb,var(--rarity) 42%,#192231),#121a27 76%)}.city-card .rarity-pill,.single-reveal-visual .rarity-pill{border-color:var(--rarity);background:color-mix(in srgb,var(--rarity) 24%,#111722);color:var(--rarity-text,#f2f4f7)}.grade-commune{--rarity:#9aa3ae;--rarity-text:#e5e9ef}.grade-peu-commune{--rarity:#57a66a;--rarity-text:#c6f1cf}.grade-rare{--rarity:#4d91ed;--rarity-text:#cce2ff}.grade-epique{--rarity:#a86be0;--rarity-text:#f0d8ff}.grade-legendaire{--rarity:#e0b83f;--rarity-text:#ffedb2}.grade-mega{--rarity:#d8b75b;--rarity-text:#f5df9b;border-color:#d8b75b!important;background:#0b0b0a;box-shadow:inset 0 0 0 1px #6b572b,0 0 22px #c7a54825}.city-card.grade-mega .city-image,.single-reveal-visual.grade-mega{background:radial-gradient(ellipse at 50% 35%,#4a3a18 0,#17140d 40%,#070707 85%)}.grade-mega .rarity-pill{background:#14110a!important;color:#f1d782!important;border-color:#c9a94e!important}.grade-mega .single-reveal-meta b{color:#e3c46a}.city-image:before{content:'✦';font:400 78px var(--serif);letter-spacing:0;color:var(--rarity,#9aa3ae);opacity:.16;text-shadow:0 0 24px var(--rarity,#9aa3ae)}
.town-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.city-image:has(.town-photo):before,.single-reveal-visual:has(.town-photo) .reveal-placeholder{display:none}.city-image:has(.town-photo):after{z-index:1}.rarity-pill{z-index:3}.photo-credit{position:absolute;z-index:4;bottom:4px;right:6px;padding:3px 5px;border-radius:3px;background:#080b10cc;color:#e4e8ee;font-size:7px;text-decoration:none;max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-credit:hover{color:#f1d79b;text-decoration:underline}.single-reveal-visual .town-photo{z-index:0}.single-reveal-visual .single-reveal-title{z-index:2}.single-reveal-visual:has(.town-photo):after{z-index:1}
.booster-cover{padding:0;overflow:hidden;background:#090b12;transform:rotate(-3deg);transition:transform .2s}.booster-cover img{width:100%;height:100%;object-fit:cover}.booster-cover.shake{animation:boosterShake .56s ease-in-out}@keyframes boosterShake{0%,100%{transform:rotate(-3deg) translateX(0)}12%{transform:rotate(-8deg) translateX(-5px)}24%{transform:rotate(5deg) translateX(5px)}36%{transform:rotate(-7deg) translateX(-4px)}48%{transform:rotate(5deg) translateX(4px)}60%{transform:rotate(-6deg) translateX(-3px)}72%{transform:rotate(2deg) translateX(3px)}84%{transform:rotate(-5deg) translateX(-1px)}}
/* Écran de démarrage minimal du booster */
.app-shell:has(#view-boosters.active-view) .sidebar,.app-shell:has(#view-boosters.active-view) .topbar,.app-shell:has(#view-boosters.active-view) footer{display:none}.app-shell:has(#view-boosters.active-view) .main-content{margin:0;width:100%;max-width:none;padding:0;min-height:100vh;display:grid;place-items:center}.app-shell:has(#view-boosters.active-view) #view-boosters{width:100%;height:100vh;display:grid;place-items:center}.booster-only{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:100vh;width:100%;background:radial-gradient(ellipse at center,#17202c 0,#0b101b 62%)}.booster-cover{width:min(34vh,270px);height:min(47vh,370px);padding:0;border:0;background:transparent;cursor:pointer;transition:transform .24s ease,filter .24s ease;filter:drop-shadow(0 18px 26px #0008)}.booster-cover:hover:not(:disabled){transform:scale(1.055);filter:drop-shadow(0 22px 32px #000a)}.booster-cover img{width:100%;height:100%;object-fit:contain}.booster-open{border:0;background:none;color:#f3f5f7;font:600 19px var(--sans);padding:7px 22px;cursor:pointer}.booster-open:hover:not(:disabled){color:var(--gold2)}.booster-count{color:#b9c2cf;font-size:13px;letter-spacing:.04em}.booster-cover.shake{animation:boosterShake .56s ease-in-out}@keyframes boosterShake{0%,100%{transform:rotate(0) translateX(0)}12%{transform:rotate(-4deg) translateX(-5px)}24%{transform:rotate(3deg) translateX(5px)}36%{transform:rotate(-4deg) translateX(-4px)}48%{transform:rotate(3deg) translateX(4px)}60%{transform:rotate(-3deg) translateX(-3px)}72%{transform:rotate(2deg) translateX(3px)}84%{transform:rotate(-1deg) translateX(-1px)}}
.booster-cover{background:transparent!important;border:0!important;outline:0;box-shadow:none!important;overflow:visible!important;transform:none;filter:none}.booster-cover img{object-fit:contain;filter:drop-shadow(0 18px 26px #0008)}.booster-cover:hover:not(:disabled){transform:scale(1.055);filter:none}.booster-cover:hover:not(:disabled) img{filter:drop-shadow(0 22px 32px #000a)}
.single-reveal-card{border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;border-radius:0;overflow:visible}.single-reveal-visual{border:0!important;outline:0!important;box-shadow:none!important;border-radius:0}.single-reveal-meta{background:transparent;border:0}
.single-reveal-card{width:min(280px,75vw);border:2px solid var(--rarity,#9aa3ae)!important;border-radius:11px!important;background:#101722!important;overflow:hidden!important;box-shadow:0 12px 36px #0008,0 0 18px color-mix(in srgb,var(--rarity) 30%,transparent)!important}.single-reveal-visual{border:0!important;border-radius:9px 9px 0 0!important}.single-reveal-card .single-reveal-meta{background:#101722!important;padding:11px 14px}.pack-reveal-only{display:flex;flex-direction:column;align-items:center}.reveal-controls{width:100%;justify-content:center;gap:22px;margin:12px 0 15px}.continue-button{display:block;margin:0 auto;min-width:150px}.modal-backdrop:has(.pack-reveal-only) .modal{background:transparent;border:0;box-shadow:none;padding:8px;overflow:visible}.modal-backdrop:has(.pack-reveal-only) .modal-close{display:none}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at 50% 35%,#182334,#0b101b 68%)}.auth-card{width:min(100%,410px);padding:30px 26px;border:1px solid #344157;border-radius:14px;background:#111a29;box-shadow:0 20px 70px #0008}.auth-logo{text-align:center;font-size:12px;letter-spacing:.22em;font-weight:700}.auth-logo span{color:#dfc27d}.auth-sub{text-align:center;color:#9aa7b8;font-size:11px;margin:10px 0 24px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;border-radius:8px;background:#0b111c;margin-bottom:20px}.auth-tabs button{border:0;border-radius:6px;background:transparent;color:#9aa7b8;padding:10px;font-size:11px}.auth-tabs .selected{background:#263246;color:#f0d99f}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:7px;color:#b5bfcd;font-size:10px}.auth-card input{width:100%;padding:12px;border-radius:6px;border:1px solid #344157;background:#0c1420;color:white;font:12px var(--sans)}.auth-submit{width:100%;margin-top:5px}.auth-error{min-height:17px;color:#ff9c9c;font-size:10px}.pack-timer{margin-top:6px;color:#c6b782;font-size:13px;font-variant-numeric:tabular-nums}
@media(max-width:650px){.auth-screen{padding:16px}.auth-card{padding:25px 19px}.booster-only{padding:16px;gap:8px}.booster-cover{width:min(46vw,230px);height:min(60vw,310px)}.booster-open{font-size:18px;padding:8px 24px}.booster-count{font-size:12px}.single-reveal-card{width:min(76vw,280px)}.reveal-controls{gap:30px}.continue-button{min-height:44px}.modal-backdrop{padding:10px}.filters{gap:6px}.filter-select{font-size:10px;min-height:40px}}
[hidden]{display:none!important}body:has(#view-boosters.active-view){overflow:hidden}.app-shell:has(#view-boosters.active-view){height:100dvh;min-height:100dvh;overflow:hidden}.app-shell:has(#view-boosters.active-view) .main-content{height:100dvh;min-height:100dvh}.app-shell:has(#view-boosters.active-view) #view-boosters{height:100dvh}.auth-screen{min-height:100dvh}.auth-card{max-height:calc(100dvh - 32px);overflow:auto}
.forgot-link{border:0;background:none;color:#d9c27f;font:10px var(--sans);text-decoration:underline;cursor:pointer;justify-self:center;padding:5px}.recovery-code{padding:15px;margin:16px 0;text-align:center;border:1px dashed #b99d5f;border-radius:8px;color:#f0d68d;font:700 20px monospace;letter-spacing:.14em;user-select:all}
.user-mini{border:0;background:transparent;color:inherit;width:100%;text-align:left;cursor:pointer}.user-mini-name{display:block}.booster-quick-actions{display:none}.app-shell:has(#view-boosters.active-view) .booster-quick-actions{display:flex;position:fixed;z-index:6;top:16px;right:18px;gap:8px}.booster-quick-actions button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #344157;border-radius:50%;background:#111a29cc;color:#e4cf95;font-size:19px;backdrop-filter:blur(8px)}.booster-quick-actions button:hover{border-color:#d9b66e;background:#1b2637}.account-panel{max-width:760px}.account-card{border:1px solid #2a3547;background:#111a29;border-radius:10px;padding:20px;margin-bottom:16px}.account-card h2{font:600 19px var(--serif);margin:0 0 16px}.account-details{display:grid;grid-template-columns:1fr 1fr;gap:12px}.account-field{padding:12px;border:1px solid #263247;border-radius:7px}.account-field small{display:block;color:#8c9aaf;font-size:9px;letter-spacing:.08em;margin-bottom:6px}.account-field b{font-size:12px;overflow-wrap:anywhere}.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.account-actions button{min-height:42px}.logout-button{border:1px solid #633f45;background:#24171d;color:#f1b8b8;border-radius:6px;padding:10px 16px;font-size:11px;font-weight:600}.account-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.account-count{padding:15px;border:1px solid #263247;border-radius:8px;background:#0c1420}.account-count b{display:block;font:600 21px var(--serif);color:#f1d79b}.account-count span{display:block;font-size:9px;color:#91a0b3;margin-top:5px}
@media(max-width:650px){.app-shell:has(#view-boosters.active-view) .booster-quick-actions{top:10px;right:10px}.booster-quick-actions button{width:40px;height:40px}.account-details{grid-template-columns:1fr}.account-counts{gap:7px}.account-count{padding:11px 8px}.account-count b{font-size:18px}.account-count span{font-size:8px}.nav-link{font-size:8px;padding-left:3px;padding-right:3px}}
.admin-metrics{margin:0 0 14px}.admin-notice{margin:0 0 16px;padding:12px;border:1px solid #665537;border-radius:7px;background:#211e18}.admin-gift-form{display:grid;gap:14px}.admin-gift-form>label,#admin-card-field>label{display:grid;gap:7px;color:#b5bfcd;font-size:10px}.admin-gift-form input,.admin-gift-form select{width:100%;padding:11px;border-radius:6px;border:1px solid #344157;background:#0c1420;color:#f3f5f7;font:12px var(--sans)}.admin-gift-form [hidden]{display:none!important}.admin-card-matches{display:grid;gap:5px;margin-top:7px;max-height:240px;overflow:auto}.admin-card-matches button{padding:9px 10px;border:1px solid #2d394c;background:#151e2e;color:#f3f5f7;text-align:left;border-radius:6px;font-size:11px}.admin-card-matches button:hover{border-color:#b99d5f}.admin-card-matches small{display:block;color:#a9b3c1;font-size:9px;margin-top:4px}.admin-card-matches>span{color:#d5c38e;font-size:10px}.admin-user-list{display:grid}.admin-user-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-top:1px solid #263247}.admin-user-row b,.admin-user-row small{display:block}.admin-user-row b{font-size:11px}.admin-user-row small,.admin-user-row>span{margin-top:4px;color:#8c9aaf;font-size:9px;overflow-wrap:anywhere}.admin-user-row>span{text-align:right;flex:none}
@media(max-width:650px){.admin-user-row{align-items:flex-start;flex-direction:column;gap:5px}.admin-user-row>span{text-align:left}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
.admin-tabs{display:flex;gap:8px;overflow:auto;border-bottom:1px solid #263247;margin:0 0 18px;padding-bottom:8px}.admin-tabs button{flex:none;border:1px solid #2a3547;border-radius:7px;background:#111a29;color:#aab6c5;padding:10px 13px;font-size:10px}.admin-tabs button.active{border-color:#907746;background:#282319;color:#f2d995}.admin-tab-content{min-width:0}.visit-table{display:grid;gap:4px;margin-top:18px}.visit-row{display:grid;grid-template-columns:minmax(110px,150px) minmax(70px,1fr) 36px 95px;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #263247}.visit-date{font-size:10px;color:#c8d0db}.visit-meter{height:7px;border-radius:9px;background:#202a3a;overflow:hidden}.visit-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#977744,#e4ca85);min-width:0}.visit-row>b{text-align:right;color:#f0d89c;font-size:11px}.visit-row>small{text-align:right;color:#8996a8;font-size:9px}.admin-chosen-cards{display:grid;gap:5px}.admin-chosen-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid #2d394c;border-radius:6px;background:#151e2e;color:#dce2ea;font-size:10px}.admin-chosen-card button{border:0;background:none;color:#e7a6a6;font-size:17px;padding:0 5px}@media(max-width:650px){.admin-tabs button{padding:9px 10px}.visit-row{grid-template-columns:minmax(86px,1fr) minmax(50px,1fr) 28px;gap:7px}.visit-row>small{grid-column:2/-1;text-align:right;margin-top:-5px}}
.visit-curve-wrap{width:100%;margin:18px 0 14px;padding:10px 8px 4px;border:1px solid #263247;border-radius:9px;background:#0d1421;overflow:hidden}.visit-curve{display:block;width:100%;height:auto;overflow:visible}.visit-gridline{stroke:#293548;stroke-width:1;stroke-dasharray:3 5}.visit-axis-label{fill:#8996a8;font:10px var(--sans)}.visit-date-label{font-size:8px}.visit-area{fill:#d9b66e1a;stroke:none}.visit-line{stroke:#e1c47e;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.visit-point{fill:#f1d79b;stroke:#111827;stroke-width:2}.visit-point-label{fill:#f1d79b;font:700 10px var(--sans)}.visit-daily-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:12px}.visit-daily-cell{display:grid;gap:4px;justify-items:center;padding:9px 4px;border:1px solid #263247;border-radius:7px;background:#0c1420;text-align:center}.visit-daily-cell span{color:#94a1b2;font-size:9px}.visit-daily-cell b{color:#f1d79b;font:600 18px var(--serif)}.visit-daily-cell small{color:#78869a;font-size:8px}@media(max-width:650px){.visit-daily-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.visit-daily-cell{padding:8px 2px}.visit-daily-cell span{font-size:8px}.visit-axis-label{font-size:9px}.visit-date-label{font-size:7px}}
.filters .filter-select{min-width:155px}.filters .filter-select:focus{border-color:#9c8452}@media(max-width:650px){.filters .filter-select{flex:1 1 calc(50% - 6px);min-width:calc(50% - 6px);max-width:calc(50% - 6px)}}
/* La navigation reste accessible pendant l'ouverture des boosters. */
.app-shell:has(#view-boosters.active-view) .sidebar{display:flex}.app-shell:has(#view-boosters.active-view) .main-content{margin-left:232px;width:calc(100% - 232px);height:100vh;min-height:100vh}.app-shell:has(#view-boosters.active-view) #view-boosters,.app-shell:has(#view-boosters.active-view) .booster-only{height:100vh;min-height:100vh}
@media(max-width:900px) and (min-width:651px){.app-shell:has(#view-boosters.active-view) .main-content{margin-left:195px;width:calc(100% - 195px)}}
@media(max-width:650px){.app-shell:has(#view-boosters.active-view) .main-content{margin:0;width:100%;height:calc(100dvh - 62px);min-height:0;padding:0}.app-shell:has(#view-boosters.active-view) #view-boosters,.app-shell:has(#view-boosters.active-view) .booster-only{height:calc(100dvh - 62px);min-height:0}.app-shell:has(#view-boosters.active-view){height:100dvh;min-height:100dvh}.booster-only{min-height:0}}
