/* Shared Revoke glass materials. Auth and licensing logic are unchanged. */
body {
  --text: #f4f5f7;
  --muted: #b4b7c0;
  --accent: #c7bcf0;
  min-height: 100dvh;
  background: #08090b;
  background-image: radial-gradient(ellipse at 24% 30%, #8995af20, transparent 48%),
    radial-gradient(ellipse at 78% 72%, #c8cdd51a, transparent 45%);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;
}
body .topbar {
  background: #11121780;
  border-bottom: 1px solid #ffffff0e;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
body .header-action {
  border: 1px solid #ffffff24;
  background: #ffffff09;
  color: var(--text);
  border-radius: 12px;
}
body .auth-wrap {
  min-height: calc(100dvh - 74px);
  padding: 48px 24px;
}
body .auth-card {
  position: relative;
  width: min(100%, 460px);
  padding: 40px;
  background: #1b1d244d;
  border: 1px solid #ffffff24;
  border-radius: 28px;
  box-shadow: 0 24px 64px #00000066, inset 0 1px 0 #ffffff1c, inset 0 -1px 0 #ffffff05;
  -webkit-backdrop-filter: blur(28px) saturate(120%);
  backdrop-filter: blur(28px) saturate(120%);
}
.glass-mark {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin-bottom: 28px;
  border-radius: 16px;
  border: 1px solid #ffffff30;
  background: #ffffff09;
  box-shadow: inset 0 1px 0 #ffffff24, 0 4px 16px #00000024;
  color: var(--accent);
  font-size: 25px;
  font-weight: 650;
}
body .kicker { font-size: 12px; color: #bcb2dc; }
body .auth-card h1 {
  font-size: clamp(1.9rem, 5vw, 2.3rem);
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.2;
  text-wrap: balance;
  margin: 12px 0;
}
.login-description { margin: 0 0 28px; font-size: 16px; text-wrap: pretty; }
body .field { margin: 20px 0; }
body .field span { color: #e4e5ea; font-size: 14px; }
body .field input {
  min-height: 50px;
  padding: 14px 16px;
  background: #090a0e52;
  border: 1px solid #ffffff1c;
  border-radius: 13px;
  font-size: 16px;
  box-shadow: inset 0 1px 3px #00000020;
  transition: border-color 160ms ease-out, background-color 160ms ease-out;
}
body .field input::placeholder { color: #878b96; }
body .field input:focus-visible {
  border-color: #c7bcf090;
  outline: 2px solid #c7bcf040;
  outline-offset: 2px;
  box-shadow: none;
}
body .btn {
  min-height: 50px;
  margin-top: 6px;
  border: 1px solid #ffffff40;
  border-radius: 13px;
  background: #e9eaf0;
  color: #17181d;
  font-size: 16px;
  font-weight: 600;
  box-shadow: inset 0 1px 0 #ffffff99, 0 6px 18px #00000020;
  transition: transform 160ms ease-out, opacity 160ms ease-out;
}
@media (hover: hover) and (pointer: fine) {
  body .btn:hover { transform: translateY(-1px); opacity: .92; }
}
body .btn:active { transform: scale(.99); }
body .status:empty { display: none; }
body .status { margin: 16px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.login-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid #ffffff10;
  font-size: 14px;
  color: #bfc2ca;
}
.login-links a { padding: 4px 0; }
.login-links a:hover { color: #fff; }
body .rise { transition: opacity 180ms ease-out, transform 180ms ease-out; transform: translateY(8px); }
body .rise.is-visible { transform: none; }
@supports not (backdrop-filter: blur(1px)) {
  body .auth-card { background: #181a20; }
}
@media (max-width: 640px) {
  body .auth-wrap { min-height: calc(100dvh - 116px); padding: 30px 18px; }
  body .auth-card { padding: 28px 24px; border-radius: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  body .rise,
  body .btn { transition: none; transform: none; }
}

:root { --bg:#08090b; --surface:#15171d; --surface2:#1b1d24; --panel:#1b1d244d; --panel2:#1b1d2470; --line:#ffffff1c; --accent2:#e5e0f4; }
body { --line:#ffffff1c; }
body h1,body h2,body h3 { text-wrap:balance; }
body p { text-wrap:pretty; }
body .nav { background:#11121780; border-bottom:1px solid #ffffff0e; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
body .nav-cta,body .button,body .header-action { border-radius:13px; }
body .nav-cta { background:#ffffff09; border:1px solid #ffffff24; color:var(--text); }
body .button { background:#e9eaf0; color:#17181d; border:1px solid #ffffff40; box-shadow:inset 0 1px #ffffff99,0 6px 18px #0003; }
body .button:hover { background:#f4f5f7; color:#17181d; }
body .button span,body .nav-cta span { display:none; }
body .btn.secondary,body .icon-btn { background:#ffffff08; color:var(--text); border:1px solid #ffffff24; box-shadow:inset 0 1px #ffffff0d; }
body .btn.secondary:hover { background:#ffffff10; }
body .brandmark,body .logo i { border-radius:12px; background:#ffffff09; border:1px solid #ffffff26; box-shadow:inset 0 1px #ffffff1a; color:var(--accent); }
body .dash-card,body .art-card,body .rating-panel {
  background:#1b1d244d; border:1px solid #ffffff24; border-radius:24px;
  box-shadow:0 18px 44px #00000038,inset 0 1px #ffffff1c;
  -webkit-backdrop-filter:blur(18px) saturate(120%); backdrop-filter:blur(18px) saturate(120%);
}
body .feature,body .review-card,body .home-card {
  background:#1b1d244d; border:1px solid #ffffff1c; border-radius:20px;
  box-shadow:inset 0 1px #ffffff14,0 8px 24px #0002;
}
body .feature:hover,body .review-card:hover,body .home-card:hover { background:#1b1d2470; border-color:#ffffff38; box-shadow:inset 0 1px #ffffff1c; }
body .statement,body .mode-section,body .reviews,body .end,body .home-more { background:transparent; border-color:#ffffff14; }
body .statement h2,body .hero h1 .last { color:var(--text); }
body .reviews .review-card,body .reviews .review-card:hover { background:#1b1d244d; border-color:#ffffff24; box-shadow:inset 0 1px #ffffff14; }
body .reviews .stars,body .stars,body .preview-note strong { color:var(--accent); }
body .rating-fill { background:var(--accent); }
body .rating-track { background:#ffffff0b; }
body .rating-total { border-color:#ffffff14; }
body .rating-total p,body .rating-row,body .preview-note,body .reviews .reviewer { color:var(--muted); }
body .reviews .reviewer b { color:var(--text); }
body .preview-note { border-color:#c7bcf050; }
body .reviews .avatar,body .avatar { background:#ffffff08; border:1px solid #ffffff24; color:var(--accent); }
body .art-glow,body .orbit { display:none; }
body .art-tag { background:#1b1d24; border:1px solid #ffffff24; border-radius:12px; color:var(--text); box-shadow:0 8px 24px #0003; }
body .art-top,body .art-side,body .module,body .mode-row { background:transparent; border-color:#ffffff14; }
body .art-side .active { background:#ffffff09; border:1px solid #ffffff18; border-radius:9px; color:var(--text); }
body .mode-tags span,body .tag { background:#ffffff08; border:1px solid #ffffff20; border-radius:9px; color:#d8dae2; }
body .home-strip { background:#1b1d244d; border:1px solid #ffffff24; border-radius:24px; padding:28px; box-shadow:inset 0 1px #ffffff14; }
body .home-strip a { background:#ffffff08; border:1px solid #ffffff24; border-radius:12px; }
body .client-code,body #purchase-key,body #enrollment-token { background:#090a0e52; border:1px solid #ffffff20; border-radius:13px; color:var(--text); }
body .notice { background:#1b1d244d; border:1px solid #ffffff24; border-radius:16px; }
body .meta,body .page-footer,body .footer { border-color:#ffffff14; }
body .meta strong { overflow-wrap:anywhere; text-align:right; min-width:0; }
body .dashboard-grid { gap:20px; }
body .dash-card { min-width:0; }
body .dash-card h2 { font-weight:600; letter-spacing:normal; }
body .dashboard h1 { font-weight:600; letter-spacing:normal; }
body .auth-card .small-note { font-size:14px!important; }
body .hero-footnote,body .hero-index,body .mode-row .label { color:var(--muted); }
body .reveal { transition-duration:180ms; }
[hidden] { display:none!important; }
.security-footer{padding-block:28px 36px}.security-footer nav{display:flex;flex-wrap:wrap;gap:16px 24px;font-size:14px}.security-footer a{color:#c9d0dc}
:focus-visible{outline:2px solid #91d9ec;outline-offset:4px}
@supports not (backdrop-filter:blur(1px)) { body .dash-card,body .art-card,body .rating-panel { background:#181a20; } }
@media(max-width:640px) { body .dash-card { padding:24px; border-radius:22px; } body .home-strip { padding:24px; } body .nav-links,body .links { gap:18px; } }
@media(prefers-reduced-motion:reduce) { body .reveal { transition:none; transform:none; opacity:1; } }
