@font-face{font-family:Anton;src:url(/fonts/anton.woff2) format('woff2');font-display:swap}
@font-face{font-family:Inter;font-weight:400;src:url(/fonts/inter-400.woff2) format('woff2');font-display:swap}
@font-face{font-family:Inter;font-weight:600;src:url(/fonts/inter-600.woff2) format('woff2');font-display:swap}
@font-face{font-family:Inter;font-weight:800;src:url(/fonts/inter-800.woff2) format('woff2');font-display:swap}
:root{--ink:#07030f;--ink2:#120820;--ink3:#1d1030;--line:rgba(255,255,255,.14);--txt:#f7f1ff;--mut:#b8a9cc;--mag:#ff2e88;--ora:#ff8a3d;--cya:#19e6ff;--gold:#ffc857;--vio:#8a4dff;--grn:#3dff9e;--red:#ff2a3d;--grad:linear-gradient(100deg,#ff8a3d,#ff2e88 55%,#8a4dff)}
*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--txt);font:400 16px/1.55 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}h1,h2,h3{font-family:Anton,Impact,sans-serif;font-weight:400;line-height:1.02;margin:0;letter-spacing:.005em}
button,input,textarea,select{font:inherit}.hidden{display:none!important}
:focus-visible{outline:3px solid var(--cya);outline-offset:2px}
.btn-neon,.btn-ghost,.btn-text{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 24px;border:0;border-radius:4px;font-weight:800;font-size:14px;letter-spacing:.06em;text-decoration:none;cursor:pointer;transition:transform .15s,filter .15s,background .15s;text-transform:uppercase}
.btn-neon{background:var(--grad);color:#fff;box-shadow:0 8px 34px rgba(255,46,136,.42)}.btn-neon:hover{filter:brightness(1.14);transform:translateY(-2px)}.btn-neon:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none;filter:saturate(.3)}
.btn-neon.xl{min-height:58px;padding:16px 34px;font-size:16px}
.btn-ghost{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px)}.btn-ghost:hover{background:rgba(255,255,255,.16)}
.btn-text{background:none;color:var(--mut);text-decoration:underline;min-height:40px}.btn-text:hover{color:#fff}

/* navigation */
.nav{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;gap:26px;padding:18px clamp(18px,4vw,52px);transition:background .25s}
.nav.solid{background:rgba(7,3,15,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{font:400 30px Anton,sans-serif;letter-spacing:.05em;text-decoration:none;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links{display:flex;gap:22px;margin-left:auto;align-items:center;font-weight:600;font-size:14px}.nav-links a{text-decoration:none;color:#fff;opacity:.88}.nav-links a:hover{opacity:1;color:var(--cya)}
.nav-links .btn-neon{min-height:40px;padding:8px 18px;font-size:12px;color:#fff}.nav-links .btn-neon:hover{color:#fff}
@media(max-width:640px){.nav-links a.opt{display:none}.logo{font-size:26px}}

/* accueil */
.hero{position:relative;height:100svh;min-height:620px;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(180deg,#0b0420 0%,#5d0d55 48%,#ff4d6d 72%,#ff8a3d 82%,#07030f 83%)}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s}#hero-canvas.ready{opacity:1}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,3,15,.5),transparent 28%,transparent 45%,rgba(7,3,15,.82) 82%,var(--ink));pointer-events:none}
.hero-copy{position:relative;z-index:2;padding:0 clamp(18px,5vw,72px) clamp(32px,7vh,74px);width:100%}
.hero-eyebrow{font-weight:800;letter-spacing:.3em;font-size:12px;color:var(--cya);text-transform:uppercase;margin:0 0 14px}
.hero h1{font-size:clamp(68px,15.5vw,250px);line-height:.88;text-transform:uppercase;text-shadow:0 8px 60px rgba(255,46,136,.5)}
.hero p.lead{font-size:clamp(17px,2vw,23px);max-width:640px;margin:18px 0 26px;color:#fff;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.live{font-size:13px;color:var(--grn);font-weight:800;letter-spacing:.06em;margin-left:6px}
.games{padding:clamp(50px,9vh,110px) 0 0}
.section-head{padding:0 clamp(18px,5vw,72px);margin-bottom:34px}.section-head small{color:var(--mag);font-weight:800;letter-spacing:.3em}.section-head h2{font-size:clamp(42px,7vw,104px);text-transform:uppercase;margin-top:8px}
.game-row{position:relative;display:grid;grid-template-columns:1fr;min-height:92svh;align-items:flex-end;overflow:hidden;margin-bottom:6px;isolation:isolate}
.game-art{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.game-row:hover .game-art{transform:scale(1.04)}
.game-row::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,3,15,.92) 0%,rgba(7,3,15,.55) 42%,transparent 72%),linear-gradient(0deg,rgba(7,3,15,.9),transparent 45%)}
.art-djinn-bg{background-color:#190a2d;background-image:url(/img/djinn.jpg)}.art-medina-bg{background-color:#1a0d09;background-image:url(/img/medina.jpg)}.art-kefta-bg{background-color:#2b0b05;background-image:url(/img/kefta.jpg)}
.game-copy{padding:clamp(28px,6vw,80px) clamp(18px,5vw,72px);max-width:760px}
.tag{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--cya);margin-bottom:12px}
.game-copy h3{font-size:clamp(52px,9.5vw,142px);text-transform:uppercase;line-height:.92}
.game-copy p{font-size:clamp(16px,1.6vw,19px);margin:16px 0 12px;max-width:600px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none}.chips li{padding:5px 11px;border:1px solid rgba(255,255,255,.3);border-radius:3px;font-size:12px;font-weight:600;background:rgba(7,3,15,.4)}
.game-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.game-price{font-weight:800;font-size:15px;margin-left:6px}.game-price small{display:block;color:var(--mut);font-weight:600;font-size:12px}
.owned{color:var(--grn);font-weight:800}
.band{padding:clamp(60px,10vh,120px) clamp(18px,5vw,72px)}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;margin-top:30px}
.step{background:var(--ink2);padding:28px}.step b{display:block;font:400 54px Anton,sans-serif;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.step h3{font-size:26px;margin:10px 0 8px;text-transform:uppercase}.step p{color:var(--mut);margin:0}
.progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.panel{background:var(--ink2);border:1px solid var(--line);padding:24px;border-radius:6px}.panel h3{font-size:30px;text-transform:uppercase;margin-bottom:14px}
.challenge{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:15px}.challenge.done{color:var(--grn)}.challenge span:last-child{white-space:nowrap;font-weight:800}
.rank{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line)}.rank b{color:var(--gold)}.muted{color:var(--mut)}
footer{padding:40px clamp(18px,5vw,72px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;color:var(--mut);font-size:14px}footer a{margin-right:16px}

/* pages formulaires */
.page{min-height:100svh;padding:110px clamp(18px,5vw,72px) 60px;background:radial-gradient(900px 500px at 85% -10%,rgba(255,46,136,.28),transparent),radial-gradient(700px 500px at -5% 10%,rgba(138,77,255,.28),transparent)}
.page h1{font-size:clamp(44px,7vw,84px);text-transform:uppercase;margin-bottom:12px}.wrap{max-width:660px}.wrap.wide{max-width:1180px}
.card{background:rgba(18,8,32,.86);border:1px solid var(--line);border-radius:6px;padding:clamp(20px,3vw,30px);margin:18px 0}
label{display:block;font-weight:600;font-size:14px;margin:14px 0 6px}input,textarea,select,.menu-input{width:100%;min-height:46px;padding:10px 13px;background:#0b0516;border:1px solid rgba(255,255,255,.26);border-radius:4px;color:#fff;font-size:16px}input:focus,textarea:focus{border-color:var(--cya);outline:none}
input[type=checkbox]{width:20px;min-height:20px;height:20px;flex:none;accent-color:var(--mag)}.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form-error{background:rgba(255,42,61,.16);border:1px solid var(--red);padding:10px 13px;border-radius:4px;color:#ffc4ca;font-size:14px}.form-ok{background:rgba(61,255,158,.12);border:1px solid var(--grn);padding:10px 13px;border-radius:4px;color:#bfffdc;font-size:14px}
.tabs{display:flex;gap:8px;margin-bottom:8px}.tabs button{flex:1;background:none;border:0;border-bottom:3px solid var(--line);color:var(--mut);padding:12px;font-weight:800;cursor:pointer}.tabs button.on{color:#fff;border-color:var(--mag)}
.bank{display:grid;gap:12px;margin:14px 0}.bank div{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:12px}.bank span{color:var(--mut);font-size:14px}.bank b{font-size:17px;word-break:break-word}.bank .big{font-size:24px;color:var(--gold)}
.copy{background:none;border:1px solid var(--line);color:#fff;border-radius:3px;padding:3px 10px;font-size:12px;cursor:pointer;margin-left:8px}
.status{display:inline-block;padding:4px 10px;border-radius:3px;font-size:12px;font-weight:800;letter-spacing:.06em}.st-PAID{background:var(--grn);color:#02160c}.st-PROOF{background:var(--gold);color:#201400}.st-PENDING{background:rgba(255,255,255,.14)}.st-REJECTED,.st-REVOKED{background:var(--red)}.st-EXPIRED{background:#444}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--mut);font-size:12px;letter-spacing:.05em}.table-wrap{overflow-x:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--ink2);border:1px solid var(--line);padding:16px;border-radius:5px}.kpi b{display:block;font:400 36px Anton,sans-serif}.kpi span{color:var(--mut);font-size:13px}
.hats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.hat{background:var(--ink3);border:2px solid transparent;color:#fff;padding:12px;border-radius:4px;cursor:pointer;font-weight:600}.hat.on{border-color:var(--mag)}.hat:disabled{opacity:.42;cursor:not-allowed}.hat small{display:block;color:var(--mut);font-weight:400}
.warn{color:var(--gold);font-weight:600}.prose{max-width:760px}.prose h2{font-size:30px;margin:30px 0 8px;text-transform:uppercase}.prose p,.prose li{color:#dfd5ee}

/* écrans du jeu */
body.playing{overflow:hidden;position:fixed;inset:0;touch-action:none;user-select:none;-webkit-user-select:none}
#app{min-height:100svh}.screen{position:relative;min-height:100svh;display:flex;align-items:center;padding:24px clamp(18px,6vw,90px);background-size:cover;background-position:center}
.screen::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,3,15,.93) 25%,rgba(7,3,15,.45))}
.art-djinn{background-image:url(/img/djinn.jpg);background-color:#190a2d}.art-medina{background-image:url(/img/medina.jpg);background-color:#1a0d09}.art-kefta{background-image:url(/img/kefta.jpg);background-color:#2b0b05}
.menu-box,.lobby-box{position:relative;width:min(560px,100%);display:flex;flex-direction:column;gap:12px}
.play-logo{font:400 26px Anton,sans-serif;text-decoration:none;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;align-self:flex-start}
.menu-title{font-size:clamp(50px,9vw,104px);text-transform:uppercase;line-height:.95}.menu-title.small{font-size:clamp(38px,6vw,64px)}.menu-tag{font-size:19px;font-weight:600;margin:0}.menu-how{color:#d9cee8;margin:0}.menu-status{margin:0;font-weight:800;color:var(--gold);font-size:14px}.menu-status.ok{color:var(--grn)}
.menu-actions{display:flex;flex-direction:column;gap:9px}.menu-join{display:flex;gap:9px}.menu-input.code{text-transform:uppercase;letter-spacing:.3em;font-weight:800;text-align:center}.menu-join .menu-input{flex:1;min-width:0}.menu-keys{color:var(--mut);font-size:13px;margin:0}.menu-buy{color:var(--cya);font-weight:800;font-size:14px}
.lobby-count{font:400 40px Anton,sans-serif;color:var(--gold);margin:0}.lobby-code{background:rgba(255,255,255,.07);border:1px solid var(--line);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-radius:4px}.lobby-code small{color:var(--mut);font-weight:800;letter-spacing:.14em}.lobby-code b{font:400 40px Anton,sans-serif;letter-spacing:.14em;color:var(--cya)}
.lobby-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}.lobby-list li{display:flex;gap:9px;align-items:center;background:rgba(255,255,255,.06);padding:9px 11px;border-radius:3px;font-weight:600;min-width:0}.lobby-list i{width:13px;height:13px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c);flex:none}.lobby-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-list em{margin-left:auto;font-style:normal;font-size:10px;font-weight:800;color:var(--mut)}.lobby-list em.you{color:var(--cya)}.lobby-list em.host{color:var(--gold)}
.perks{margin:0;padding-left:20px;font-weight:600}.price{font:400 66px Anton,sans-serif;margin:0;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}.price-sub{margin:-8px 0 6px;color:var(--mut)}

.game-canvas{position:fixed;inset:0;width:100vw;height:100svh;display:block;background:#000}
.fx-vignette,.fx-fear,.fx-dark,.fx-grain{position:fixed;inset:0;pointer-events:none}.fx-vignette{background:radial-gradient(ellipse at center,transparent 48%,rgba(0,0,0,.72));}.fx-fear{opacity:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(190,0,25,.62));transition:opacity .25s}.fx-dark{opacity:0;background:#000;transition:opacity .6s}
.fx-grain{opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hud{position:fixed;inset:0;pointer-events:none;z-index:5;font-weight:800;text-shadow:0 1px 6px #000}
.hud-top{position:absolute;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;background:rgba(7,3,15,.6);backdrop-filter:blur(8px);border:1px solid var(--line);padding:8px 16px;border-radius:4px;max-width:calc(100vw - 20px)}
.hud-gauge{width:clamp(130px,26vw,300px)}.hud-gauge-lbl{font-size:11px;letter-spacing:.12em;margin-bottom:3px}.hud-gauge-bar{height:8px;background:rgba(255,255,255,.14);border-radius:1px;overflow:hidden}.hud-gauge-bar i{display:block;height:100%;width:0;background:var(--grad);transition:width .3s;box-shadow:0 0 12px var(--mag)}.hud-gauge-bar.gold i{background:linear-gradient(90deg,#ff8a3d,#ffc857)}.hud-gauge-bar.done i{background:var(--grn);box-shadow:0 0 12px var(--grn)}
.hud-clock{font:400 28px Anton,sans-serif;letter-spacing:.04em;white-space:nowrap}.hud-clock.urgent{color:var(--red);animation:pulse .7s infinite alternate}.hud-chip{font:400 19px Anton,sans-serif;color:var(--gold);white-space:nowrap}
@keyframes pulse{to{opacity:.5}}
.hud-role{position:absolute;top:calc(14px + env(safe-area-inset-top));left:14px;font:400 19px Anton,sans-serif;padding:4px 12px;background:var(--cya);color:#02131a;text-shadow:none;border-radius:2px}.hud-role.evil{background:var(--red);color:#fff}
.hud-map{position:absolute;right:14px;top:calc(14px + env(safe-area-inset-top));background:rgba(7,3,15,.6);border:1px solid var(--line);border-radius:4px;width:clamp(100px,16vw,184px);height:auto}
.hud-hint{position:absolute;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);font-size:14px;font-weight:600;text-align:center;max-width:44vw}
.hud-toasts{position:absolute;left:14px;top:90px;display:flex;flex-direction:column;gap:6px}.toast{margin:0;background:rgba(7,3,15,.72);padding:6px 12px;border-left:3px solid var(--mag);font-size:13px;animation:slide .25s}@keyframes slide{from{opacity:0;transform:translateX(-14px)}}
.hud-banner{position:absolute;top:24%;left:0;right:0;text-align:center;padding:18px 16px;background:linear-gradient(90deg,transparent,rgba(7,3,15,.82) 22%,rgba(7,3,15,.82) 78%,transparent);animation:banner 4.2s forwards;opacity:0}
.hud-banner h2{font-size:clamp(46px,9vw,108px);text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.hud-banner.evil h2{background:linear-gradient(90deg,#ff2a3d,#ff5a7a);-webkit-background-clip:text;background-clip:text}.hud-banner.good h2{background:linear-gradient(90deg,#ffc857,#3dff9e);-webkit-background-clip:text;background-clip:text}.hud-banner.hot h2{background:linear-gradient(90deg,#ffc857,#ff5a2a);-webkit-background-clip:text;background-clip:text}.hud-banner p{margin:6px 0 0;font-size:clamp(15px,1.8vw,20px);font-weight:600}.hud-banner.mini{top:14%;background:none}
@keyframes banner{0%{opacity:0;transform:scale(1.08)}7%{opacity:1;transform:scale(1)}80%{opacity:1}100%{opacity:0}}
.hud-compass{position:absolute;left:14px;top:calc(62px + env(safe-area-inset-top));width:62px;height:62px;border-radius:50%;background:rgba(7,3,15,.6);border:1px solid var(--line);display:grid;place-items:center;font-size:10px;letter-spacing:.08em}.hud-needle{position:absolute;width:4px;height:24px;top:7px;left:29px;transform-origin:2px 24px;background:var(--grn);box-shadow:0 0 10px var(--grn);border-radius:2px}.hud-compass.home{border-color:var(--grn)}.hud-compass span{margin-top:26px}
.hud-toasts{top:136px}.hud-stam{position:absolute;left:50%;bottom:calc(52px + env(safe-area-inset-bottom));transform:translateX(-50%);width:170px;height:5px;background:rgba(255,255,255,.16)}.hud-stam i{display:block;height:100%;background:var(--cya);box-shadow:0 0 10px var(--cya)}.hud-carry{position:absolute;left:50%;bottom:calc(66px + env(safe-area-inset-bottom));transform:translateX(-50%);color:var(--gold);font-size:15px;white-space:nowrap}
.hud-score{position:absolute;left:14px;top:calc(14px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:3px;font-size:13px}.score-row{display:flex;gap:10px;justify-content:space-between;min-width:138px;padding:3px 9px;background:rgba(7,3,15,.6);border-left:3px solid var(--c)}.score-row.out{opacity:.42}.score-row.me{background:rgba(255,46,136,.3)}.score-row b{color:var(--gold)}
.hud-feed{position:absolute;right:14px;top:calc(14px + env(safe-area-inset-top));text-align:right;font-size:13px;font-weight:600}.hud-feed p{margin:0 0 4px}
.hud-mute{position:fixed;z-index:8;right:14px;bottom:calc(10px + env(safe-area-inset-bottom));background:rgba(7,3,15,.6);color:#ccc;border:1px solid var(--line);font-size:11px;font-weight:800;padding:5px 9px;cursor:pointer;border-radius:3px;display:none}@media(pointer:fine){.hud-mute{display:block;bottom:auto;top:154px}}
.hud-controls{position:fixed;z-index:7;right:calc(14px + env(safe-area-inset-right));bottom:calc(34px + env(safe-area-inset-bottom));display:flex;flex-wrap:wrap-reverse;justify-content:flex-end;gap:8px;width:min(380px,50vw)}
.act{position:relative;overflow:hidden;min-width:112px;min-height:58px;padding:7px 12px;background:rgba(7,3,15,.74);backdrop-filter:blur(6px);color:#fff;border:2px solid var(--cya);box-shadow:0 0 14px rgba(25,230,255,.35);border-radius:4px;font:400 17px Anton,sans-serif;letter-spacing:.05em;cursor:pointer;touch-action:none}
.act.danger{border-color:var(--red);box-shadow:0 0 14px rgba(255,42,61,.45)}.act.big{min-width:150px;min-height:82px;font-size:25px;border-color:var(--ora);box-shadow:0 0 22px rgba(255,138,61,.5)}.act.small{min-width:72px;min-height:38px;font:800 10px Inter,sans-serif;border-width:1px;border-color:var(--line);box-shadow:none}
.act.off{opacity:.38;box-shadow:none;border-color:var(--line)}.act.down{transform:scale(.96);background:rgba(255,46,136,.5)}.act-label,.act small,.act kbd{position:relative;z-index:1}.act-note{display:block;font:800 11px Inter,sans-serif;color:var(--gold)}.act kbd{position:absolute;top:3px;right:5px;font:800 9px Inter,sans-serif;opacity:.62}
.act-prog{position:absolute;inset:0;background:linear-gradient(90deg,var(--ora),var(--mag));opacity:.75;transform:scaleX(0);transform-origin:left}
.stick-zone{position:fixed;left:0;top:90px;bottom:0;width:48vw;z-index:6;touch-action:none;display:none}@media(pointer:coarse){.stick-zone{display:block}.act{min-height:64px}}
.stick{position:fixed;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);opacity:0;left:90px;top:calc(100svh - 110px)}.stick.on{opacity:1}.stick i{position:absolute;left:35px;top:35px;width:46px;height:46px;border-radius:50%;background:var(--grad);box-shadow:0 0 18px var(--mag)}

.council{position:absolute;inset:0;pointer-events:auto;background:rgba(7,3,15,.88);backdrop-filter:blur(7px);padding:calc(70px + env(safe-area-inset-top)) clamp(14px,5vw,70px) 20px;overflow:auto;text-shadow:none;z-index:9}
.council-head{display:flex;justify-content:space-between;align-items:baseline}.council-head h2{font-size:clamp(40px,6vw,70px);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.council-tm{font:400 34px Anton,sans-serif;color:var(--gold)}.council-why{font-weight:600;margin:4px 0 14px}
.council-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.vote-card{background:var(--ink3);color:#fff;border:2px solid transparent;border-left:5px solid var(--c);padding:11px 12px;text-align:left;border-radius:3px;cursor:pointer;min-height:58px}.vote-card:disabled{cursor:default}.vote-card.sel,.vote-card.voted{border-color:var(--mag);border-left-color:var(--c);background:rgba(255,46,136,.22)}.vote-card b,.vote-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vote-card small{color:var(--mut);font-weight:400}.vote-card.me b::after{content:' (toi)';color:var(--cya);font-weight:400}
.council-acts{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.council-wait{margin:0;font-weight:600;color:var(--gold)}.council-say{display:flex;flex-wrap:wrap;gap:6px}.say-btn{background:rgba(255,255,255,.08);color:#fff;border:1px solid var(--line);padding:7px 11px;border-radius:3px;font-size:13px;font-weight:600;cursor:pointer}.say-btn:disabled{opacity:.42;cursor:not-allowed}.council-log{margin-top:12px;max-height:150px;overflow:auto;background:rgba(0,0,0,.34);padding:10px 12px;font-size:14px;font-weight:400;border-radius:3px;min-height:46px}.council-log p{margin:0 0 4px}

.results{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:rgba(7,3,15,.9);backdrop-filter:blur(9px);padding:20px;overflow:auto;animation:fade .4s}@keyframes fade{from{opacity:0}}
.results-box{width:min(620px,100%);display:flex;flex-direction:column;gap:11px}.results-eyebrow{margin:0;font-weight:800;letter-spacing:.3em;color:var(--cya);font-size:13px}.results.lost .results-eyebrow{color:var(--red)}.results-title{font-size:clamp(46px,9vw,92px);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase}.results-lines{list-style:none;padding:0;margin:0}.results-lines li{padding:6px 0;border-bottom:1px solid var(--line)}
.xp-head{font-weight:800;font-size:14px;margin-bottom:5px}.xp-bar{height:10px;background:rgba(255,255,255,.14)}.xp-bar i{display:block;height:100%;width:0;background:var(--grad);transition:width 1.3s cubic-bezier(.2,.8,.2,1)}.reward{margin:0;font-weight:800;color:var(--gold)}.reward.subtle{color:var(--mut);font-weight:600}
@media(max-width:700px){.hud-map{width:88px}.hud-top{gap:8px;padding:6px 10px;top:calc(46px + env(safe-area-inset-top))}.hud-gauge{width:92px}.hud-clock{font-size:21px}.hud-chip{font-size:14px}.hud-compass{top:calc(110px + env(safe-area-inset-top))}.hud-toasts{top:180px}.hud-hint{display:none}.hud-score{top:calc(92px + env(safe-area-inset-top))}.act{min-width:92px;font-size:15px}.act.small{min-width:58px}.hud-feed{top:calc(92px + env(safe-area-inset-top))}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
