/* 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); }
.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; } }
