/* Skyblock Ascension — tableau de jeu */
.clicker-shell{max-width:1380px;margin:auto;padding:34px 28px 90px}
.clicker-shell h1,.clicker-shell h2,.clicker-shell h3,.lobby-shell h1,.lobby-shell h2,.ranking-shell h1,.ranking-shell h2{font-family:'Barlow Condensed',sans-serif!important;text-transform:uppercase;line-height:1.02}
.clicker-hero{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:24px}
.clicker-eyebrow{color:#9bff24;font-size:11px;font-weight:800;letter-spacing:.21em;text-transform:uppercase}
.clicker-hero h1{font-size:clamp(44px,5vw,74px);margin:7px 0 4px;color:#f7fff2}
.clicker-hero h1 span{color:#9bff24}
.clicker-hero p{margin:0;color:#9aafa0;font-size:14px}
.player-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.player-tag,.toolbar-btn,.save-status{border:1px solid #385344;background:#132018;padding:9px 12px;font-size:12px;color:#d9e9d9}
.player-tag{color:#9bff24;font-weight:800}
.toolbar-btn{cursor:pointer;font-weight:800;transition:.18s}
.toolbar-btn:hover{border-color:#9bff24;color:#9bff24}
.save-status{color:#91a795;border-color:transparent;background:transparent}
.clicker-topbar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:18px;border:1px solid #385541;background:#385541}
.metric{position:relative;background:linear-gradient(140deg,#192b1e,#0e1913);padding:17px 20px;min-height:91px;overflow:hidden}
.metric::after{content:'';position:absolute;right:-14px;bottom:-35px;width:90px;height:90px;border:1px solid #95ff2430;transform:rotate(45deg)}
.metric-label{display:block;font-size:10px;color:#90a892;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
.metric strong{display:block;color:#fff;font:800 clamp(27px,3vw,43px)/1 'Barlow Condensed',sans-serif;margin-top:6px;letter-spacing:.015em}
.metric:nth-child(1) strong,.metric:nth-child(4) strong{color:#b6ff69}
.metric small{display:block;color:#8fa590;font-size:11px;margin-top:2px}
.game-grid{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(360px,.76fr);gap:18px;align-items:start}
.game-main,.shop-panel,.game-section,.lobby-panel,.ranking-panel{background:linear-gradient(150deg,#17241c,#0d1611);border:1px solid #385241;box-shadow:inset 0 1px #ffffff10,0 18px 55px #0005}
.game-main{overflow:hidden;position:relative}
.game-main::before,.shop-panel::before{content:'';display:block;height:3px;background:linear-gradient(90deg,#9bff24,#50dd88,transparent)}
.stage-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:20px 23px 0}
.zone-tag{display:inline-flex;gap:9px;align-items:center;background:#9bff2414;border:1px solid #9bff245c;color:#c5ffa2;padding:7px 10px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.zone-tag i{width:7px;height:7px;background:#9bff24;box-shadow:0 0 12px #9bff24}
.stage-tip{color:#8ca48f;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;text-align:right}
.stage{position:relative;min-height:430px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#2f6a3940,transparent 44%),radial-gradient(ellipse at 50% 82%,#76ed2e1a,transparent 34%),linear-gradient(155deg,#13231a,#0a1310 64%)}
.stage::before{content:'';position:absolute;inset:16px;background-image:linear-gradient(#8bff1710 1px,transparent 1px),linear-gradient(90deg,#8bff1710 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse,#000,transparent 72%);pointer-events:none}
.stage::after{content:'';position:absolute;bottom:17px;left:50%;width:420px;max-width:85%;height:65px;transform:translateX(-50%);background:radial-gradient(ellipse,#91ff2f45,transparent 70%);filter:blur(14px);pointer-events:none}
.click-target{position:relative;z-index:2;display:grid;place-items:center;width:min(390px,78%);height:365px;border:0;background:transparent;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;transition:transform .11s ease}
.click-target:hover{transform:translateY(-5px) scale(1.025)}
.click-target:active,.click-target.is-hit{transform:translateY(7px) scale(.96)}
.click-target img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 10px #0009) drop-shadow(0 0 28px #96ff2f28);animation:islandFloat 5s ease-in-out infinite;pointer-events:none}
@keyframes islandFloat{50%{translate:0 -8px}}
.click-target:focus-visible{outline:2px solid #9bff24;outline-offset:3px}
.stage-click-hint{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap;color:#d9f9c6;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;background:#0a150ec7;padding:8px 14px;border:1px solid #87ca5955;pointer-events:none}
.float-gain{position:absolute;z-index:5;color:#c6ff79;font:800 25px 'Barlow Condensed',sans-serif;text-shadow:0 2px 0 #133b13,0 0 18px #a4ff66;pointer-events:none;animation:floatGain .75s ease-out forwards}
@keyframes floatGain{to{transform:translateY(-65px);opacity:0}}
.stage-bottom{padding:19px 23px 23px;border-top:1px solid #2c4533;background:#122019}
.level-line{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
.level-line strong{font:800 25px 'Barlow Condensed',sans-serif;color:#f3fff0}
.level-line small{color:#9bad9c;font-size:11px}
.level-track,.charge-track{height:12px;background:#09120e;border:1px solid #3e6140;overflow:hidden}
.level-track span,.charge-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#51b956,#b0ff34);box-shadow:0 0 12px #9bff2480;transition:width .3s}
.level-caption{display:flex;justify-content:space-between;color:#8aa08e;font-size:11px;margin-top:7px}
.action-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
.action-card{background:#0b1710;border:1px solid #385540;padding:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:85px}
.action-card__title{display:block;color:#fff;font:800 19px 'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:1}
.action-card__desc{display:block;color:#96ae98;font-size:11px;margin-top:5px}
.action-card button,.buy-btn,.primary-btn,.secondary-btn,.auth-submit,.filter-btn{border:0;cursor:pointer;font:800 12px 'DM Sans',sans-serif;letter-spacing:.03em;transition:transform .16s,filter .16s,border-color .16s}
.action-card button{min-width:78px;padding:10px 9px;background:#243c29;color:#c8ffb1;border:1px solid #6d9e57}
.action-card button:hover:not(:disabled),.buy-btn:hover:not(:disabled),.primary-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.13)}
.action-card button:disabled,.buy-btn:disabled,.primary-btn:disabled{cursor:not-allowed;opacity:.48}
.charge-track{height:5px;margin-top:9px;max-width:150px}
.shop-panel{position:relative;overflow:hidden}
.shop-head{padding:22px 23px 18px;border-bottom:1px solid #344d3a;display:flex;justify-content:space-between;gap:8px;align-items:end}
.shop-head h2{font-size:33px;color:#f3fff1;margin:3px 0 0}
.shop-head small{color:#9aad9e;font-size:11px}
.shop-tabs{display:flex;gap:6px;padding:13px 18px;background:#111e16;border-bottom:1px solid #304a37}
.filter-btn{flex:1;padding:10px 4px;color:#a9bdaa;background:#1a2a1e;border:1px solid #344e3b}
.filter-btn.active{color:#111a0d;background:#9bff24;border-color:#9bff24}
.shop-list{padding:10px 13px 15px;max-height:643px;overflow:auto;scrollbar-color:#426747 #132318}
.upgrade{display:grid;grid-template-columns:45px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 8px;border-bottom:1px solid #31483a;min-height:85px}
.upgrade:last-child{border-bottom:0}
.upgrade-icon{display:grid;place-items:center;width:43px;height:43px;color:#b7ff72;background:linear-gradient(145deg,#2a4e32,#12291b);border:1px solid #527650;font-size:18px}
.upgrade.auto .upgrade-icon{color:#81dace;background:linear-gradient(145deg,#1d4541,#102521);border-color:#437b72}
.upgrade h3{font:800 20px/1 'Barlow Condensed',sans-serif;margin:0 0 4px;color:#f2fff1;text-transform:uppercase}
.upgrade p{font-size:11px;color:#93a795;margin:0;line-height:1.35}
.upgrade-meta{display:block;color:#b0c8ac;font-size:10px;margin-top:5px}
.buy-btn{min-width:88px;padding:10px 8px;background:#a6ff34;color:#10200b;white-space:nowrap}
.buy-btn small{display:block;font-size:10px;opacity:.75;font-weight:700;margin-top:2px}
.upgrade.locked{opacity:.62}
.upgrade.locked .buy-btn{background:#344137;color:#b0c0ae}
.game-lower{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px}
.game-section{padding:22px 23px}
.game-section h2{font-size:30px;color:#f2fff1;margin:4px 0 15px}
.zone-path{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.zone-node{padding:12px 8px;border:1px solid #3c5544;background:#142119;min-height:105px}
.zone-node.current{background:#9bff2414;border-color:#9bff24;box-shadow:inset 0 0 0 1px #9bff2433}
.zone-node.future{opacity:.47}
.zone-node small{display:block;color:#8ca58e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.zone-node strong{display:block;color:#fff;font:800 19px 'Barlow Condensed',sans-serif;line-height:1.1;margin-top:8px}
.zone-node span{display:block;color:#9caf9d;font-size:10px;margin-top:4px}
.prestige-card p{font-size:12px;color:#9fb1a0;line-height:1.6}
.primary-btn,.secondary-btn{padding:12px 15px;background:#9bff24;color:#0b1608}
.secondary-btn{background:#1d3021;color:#d2ffc0;border:1px solid #5c8b4b}
.prestige-card .primary-btn{width:100%;margin-top:10px}
.notice{padding:10px 12px;border:1px solid #668a54;background:#9bff2418;color:#ddffcb;font-size:12px;margin-bottom:16px}
.notice.error{border-color:#a2574b;background:#af4f3322;color:#ffd5c8}
.toast{position:fixed;right:20px;bottom:20px;z-index:2000;max-width:340px;padding:12px 16px;border:1px solid #9bff24;background:#14241a;color:#e6ffdb;box-shadow:0 12px 35px #0009;font-size:13px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}
.toast.show{opacity:1;transform:none}
/* Hall et classement */
.lobby-shell,.ranking-shell{max-width:1190px;margin:auto;padding:45px 28px 95px}
.lobby-hero{padding:44px 44px 46px;border:1px solid #4b694c;background:linear-gradient(92deg,#0d1b13 0%,#10281bc9 58%,#07140ca9),url('../img/minecraft.png') center/cover;position:relative;overflow:hidden}
.lobby-hero::before{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#9bff24,#49cc70,transparent)}
.lobby-hero h1,.ranking-hero h1{font-size:clamp(48px,7vw,88px);max-width:720px;color:#fff;margin:10px 0}
.lobby-hero h1 span,.ranking-hero h1 span{color:#9bff24}
.lobby-hero p{max-width:580px;color:#c1d3be;font-size:15px}
.lobby-grid{display:grid;grid-template-columns:1fr 390px;gap:18px;margin-top:18px}
.lobby-panel{padding:28px}
.lobby-panel h2{font-size:34px;color:#f1fff0;margin:0 0 10px}
.lobby-panel p{font-size:13px;color:#a3b6a4}
.feature-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}
.feature-step{border:1px solid #395441;background:#101b14;padding:17px}
.feature-step i{font-size:21px;color:#9bff24}
.feature-step strong{display:block;color:#fff;font:800 22px 'Barlow Condensed',sans-serif;text-transform:uppercase;margin-top:16px}
.feature-step span{display:block;color:#9bad9b;font-size:11px;margin-top:4px;line-height:1.5}
.auth-tabs{display:flex;gap:5px;margin-bottom:20px}
.auth-tabs button{flex:1;padding:11px;background:#1c2c20;border:1px solid #3b5941;color:#c2d5c0;font-weight:800;cursor:pointer}
.auth-tabs button.active{background:#9bff24;color:#13200f;border-color:#9bff24}
.auth-field{display:block;color:#c9dcc9;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:13px 0}
.auth-field input{display:block;width:100%;margin-top:6px;padding:12px 13px;font:500 14px 'DM Sans',sans-serif}
.auth-submit{width:100%;padding:14px;background:#9bff24;color:#11200b;margin-top:8px}
.auth-foot{font-size:11px;color:#879c88;margin-top:13px}
.lobby-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.ranking-hero{padding:32px 0 25px}
.ranking-hero h1{margin:8px 0}
.ranking-hero p{color:#a0b5a1}
.ranking-panel{padding:15px}
.rank-head,.rank-row{display:grid;grid-template-columns:65px minmax(0,1fr) 100px 100px 145px;align-items:center;gap:12px;padding:15px 18px}
.rank-head{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#9bb29c;font-weight:800;border-bottom:1px solid #3c5540}
.rank-row{border-bottom:1px solid #2d4334;color:#e8f2e7;font-size:13px}
.rank-row:last-child{border-bottom:0}
.rank-row:nth-child(even){background:#17251a}
.rank-row strong{font:800 23px 'Barlow Condensed',sans-serif;color:#b8ff72}
.rank-row .rank-name{font-weight:800;color:#fff}
.rank-row .rank-index{color:#a6c4a3;font:800 24px 'Barlow Condensed',sans-serif}
.rank-empty{text-align:center;padding:44px 20px;color:#a9bbaa}
@media(max-width:1050px){.game-grid{grid-template-columns:1fr}.shop-list{max-height:none}.game-lower{grid-template-columns:1fr}.lobby-grid{grid-template-columns:1fr 340px}}
@media(max-width:720px){.clicker-shell,.lobby-shell,.ranking-shell{padding:24px 15px 65px}.clicker-hero{display:block}.player-toolbar{justify-content:flex-start;margin-top:15px}.clicker-topbar{grid-template-columns:repeat(2,1fr)}.game-grid,.game-lower,.lobby-grid{display:block}.shop-panel,.game-section,.lobby-panel{margin-top:14px}.stage{min-height:350px}.click-target{height:300px}.action-row{grid-template-columns:1fr}.zone-path{grid-template-columns:repeat(2,1fr)}.lobby-hero{padding:30px 23px}.feature-steps{grid-template-columns:1fr}.rank-head,.rank-row{grid-template-columns:40px minmax(0,1fr) 55px 55px;gap:6px;padding:13px 8px}.rank-head span:last-child,.rank-row span:last-child{display:none}.ranking-panel{padding:5px}}
@media(prefers-reduced-motion:reduce){.click-target img{animation:none}.float-gain{animation:none}}
.stage.auto-running .click-target::before{content:'';position:absolute;inset:36px 10px 18px;border:2px dashed #80e7a157;transform:rotate(-8deg);animation:autoPulse 2.4s ease-in-out infinite;pointer-events:none}
.stage.boost-running .click-target img{filter:drop-shadow(0 20px 10px #0009) drop-shadow(0 0 38px #b5ff59bd)}
.stage.boost-running .stage-click-hint{border-color:#c5ff83;color:#fff;box-shadow:0 0 22px #9bff2455}
@keyframes autoPulse{50%{opacity:.35;transform:rotate(8deg) scale(1.05)}}
@media(prefers-reduced-motion:reduce){.stage.auto-running .click-target::before{animation:none}}
