:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f6fb;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}a{color:#254fc7;text-decoration:none}a:hover{text-decoration:underline}.auth{max-width:560px;margin:5vh auto;padding:28px;background:#fff;border:1px solid #e2e7f0;border-radius:20px;box-shadow:0 12px 40px #1b2c4d0c}.brand{font-weight:900;letter-spacing:.12em;color:#263d8e}.auth h1{font-size:2rem;line-height:1.15;margin:22px 0 8px}h1{font-size:1.8rem;margin:0 0 18px}h2{font-size:1.15rem;margin:0 0 14px}h3{margin:0 0 8px}p{line-height:1.55}.muted,small{color:#6b7486}.alert{padding:12px 14px;border-radius:10px;margin:0 0 12px}.alert.error{background:#fff0f0;color:#8d1b1b}.alert.success{background:#eaf8ef;color:#17643a}form{display:grid;gap:12px;margin:12px 0}label{display:grid;gap:6px;font-size:.92rem;font-weight:650}input,select,textarea{font:inherit;width:100%;padding:11px 12px;border:1px solid #cfd6e3;border-radius:9px;background:#fff;color:#172033}input[type=checkbox],input[type=radio]{width:auto}button{font:inherit;font-weight:750;border:0;border-radius:9px;background:#253e91;color:white;padding:11px 15px;cursor:pointer}button:hover{filter:brightness(1.08)}button.secondary{background:#e9edf7;color:#26365f}button.danger{background:#a52d38}.auth button{width:100%}header{height:68px;background:#fff;border-bottom:1px solid #e1e6f0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:14px}header form{margin:0}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 68px)}aside{padding:20px 14px;background:#fff;border-right:1px solid #e1e6f0;display:flex;flex-direction:column;gap:5px}aside a{padding:10px 12px;border-radius:8px;color:#2e3b57}aside a:hover{background:#f1f4fb;text-decoration:none}aside strong{padding:12px;color:#6b7486;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.content{padding:28px;min-width:0;max-width:1500px;width:100%;margin:0 auto}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.card,.panel{background:white;border:1px solid #e1e6f0;border-radius:14px;padding:18px;margin:14px 0;box-shadow:0 4px 18px #1b2c4d05}.card{margin:0;display:flex;flex-direction:column;gap:10px}.card span{color:#6b7486;font-size:.88rem}.card strong{font-size:1.5rem;overflow-wrap:anywhere}.positive{color:#14764a}.negative{color:#b32936}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.inline{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}.inline input,.inline select{width:auto;min-width:130px}.tablewrap{overflow:auto;background:#fff;border:1px solid #e1e6f0;border-radius:12px;margin:12px 0}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid #edf0f6;vertical-align:top}th{background:#f7f8fc;color:#5c6679;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}details summary{cursor:pointer;font-weight:750}fieldset{border:1px solid #dce2ed;border-radius:12px;padding:15px;margin:14px 0}legend{font-weight:750;padding:0 5px}.choice{display:flex;align-items:center;gap:9px;font-weight:500;padding:5px 0}.bars{display:flex;gap:14px;align-items:end;min-height:190px;padding:16px 0;overflow:auto}.barcol{min-width:72px;display:flex;flex-direction:column;align-items:center;gap:6px}.bar{width:34px;background:linear-gradient(180deg,#7289ee,#263e91);border-radius:7px 7px 2px 2px;min-height:4px}.barcol small{font-size:.72rem;white-space:nowrap}@media(max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.layout{grid-template-columns:1fr}aside{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid #e1e6f0;flex-wrap:wrap}aside a{white-space:nowrap}.content{padding:16px}}@media(max-width:560px){.auth{margin:12px;padding:20px}.cards,.grid2{grid-template-columns:1fr}.content{padding:12px}header{padding:0 12px}header span{display:none}.card strong{font-size:1.3rem}}


/* FunVault V6-aligned Admin Portal theme. Player Portal styles remain unchanged. */
.admin-shell{background:#0b1020;color:#e9edf7;color-scheme:dark}
.admin-shell a{color:#e1bf70}.admin-shell a:hover{color:#f4d990}
.admin-shell header{background:#10182b;border-bottom:1px solid #29334a;color:#e9edf7}
.admin-shell header .brand{color:#e3c275;font-weight:900;letter-spacing:.16em}
.admin-shell header span{color:#aeb9cf}
.admin-shell .layout{grid-template-columns:260px minmax(0,1fr);background:#0b1020}
.admin-shell aside{padding:18px 13px;background:#10182b;border-right:1px solid #29334a;gap:5px;min-width:0}
.admin-shell aside .nav-brand{color:#e3c275;font-weight:900;font-size:.82rem;letter-spacing:.14em;padding:10px 12px 18px}
.admin-shell aside strong{color:#8492ad;padding:14px 12px 7px;font-size:.7rem;letter-spacing:.12em}
.admin-shell aside .nav-section{margin-top:9px;border-top:1px solid #29334a;padding-top:20px}
.admin-shell aside a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:#c8d1e3;font-size:.91rem;line-height:1.3;transition:background .15s,color .15s}
.admin-shell aside a span{display:inline-block}.admin-shell aside a.active{background:linear-gradient(90deg,#3b3220,#1b2740);color:#f4d990;border-left:3px solid #d5b366;padding-left:9px}.admin-shell aside a:hover{background:#1b2740;color:#f4d990;text-decoration:none}
.admin-shell aside a[href*="page=admin"]{ }
.admin-shell .content{padding:30px;max-width:1600px}
.admin-shell .content h1{color:#f5f6fb;font-size:1.85rem;letter-spacing:-.025em;margin-bottom:20px}
.admin-shell h2,.admin-shell h3{color:#f0f3fa}
.admin-shell p{color:#c4cde0}.admin-shell .muted,.admin-shell small{color:#94a1ba}
.admin-shell .card,.admin-shell .panel{background:#121c30;border:1px solid #293650;border-radius:15px;box-shadow:0 8px 28px #00000018;color:#e9edf7}
.admin-shell .card span{color:#aab5ca}.admin-shell .card strong{color:#f3d58c}
.admin-shell .cards{gap:16px}.admin-shell .card{padding:20px}
.admin-shell button{background:#d5b366;color:#111827;border:1px solid #e2c87e;font-weight:800}
.admin-shell button:hover{filter:brightness(1.07)}
.admin-shell button.secondary{background:#24314a;color:#e3eaf8;border-color:#35445f}
.admin-shell button.danger{background:#9e3444;color:#fff;border-color:#b74b5b}
.admin-shell input,.admin-shell select,.admin-shell textarea{background:#0c1426;color:#edf2fb;border:1px solid #35425b}
.admin-shell input:focus,.admin-shell select:focus,.admin-shell textarea:focus{outline:2px solid #b9974e;outline-offset:1px}
.admin-shell .tablewrap{background:#121c30;border-color:#293650}
.admin-shell table{color:#e9edf7}.admin-shell th{background:#1a2740;color:#b9c5db;border-bottom:1px solid #34415a}
.admin-shell td{border-bottom:1px solid #293650}.admin-shell tr:last-child td{border-bottom:0}
.admin-shell fieldset{border-color:#35425b}.admin-shell .alert.success{background:#12382e;color:#b7f3d6}.admin-shell .alert.error{background:#451f2a;color:#ffd3d7}
.admin-shell .positive{color:#77ddb1}.admin-shell .negative{color:#ff929b}.admin-shell .bar{background:linear-gradient(180deg,#f0d58b,#9b7938)}
.admin-shell .choice{color:#dce4f2}.admin-shell hr{border:0;border-top:1px solid #293650;width:100%}
@media(max-width:900px){.admin-shell .layout{grid-template-columns:1fr}.admin-shell aside{display:flex;flex-direction:row;flex-wrap:wrap;overflow:auto;border-right:0;border-bottom:1px solid #29334a}.admin-shell aside .nav-brand{width:100%;padding-bottom:6px}.admin-shell aside strong{width:100%;padding-top:12px}.admin-shell aside .nav-section{margin-top:4px}.admin-shell aside a{white-space:nowrap}.admin-shell .content{padding:18px}}
@media(max-width:560px){.admin-shell .content{padding:12px}.admin-shell .cards{grid-template-columns:1fr 1fr}.admin-shell header{padding:0 12px}}

/* FunVault Player Portal + public landing page: match approved Admin navy/gold palette. */
body{background:#0b1020;color:#e9edf7}
.auth{background:radial-gradient(circle at top right,#1b2740 0,#10182b 48%,#0b1020 100%);color:#e9edf7;border:1px solid #293650;box-shadow:0 18px 55px #00000040}
.auth h1{color:#f5f6fb}.auth p{color:#c4cde0}.auth .muted,.auth small{color:#94a1ba}.auth .brand{display:inline-block;color:#e3c275;font-size:1.05rem;letter-spacing:.18em}.auth a{color:#e1bf70}.auth input,.auth select,.auth textarea{background:#0c1426;color:#edf2fb;border:1px solid #35425b}.auth input:focus,.auth select:focus,.auth textarea:focus{outline:2px solid #b9974e;outline-offset:1px}.auth button{background:#d5b366;color:#111827;border:1px solid #e2c87e}.auth button.secondary{background:#24314a;color:#e3eaf8;border-color:#35445f}
.player-shell{background:#0b1020;color:#e9edf7;color-scheme:dark}.player-shell a{color:#e1bf70}.player-shell a:hover{color:#f4d990}.player-shell header{background:#10182b;border-bottom:1px solid #29334a;color:#e9edf7}.player-shell header .brand{color:#e3c275;font-weight:900;letter-spacing:.16em}.player-shell header span{color:#aeb9cf}.player-shell .layout{grid-template-columns:260px minmax(0,1fr);background:#0b1020}.player-shell aside{padding:18px 13px;background:#10182b;border-right:1px solid #29334a;gap:5px;min-width:0}.player-shell aside .nav-brand{color:#e3c275;font-weight:900;font-size:.82rem;letter-spacing:.14em;padding:10px 12px 18px}.player-shell aside strong{color:#8492ad;padding:14px 12px 7px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.player-shell aside .nav-section{margin-top:9px;border-top:1px solid #29334a;padding-top:20px}.player-shell aside a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;color:#c8d1e3;font-size:.91rem;line-height:1.3;transition:background .15s,color .15s}.player-shell aside a span{display:inline-block}.player-shell aside a.active{background:linear-gradient(90deg,#3b3220,#1b2740);color:#f4d990;border-left:3px solid #d5b366;padding-left:9px}.player-shell aside a:hover{background:#1b2740;color:#f4d990;text-decoration:none}.player-shell .content{padding:30px;max-width:1600px}.player-shell .content h1{color:#f5f6fb;font-size:1.85rem;letter-spacing:-.025em;margin-bottom:20px}.player-shell h2,.player-shell h3{color:#f0f3fa}.player-shell p{color:#c4cde0}.player-shell .muted,.player-shell small{color:#94a1ba}.player-shell .card,.player-shell .panel{background:#121c30;border:1px solid #293650;border-radius:15px;box-shadow:0 8px 28px #00000018;color:#e9edf7}.player-shell .card span{color:#aab5ca}.player-shell .card strong{color:#f3d58c}.player-shell button{background:#d5b366;color:#111827;border:1px solid #e2c87e;font-weight:800}.player-shell button:hover{filter:brightness(1.07)}.player-shell button.secondary{background:#24314a;color:#e3eaf8;border-color:#35445f}.player-shell button.danger{background:#9e3444;color:#fff;border-color:#b74b5b}.player-shell input,.player-shell select,.player-shell textarea{background:#0c1426;color:#edf2fb;border:1px solid #35425b}.player-shell input:focus,.player-shell select:focus,.player-shell textarea:focus{outline:2px solid #b9974e;outline-offset:1px}.player-shell .tablewrap{background:#121c30;border-color:#293650}.player-shell table{color:#e9edf7}.player-shell th{background:#1a2740;color:#b9c5db;border-bottom:1px solid #34415a}.player-shell td{border-bottom:1px solid #293650}.player-shell tr:last-child td{border-bottom:0}.player-shell fieldset{border-color:#35425b}.player-shell .alert.success{background:#12382e;color:#b7f3d6}.player-shell .alert.error{background:#451f2a;color:#ffd3d7}.player-shell .choice{color:#dce4f2}.player-shell .bar{background:linear-gradient(180deg,#f0d58b,#9b7938)}.player-shell .primary-link{display:inline-block;background:#d5b366;color:#111827;font-weight:800;padding:11px 15px;border-radius:9px}.player-shell .primary-link:hover{text-decoration:none;filter:brightness(1.07)}
@media(max-width:900px){.player-shell .layout{grid-template-columns:1fr}.player-shell aside{display:flex;flex-direction:row;flex-wrap:wrap;overflow:auto;border-right:0;border-bottom:1px solid #29334a}.player-shell aside .nav-brand{width:100%;padding-bottom:6px}.player-shell aside strong{width:100%;padding-top:12px}.player-shell aside .nav-section{margin-top:4px}.player-shell aside a{white-space:nowrap}.player-shell .content{padding:18px}}
@media(max-width:560px){.player-shell .content{padding:12px}.player-shell .cards{grid-template-columns:1fr 1fr}.player-shell header{padding:0 12px}.auth{margin:12px;padding:22px}}


/* FunVault public landing page v0.6 — scoped to .landing-page; admin/player portal styles remain unchanged */
.public-body.landing-page{margin:0;min-height:100vh;background:#080d1d;color:#f6f3ff}
.auth.landing-page{max-width:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:hidden}
.landing-shell{position:relative;isolation:isolate;min-height:100vh;padding:0 clamp(20px,6vw,88px) 56px;background:radial-gradient(ellipse at 76% 18%,rgba(101,79,190,.34),transparent 30%),radial-gradient(ellipse at 91% 54%,rgba(20,177,194,.15),transparent 28%),radial-gradient(ellipse at 13% 72%,rgba(213,166,70,.12),transparent 26%),linear-gradient(135deg,#080d1d 0%,#101832 55%,#0b1023 100%)}
.landing-shell:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.23;pointer-events:none;background-image:radial-gradient(circle at 12% 20%,#e7c56b 0 2px,transparent 3px),radial-gradient(circle at 83% 31%,#a18bff 0 2px,transparent 3px),radial-gradient(circle at 67% 72%,#49e0dc 0 2px,transparent 3px),radial-gradient(circle at 34% 88%,#e7c56b 0 2px,transparent 3px);background-size:130px 150px,190px 170px,160px 180px,210px 190px}
.landing-header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(225,211,255,.13)}
.landing-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.landing-brand:hover{text-decoration:none}.landing-brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#f3d47a,#b98430);color:#15152b;font-weight:1000;font-size:15px;box-shadow:0 0 28px rgba(225,183,79,.19)}.landing-brand strong{display:block;letter-spacing:.15em;color:#f1cd70;font-size:20px}.landing-brand small{display:block;margin-top:4px;color:#aeb9d8;font-size:9px;letter-spacing:.12em}
.landing-actions{display:flex;align-items:center;gap:10px}.landing-login,.landing-register{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:13px;padding:12px 18px;font-weight:800;text-decoration:none;transition:transform .18s ease,filter .18s ease}.landing-login:hover,.landing-register:hover{transform:translateY(-2px);text-decoration:none;filter:brightness(1.08)}.landing-login{color:#f7f4ff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}.landing-register{color:#080d1d!important;background:linear-gradient(135deg,#f5d77c,#d8a844);box-shadow:0 10px 28px rgba(216,168,68,.16)}
.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:clamp(28px,5vw,76px);padding:clamp(48px,7vw,100px) 0 68px;max-width:1420px;margin:0 auto}
.landing-copy{max-width:670px}.landing-kicker{display:inline-flex;align-items:center;gap:8px;color:#f2ce70;font-size:11px;font-weight:900;letter-spacing:.16em;border:1px solid rgba(235,194,92,.38);background:rgba(235,194,92,.07);border-radius:999px;padding:9px 13px}.landing-copy h1{font-size:clamp(44px,6vw,82px);letter-spacing:-.055em;line-height:.99;margin:24px 0 20px;color:#f7f5ff}.landing-copy h1 em{font-style:normal;color:#f0c965;text-shadow:0 0 32px rgba(232,191,86,.13)}.landing-lede{max-width:610px;color:#c1cbe5;font-size:clamp(16px,1.4vw,19px);line-height:1.7}.landing-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.landing-primary{padding:15px 20px;color:#080d1d!important}.landing-secondary{padding:15px 20px}.landing-note{margin-top:18px;color:#aab8d8;font-size:12px}
.landing-stage{position:relative;min-height:380px;display:grid;place-items:center}.stage-glow{position:absolute;width:74%;height:70%;border-radius:50%;background:radial-gradient(ellipse,rgba(112,91,213,.4),rgba(27,195,199,.08) 50%,transparent 72%);filter:blur(18px)}.stage-card{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;width:min(100%,470px);min-height:330px;padding:30px;border-radius:34px;border:1px solid rgba(195,199,255,.25);background:linear-gradient(145deg,rgba(34,44,81,.88),rgba(13,20,43,.92));box-shadow:0 28px 90px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.08);overflow:hidden}.stage-card:before{content:"";position:absolute;inset:-30% 25% 40% -20%;background:linear-gradient(115deg,transparent,rgba(255,255,255,.06),transparent);transform:rotate(16deg)}.stage-spark{position:absolute;top:26px;right:32px;color:#f4d274;font-size:26px}.stage-emoji{font-size:clamp(70px,8vw,105px);filter:drop-shadow(0 15px 18px rgba(0,0,0,.28));z-index:1}.stage-plus{font-size:25px;color:#e9c76e;margin:4px 0}.stage-trophy{font-size:57px;z-index:1;filter:drop-shadow(0 10px 15px rgba(238,183,62,.16))}.stage-caption{margin-top:18px;color:#f2d27a;font-size:11px;letter-spacing:.19em;font-weight:900}.stage-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:15px}.stage-chips span{font-size:9px;letter-spacing:.06em;color:#d9e2ff;border:1px solid rgba(196,203,255,.17);border-radius:999px;padding:7px 9px;background:rgba(255,255,255,.04)}
.party-orb{position:absolute;border-radius:50%;filter:blur(.2px);animation:fv-float 6s ease-in-out infinite}.orb-one{width:18px;height:18px;top:8%;left:14%;background:#f3cd68;box-shadow:0 0 25px #f3cd6888}.orb-two{width:13px;height:13px;right:8%;top:22%;background:#62d9e4;box-shadow:0 0 24px #62d9e488;animation-delay:-2s}.orb-three{width:10px;height:10px;left:12%;bottom:15%;background:#b69aff;box-shadow:0 0 24px #b69aff88;animation-delay:-4s}.float-tag{position:absolute;padding:11px 14px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(17,26,53,.88);color:#f7f2ff;font-size:11px;font-weight:850;box-shadow:0 15px 35px rgba(0,0,0,.22);backdrop-filter:blur(8px)}.float-tag-a{top:10%;left:0;transform:rotate(-7deg)}.float-tag-b{right:-1%;top:49%;transform:rotate(6deg)}.float-tag-c{left:3%;bottom:8%;transform:rotate(-4deg)}@keyframes fv-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.landing-below{max-width:1420px;margin:0 auto;padding:12px 0 46px}.landing-section-title{text-align:center;margin-bottom:24px}.landing-section-title>span{font-size:10px;font-weight:900;letter-spacing:.19em;color:#e9c66d}.landing-section-title h2,.landing-login-panel h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.03em;color:#f8f6ff;margin:10px 0}.landing-games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.landing-games article{border:1px solid rgba(194,203,255,.15);border-radius:21px;padding:24px;background:linear-gradient(145deg,rgba(28,38,72,.83),rgba(14,21,43,.92));box-shadow:0 14px 36px rgba(0,0,0,.13)}.game-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(231,193,94,.12);font-size:24px}.landing-games h3{font-size:18px;color:#fff;margin:17px 0 7px}.landing-games p{color:#b7c4e2;margin:0;line-height:1.6;font-size:14px}.landing-footer-note{margin-top:20px;border:1px solid rgba(227,187,86,.25);background:rgba(227,187,86,.07);border-radius:14px;padding:15px 18px;color:#d5d8ea;font-size:12px;line-height:1.6}
.landing-login-panel{max-width:1000px;margin:10px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;border:1px solid rgba(194,203,255,.18);border-radius:24px;padding:clamp(22px,4vw,42px);background:linear-gradient(135deg,rgba(28,38,72,.9),rgba(12,18,37,.94))}.landing-login-panel p{color:#b8c4e3}.landing-login-panel form{margin:0}.landing-login-panel label{color:#e8eaff}.landing-login-panel input{background:#0b1228;color:#f6f3ff;border-color:#394467}.landing-login-panel input:focus{outline:2px solid #e9c66d;outline-offset:1px}.landing-login-panel button{background:linear-gradient(135deg,#f5d77c,#d8a844);color:#15152b}.landing-login-panel form p{margin:0;font-size:13px}.landing-login-panel form a{color:#f0ce75}
@media(max-width:900px){.landing-hero{grid-template-columns:1fr;padding-top:50px}.landing-copy{max-width:760px}.landing-stage{min-height:340px}.stage-card{min-height:290px}.landing-login-panel{grid-template-columns:1fr}.landing-games{grid-template-columns:1fr}}
@media(max-width:520px){.landing-shell{padding-left:18px;padding-right:18px}.landing-header{min-height:74px}.landing-brand strong{font-size:16px}.landing-brand small{font-size:7px}.landing-brand-mark{width:36px;height:36px}.landing-actions{gap:6px}.landing-login,.landing-register{padding:10px 11px;font-size:12px}.landing-copy h1{font-size:46px}.landing-stage{min-height:300px}.stage-card{min-height:260px;padding:20px}.float-tag{font-size:9px;padding:8px 9px}.landing-login-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){.party-orb{animation:none}.landing-login,.landing-register{transition:none}}
