/* FrameScore — Design System */

:root {
  --bg: #F7F4EF;
  --surface: #FFFFFF;
  --surface-alt: #FAF7F2;
  --primary: #C0392B;
  --primary-soft: #F5E6E5;
  --text: #1A1A1A;
  --text-2: #6B6B6B;
  --text-3: #9A9A9A;
  --border: #E8E4DE;
  --success: #1D7A4F;
  --success-soft: #E6F4ED;
  --warning: #C9973A;
  --warning-soft: #FDF3E0;
  --danger: #C0392B;
  --gold: #B8862F;
  --shadow-card: 0 1px 4px rgba(0,0,0,0.06);
  --radius: 12px;
  --radius-sm: 8px;
  --radius-pill: 999px;
  --font-head: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Lato", "Helvetica Neue", Arial, sans-serif;
  --font-display: "DM Serif Display", "Times New Roman", serif;
  --sb-w: 220px;
  --top-h: 60px;
  --peach: #FBE4DC;
  --olive: #2C2E22;
  --bone: #EDE6D9;
  --sand: #D9CFBC;
  --ink: #1A1A1A;
}
[data-theme="dark"] {
  --bg: #141414;
  --surface: #1E1E1E;
  --surface-alt: #181818;
  --primary-soft: #2A1A1A;
  --text: #F0F0F0;
  --text-2: #B8B8B8;
  --text-3: #7A7A7A;
  --border: #2E2E2E;
  --success-soft: #0F2A1F;
  --warning-soft: #2A2014;
  --shadow-card: 0 1px 4px rgba(0,0,0,0.4);
  --peach: #2A1A14;
  --olive: #1E1E1E;
  --bone: #2A2A2A;
  --sand: #3A3A3A;
}
*{box-sizing:border-box;}html,body{margin:0;padding:0;}
body{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0;}
input,select,textarea{font-family:inherit;}a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:700;margin:0;color:var(--text);letter-spacing:-0.01em;}
.uc{font-family:var(--font-head);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}
.app{display:grid;grid-template-columns:var(--sb-w) 1fr;min-height:100vh;}
.app.no-sb{grid-template-columns:1fr;}
.sidebar{background:var(--bg);border-right:1px solid var(--border);padding:1.75rem 1rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:0;height:100vh;}
[data-theme="dark"] .sidebar{background:#1A1A1A;}
.wordmark{font-family:var(--font-head);font-weight:700;font-size:20px;letter-spacing:-0.02em;padding:0 0.5rem;}
.wordmark .accent{color:var(--primary);}
.sb-nav{display:flex;flex-direction:column;gap:2px;}
.sb-item{display:flex;align-items:center;gap:0.75rem;padding:0.625rem 0.75rem;border-radius:8px;font-family:var(--font-body);font-size:14px;color:var(--text-2);border-left:3px solid transparent;cursor:pointer;text-align:left;width:100%;text-decoration:none;}
.sb-item:hover{background:var(--surface);color:var(--text);}
.sb-item.active{background:var(--primary-soft);color:var(--primary);border-left-color:var(--primary);font-weight:700;font-family:var(--font-head);font-size:13px;letter-spacing:0.02em;}
[data-theme="dark"] .sb-item.active{color:#F5B5AE;}
.sb-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:currentColor;}
.sb-foot{margin-top:auto;display:flex;flex-direction:column;gap:0.75rem;padding:0.75rem;border-top:1px solid var(--border);}
.sb-user{display:flex;align-items:center;gap:0.625rem;}
.avatar{width:34px;height:34px;border-radius:50%;background:#1A1A1A;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:12px;letter-spacing:0.04em;flex-shrink:0;}
.avatar.lg{width:48px;height:48px;font-size:16px;}
.sb-name{font-family:var(--font-head);font-weight:700;font-size:13px;}
.sb-logout{font-size:12px;color:var(--text-3);text-align:left;padding:0.25rem 0;}
.sb-logout:hover{color:var(--primary);}
.topbar{height:var(--top-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;position:sticky;top:0;z-index:10;}
.topbar-title{font-family:var(--font-head);font-weight:700;font-size:15px;letter-spacing:0.04em;text-transform:uppercase;}
.topbar-right{display:flex;align-items:center;gap:1rem;}
.theme-toggle{display:inline-flex;align-items:center;gap:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px;}
.theme-toggle button{width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);color:var(--text-3);font-size:12px;transition:all 120ms ease;}
.theme-toggle button.on{background:var(--text);color:var(--bg);}
.main{display:flex;flex-direction:column;min-height:100vh;background:var(--bg);overflow-x:hidden;}
.page{max-width:1200px;width:100%;margin:0 auto;padding:2.5rem 2rem 6rem;}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;gap:2rem;flex-wrap:wrap;}
.page-head h1{font-size:40px;line-height:1.05;letter-spacing:-0.02em;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-card);}
.card.flush{padding:0;overflow:hidden;}
.card-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);}
.card-title{font-family:var(--font-head);font-weight:700;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text);}
.card-sub{font-size:12px;color:var(--text-3);}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:0.04em;padding:0.75rem 1.125rem;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:filter 120ms ease,background 120ms ease,color 120ms ease;white-space:nowrap;}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{filter:brightness(0.92);}
.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary);}
.btn-outline:hover{background:var(--primary-soft);}
.btn-ghost{color:var(--text-2);}
.btn-ghost:hover{background:var(--surface);color:var(--text);}
.btn-gold{background:transparent;color:var(--warning);border-color:var(--warning);}
.btn-gold:hover{background:var(--warning-soft);}
.btn-dark{background:var(--text);color:var(--bg);}
.btn-sm{padding:0.5rem 0.875rem;font-size:12px;}
.btn-lg{padding:0.95rem 1.5rem;font-size:14px;}
.btn-block{width:100%;}
.input,.select,textarea.input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0.75rem 0.875rem;font-size:14px;color:var(--text);width:100%;font-family:var(--font-body);outline:none;transition:border-color 120ms ease,box-shadow 120ms ease;}
.input:focus,.select:focus,textarea.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(192,57,43,0.15);}
.label{display:block;font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-2);margin-bottom:0.5rem;}
.field{margin-bottom:1.25rem;}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.badge{display:inline-flex;align-items:center;gap:0.375rem;padding:0.25rem 0.625rem;border-radius:var(--radius-pill);font-family:var(--font-head);font-weight:700;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;background:var(--bg);color:var(--text);}
.badge-primary{background:var(--primary-soft);color:var(--primary);}
.badge-success{background:var(--success-soft);color:var(--success);}
.badge-warning{background:var(--warning-soft);color:var(--warning);}
.badge-danger{background:var(--primary-soft);color:var(--danger);}
.badge-muted{background:var(--bg);color:var(--text-2);border:1px solid var(--border);}
.plan-starter{background:var(--bg);color:var(--text-2);border:1px solid var(--border);}
.plan-onetime{background:var(--primary-soft);color:var(--primary);}
.plan-pro{background:var(--success-soft);color:var(--success);}
.bar{height:6px;width:100%;background:var(--bg);border-radius:var(--radius-pill);overflow:hidden;}
[data-theme="dark"] .bar{background:#2A2A2A;}
.bar-fill{height:100%;border-radius:inherit;}
.bar-high{background:var(--primary);}
.bar-mid{background:var(--warning);}
.bar-low{background:var(--text-3);}
.tbl{width:100%;border-collapse:collapse;}
.tbl th{font-family:var(--font-head);font-weight:700;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);text-align:left;padding:0.875rem 1rem;border-bottom:1px solid var(--border);background:var(--surface);}
.tbl td{padding:1rem;font-size:13px;color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle;}
.tbl tr:nth-child(even) td{background:var(--bg);}
.tbl tr:last-child td{border-bottom:none;}
.tbl .num{font-family:var(--font-head);font-weight:700;}
.tbl .link{color:var(--primary);font-weight:700;cursor:pointer;}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:0.5rem;}
.stat-label{font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);}
.stat-value{font-family:var(--font-head);font-weight:700;font-size:48px;line-height:1;letter-spacing:-0.02em;color:var(--text);}
.stat-value.primary{color:var(--primary);}
.stat-sub{color:var(--text-2);font-size:12px;}
.grid{display:grid;gap:1.25rem;}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-60-40{grid-template-columns:6fr 4fr;}
.stack{display:flex;flex-direction:column;}
.row{display:flex;align-items:center;}
.row.gap-sm{gap:0.5rem;}
.row.gap{gap:1rem;}
.row.gap-lg{gap:1.5rem;}
.row.between{justify-content:space-between;}
.row.wrap{flex-wrap:wrap;}
.mt-1{margin-top:0.5rem;}.mt-2{margin-top:1rem;}.mt-3{margin-top:1.5rem;}.mt-4{margin-top:2rem;}
.muted{color:var(--text-2);}.muted-2{color:var(--text-3);}
.sticky-actions{position:sticky;bottom:1.25rem;margin:2rem auto 0;display:inline-flex;gap:0.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);padding:0.5rem;box-shadow:0 4px 16px rgba(0,0,0,0.08);align-self:center;}
.scorecard{background:#141414;color:#fff;border-radius:var(--radius);padding:1.75rem;position:relative;overflow:hidden;}
.scorecard .wm{color:#fff;font-size:16px;font-weight:700;font-family:var(--font-head);letter-spacing:-0.02em;}
.scorecard .wm .accent{color:var(--primary);}
.scorecard .name{font-family:var(--font-head);font-weight:700;font-size:26px;line-height:1.1;}
.scorecard .industry{color:var(--primary);font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;margin-top:0.25rem;}
.scorecard .big{font-family:var(--font-head);font-weight:700;font-size:96px;line-height:1;color:var(--primary);letter-spacing:-0.04em;}
.scorecard .small-row{display:flex;gap:1.5rem;color:rgba(255,255,255,0.7);font-size:12px;}
@keyframes pulse-glow{0%,100%{text-shadow:0 0 0 rgba(192,57,43,0);}50%{text-shadow:0 0 40px rgba(192,57,43,0.6),0 0 80px rgba(192,57,43,0.3);}}
.glow{animation:pulse-glow 3.5s ease-in-out infinite;}
.upgrade-banner{background:var(--primary-soft);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;}
[data-theme="dark"] .upgrade-banner{background:#2A1A1A;}
.quote{background:var(--warning-soft);border-left:3px solid var(--warning);padding:1rem 1.25rem;border-radius:var(--radius-sm);font-style:italic;color:var(--text);font-size:14px;line-height:1.6;}
.pillar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:0.875rem;}
.pillar-head{display:flex;justify-content:space-between;align-items:flex-start;}
.pillar-name{font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:0.04em;text-transform:uppercase;}
.pillar-weight{font-size:11px;color:var(--text-3);margin-top:0.25rem;}
.pillar-score{font-family:var(--font-head);font-weight:700;font-size:38px;line-height:1;}
.pillar-score.high{color:var(--success);}
.pillar-score.mid{color:var(--warning);}
.pillar-score.low{color:var(--primary);}
.pillar ul{margin:0;padding-left:1.125rem;color:var(--text-2);font-size:13px;}
.pillar li{margin-bottom:0.375rem;}
.marketing-nav{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10;}
.marketing-nav .links{display:flex;gap:1.75rem;}
.marketing-nav .links a{font-size:14px;color:var(--text-2);}
.marketing-nav .links a:hover{color:var(--text);}
.marketing-nav .actions{display:flex;gap:0.75rem;align-items:center;}
.hero{min-height:calc(100vh - 72px);display:flex;flex-direction:column;justify-content:center;padding:4rem 2.5rem;max-width:1200px;margin:0 auto;gap:2rem;}
.hero h1{font-size:clamp(48px,7vw,96px);line-height:1;letter-spacing:-0.04em;}
.hero h1 .accent{color:var(--primary);}
.hero .sub{font-size:20px;color:var(--text-2);max-width:640px;line-height:1.5;}
.hero .ctas{display:flex;gap:1rem;}
.platform-chip{display:inline-flex;align-items:center;gap:0.5rem;padding:0.375rem 0.75rem;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-pill);font-size:12px;color:var(--text-2);}
.section{padding:6rem 2.5rem;max-width:1200px;margin:0 auto;}
.section-eyebrow{font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--primary);}
.section h2{font-size:clamp(36px,4vw,56px);line-height:1.05;letter-spacing:-0.025em;margin-top:0.75rem;margin-bottom:2.5rem;max-width:820px;}
.price-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;gap:1rem;position:relative;}
.price-card.featured{border-color:var(--primary);border-width:2px;}
.price-card .recommend{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;font-family:var(--font-head);font-weight:700;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;padding:0.25rem 0.75rem;border-radius:var(--radius-pill);}
.price-name{font-family:var(--font-head);font-weight:700;font-size:14px;letter-spacing:0.06em;text-transform:uppercase;}
.price-amount{font-family:var(--font-head);font-weight:700;font-size:56px;line-height:1;letter-spacing:-0.03em;}
.price-amount .unit{font-size:14px;color:var(--text-2);letter-spacing:0;font-weight:400;font-family:var(--font-body);}
.price-feats{list-style:none;padding:0;margin:0.5rem 0 1rem;display:flex;flex-direction:column;gap:0.625rem;}
.price-feats li{display:flex;gap:0.625rem;font-size:13px;color:var(--text);}
.price-feats li.x{color:var(--text-3);}
.price-feats .ico{color:var(--success);font-weight:700;}
.pill-tabs{display:flex;gap:0.5rem;flex-wrap:wrap;}
.pill-tab{padding:0.5rem 1rem;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-pill);font-size:13px;color:var(--text-2);cursor:pointer;font-family:var(--font-body);text-decoration:none;}
.pill-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);}
.rank-row{display:grid;grid-template-columns:60px 56px 1fr auto;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);border-left:3px solid transparent;cursor:pointer;text-decoration:none;color:inherit;}
.rank-row:hover{background:var(--primary-soft);border-left-color:var(--primary);}
.rank-num{font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--text-3);}
.rank-num.gold{color:var(--gold);}
.rank-info .name{font-family:var(--font-head);font-weight:700;font-size:16px;}
.rank-info .meta{color:var(--text-2);font-size:13px;margin-top:0.125rem;}
.rank-score{font-family:var(--font-head);font-weight:700;font-size:32px;color:var(--primary);letter-spacing:-0.02em;}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;}
.auth-card{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;box-shadow:var(--shadow-card);text-align:center;}
.auth-card .wordmark{font-size:22px;margin-bottom:1.5rem;padding:0;}
.auth-card h2{font-size:28px;margin-bottom:1.75rem;}
.auth-card .field{text-align:left;}
.auth-card .alt-link{display:block;margin-top:1rem;font-size:13px;color:var(--text-2);}
.auth-card .alt-link:hover{color:var(--primary);}
.public-card{background:var(--olive);border:1px solid rgba(255,255,255,0.06);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;max-width:480px;margin:4rem auto;color:#EDE6D9;}
.tag{display:inline-flex;align-items:center;gap:0.375rem;padding:0.25rem 0.625rem;background:var(--primary-soft);color:var(--primary);border-radius:var(--radius-pill);font-size:12px;font-family:var(--font-head);font-weight:700;}
.toggle{width:40px;height:22px;background:var(--border);border-radius:999px;position:relative;cursor:pointer;transition:background 120ms;flex-shrink:0;}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:left 120ms ease;box-shadow:0 1px 2px rgba(0,0,0,0.2);}
.toggle.on{background:var(--primary);}
.toggle.on::after{left:20px;}
.acc-item{border-bottom:1px solid var(--border);}
.acc-head{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;font-family:var(--font-head);font-weight:700;font-size:16px;cursor:pointer;width:100%;text-align:left;}
.acc-body{padding:0 0 1.25rem;color:var(--text-2);font-size:14px;line-height:1.6;max-width:720px;}
.admin-bar{height:56px;background:#141414;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid #2A2A2A;}
.admin-bar .wordmark{color:#fff;}
.admin-bar .admin-label{color:#7A7A7A;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;font-family:var(--font-head);font-weight:700;margin-left:0.5rem;}
.admin-bar .links{display:flex;gap:1.5rem;}
.admin-bar .links a,.admin-bar .links button{color:#B8B8B8;font-size:13px;text-decoration:none;}
.admin-bar .links a.active,.admin-bar .links button.active{color:#fff;}
.ai-card{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;background:var(--surface);display:flex;flex-direction:column;gap:0.875rem;}
.ai-head{display:flex;align-items:center;justify-content:space-between;}
.ai-engine{font-family:var(--font-head);font-weight:700;font-size:13px;letter-spacing:0.06em;text-transform:uppercase;}
.ai-prompt{color:var(--text-3);font-style:italic;font-size:13px;}
.ai-response{color:var(--text);font-size:13px;line-height:1.55;padding:0.75rem;background:var(--bg);border-radius:var(--radius-sm);}
.empty{text-align:center;padding:4rem 2rem;}
.empty h3{font-size:22px;margin-bottom:0.5rem;}
.empty p{color:var(--text-2);margin-bottom:1.5rem;}
.footer{border-top:1px solid var(--border);padding:3rem 2.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;color:var(--text-2);font-size:13px;}
.footer .links{display:flex;gap:1.5rem;}
.footer .links a:hover{color:var(--text);}
.divider{height:1px;background:var(--border);margin:1rem 0;}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.page-anim{animation:fadeIn 220ms ease both;}
.check-circle{width:80px;height:80px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:42px;margin-bottom:1.5rem;}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
.bento .span-2{grid-column:span 2;}
.bento .span-3{grid-column:span 3;}
.bento .span-4{grid-column:span 4;}
.bento .row-2{grid-row:span 2;}
.tile{border-radius:22px;padding:1.5rem;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:0.75rem;background:var(--surface);border:1px solid var(--border);min-height:240px;}
.tile.t-peach{background:var(--peach);border-color:transparent;color:var(--ink);}
.tile.t-olive{background:var(--olive);border-color:transparent;color:#EDE6D9;}
.tile.t-bone{background:var(--bone);border-color:transparent;color:var(--ink);}
.tile.t-sand{background:var(--sand);border-color:transparent;color:var(--ink);}
.tile.t-red{background:var(--primary);border-color:transparent;color:#fff;}
.tile.t-square{aspect-ratio:1/1;min-height:0;}
.tile.t-tall{min-height:320px;}
[data-theme="dark"] .tile{background:var(--surface);color:var(--text);}
.tile-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.25rem;}
.tile-lbl{font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px;opacity:0.85;}
.tile-info{width:18px;height:18px;border-radius:50%;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:10px;opacity:0.5;font-family:var(--font-head);font-weight:700;font-style:italic;}
.display-num{font-family:var(--font-display);font-weight:400;line-height:0.9;letter-spacing:-0.03em;max-width:100%;overflow-wrap:anywhere;padding-bottom:0.02em;}
.display-num.xxl{font-size:clamp(80px,9vw,144px);}
.display-num.xl{font-size:clamp(60px,6vw,96px);}
.display-num.lg{font-size:clamp(48px,4.5vw,72px);}
.display-num.muted-stack{color:rgba(255,255,255,0.45);}
.display-num.outline{-webkit-text-stroke:1.5px currentColor;color:transparent;}
.tile.t-olive .display-num{color:#EDE6D9;}
.tile.t-olive .display-num.muted-stack{color:rgba(237,230,217,0.4);}
.tile-ft{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;padding-top:0.5rem;font-size:11px;font-family:var(--font-head);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;opacity:0.75;}
.tile-ft .kv{display:flex;flex-direction:column;gap:2px;}
.tile-ft .v{font-family:var(--font-body);font-weight:700;letter-spacing:0;text-transform:none;opacity:1;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.tile-ft.bordered{border-top:1px solid currentColor;padding-top:10px;opacity:1;}
.tile-ft.bordered .kv .k{opacity:0.6;}
.hero-wealth{display:flex;flex-direction:column;height:100%;}
.hero-wealth .ldr{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;opacity:0.7;}
.hero-wealth .stack{display:flex;flex-direction:column;margin:auto 0;}
.epb{display:flex;flex-direction:column;gap:6px;}
.epb-row{display:grid;grid-template-columns:90px 1fr 40px;gap:12px;align-items:center;font-size:11px;font-family:var(--font-head);font-weight:700;letter-spacing:0.06em;text-transform:uppercase;}
.epb-row .v{text-align:right;font-family:var(--font-display);font-size:18px;letter-spacing:-0.02em;text-transform:none;font-weight:400;}
.epb-bar{height:18px;background:rgba(0,0,0,0.06);border-radius:3px;overflow:hidden;}
.tile.t-olive .epb-bar{background:rgba(255,255,255,0.08);}
.epb-bar>div{height:100%;background:var(--primary);transition:width 800ms ease;}
.chip{font-family:var(--font-head);font-weight:700;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,0.06);color:currentColor;}
.tile.t-olive .chip{background:rgba(255,255,255,0.1);}
.chip.solid{background:var(--primary);color:#fff;}
.v2-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2rem;gap:2rem;flex-wrap:wrap;}
.v2-head .eyebrow{font-family:var(--font-head);font-weight:700;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--primary);}
.v2-head h1{font-family:var(--font-display);font-weight:400;font-size:clamp(48px,6vw,88px);line-height:0.95;letter-spacing:-0.02em;margin-top:8px;}
.v2-head .sub{color:var(--text-2);margin-top:8px;font-size:15px;max-width:540px;}
.italic-display{font-family:var(--font-display);font-style:italic;}
.sticky-v2{position:sticky;bottom:1.5rem;margin:2rem auto 0;display:inline-flex;gap:0.5rem;background:var(--olive);color:#EDE6D9;border-radius:var(--radius-pill);padding:0.5rem;box-shadow:0 8px 24px rgba(0,0,0,0.18);align-self:center;z-index:5;}
.ai-v2{background:var(--surface);border-radius:18px;padding:1.25rem;display:flex;flex-direction:column;gap:0.75rem;border:1px solid var(--border);}
.ai-v2.found{background:var(--olive);color:#EDE6D9;border-color:transparent;}
.tile,.tile *{min-width:0;}
.tile{word-wrap:break-word;overflow-wrap:break-word;}
.sb-item.active{border-left-color:var(--primary)!important;}
.btn svg{flex-shrink:0;}
.main{overflow-x:hidden;}
.compare{display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;}
.compare .vs{font-family:var(--font-head);font-weight:700;font-size:18px;color:var(--text-3);letter-spacing:0.16em;}
@keyframes spin-slow{to{transform:rotate(360deg);}}
@media(max-width:1100px){.bento{grid-template-columns:repeat(2,1fr);}.bento .span-3,.bento .span-4{grid-column:span 2;}.bento .span-2{grid-column:span 2;}.tile.t-square{aspect-ratio:auto;min-height:220px;}}
@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr);}.grid-3{grid-template-columns:1fr;}.grid-60-40,.grid-2{grid-template-columns:1fr;}.app{grid-template-columns:1fr;}.sidebar{display:none;}.hero h1{font-size:44px;}}
@media(max-width:720px){.bento{grid-template-columns:1fr!important;}.bento .span-2,.bento .span-3,.bento .span-4{grid-column:span 1!important;}.v2-head h1{font-size:44px!important;}.display-num.xxl{font-size:72px!important;}.display-num.xl{font-size:56px!important;}}
@media(max-width:900px){.auth-wrap[style]{grid-template-columns:1fr!important;}}
