/* BodhiX identity surface. Geometry is the canonical four-part Portal mark. */
:root {
  --paper:#0b0c0f; --white:#14161a; --ink:#f2f1eb; --muted:#a7a8ae;
  --line:#ffffff16; --orange:#ffc43d; --lime:#ffc43d; --os-green:#ffc43d;
  --id-gold:#ffc43d; --id-silver:#d4d5db; --id-success:#78d9a0;
  --id-pass:#bcacf0; --id-error:#ff9695; --id-focus:0 0 0 2px #0b0c0f,0 0 0 4px #ffc43d;
  --identity-environment:url('/assets/portal-environment-044.webp');
}
html { scroll-padding-top:150px; scrollbar-color:#55565d #0b0c0f; }
body,body.signed-in-dashboard {
  background:radial-gradient(ellipse at 22% 6%,#ffc43d09,transparent 42%),#0b0c0f;
  color:var(--ink); -webkit-font-smoothing:antialiased;
}
body:before { display:none; }
body:after { display:none; }
body.signed-in-dashboard:after { display:block; inset:80px 0 0; height:auto; opacity:.4;
  background:radial-gradient(ellipse at 80% 0%,#ffc43d0e,transparent 48%); mask-image:none; animation:none; transform:none; z-index:-1; }
.topbar { position:sticky; top:0; z-index:30; min-height:82px; padding:17px 3.5%; gap:22px;
  background:#0b0c0fdc; border-bottom:1px solid var(--line); box-shadow:none; backdrop-filter:blur(24px); }
.hub-wordmark { font-size:32px; letter-spacing:1px; }
.hub-wordmark b { color:var(--id-gold); }
.hub-tagline { color:#b3b3b5; font-size:6px; letter-spacing:1.6px; }
.hub-navigation { gap:23px; }
.hub-navigation a { min-height:40px; color:#b8b9bd; font-size:10px; letter-spacing:1.3px; font-weight:750; }
.hub-navigation a:hover,.hub-navigation a:focus-visible { color:var(--ink); text-shadow:none; }
.hub-navigation a:after { content:""; position:absolute; height:2px; bottom:2px; left:50%; right:50%; background:var(--id-gold); transition:left .2s,right .2s; }
.hub-navigation a:hover:after,.hub-navigation a:focus-visible:after { left:0; right:0; }
.account-os-status { color:#a3a4ab; font-size:8px; letter-spacing:1.2px; margin-left:auto; }
.account-os-status i { border-radius:0; transform:rotate(45deg); background:var(--id-gold); box-shadow:none; }
.signed-in-dashboard .account-os-status i { background:var(--id-success); }
.exit-account { border-color:#ffffff29; border-radius:7px; color:var(--id-silver); min-height:42px; }
.exit-account:hover { color:var(--ink); background:#ffffff08; border-color:#ffffff55; }
.identity-stage { position:relative; isolation:isolate; max-width:1680px; min-height:calc(100svh - 140px);
  grid-template-columns:minmax(0,1fr) minmax(370px,440px); padding:60px 6% 76px; gap:10%; align-items:center; }
.identity-stage:before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg,#0b0c0f 0%,#0b0c0f60 45%,#0b0c0f 96%),var(--identity-environment,none) center/cover no-repeat; opacity:.6; }
.stage-copy { position:relative; padding-top:10px; }
.stage-copy>.eyebrow { position:relative; z-index:2; display:flex; align-items:center; gap:11px; color:#c1b28e; font-size:9px; letter-spacing:2.2px; }
.access-diamond { width:7px; height:7px; display:inline-block; background:var(--id-gold); transform:rotate(45deg); }
.stage-copy h1 { position:relative; z-index:2; font-size:clamp(64px,7.4vw,112px); font-weight:850; line-height:.94; letter-spacing:-.075em; margin:34px 0 26px; }
.stage-copy h1 em { color:var(--id-gold); font-weight:850; font-style:normal; }
.stage-copy .intro { position:relative; z-index:2; }
.intro-line { background:var(--id-gold); height:38px; width:2px; }
.intro p { color:#b4b5bd; font-size:14px; line-height:1.85; }
.intro strong { color:var(--id-silver); font-weight:500; }
.identity-aperture { position:absolute; pointer-events:none; width:350px; height:350px; top:42px; right:-65px; display:grid; place-items:center; z-index:0; opacity:.19; }
.identity-aperture i { position:absolute; inset:8px; transform:rotate(45deg); border:1px solid #ffc43d42; border-radius:25px; }
.identity-aperture i:nth-child(2) { inset:50px; border-color:#ffffff25; transform:rotate(45deg); }
.identity-aperture img { width:125px; height:125px; filter:drop-shadow(0 0 40px #ffc43d4d); }
.identity-aperture span { position:absolute; bottom:5px; color:var(--id-silver); letter-spacing:3px; font-size:8px; }
.identity-promise { position:relative; z-index:2; display:flex; gap:22px; padding-top:50px; font-size:8px; letter-spacing:1.4px; color:#8c8d94; }
.identity-promise span+span { border-left:1px solid #ffffff22; padding-left:22px; }
.access-panel { border:1px solid #ffffff20; border-radius:12px; padding:0 30px 25px;
  background:linear-gradient(150deg,#1a1b20f5,#101115f5); box-shadow:0 24px 100px #0005,inset 0 1px #ffffff09; }
.access-panel:focus-within { border-color:#ffc43d70; box-shadow:0 24px 100px #0008,0 0 0 1px #ffc43d12; }
.panel-top { background:#ffffff03; color:#aaaab2; border-color:var(--line); margin:0 -30px 30px; padding:17px 30px; font-size:9px; letter-spacing:1.9px; min-height:54px; }
.entry-icon { color:var(--id-gold); }
.access-heading .eyebrow { color:#b5a77f; font-size:8px; letter-spacing:1.6px; }
.access-heading h2 { font-size:34px; letter-spacing:-1.4px; margin:10px 0; }
.panel-intro { color:var(--muted); font-size:13px; margin-bottom:30px; }
#account-form>label,.recovery-access label,.password-settings label { color:#c4c4ca; font-size:9px; letter-spacing:1.3px; }
input,details input,.subscription-form select,.command-tool input,.command-tool textarea,.command-tool select {
  background:#0c0d11!important; border:1px solid #ffffff2d!important; border-radius:6px; color:var(--ink); min-height:48px; }
input::placeholder { color:#74757e; }
input:focus,textarea:focus,select:focus { border-color:var(--id-gold)!important; outline:0; box-shadow:0 0 0 3px #ffc43d12; }
.field-help { color:#94959d; font-size:10px; line-height:1.6; }
.primary { background:var(--id-gold); color:#191609; border-color:var(--id-gold); border-radius:6px; min-height:48px; font-size:10px; font-weight:800; letter-spacing:1px; }
.primary .button-arrow { background:#0000000b; }
.primary:hover { background:#ffd76a; border-color:#ffd76a; color:#191609; box-shadow:0 4px 28px #ffc43d1e; }
.primary:disabled { background:#403923; color:#b5a678; border-color:#6c5a2f; box-shadow:none; cursor:wait; }
.secondary { color:var(--id-silver); border-color:#ffffff2b; border-radius:6px; min-height:44px; font-size:10px; line-height:1.5; }
.secondary:hover { color:var(--ink); background:#ffffff07; border-color:#ffffff50; }
.secondary:disabled { opacity:.45; cursor:not-allowed; }
#passkey-sign-in { margin-top:10px; }
.access-help { grid-template-columns:66px 1fr; }
.new-label { color:#c7b071; }
.access-help p,.access-bottom .legacy-link { font-size:10px; line-height:1.7; }
#legacy-passkey { font-size:10px; }
.destination { background:#ffc43d08; border-color:#ffc43d45; border-left:2px solid var(--id-gold); border-radius:4px; }
.message,.message:not(:empty) { color:var(--muted); }
.message.error,.caps-lock { color:var(--id-error); }
.message.success,.online { color:var(--id-success); }
.recovery-access { margin-top:20px; padding-top:18px; }
summary { color:var(--id-silver); cursor:pointer; min-height:30px; font-size:11px; }
.worlds-shelf { display:none; }
footer { min-height:58px; border-top:1px solid var(--line); background:#0b0c0f; color:#8c8d94; padding:20px 4%; }
footer a { color:#c6c7cd; }
/* Account overview: a single identity, a telemetry strip, then navigable controls. */
.account-view { max-width:1580px!important; padding:40px 4% 75px!important; }
.account-command-hero { min-height:270px; border:0; border-radius:0; padding:30px 30px 36px; background:transparent; box-shadow:none; overflow:visible; }
.account-command-hero:before { content:""; right:0; bottom:0; width:35%; height:100%; background:url('/assets/portal.svg?v=044') center/180px no-repeat; opacity:.018; }
.account-command-hero:after { background:linear-gradient(90deg,transparent,#ffffff0c,transparent); height:1px; inset:auto 0 0; }
.account-command-copy .eyebrow { color:#b7b8bf; font-size:8px; letter-spacing:2px; }
.account-command-hero h1 { font-size:clamp(43px,5.5vw,76px)!important; line-height:1.02!important; margin:20px 0 16px!important; }
.account-command-hero h1 em { color:var(--ink)!important; }
.account-command-hero p { color:#a3a5af; font-size:13px; max-width:520px; }
.live-dot { background:var(--id-success); box-shadow:0 0 12px #78d9a033; animation:none; width:5px; height:5px; }
.identity-orbit { width:205px; height:205px; flex-basis:205px; margin-right:20px; }
.identity-orbit>i { border-color:#ffc43d30; border-radius:28px; transform:rotate(45deg); animation:none; }
.identity-orbit>i:before { display:none; }
.identity-orbit>i:nth-child(2) { inset:23px; border:1px solid #ffffff19; animation:none; }
.identity-orbit .identity-seal { border:1px solid #ffffff21; background:linear-gradient(145deg,#292a30,#15161a); border-radius:20px; color:var(--id-silver); box-shadow:0 16px 50px #0008; width:110px; height:110px; }
.identity-orbit .identity-seal>span { font-size:50px; font-weight:800; }
.identity-orbit .identity-seal small { top:132px; color:#8c8d96; letter-spacing:1.4px; }
.identity-orbit>b { background:#0b0c0f; border-color:#78d9a033; color:var(--id-success); bottom:-13px; letter-spacing:1.5px; font-size:7px; }
.account-telemetry { margin:0 30px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
.account-telemetry>div { padding:24px 22px; border-right:1px solid var(--line); }
.account-telemetry>div:first-child { padding-left:0; }
.account-telemetry>div:after { display:none; }
.account-telemetry span { color:#a1a3ac; font-size:8px; letter-spacing:1.3px; }
.account-telemetry strong { color:var(--ink); font-size:34px; letter-spacing:-1px; margin:8px 0 5px; font-variant-numeric:tabular-nums; }
.account-telemetry small { color:#7f818c; font-size:9px; letter-spacing:0; font-weight:400; }
.account-footer-actions { margin:25px 30px 30px!important; }
#account-message:not(:empty) { background:#78d9a008; border-color:#78d9a044; color:var(--id-silver); }
#sign-out { color:#d5b3b3; }
#sign-out:hover { color:#ffb1b0; border-color:#b35c5c; background:#f273730a; }
.identity-navigation { position:sticky; top:81px; z-index:15; display:flex; gap:3px; padding:10px 8px; margin:0 4px 22px;
  overflow-x:auto; scrollbar-width:none; background:#0b0c0ff2; backdrop-filter:blur(20px); border-block:1px solid var(--line); }
.identity-navigation:empty { display:none; }
.identity-navigation a { min-height:40px; padding:12px 17px; color:#a4a6af; font-size:9px; line-height:16px; letter-spacing:1.2px; white-space:nowrap; border-radius:4px; text-decoration:none; }
.identity-navigation a:hover { color:var(--ink); background:#ffffff05; }
.identity-navigation a[aria-current] { color:var(--id-gold); background:#ffc43d09; box-shadow:inset 0 -2px var(--id-gold); }
.console-dashboard { grid-template-columns:repeat(12,minmax(0,1fr))!important; gap:0 34px!important; padding:0 30px; }
.console-dashboard>.account-card { padding:30px 0!important; min-height:0; overflow:visible; border:0!important; border-top:1px solid var(--line)!important; border-radius:0!important; background:transparent!important; box-shadow:none; transform:none; scroll-margin-top:160px; }
.console-dashboard>.account-card:before { display:none; }
.console-dashboard>.account-card:hover { background:transparent!important; transform:none!important; box-shadow:none!important; }
.console-dashboard .identity-card { grid-column:1/-1; display:flex; align-items:center; gap:25px; padding:12px 0 24px!important; border-top:0!important; }
.identity-card .card-index,.identity-card>.eyebrow { display:none; }
.identity-card h2 { margin:0; font-size:16px; font-weight:650; min-width:165px; }
.identity-card dl { display:flex; flex:1; gap:25px; }
.identity-card dl>div { border:0; flex:1; flex-direction:column; gap:7px; padding:0; font-size:11px; }
.identity-card dd { font-weight:600; color:var(--id-silver); }
.identity-card dd.online { color:var(--id-success); }
.console-dashboard .security-card,.console-dashboard .devices-card,.console-dashboard .apps-card,.console-dashboard .wallets-card,.console-dashboard .leaderboard-card { grid-column:span 6; }
.console-dashboard .ecosystem-card { grid-column:1/-1; }
.console-dashboard h2 { font-size:25px; letter-spacing:-1px; margin:13px 0 18px; }
.console-dashboard .eyebrow { color:#b0a17d; font-size:8px; letter-spacing:1.6px; }
.card-index { position:static; float:right; color:#787b85; font-size:12px; letter-spacing:0; font-weight:500; }
.security-glyph { background:#ffc43d07; border-color:#ffc43d30; width:58px; height:68px; margin:14px 5px 0 18px; }
.security-glyph i { animation:none; border-color:#ffc43d45; }
.security-glyph b { color:var(--id-gold); font-size:15px; }
.device-list { max-height:235px!important; scrollbar-color:#565862 transparent; margin-top:7px; }
.device-list>div { border-color:var(--line)!important; padding:16px 0; }
.device-list b { font-size:12px; font-weight:550; }
.device-list small { color:#9698a2; }
.device-list>div>span:last-child { color:var(--id-success); }
.device-list button { border:1px solid #ffffff25; background:#ffffff03; color:#d7c3c3; min-height:35px; padding:7px 10px; }
.device-list button:hover { border-color:#bd7777; color:#ffb1b0; }
.wallet-row code { color:#c4c5cc; font-size:10px; }
.leaderboard-radar { border-color:#ffc43d38; background:radial-gradient(circle,#ffc43d24 0 2px,transparent 3px),conic-gradient(from 30deg,#ffc43d12,transparent 35%); }
.leaderboard-radar i { border-color:#ffc43d20; }
.leaderboard-radar b { color:var(--id-gold); }
.leaderboard-consent input:checked+.leaderboard-switch { border-color:var(--id-gold); background:#ffc43d18; box-shadow:0 0 0 3px #ffc43d08; }
.leaderboard-consent input:checked+.leaderboard-switch i { background:var(--id-gold); }
.leaderboard-consent input:focus-visible+.leaderboard-switch { outline-color:var(--id-gold); }
.leaderboard-switch { border-color:#60616b; background:#17181e; }
.leaderboard-switch i { background:#a1a2ac; }
.leaderboard-consent small,.leaderboard-card [role=status] { color:#a1a3ae; }
.console-dashboard .leaderboard-card { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:34px; }
.leaderboard-card>.eyebrow,.leaderboard-card>h2,.leaderboard-card>p { grid-column:1; }
.leaderboard-card>.card-index,.leaderboard-card>.leaderboard-radar { display:none; }
.leaderboard-card>form { grid-column:2; grid-row:1/5; align-self:center; }
.leaderboard-actions { flex-wrap:wrap; }
.world-list { gap:14px!important; scrollbar-color:#565862 transparent; }
.world-entry { border:1px solid #ffffff18!important; background:#111216!important; border-radius:8px; min-height:175px; }
.world-entry:hover { border-color:#ffc43d55!important; transform:none; }
.world-entry .world-status { background:#ffffff06; color:var(--id-silver); border:1px solid #ffffff18; }
.world-entry .connected_for_account { background:#78d9a012; color:var(--id-success); border:1px solid #78d9a02e; }
.world-entry .identity_authority { background:#ffc43d08; color:#d2be83; border:1px solid #ffc43d26; }
.world-entry .integration_pending,.world-entry .connection_unknown { background:#ffc43d0d; color:#dfca96; border:1px solid #ffc43d25; }
.world-entry a { color:var(--id-silver); }
/* Pass has its own material language; system selection remains gold. */
#subscription-checkout { margin:35px 30px 0; padding:30px; border:1px solid #bcacf035; border-radius:10px; background:linear-gradient(120deg,#bcacf010,#121217 60%); scroll-margin-top:160px; }
#subscription-checkout .card-top { display:flex; justify-content:space-between; gap:15px; font-size:9px; letter-spacing:1.8px; color:var(--id-pass); }
#subscription-checkout h2 { font-size:32px; letter-spacing:-1.4px; margin:20px 0 15px; }
#subscription-checkout p { max-width:720px; }
.subscription-form { max-width:850px; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto; align-items:end; gap:16px; margin-top:26px; }
.subscription-form>label { font-size:10px; color:#c0bccb; }
.subscription-form select { font-size:12px; min-height:46px; }
.subscription-form .secondary { min-height:46px; border-color:#bcacf066; color:#ddd4f3; }
.subscription-result dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.staff-card { margin:35px 30px 0; padding:30px; background:#121318; border:1px solid #ffffff21; border-radius:10px; scroll-margin-top:160px; }
.staff-card .card-top { color:#d9c083; }
.staff-card .card-top span:last-child { background:#ffc43d10; color:#ddc78c; }
.staff-metrics { gap:0; border-block:1px solid var(--line); }
.staff-metrics>div { border-right:1px solid var(--line); background:transparent; border-radius:0; }
.staff-metrics>div:last-child { border-right:0; }
.staff-metrics dd { color:var(--ink); font-weight:700; }
.command-tools { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.command-tool { padding-top:22px; }
.command-tool h3 { font-size:21px; letter-spacing:-.6px; }
.command-tool label { color:var(--id-silver); }
.command-results li { border-color:var(--line); }
.command-results code { color:#c3b997; }
[data-command-message] { grid-column:1/-1; }
body[data-input="keyboard"] :is(a,button,summary,[tabindex]):focus-visible,
body[data-input="controller"] :is(a,button,summary,[tabindex]):focus-visible { outline:0!important; box-shadow:var(--id-focus)!important; }
:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--id-gold); outline-offset:4px; }
::selection { background:#ffc43d; color:#15120b; }
@media(min-width:1450px) { .identity-stage { gap:14%; } }
@media(max-width:1250px) {
  .topbar { gap:18px; } .account-os-status { display:none; } .hub-navigation { gap:19px; }
  .identity-stage { gap:8%; padding-inline:5%; } .identity-aperture { right:-45px; opacity:.1; }
}
@media(max-width:1150px) {
  html { scroll-padding-top:190px; } .topbar { padding-bottom:0; } .hub-navigation { width:100%; order:3; justify-content:center; }
  .identity-navigation { top:127px; } .console-dashboard>.account-card,#subscription-checkout,.staff-card { scroll-margin-top:200px; }
  .identity-promise { gap:12px; font-size:7px; } .identity-promise span+span { padding-left:12px; }
}
@media(max-width:900px) {
  .identity-stage { grid-template-columns:minmax(0,1fr) minmax(350px,390px); gap:5%; padding-inline:4%; }
  .stage-copy h1 { font-size:68px; } .identity-aperture { width:250px; height:250px; right:-25px; top:80px; }
  .identity-promise { flex-wrap:wrap; } .identity-promise span:last-child { display:none; }
  .account-command-hero { padding-inline:15px; } .account-telemetry { margin-inline:15px; }
  .identity-card h2 { min-width:120px; } .identity-card dl { gap:12px; }
  .subscription-form { grid-template-columns:1fr 1fr; } .subscription-form>button { grid-column:1/-1; }
}
@media(max-width:760px) {
  html { scroll-padding-top:175px; } .topbar { min-height:75px; padding:15px 5% 0; gap:8px; }
  .hub-wordmark { font-size:28px; } .hub-navigation { margin-top:10px; justify-content:space-between; gap:10px; }
  .hub-navigation a { font-size:9px; padding:10px 0; letter-spacing:.7px; min-height:42px; }
  .exit-account { font-size:8px; } .hub-tagline { font-size:5px; letter-spacing:1.2px; }
  .identity-stage { display:flex; padding:32px 5% 42px; min-height:0; gap:28px; }
  .stage-copy { padding:0 4px; } .stage-copy>.eyebrow { font-size:7px; letter-spacing:1.5px; }
  .stage-copy h1 { font-size:clamp(42px,11vw,70px); line-height:1.03; margin:22px 0 15px; letter-spacing:-.065em; }
  .stage-copy h1 br { display:none; } .stage-copy h1 em { display:block; }
  .intro p { font-size:12px; line-height:1.7; } .identity-promise { display:none; }
  .identity-aperture { top:-12px; right:0; width:200px; height:200px; opacity:.07; }
  .identity-aperture img { width:85px; height:85px; } .identity-aperture span { display:none; }
  .access-panel { padding:0 23px 23px; border-radius:10px; } .panel-top { margin:0 -23px 25px; padding-inline:23px; }
  .access-heading h2 { font-size:31px; } input,select { font-size:16px!important; }
  .account-view { padding:20px 5% 50px!important; } .account-command-hero { min-height:230px; padding:15px 0 25px; }
  .account-command-copy { width:100%; } .account-command-hero h1 { font-size:42px!important; max-width:calc(100% - 65px); }
  .account-command-hero p { max-width:80%; font-size:12px; }
  .identity-orbit { top:33px; bottom:auto; right:-4px; width:72px; height:72px; margin:0; opacity:.8; }
  .identity-orbit>i { inset:0; border-radius:9px; } .identity-orbit>i:nth-child(2) { inset:9px; border-radius:5px; }
  .identity-orbit .identity-seal { width:41px; height:41px; min-width:0; border-radius:8px; }
  .identity-orbit .identity-seal>span { font-size:23px; } .identity-orbit>b { bottom:-20px; font-size:5px; padding:3px 6px; }
  .account-telemetry { margin:0; } .account-telemetry>div { padding:18px 16px; border-bottom:1px solid var(--line); }
  .account-telemetry>div:nth-child(odd) { padding-left:0; } .account-telemetry strong { font-size:28px; }
  .account-telemetry span { font-size:7px; } .account-footer-actions { margin:23px 0!important; gap:10px; }
  .account-footer-actions .primary { min-width:0; } #account-message { width:100%; margin:0!important; }
  .identity-navigation { top:112px; margin:0 -5.55% 20px; padding-inline:5%; }
  .identity-navigation a { padding:10px 13px; font-size:8px; }
  .console-dashboard { padding:0; grid-template-columns:minmax(0,1fr)!important; }
  .console-dashboard>.account-card { grid-column:1!important; padding:26px 0!important; scroll-margin-top:177px; }
  .console-dashboard .identity-card { align-items:start; display:block; } .identity-card h2 { margin-bottom:18px; font-size:15px; }
  .identity-card dl { gap:12px; } .identity-card dl>div { font-size:9px; gap:8px; }
  .console-dashboard h2 { font-size:23px; } .world-list { margin-right:-4%; }
  .console-dashboard .leaderboard-card { display:block; }
  #subscription-checkout,.staff-card { margin:25px 0 0; padding:23px; scroll-margin-top:177px; }
  #subscription-checkout h2 { font-size:27px; } .subscription-form { display:grid; grid-template-columns:1fr; }
  .subscription-result dl { grid-template-columns:1fr; } .command-tools { grid-template-columns:1fr; }
  .staff-metrics { grid-template-columns:1fr 1fr; } .staff-metrics>div { padding:16px 10px; }
  .staff-metrics dd { font-size:28px; } footer { font-size:7px; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
