/* 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 h2 .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 h2 { color:#f5f3ff; font-size:clamp(17px,4.55vw,24px); font-weight:750; line-height:1.5; letter-spacing:-.045em; }
.slogan-strip h2 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:11px; font-weight:700; 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); }
#home-refresh-button { margin-top:12px; min-height:44px; font-size:.875rem; }
#home-refresh-status { font-size:.875rem; }
.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="app"] #dashboard { display:none; }
body[data-view="app"] #status-region:not([data-kind="error"]) { display:none; }
.app-shortcut-intro { margin:0 0 20px; color:var(--muted); font-size:16px; line-height:1.6; }
.app-shortcut-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.app-shortcut-grid a { display:flex; align-items:center; gap:14px; min-width:0; min-height:104px; padding:20px 16px; border:1px solid var(--border); border-radius:18px; background:linear-gradient(135deg,var(--surface-strong),var(--surface)); color:var(--text); text-decoration:none; }
.app-shortcut-grid a:hover { border-color:var(--mint); }
.app-shortcut-grid .icon { width:30px; height:30px; flex:none; color:var(--mint); }
.app-shortcut-grid a:nth-child(2) .icon { color:var(--gold); }
.app-shortcut-copy { display:grid; gap:7px; min-width:0; overflow-wrap:anywhere; }
.app-shortcut-copy strong { font-size:19px; font-weight:800; }
.app-shortcut-copy small { font-size:13px; line-height:1.5; color:var(--muted); }
.app-shortcut-arrow { margin-inline-start:auto; flex:none; color:var(--muted); font-size:26px; }
.app-shortcut-note { margin:20px 0; color:var(--muted); font-size:14px; line-height:1.7; }
html[dir="rtl"] .app-shortcut-arrow { transform:rotate(180deg); }
@media(max-width:480px) { .app-shortcut-grid { grid-template-columns:1fr; } .app-shortcut-grid a { min-height:90px; } }
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 h2 {
  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:none;
}

.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; }
}

/* A single row: physical back/close edges remain visible in every language. */
.app-header {
  display:block;
  min-height:0;
  padding-top:calc(92px + env(safe-area-inset-top));
  padding-bottom:0;
}

.app-topbar {
  position:fixed;
  z-index:30;
  top:env(safe-area-inset-top);
  left:calc(11px + env(safe-area-inset-left));
  right:calc(11px + env(safe-area-inset-right));
  display:grid;
  gap:2px;
  width:auto;
  max-width:760px;
  min-width:0;
  margin-inline:auto;
  padding:4px;
  border:1px solid rgba(67,95,222,.42);
  border-top:0;
  border-radius:0 0 18px 18px;
  background:rgba(5,9,35,.94);
  box-shadow:inset 0 1px rgba(165,193,255,.10),0 12px 34px rgba(0,0,0,.38);
  backdrop-filter:blur(22px) saturate(135%);
}

.app-menu { top:calc(94px + env(safe-area-inset-top)); }

.app-toolbar {
  position:static;
  z-index:auto;
  display:flex;
  flex-wrap:nowrap;
  direction:ltr;
  align-items:center;
  gap:2px;
  width:100%;
  max-width:none;
  margin:0;
  min-width:0;
  min-height:52px;
  padding:4px;
  border:0;
  border-radius:0 0 14px 14px;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

body { scroll-padding-top:calc(98px + env(safe-area-inset-top)); }
#main-content,
#home-title,
#view-title { scroll-margin-top:calc(98px + env(safe-area-inset-top)); }

.app-toolbar .icon-button,
.app-toolbar .language-button {
  flex:0 0 44px;
  width:44px;
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:8px;
  justify-self:auto;
}

.app-toolbar .language-button {
  flex-basis:auto;
  width:auto;
  padding-inline:7px;
  font-size:13px;
  font-weight:800;
}

.app-toolbar .language-button span {
  margin-left:3px;
  font-size:19px;
}

.app-toolbar-content {
  display:flex;
  flex:1 1 auto;
  flex-wrap:nowrap;
  align-items:center;
  gap:5px;
  min-width:0;
  overflow-x:auto;
  padding:4px;
  white-space:nowrap;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#7289e0 transparent;
}
.app-toolbar-content>* { flex-shrink:0; }
.app-toolbar-content:focus-visible { outline:2px solid #ffe36e; outline-offset:-2px; border-radius:10px; }
.app-toolbar :is(#app-back-button,#app-close-button) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:6px;
  color:var(--text);
  background:transparent;
  border:0;
  border-radius:13px;
  box-shadow:none;
}
.app-toolbar :is(#app-back-button,#app-close-button) .icon {
  width:18px;
  height:18px;
  stroke-width:2;
}
.app-toolbar :is(#app-back-button,#app-close-button):focus-visible { outline:2px solid var(--gcv-cyan); outline-offset:-4px; }

.header-home-link {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  gap:5px;
  min-width:54px;
  min-height:44px;
  padding:7px 9px;
  border:1px solid var(--gcv-line-soft);
  border-radius:13px;
  color:var(--text);
  background:rgba(27,44,112,.22);
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.header-home-link .icon { width:20px; height:20px; color:var(--gcv-cyan); }

.header-member-block {
  display:flex;
  align-items:stretch;
  gap:8px;
  min-width:0;
}

.header-member-block .member-greeting {
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:auto;
  min-width:0;
  min-height:44px;
  margin:0;
  padding:0 7px;
  border-radius:15px;
}

#home-member {
  display:block;
  width:auto;
  max-width:110px;
  overflow:hidden;
  color:var(--text);
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.header-member-block #home-login {
  min-height:44px;
  margin:0;
  padding:3px 5px;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
  text-align:left;
}

.header-links { display:flex; min-width:0; }

.header-links .portal-switch {
  display:flex;
  align-self:stretch;
  flex-direction:row;
  align-items:center;
  gap:4px;
  min-width:70px;
  min-height:44px;
  margin:0;
  padding:7px 8px;
  border-radius:15px;
  font-size:13px;
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.01em;
  text-align:center;
}

.portal-switch-label { display:flex; flex-direction:row; gap:3px; white-space:nowrap; }
.header-links .portal-switch .portal-switch-label span { color:inherit; font-size:inherit; }
.header-links .portal-switch>span:last-child { color:var(--gcv-cyan); font-size:13px; }

.slogan-strip {
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  align-items:center;
  gap:14px;
  text-align:left;
}

.slogan-strip .app-logo {
  width:62px;
  min-width:0;
  justify-self:start;
  gap:4px;
  transform:none;
}

.slogan-strip .app-logo-image { width:58px; height:58px; border-radius:17px; }
.slogan-strip .app-logo>.gcv-wordmark { font-size:12px; line-height:1; }
.slogan-copy { min-width:0; }
.slogan-copy h2 { margin:0; }
.home-screen>.slogan-strip { margin-top:12px; }
#home-title.visually-hidden {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
#app-reload-button[hidden] { display:none; }
#app-reload-button:disabled { cursor:not-allowed; opacity:.58; }
.slogan-copy p { margin:7px 0 0; }

.quick-links a {
  flex:0 0 auto;
  min-width:78px;
  width:auto;
  padding-inline:14px;
  color:#d2daf4;
  font-size:16px;
  font-weight:850;
  text-align:center;
  white-space:nowrap;
  scroll-snap-align:start;
}

.quick-links {
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin-inline:-2px;
  padding-inline:2px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:none;
  scrollbar-width:thin;
  scrollbar-color:rgba(90,128,255,.55) transparent;
}

.quick-links::-webkit-scrollbar { display:block; height:5px; }
.quick-links::-webkit-scrollbar-thumb { border-radius:999px; background:rgba(90,128,255,.55); }

.quick-links a[data-info="app"] { min-width:max-content; }
.quick-links #portal-qa-link,
.quick-links #portal-whitepaper-link { white-space:nowrap; }
.quick-links:focus-visible { outline:2px solid var(--warning); outline-offset:3px; border-radius:14px; }

.registration-bars button {
  font-size:13px;
  font-weight:750;
  line-height:1.35;
}

.summary-topline h2,
.daily-mining .summary-topline h2 { font-size:18px; font-weight:800; }
.small-badge { font-size:12px; font-weight:750; }
.today-mining { font-size:15px; font-weight:700; }
.today-mining strong { font-size:20px; font-weight:800; }
.today-mining small { font-size:12px; font-weight:700; }
.data-note { font-size:13px; font-weight:650; line-height:1.65; }
.slogan-strip p { font-size:12px; font-weight:700; }
.reward-shortcuts button { font-size:15px; font-weight:800; }
.activity-shortcuts a { font-size:15px; font-weight:800; }
.daily-mining .summary-topline>span { font-size:12px; font-weight:700; }
.home-progress-grid span { font-size:13px; font-weight:750; }
.home-progress-grid strong { font-weight:800; }
.home-progress-grid small { font-size:12px; font-weight:650; line-height:1.35; }
.compact-shortcuts a { font-size:15px; font-weight:800; }
.home-footnote { font-size:13px; font-weight:700; }
.app-menu a { font-size:15px; font-weight:750; }

.mining-bolt {
  display:grid;
  flex:0 0 48px;
  place-items:center;
  width:48px;
  height:48px;
  padding:9px;
  border:1px solid rgba(255,222,103,.72);
  border-radius:16px;
  color:#ffe36e;
  background:radial-gradient(circle at 35% 25%,rgba(255,245,174,.25),transparent 44%),linear-gradient(145deg,rgba(255,203,43,.20),rgba(97,46,210,.30));
  box-shadow:inset 0 1px rgba(255,255,255,.24),0 0 0 3px rgba(255,213,74,.07),0 0 24px rgba(255,202,45,.28),0 10px 24px rgba(3,8,39,.38);
  text-shadow:none;
}

.mining-bolt svg {
  display:block;
  width:24px;
  height:30px;
  overflow:visible;
  fill:currentColor;
  filter:drop-shadow(0 0 7px rgba(255,224,89,.78));
}

.mining-button small { font-size:12px; font-weight:650; }

#reward-preview-button[hidden] { display:none; }

.reward-preview-button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  min-height:44px;
  margin:4px auto 16px;
  padding:8px 15px;
  border:1px solid rgba(113,144,255,.48);
  border-radius:999px;
  color:#d5ddff;
  background:rgba(25,39,105,.26);
  box-shadow:inset 0 1px rgba(255,255,255,.08);
  font-size:14px;
  font-weight:700;
  line-height:1.35;
  cursor:pointer;
}

.reward-preview-button span { color:var(--gcv-cyan); }

.reward-completion-dialog {
  box-sizing:border-box;
  width:min(86vw,560px);
  max-width:calc(100vw - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));
  height:min(66dvh,620px);
  min-height:min(440px,calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  margin:auto;
  padding:clamp(28px,5.5dvh,48px) clamp(18px,5vw,38px) 26px;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(78,129,255,.78);
  border-radius:28px;
  color:#f8f7ff;
  background:
    radial-gradient(circle at 50% 5%,rgba(255,216,78,.16),transparent 34%),
    radial-gradient(circle at 92% 30%,rgba(106,50,255,.23),transparent 40%),
    linear-gradient(160deg,#0d164d 0%,#090d30 55%,#050820 100%);
  box-shadow:inset 0 1px rgba(206,225,255,.16),0 34px 110px rgba(0,0,0,.78),0 0 50px rgba(35,89,255,.20);
}

.reward-completion-dialog::backdrop {
  background:rgba(1,3,17,.82);
  backdrop-filter:blur(7px);
}

.reward-close-form {
  position:absolute;
  top:8px;
  right:8px;
  margin:0;
}

.reward-completion-dialog .dialog-close {
  position:static;
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  padding:0;
  color:#d8ddf4;
  border:1px solid rgba(124,151,255,.25);
  border-radius:14px;
  background:rgba(12,19,63,.72);
}

.reward-preview-content {
  display:grid;
  justify-items:center;
  align-content:center;
  gap:14px;
  min-height:100%;
  text-align:center;
}

.reward-preview-label {
  margin:0 20px 2px;
  padding:6px 10px;
  border:1px solid rgba(255,217,83,.34);
  border-radius:999px;
  color:#ffe58d;
  background:rgba(255,210,51,.08);
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  text-wrap:balance;
  word-break:keep-all;
}

.celebration-icon {
  display:block;
  width:82px;
  height:82px;
  overflow:visible;
  color:#ffe058;
  fill:currentColor;
  filter:drop-shadow(0 0 15px rgba(255,215,64,.42));
}

.celebration-icon .confetti-line {
  fill:none;
  stroke:#66e7ff;
  stroke-width:4;
  stroke-linecap:round;
}

#reward-preview-title {
  margin:0;
  color:#ffe16e;
  font-size:clamp(29px,8vw,42px);
  font-weight:900;
  line-height:1.15;
  letter-spacing:-.045em;
  text-shadow:0 0 22px rgba(255,209,48,.28);
}

.reward-preview-amount {
  margin:0;
  color:#fff;
  font-size:clamp(22px,6vw,30px);
  font-weight:850;
  line-height:1.25;
}

#reward-preview-note {
  max-width:410px;
  margin:0;
  color:#c4cdec;
  font-size:15px;
  font-weight:650;
  line-height:1.7;
}

.reward-preview-content>.button,
.reward-preview-content form,
.reward-preview-content form .button {
  width:100%;
}

.reward-preview-content>.button,
.reward-preview-content form .button { min-height:48px; font-size:15px; font-weight:800; }

:root[data-theme="light"] .reward-preview-button { color:#24325d; background:rgba(255,255,255,.86); }
:root[data-theme="light"] .reward-completion-dialog {
  color:#17234e;
  border-color:#5e7ed9;
  background:radial-gradient(circle at 50% 4%,rgba(255,204,43,.18),transparent 34%),linear-gradient(160deg,#fffdf4,#eef2ff 62%,#e7ecff);
  box-shadow:inset 0 1px #fff,0 28px 80px rgba(37,48,99,.32);
}
:root[data-theme="light"] .reward-completion-dialog .dialog-close { color:#24325d; background:#fff; }
:root[data-theme="light"] .reward-preview-label { color:#734d00; background:#fff8d8; }
:root[data-theme="light"] #reward-preview-title { color:#704900; text-shadow:none; }
:root[data-theme="light"] .reward-preview-amount { color:#17234e; }
:root[data-theme="light"] #reward-preview-note { color:#4b577e; }
:root[data-theme="light"] .reward-preview-content>.button:disabled {
  color:#4b577e;
  background:#e0e5f3;
  border-color:#aab5d0;
  opacity:1;
}

:root[data-theme="light"] .app-toolbar .icon-button,
:root[data-theme="light"] .app-toolbar .language-button,
:root[data-theme="light"] .header-home-link { color:#17234e; }
:root[data-theme="light"] .app-topbar {
  border-color:rgba(75,98,176,.30);
  background:rgba(248,249,255,.95);
  box-shadow:inset 0 1px #fff,0 12px 30px rgba(38,49,103,.15);
}
:root[data-theme="light"] .header-home-link { background:rgba(255,255,255,.76); }
:root[data-theme="light"] .app-toolbar :is(#app-back-button,#app-close-button) { color:#17234e; background:transparent; border:0; box-shadow:none; }
:root[data-theme="light"] .header-home-link .icon { color:var(--mint-strong); }
:root[data-theme="light"] #home-member { color:#17234e; }
:root[data-theme="light"] .quick-links a { color:#27345e; background:rgba(255,255,255,.9); }
:root[data-theme="light"] .today-mining strong { color:#17234e; }
:root[data-theme="light"] .small-badge {
  color:#684708;
  border-color:rgba(104,71,8,.42);
  background:#fff5cf;
}
:root[data-theme="light"] .data-note,
:root[data-theme="light"] .home-progress-grid small,
:root[data-theme="light"] .home-footnote { color:#4d5982; }
:root[data-theme="light"] .mining-bolt {
  color:#795000;
  border-color:rgba(139,96,20,.55);
  background:linear-gradient(145deg,#fff7d8,#efe9ff);
  box-shadow:inset 0 1px #fff,0 0 0 3px rgba(139,96,20,.06),0 9px 20px rgba(61,48,112,.16);
}

@media (max-width:390px) {
  .app-header { padding-inline:calc(9px + env(safe-area-inset-left)) calc(9px + env(safe-area-inset-right)); }
  .slogan-strip { grid-template-columns:56px minmax(0,1fr); gap:10px; }
  .slogan-strip .app-logo { width:56px; }
  .slogan-strip .app-logo-image { width:52px; height:52px; }
  .slogan-strip .app-logo>.gcv-wordmark { font-size:11px; }
  .header-member-block { gap:6px; }
  .header-member-block .member-greeting { min-height:44px; padding-inline:8px; }
  .header-links .portal-switch { min-width:66px; min-height:44px; padding-inline:6px; }
  .quick-links a { min-width:78px; font-size:15px; }
  .registration-bars button { font-size:13px; }
}

@media (max-width:320px) {
  .app-toolbar { gap:0; }
  .app-toolbar .icon-button { flex-basis:44px; width:44px; min-width:44px; }
  .header-home-link { min-width:50px; padding-inline:7px; }
  .slogan-strip { grid-template-columns:52px minmax(0,1fr); gap:8px; }
  .slogan-strip .app-logo { width:52px; }
  .slogan-strip .app-logo-image { width:48px; height:48px; }
  #home-member { font-size:13px; }
  .header-member-block #home-login { font-size:13px; }
  .header-links .portal-switch { min-width:66px; font-size:13px; }
  .reward-completion-dialog { width:calc(100vw - 20px); padding-inline:14px; border-radius:22px; }
  .reward-preview-label { margin-inline:10px; font-size:13px; }
  #reward-preview-note { font-size:14px; }
}

@media (orientation:landscape) and (max-height:520px) {
  .reward-completion-dialog {
    width:min(90vw,620px);
    height:auto;
    min-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-height:calc(100dvh - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    padding-block:20px;
  }
  .reward-preview-content { gap:10px; }
  .celebration-icon { width:58px; height:58px; }
}
