/* Shared public-site surfaces and controls, matching the desktop application. */
:root {
  --bg:#0b1510; --ink:#edf4ef; --green:#72c99b; --muted:#a2b6a9;
  --line:#30483a; --surface:#15271d; --surface-raised:#1b3225;
  --cut:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
}
[hidden] { display:none !important; }
body { background:radial-gradient(ellipse at 85% 0,#213e2c55,transparent 850px),var(--bg); color:var(--ink); }
.container { width:min(1280px,calc(100% - 64px)); }
.site-icon { width:20px; height:20px; flex:none; vertical-align:middle; }
.site-header { background:#0b1510ed; border-color:#2c453655; backdrop-filter:blur(20px); }
.header-inner { height:80px; gap:24px; }
.brand img { object-fit:contain; border-radius:0; }
.brand > span { font-size:22px; }
.brand small { font-size:8px; letter-spacing:.13em; color:#829e8d; }
.button { min-height:50px; padding:0 22px; gap:12px; border:0; border-radius:0; clip-path:var(--cut); background:#68bd90; color:#092318; font-size:13px; font-weight:750; transition:background .18s,transform .18s; }
.button:hover { background:#83d2a5; transform:translateY(-2px); }
.button:active { transform:translateY(0); }
.button:focus-visible { outline:0; background:#a0e3bc; box-shadow:inset 0 0 0 3px #e4f8ed; }
.button-secondary { color:#d8e9de; background:#244332; }
.button-secondary:hover { background:#315740; }
.button-secondary:focus-visible { color:#0c2115; }
.button.small { min-height:40px; padding:0 17px; }
.button svg { width:18px; height:18px; }
.header-profile { min-height:38px; gap:8px; color:#b7cabb; }
.site-nav { padding:4px; gap:2px; background:#15271d; border:1px solid #2b4435; border-radius:6px; }
.site-nav a { padding:7px 13px; border-radius:3px; font-size:12px; color:#a6bdae; }
.site-nav a:hover,.site-nav a.is-current { background:#294b36; color:#e3f3e9; }
.eyebrow,.account-eyebrow { color:#a0c6ad; letter-spacing:.12em; font-size:10px; }
.section-index { color:#73c495; }
.text-link { color:#bbd8c6; }
.text-link:hover { color:#e4faec; }
.site-footer { border-top-color:#304c3a; }
dialog { border:1px solid #486850; border-radius:10px; background:linear-gradient(135deg,#1b3023,#101e16); box-shadow:0 28px 100px #0008; }
dialog::backdrop { background:#040b08b8; backdrop-filter:blur(7px); }
.dialog-close { border-radius:4px; background:#264330; color:#cbe3d3; }
.account-auth-card,.account-panel,.account-plan-card,.legal-content { border-color:#3b5b45; border-radius:9px; background:linear-gradient(125deg,#1d3527,#15271c); box-shadow:none; }
.account-auth-card { padding:36px; position:relative; }
.account-auth-card::before { content:"//"; position:absolute; top:18px; right:25px; color:#82c19c55; font-size:34px; font-weight:900; letter-spacing:-.08em; }
.account-intro-mark { border-color:#304a3a; }
.account-auth-card input { background:#0e1d14; border-color:#3c5b46; border-radius:5px; }
.account-auth-card input:focus { border-color:#8cceaa; box-shadow:0 0 0 3px #79bd941c; }
.account-avatar { border-radius:5px; background:#254c35; color:#b2e7c6; border-color:#527a5d; }
.account-nav button { border-radius:5px; }
.account-nav button[aria-current=page] { background:#284b35; color:#d9f3e3; border-color:#557d61; }
.account-section h1,.account-intro h1 { letter-spacing:-.045em; }
.legal-page-nav a { border-radius:4px; }
.legal-page-nav a[aria-current=page] { background:#2b4e38; border-color:#6c9c7e; color:#c4ead2; }
@media(max-width:1120px) { .header-inner { gap:14px; } .site-nav a { padding-inline:10px; } .header-inner .brand > span { font-size:19px; } }
@media(max-width:800px) { .container { width:calc(100% - 40px); } .header-inner { height:72px; } .site-nav { padding:12px 20px; border-inline:0; border-radius:0; background:#14271b; } .site-nav a { padding:12px; } }
@media(max-width:480px) { .container { width:calc(100% - 32px); } .brand > span { font-size:19px; } .brand small { font-size:7px; } .button { padding-inline:18px; } .account-auth-card { padding:25px 22px; } .account-home { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .button { transition:none; } }
