/* Reference-led mobile app layer; shared authenticated forms retain styles.css. */
:root {
  --bg:#03051c; --bg-start:#050720; --bg-end:#03051c;
  --surface:#090d2b; --surface-strong:#111638; --panel:#080c27;
  --input:#050921; --border:#263780; --text:#f4f4ff; --muted:#a1acce;
  --mint:#49d9f4; --mint-strong:#30c8ed; --warning:#f6d66e; --accent-fill:#46d5f5;
  --gold:#f8d667; --inset:rgba(123,161,255,.14); --nav-bg:rgba(6,9,32,.96);
}
:root[data-theme="light"] {
  --bg:#eef1ff; --bg-start:#f7f8ff; --bg-end:#eef1ff;
  --surface:#fff; --surface-strong:#edf0ff; --panel:#fff; --input:#f8f9ff;
  --border:#b8c4e9; --text:#151c43; --muted:#55618a; --mint:#116b9f;
  --mint-strong:#1552a4; --gold:#8b6014; --warning:#8b6014;
  --inset:rgba(255,255,255,.9); --nav-bg:rgba(245,247,255,.97);
}
body { min-height:100dvh; background:radial-gradient(ellipse at 50% 0,rgba(61,44,145,.12),transparent 600px),var(--bg); padding-top:0; padding-inline:calc(0px + env(safe-area-inset-left)) calc(0px + env(safe-area-inset-right)); padding-bottom:calc(94px + env(safe-area-inset-bottom)); scroll-padding-top:calc(10px + env(safe-area-inset-top)); scroll-padding-bottom:calc(94px + env(safe-area-inset-bottom)); }
.site-header, main, footer, .app-menu { width:min(100% - calc(32px + env(safe-area-inset-left) + env(safe-area-inset-right)),500px); margin-inline:auto; }
.app-header { display:grid; grid-template-columns:1fr 1fr 1fr; min-height:140px; gap:0; padding-top:calc(10px + env(safe-area-inset-top)); padding-inline:calc(12px + env(safe-area-inset-left)) calc(12px + env(safe-area-inset-right)); }
.icon-button,.language-button { border:0; background:none; min-height:44px; cursor:pointer; padding:8px; }
.icon-button { justify-self:start; margin-left:-6px; }
.icon-button .icon { width:29px; height:29px; stroke-width:2.3; }
.language-button { justify-self:end; font-size:14px; letter-spacing:.05em; }
.language-button span { font-size:24px; margin-left:8px; vertical-align:-2px; color:var(--muted); }
.portal-switch { grid-column:1 / -1; justify-self:center; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; margin-top:5px; padding:8px 16px; color:var(--gold); background:linear-gradient(135deg,rgba(248,214,103,.13),rgba(137,91,255,.12)); border:1px solid rgba(248,214,103,.35); border-radius:999px; box-shadow:inset 0 1px rgba(255,255,255,.08),0 7px 18px #0004; text-decoration:none; font-size:11px; font-weight:750; letter-spacing:.04em; touch-action:manipulation; }
.portal-switch:hover { color:#fff0b5; border-color:rgba(248,214,103,.6); filter:brightness(1.08); }
.portal-switch span { font-size:15px; color:var(--mint); }
.app-logo { justify-self:center; display:grid; justify-items:center; gap:7px; text-decoration:none; color:var(--gold); }
.app-logo-image { display:block; width:84px; height:84px; max-width:100%; object-fit:contain; border:1px solid #e4bd635c; border-radius:12px; box-shadow:0 2px 0 #806225,0 5px 0 #231638,0 9px 16px #0006,0 0 18px #804cd82b; }
.gcv-wordmark { display:inline-block; color:#ffe095; font-family:Georgia,"Times New Roman",serif; font-size:clamp(30px,7vw,38px); font-weight:900; letter-spacing:.12em; line-height:1.12; padding-left:.12em; text-shadow:0 1px 0 #fff4c3,0 2px 0 #bf8d32,0 3px 0 #81501f,1px 4px 0 #391748,0 7px 9px #0009,0 0 16px #a25fe84d; }
.slogan-strip h1 .gcv-wordmark-inline,.gcv-wordmark-inline { font-size:1em; letter-spacing:.035em; padding-left:0; text-shadow:0 1px 0 #b78838,0 2px 0 #633866,0 3px 5px #0007; }
.mining-total .gcv-wordmark-unit { font-size:.48em; font-weight:800; letter-spacing:.06em; padding-left:0; text-shadow:0 1px 0 #ae7925,0 2px 0 #583457,0 4px 7px #0007; }
.gcv-mark { display:block; width:44px; height:44px; flex:none; object-fit:contain; border-radius:9px; box-shadow:0 2px 0 #84622b,0 5px 9px #0004; }
.gcv-mark-small { width:28px; height:28px; border-radius:7px; }
.brand-heading { display:flex; align-items:center; gap:10px; }
.feature-brand-icon { background:none; }
:root[data-theme="light"] .gcv-wordmark { color:#80571c; text-shadow:0 1px 0 #ffe6a7,0 2px 0 #d1ae73,0 3px 5px #58326c40; }
@media (forced-colors:active) { .gcv-wordmark { color:CanvasText!important; text-shadow:none!important; } }
.member-greeting { display:flex; justify-content:center; align-items:center; gap:8px; margin:0 0 14px; color:var(--muted); font-size:11px; }
.member-greeting button { border:0; padding:4px; min-height:44px; background:none; color:var(--mint); cursor:pointer; font-size:11px; }
.slogan-strip { text-align:center; padding:17px 8px 14px; background:linear-gradient(110deg,#101e66,#22135a 72%,#142465); border-block:1px solid #5245a1; box-shadow:inset 0 1px #8c9aff18,0 7px 22px #0003; }
.slogan-strip h1 { color:#f5f3ff; font-size:clamp(17px,4.55vw,24px); font-weight:750; line-height:1.5; letter-spacing:-.045em; }
.slogan-strip h1 span { color:#ffe186; }
.slogan-strip p { margin:4px 0 0; color:#aebde3; font-size:9px; letter-spacing:.13em; }
.quick-links { display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; padding:10px 1px 7px; }
.quick-links a { color:var(--muted); text-decoration:none; font-size:10px; min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; }
.quick-links a:hover { color:var(--mint); }
.registration-bars { display:grid; grid-template-columns:.75fr 1fr 1.7fr; gap:6px; margin-bottom:17px; }
.registration-bars button { min-width:0; min-height:44px; padding:6px; color:#dadffa; background:linear-gradient(150deg,#172354,#151135); border:1px solid #343b78; border-radius:7px; box-shadow:inset 0 1px #c0d3ff15,0 3px 5px #0003; font-size:10px; cursor:pointer; }
.registration-bars span { color:#7597e3; margin-left:3px; }
.neon-panel { background:linear-gradient(130deg,var(--surface-strong),var(--panel) 55%); border:1px solid var(--border); border-radius:18px; box-shadow:inset 0 1px var(--inset),0 8px 25px #0002; }
.mining-summary { padding:20px 22px 14px; border-color:#344896; position:relative; overflow:hidden; }
.summary-topline { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.summary-topline h2 { font-size:16px; margin:0; font-weight:650; letter-spacing:-.04em; }
.small-badge { color:var(--muted); border:1px solid var(--border); padding:4px 7px; border-radius:5px; font-size:9px; font-weight:500; }
.mining-total { margin:16px 0 19px; font-size:clamp(30px,7.6vw,42px); font-weight:720; line-height:1.15; letter-spacing:-.025em; color:var(--gold); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.mining-total small { font-size:.48em; font-weight:550; }
.today-mining { display:flex; gap:10px; justify-content:space-between; align-items:center; border-top:1px solid var(--border); padding-top:14px; font-size:13px; }
.today-mining strong { text-align:right; font-size:18px; overflow-wrap:anywhere; min-width:0; }
.today-mining small { font-size:11px; font-weight:500; color:var(--muted); }
.target-separator { color:var(--muted); font-weight:400; font-size:14px; }
.data-note { margin:10px 0 0; font-size:10px; line-height:1.65; color:var(--muted); }
.mining-button { width:100%; min-height:75px; display:flex; align-items:center; justify-content:center; position:relative; gap:14px; margin:18px 0 12px; border:1px solid #6a7bfa; border-top-color:#74d5fc; border-left-color:#46d9f3; border-radius:18px; background:linear-gradient(112deg,#084bba,#2523ab 65%,#341988); box-shadow:inset 0 2px 2px #a6d5ff40,inset 0 -4px 6px #09066155,0 7px 0 #06092b,0 9px 22px #112b7950; color:#fff; cursor:pointer; font-size:24px; font-weight:750; }
.mining-button small { display:block; font-size:10px; color:#c0cdf5; font-weight:400; margin-top:3px; }
.mining-bolt { color:#77e7ff; font-size:46px; line-height:1; text-shadow:0 0 15px #00b7ff77; }
.button-chevron { position:absolute; right:22px; font-size:30px; color:#91a8f5; font-weight:400; }
.reward-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:17px; }
.reward-shortcuts button { display:flex; align-items:center; gap:10px; padding:12px 16px; background:linear-gradient(125deg,var(--surface-strong),var(--surface)); border:1px solid var(--border); border-radius:12px; box-shadow:inset 0 1px var(--inset),0 4px 8px #0003; min-height:54px; cursor:pointer; font-size:14px; }
.reward-shortcuts .icon { width:25px; height:25px; color:var(--gold); }
.reward-shortcuts button:nth-child(2) .icon { color:#b29afb; }
.reward-shortcuts button>span:last-child { margin-left:auto; color:var(--muted); }
.activity-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:13px 0 18px; }
.activity-shortcuts a { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:9px; min-height:83px; border:1px solid var(--border); border-radius:13px; background:linear-gradient(145deg,var(--surface-strong),var(--surface)); color:var(--text); text-decoration:none; box-shadow:inset 0 1px var(--inset),0 4px 7px #0003; font-size:13px; }
.activity-shortcuts .icon { width:27px; height:27px; color:var(--mint); stroke-width:1.7; }
.activity-shortcuts a:nth-child(2) .icon { color:#a890ff; }
.daily-mining { padding:19px 18px 13px; }
.daily-mining .summary-topline>span { font-size:9px; color:var(--muted); }
.home-progress-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:17px; }
.home-progress-grid>div { display:grid; gap:6px; text-align:center; padding:12px 3px; border-right:1px solid var(--border); }
.home-progress-grid>div:nth-child(3n) { border-right:0; }
.home-progress-grid>div:nth-child(n+4) { border-top:1px solid var(--border); }
.home-progress-grid span { font-size:12px; }
.home-progress-grid strong { color:var(--gold); font-size:20px; font-weight:650; font-variant-numeric:tabular-nums; }
.home-progress-grid small { color:var(--muted); font-size:9px; }
.daily-mining .data-note { text-align:center; padding-top:8px; }
.compact-shortcuts a { flex-direction:row; justify-content:space-between; padding:10px 15px; min-height:44px; color:var(--mint); font-size:11px; }
.home-footnote { text-align:center; font-size:10px; color:var(--muted); margin:20px 0; }
.bottom-nav { position:fixed; z-index:10; bottom:0; left:50%; transform:translateX(-50%); display:grid; grid-template-columns:repeat(5,1fr); width:min(100% - calc(0px + env(safe-area-inset-left) + env(safe-area-inset-right)),534px); padding:11px calc(8px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left)); border:1px solid var(--border); border-bottom:0; border-radius:21px 21px 0 0; background:var(--nav-bg); box-shadow:0 -6px 25px #0004,inset 0 1px var(--inset); backdrop-filter:blur(16px); }
.bottom-nav a { display:grid; justify-items:center; gap:7px; padding:4px 0; text-decoration:none; font-size:10px; color:var(--muted); min-height:49px; }
.bottom-nav .icon { width:24px; height:24px; stroke-width:1.6; }
.bottom-nav a[aria-current="page"] { color:var(--mint); }
.bottom-nav a[aria-current="page"] .icon { filter:drop-shadow(0 0 5px #24a9fa70); }
button:focus-visible,a:focus-visible { outline:2px solid var(--warning); outline-offset:4px; }
button:hover:not(:disabled),.activity-shortcuts a:hover { filter:brightness(1.15); }
.app-menu { position:relative; z-index:11; display:grid; grid-template-columns:repeat(2,1fr); padding:8px; background:var(--surface); border:1px solid var(--border); border-radius:12px; box-shadow:0 10px 20px #0005; }
.app-menu a { display:flex; align-items:center; min-height:44px; color:var(--text); padding:13px; text-decoration:none; font-size:13px; }
.view-heading { display:flex; align-items:center; gap:14px; padding:14px 0; }
.view-heading h2 { margin:0; font-size:22px; }
.view-heading button { background:none; border:0; font-size:35px; min-width:44px; min-height:44px; cursor:pointer; }
.settings-screen { padding:16px; border:1px solid var(--border); border-radius:14px; background:var(--surface); }
.settings-line { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:9px 0; font-size:13px; }
.theme-control select { min-height:44px; }
.secondary-message { padding:24px; line-height:1.8; color:var(--muted); }
.secondary-message h3 { color:var(--text); font-size:17px; }
.hero { display:block; min-height:0; padding:18px 0 0; }
.auth-panel { padding:22px; }
.auth-panel h2 { font-size:23px; }
.auth-panel p { font-size:12px; }
.status-orb { display:none; }
.dashboard,.feature-section { padding:15px 0; }
.section-heading h2 { font-size:19px; }
.metric-grid,.feature-grid,.action-grid { grid-template-columns:1fr; }
.metric-card { min-height:110px; }
.metric-primary { background:linear-gradient(145deg,var(--surface-strong),var(--panel)); }
.profile-grid { grid-template-columns:1fr; }
.remaining-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.daily-summary-heading,.stats-totals { align-items:flex-start; flex-direction:column; }
.status-region { font-size:11px; min-height:0; padding:10px 12px; margin:16px 0 0; }
.button-primary { background:linear-gradient(110deg,#105fc3,#3926b0); color:#fff; border-color:#536cc5; }
.button-primary:hover:not(:disabled) { background:linear-gradient(110deg,#1873db,#4e37c7); }
.button-secondary { background:var(--surface-strong); border-color:var(--border); }
.button-quiet { min-height:44px; }
.network-badge { display:inline-flex; }
.technical-footer { display:none; }
.public-footer { display:block; border-top:1px solid var(--border); padding:20px 0; font-size:11px; color:var(--muted); line-height:1.8; }
.public-footer nav { display:flex; flex-wrap:wrap; gap:0 14px; }
.public-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--muted); text-underline-offset:4px; }
.public-footer a:hover { color:var(--mint); }
.public-footer p { margin:8px 0; }
body[data-view="home"] .hero,body[data-view="home"] #dashboard,body[data-view="home"] .feature-section { display:none; }
body[data-view="home"] #status-region:not([data-kind="error"]) { display:none; }
body:not([data-view="settings"]) .hero,body:not([data-view="settings"]) .profile-section { display:none; }
body:not([data-view="wallet"]) .metric-grid,body:not([data-view="wallet"]) .feature-section { display:none; }
body:not([data-view="stats"]) .daily-summary { display:none; }
body:not([data-view="qr"]):not([data-view="game"]):not([data-view="exercise"]) .action-section { display:none; }
body:not([data-view="qr"]) #qr-card,body:not([data-view="game"]) #game-card,body:not([data-view="exercise"]) #exercise-card { display:none; }
body[data-view="community"] #dashboard,body[data-view="community"] #status-region { display:none; }
body[data-view="settings"] #dashboard>.section-heading>div:first-child,body[data-view="qr"] #dashboard>.section-heading>div:first-child,body[data-view="game"] #dashboard>.section-heading>div:first-child,body[data-view="exercise"] #dashboard>.section-heading>div:first-child { display:none; }
.info-dialog { width:min(100% - 36px,420px); padding:28px 24px 24px; border:1px solid #5565b7; border-radius:20px; background:var(--surface); color:var(--text); box-shadow:0 20px 80px #0008; }
.info-dialog::backdrop { background:#010311b8; backdrop-filter:blur(5px); }
.info-dialog h2 { font-size:22px; margin:20px 0 12px; }
.info-dialog p { font-size:14px; line-height:1.85; color:var(--muted); white-space:pre-line; }
.info-dialog .button { width:100%; margin-top:12px; }
.dialog-close { position:absolute; top:9px; right:9px; font-size:27px; min-width:44px; min-height:44px; color:var(--muted); background:none; border:0; cursor:pointer; }
@media (min-width:700px) { body { padding-top:18px; } .app-header { min-height:148px; } .slogan-strip { border-radius:10px; } }
@media (max-width:360px) { .site-header,main,.app-menu { width:calc(100% - 24px); } .registration-bars button { font-size:9px; } .quick-links { gap:6px; } .quick-links a { font-size:9px; } .mining-summary { padding-inline:17px; } }
@media (orientation: landscape) {
  body {
    padding-inline: calc(0px + env(safe-area-inset-left)) calc(0px + env(safe-area-inset-right));
    padding-bottom: calc(94px + env(safe-area-inset-bottom));
  }
  .app-header {
    padding-inline: calc(12px + env(safe-area-inset-left)) calc(12px + env(safe-area-inset-right));
  }
  .site-header, main, .app-menu {
    width: min(100% - calc(32px + env(safe-area-inset-left) + env(safe-area-inset-right)), 500px);
  }
  .bottom-nav {
    width: min(100% - calc(0px + env(safe-area-inset-left) + env(safe-area-inset-right)), 534px);
    padding: 11px calc(8px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));
  }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }

/* GCV Aurora UI — reference-led visual system, without changing product capabilities. */
:root {
  --gcv-cobalt:#2457ff;
  --gcv-blue:#268dff;
  --gcv-cyan:#37e2ff;
  --gcv-violet:#8d45ff;
  --gcv-magenta:#ca42ff;
  --gcv-gold:#ffd75f;
  --gcv-gold-soft:#ffeaa2;
  --gcv-line:rgba(78,108,255,.34);
  --gcv-line-soft:rgba(116,143,255,.16);
  --gcv-glass:rgba(9,13,43,.82);
  --gcv-shadow:0 24px 70px rgba(0,0,0,.38);
  --gcv-glow:0 0 0 1px rgba(82,113,255,.08),0 18px 54px rgba(20,36,121,.28);
}

body {
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 10% -4%,rgba(40,116,255,.20),transparent 26rem),
    radial-gradient(circle at 94% 18%,rgba(148,54,255,.16),transparent 23rem),
    linear-gradient(180deg,#020419 0%,#050827 48%,#020419 100%);
}

body::before,
body::after {
  content:"";
  position:fixed;
  z-index:-1;
  pointer-events:none;
}

body::before {
  inset:0;
  opacity:.23;
  background-image:
    linear-gradient(rgba(94,119,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(94,119,255,.05) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,black,transparent 62%);
}

body::after {
  width:300px;
  height:300px;
  top:34%;
  left:50%;
  border:1px solid rgba(108,85,255,.13);
  border-radius:50%;
  transform:translateX(-50%);
  box-shadow:0 0 100px rgba(73,71,255,.12),inset 0 0 70px rgba(25,208,255,.04);
}

.site-header,
main,
footer,
.app-menu {
  width:min(100% - calc(28px + env(safe-area-inset-left) + env(safe-area-inset-right)),520px);
}

.app-header {
  min-height:132px;
  align-items:start;
  padding-top:calc(16px + env(safe-area-inset-top));
}

.icon-button,
.language-button {
  margin-top:8px;
  color:#f8f7ff;
  border-radius:14px;
  transition:color 160ms ease,background 160ms ease,transform 160ms ease;
}

.icon-button:hover,
.language-button:hover {
  color:var(--gcv-cyan);
  background:rgba(61,91,219,.13);
}

.icon-button .icon {
  filter:drop-shadow(0 0 8px rgba(255,255,255,.18));
}

.app-logo {
  gap:5px;
  transform:translateY(1px);
}

.app-logo-image {
  width:72px;
  height:72px;
  object-fit:contain;
  border:1px solid rgba(255,216,95,.48);
  border-radius:20px;
  background:#f5e7c6;
  box-shadow:0 0 0 4px rgba(255,213,83,.05),0 14px 32px rgba(0,0,0,.48),0 0 28px rgba(166,85,255,.15);
}

.app-logo>.gcv-wordmark {
  font-size:16px;
  letter-spacing:.16em;
}

.portal-switch {
  min-height:44px;
  margin-top:8px;
  padding:8px 17px;
  color:var(--gcv-gold-soft);
  background:linear-gradient(135deg,rgba(255,213,84,.10),rgba(122,67,255,.15));
  border-color:rgba(255,215,95,.33);
  box-shadow:inset 0 1px rgba(255,255,255,.10),0 12px 28px rgba(0,0,0,.25);
}

.member-greeting {
  width:max-content;
  max-width:100%;
  min-height:36px;
  margin:13px auto 12px;
  padding:0 6px 0 14px;
  border:1px solid var(--gcv-line-soft);
  border-radius:999px;
  background:rgba(11,16,54,.68);
  box-shadow:inset 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(14px);
}

.slogan-strip {
  position:relative;
  overflow:hidden;
  padding:25px 18px 20px;
  border:1px solid rgba(77,108,255,.45);
  border-radius:24px;
  background:
    radial-gradient(circle at 88% 24%,rgba(193,64,255,.23),transparent 36%),
    linear-gradient(128deg,rgba(14,42,122,.96),rgba(40,18,103,.96) 66%,rgba(15,39,118,.95));
  box-shadow:inset 0 1px rgba(170,196,255,.14),var(--gcv-shadow),0 0 44px rgba(53,60,202,.16);
}

.slogan-strip::before {
  content:"";
  position:absolute;
  width:122px;
  height:122px;
  right:-42px;
  top:-58px;
  border:1px solid rgba(255,221,112,.30);
  border-radius:50%;
  box-shadow:inset 0 0 34px rgba(162,70,255,.18),0 0 36px rgba(30,206,255,.08);
}

.slogan-strip h1 {
  position:relative;
  font-size:clamp(20px,5.2vw,27px);
  line-height:1.45;
  text-wrap:balance;
}

.slogan-strip p {
  position:relative;
  margin-top:7px;
  color:#bbc8ef;
  letter-spacing:.18em;
}

.quick-links {
  justify-content:flex-start;
  flex-wrap:nowrap;
  gap:8px;
  margin-inline:-2px;
  padding:12px 2px 10px;
  overflow-x:auto;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
}

.quick-links::-webkit-scrollbar { display:none; }

.quick-links a {
  flex:0 0 auto;
  min-width:72px;
  min-height:44px;
  padding:0 13px;
  border:1px solid var(--gcv-line-soft);
  border-radius:999px;
  color:#b6c1e6;
  background:rgba(12,17,53,.64);
  scroll-snap-align:start;
  transition:color 160ms ease,border-color 160ms ease,background 160ms ease;
}

.quick-links a:hover {
  color:#fff;
  border-color:rgba(55,226,255,.38);
  background:rgba(31,72,165,.28);
}

.registration-bars {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:20px;
}

.registration-bars button {
  min-height:48px;
  padding:8px 6px;
  border-color:rgba(81,111,255,.30);
  border-radius:12px;
  background:linear-gradient(155deg,rgba(25,37,93,.95),rgba(17,15,57,.95));
}

.neon-panel,
.daily-summary,
.profile-section,
.action-card,
.feature-card,
.settings-screen,
.secondary-message {
  border-color:var(--gcv-line);
  background:
    linear-gradient(145deg,rgba(18,24,66,.92),rgba(7,11,38,.94) 58%),
    var(--surface);
  box-shadow:inset 0 1px rgba(172,197,255,.09),var(--gcv-glow);
  backdrop-filter:blur(18px);
}

.mining-summary {
  isolation:isolate;
  padding:23px 22px 17px;
  border-color:rgba(64,102,255,.58);
  border-radius:24px;
  background:
    radial-gradient(circle at 89% 19%,rgba(142,64,255,.19),transparent 38%),
    linear-gradient(142deg,rgba(15,27,82,.98),rgba(6,10,39,.98) 62%);
  box-shadow:inset 0 1px rgba(159,196,255,.13),0 24px 60px rgba(0,0,0,.34),0 0 42px rgba(44,73,224,.14);
}

.mining-summary::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:170px;
  height:170px;
  right:-72px;
  top:-75px;
  border:1px solid rgba(255,216,95,.22);
  border-radius:50%;
  box-shadow:inset 0 0 55px rgba(123,56,255,.12);
}

.small-badge {
  border-color:rgba(255,216,95,.25);
  border-radius:999px;
  color:var(--gcv-gold-soft);
  background:rgba(255,216,95,.06);
}

.mining-total {
  margin:18px 0 21px;
  font-size:clamp(34px,9vw,48px);
  color:var(--gcv-gold);
  text-shadow:0 0 24px rgba(255,203,51,.12);
}

.today-mining {
  border-top-color:rgba(94,119,255,.24);
}

.today-mining strong { color:#fff; }

.data-note { color:#929ec4; }

.mining-button {
  min-height:72px;
  border-color:rgba(95,116,255,.72);
  border-top-color:rgba(80,232,255,.78);
  border-left-color:rgba(55,226,255,.65);
  border-radius:20px;
  background:
    radial-gradient(circle at 18% 0,rgba(55,226,255,.25),transparent 32%),
    linear-gradient(110deg,#0755ce,#3f22b6 60%,#7b1f9e);
  box-shadow:inset 0 2px rgba(190,238,255,.24),inset 0 -5px 9px rgba(20,7,89,.34),0 8px 0 #06092b,0 19px 38px rgba(28,52,167,.34);
  transition:transform 160ms ease,filter 160ms ease,box-shadow 160ms ease;
}

.mining-button:hover:not(:disabled) {
  transform:translateY(-2px);
  box-shadow:inset 0 2px rgba(190,238,255,.28),inset 0 -5px 9px rgba(20,7,89,.34),0 10px 0 #06092b,0 24px 44px rgba(28,52,167,.42);
}

.mining-button:active:not(:disabled) {
  transform:translateY(4px);
  box-shadow:inset 0 2px rgba(190,238,255,.22),0 3px 0 #06092b,0 12px 24px rgba(28,52,167,.28);
}

.reward-shortcuts { gap:12px; }

.reward-shortcuts button,
.activity-shortcuts a {
  border-color:var(--gcv-line-soft);
  background:linear-gradient(145deg,rgba(17,23,66,.94),rgba(8,12,40,.96));
  box-shadow:inset 0 1px rgba(164,191,255,.08),0 10px 24px rgba(0,0,0,.18);
}

.reward-shortcuts button { border-radius:15px; }

.activity-shortcuts a {
  min-height:92px;
  border-radius:17px;
  transition:transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease;
}

.activity-shortcuts a:hover {
  transform:translateY(-2px);
  border-color:rgba(67,209,255,.40);
  box-shadow:inset 0 1px rgba(164,191,255,.12),0 16px 30px rgba(0,0,0,.24),0 0 24px rgba(38,108,255,.10);
}

.activity-shortcuts .icon {
  width:31px;
  height:31px;
  filter:drop-shadow(0 0 9px rgba(55,226,255,.22));
}

.daily-mining {
  padding:21px 18px 15px;
  border-radius:21px;
}

.home-progress-grid {
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(89,114,255,.14);
  border-radius:15px;
  background:rgba(95,114,255,.13);
}

.home-progress-grid>div {
  min-height:88px;
  border:0;
  background:rgba(6,10,37,.72);
}

.home-progress-grid>div:nth-child(n+4) { border-top:0; }
.home-progress-grid strong { color:var(--gcv-gold); }

.compact-shortcuts a {
  min-height:44px;
  border-radius:13px;
  color:var(--gcv-cyan);
}

.home-footnote {
  margin:24px 0 8px;
  color:#7f8bb2;
  letter-spacing:.04em;
}

.bottom-nav {
  bottom:max(10px,env(safe-area-inset-bottom));
  width:min(calc(100% - 20px),500px);
  padding:9px 8px;
  border:1px solid rgba(67,95,222,.46);
  border-radius:22px;
  background:rgba(5,9,35,.88);
  box-shadow:inset 0 1px rgba(165,193,255,.12),0 18px 55px rgba(0,0,0,.52),0 0 32px rgba(38,64,182,.15);
  backdrop-filter:blur(24px) saturate(140%);
}

.bottom-nav a {
  position:relative;
  min-height:54px;
  padding:6px 2px 3px;
  border-radius:15px;
  transition:color 160ms ease,background 160ms ease,transform 160ms ease;
}

.bottom-nav a[aria-current="page"] {
  color:#78e8ff;
  background:linear-gradient(180deg,rgba(39,92,255,.19),rgba(31,45,112,.06));
}

.bottom-nav a[aria-current="page"]::before {
  content:"";
  position:absolute;
  top:-10px;
  width:26px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gcv-cyan),var(--gcv-violet));
  box-shadow:0 0 12px var(--gcv-cyan);
}

.bottom-nav a:hover { color:#fff; }
.bottom-nav .icon { width:25px; height:25px; }

.app-menu {
  position:fixed;
  z-index:20;
  top:calc(92px + env(safe-area-inset-top));
  left:50%;
  transform:translateX(-50%);
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:10px;
  border-color:rgba(69,100,246,.48);
  border-radius:18px;
  background:rgba(6,10,37,.96);
  box-shadow:0 30px 80px rgba(0,0,0,.62),inset 0 1px rgba(167,196,255,.12);
  backdrop-filter:blur(24px);
}

.app-menu a {
  min-height:44px;
  border-radius:11px;
}

.app-menu a:hover {
  color:var(--gcv-cyan);
  background:rgba(51,92,214,.15);
}

.view-heading {
  min-height:66px;
  padding:12px 0;
  border-bottom:1px solid rgba(85,111,233,.14);
}

.view-heading h2 {
  font-size:24px;
  letter-spacing:-.04em;
}

.view-heading h2:focus { outline:none; }

.view-heading button {
  min-width:44px;
  min-height:44px;
  color:#edf3ff;
  border-radius:13px;
}

.settings-screen {
  padding:20px;
  border-radius:20px;
}

.settings-line {
  min-height:60px;
  border-bottom:1px solid rgba(89,113,229,.13);
}

.settings-line:last-child { border-bottom:0; }
.theme-control select { min-height:44px; }

.hero { padding-top:13px; }

.auth-panel {
  padding:25px 22px;
  border-color:rgba(74,106,255,.48);
  border-radius:24px;
  background:
    radial-gradient(circle at 98% 0,rgba(139,66,255,.20),transparent 38%),
    linear-gradient(145deg,rgba(17,25,73,.97),rgba(6,10,38,.98));
  box-shadow:inset 0 1px rgba(170,197,255,.12),var(--gcv-shadow),0 0 40px rgba(45,71,217,.12);
}

.auth-panel h2 { font-size:25px; }
.auth-panel .gcv-mark { box-shadow:0 0 0 1px rgba(255,215,95,.35),0 9px 20px rgba(0,0,0,.38); }

.auth-form input,
.profile-grid input,
.action-form input,
.action-form select,
.theme-control select {
  border-color:rgba(79,105,224,.28);
  background:rgba(4,8,31,.82);
  box-shadow:inset 0 1px rgba(151,185,255,.05);
}

.button-primary {
  background:linear-gradient(112deg,#126be1,#4f29c5 62%,#7b2799);
  border-color:rgba(97,132,255,.64);
  box-shadow:inset 0 1px rgba(207,235,255,.22),0 12px 26px rgba(24,47,160,.24);
}

.button-secondary {
  color:#b9edff;
  background:rgba(28,50,124,.24);
  border-color:rgba(78,117,255,.30);
}

.button-quiet { min-height:44px; }

.status-region {
  border-radius:14px;
  border-color:rgba(78,105,225,.22);
  background:rgba(9,14,45,.72);
}

.section-heading {
  margin-bottom:18px;
}

.section-heading h2 {
  color:#f7f7ff;
  letter-spacing:-.045em;
}

.metric-grid { gap:12px; }

.metric-card {
  position:relative;
  overflow:hidden;
  min-height:124px;
  padding:18px;
  border-color:rgba(69,98,231,.28);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(18,25,72,.94),rgba(7,11,38,.96));
  box-shadow:inset 0 1px rgba(171,198,255,.08),0 14px 32px rgba(0,0,0,.22);
}

.metric-card::after {
  content:"";
  position:absolute;
  width:84px;
  height:84px;
  right:-42px;
  top:-42px;
  border:1px solid rgba(71,142,255,.17);
  border-radius:50%;
}

.metric-card>strong {
  margin-top:14px;
  color:#fff;
  font-variant-numeric:tabular-nums;
}

.metric-card>strong small { color:var(--gcv-cyan); }

.metric-primary {
  border-color:rgba(255,214,83,.34);
  background:
    radial-gradient(circle at 92% 12%,rgba(255,201,49,.13),transparent 42%),
    linear-gradient(145deg,rgba(27,30,77,.98),rgba(8,12,40,.97));
}

.metric-primary>strong,
.metric-primary>strong small { color:var(--gcv-gold); }

.daily-summary,
.profile-section,
.action-card { border-radius:20px; }

.remaining-grid>div {
  min-height:66px;
  border:1px solid rgba(77,101,220,.16);
  background:rgba(9,14,47,.72);
}

.remaining-grid strong { color:var(--gcv-gold-soft); }

.action-card[data-enabled="true"] {
  border-color:rgba(55,226,255,.36);
  box-shadow:inset 0 1px rgba(178,225,255,.10),0 18px 42px rgba(0,0,0,.25),0 0 28px rgba(31,141,255,.09);
}

.action-card[data-enabled="false"],
.feature-disabled {
  opacity:.72;
  filter:saturate(.72);
}

.feature-card {
  border-radius:18px;
}

.feature-icon {
  color:var(--gcv-cyan);
  background:rgba(37,93,255,.12);
  box-shadow:inset 0 0 0 1px rgba(71,119,255,.16);
}

.capability-badge,
.network-badge {
  color:#73e7ff;
  border-color:rgba(55,226,255,.28);
  background:rgba(55,226,255,.07);
}

.info-dialog {
  border-color:rgba(86,112,255,.56);
  border-radius:24px;
  background:
    radial-gradient(circle at 94% 5%,rgba(145,55,255,.17),transparent 38%),
    #090d2d;
  box-shadow:0 36px 100px rgba(0,0,0,.76),inset 0 1px rgba(185,207,255,.10);
}

:root[data-theme="light"] body {
  background:
    radial-gradient(circle at 10% 0,rgba(66,126,255,.13),transparent 25rem),
    radial-gradient(circle at 92% 18%,rgba(148,65,255,.10),transparent 24rem),
    linear-gradient(180deg,#fbfbff,#eef2ff);
}

:root[data-theme="light"] .neon-panel,
:root[data-theme="light"] .daily-summary,
:root[data-theme="light"] .profile-section,
:root[data-theme="light"] .action-card,
:root[data-theme="light"] .feature-card,
:root[data-theme="light"] .settings-screen,
:root[data-theme="light"] .secondary-message,
:root[data-theme="light"] .reward-shortcuts button,
:root[data-theme="light"] .activity-shortcuts a,
:root[data-theme="light"] .metric-card {
  color:var(--text);
  background:rgba(255,255,255,.90);
  box-shadow:0 18px 45px rgba(45,58,120,.10),inset 0 1px #fff;
}

:root[data-theme="light"] .member-greeting,
:root[data-theme="light"] .quick-links a,
:root[data-theme="light"] .status-region {
  background:rgba(255,255,255,.78);
}

:root[data-theme="light"] .bottom-nav {
  background:rgba(248,249,255,.91);
  box-shadow:0 18px 48px rgba(38,49,103,.18),inset 0 1px #fff;
}

@media (min-width:700px) {
  .app-header { min-height:138px; }
  .slogan-strip { border-radius:24px; }
}

@media (max-width:390px) {
  .site-header,
  main,
  .app-menu { width:calc(100% - 22px); }
  .app-logo-image { width:66px; height:66px; }
  .app-logo>.gcv-wordmark { font-size:14px; }
  .language-button { font-size:12px; }
  .portal-switch { font-size:10px; }
  .slogan-strip { padding-inline:13px; }
  .registration-bars { grid-template-columns:1fr; }
  .registration-bars button { font-size:11px; }
  .mining-summary { padding-inline:18px; }
  .reward-shortcuts button { padding-inline:12px; }
  .home-progress-grid strong { font-size:18px; }
  .bottom-nav { width:calc(100% - 14px); }
  .bottom-nav a { font-size:9px; }
}

@media (prefers-contrast:more) {
  .neon-panel,
  .daily-summary,
  .profile-section,
  .action-card,
  .feature-card,
  .settings-screen,
  .bottom-nav { border-color:rgba(126,151,255,.72); }
  .data-note,
  .home-progress-grid small { color:#c7cde2; }
}
