  :root{
    --fg:#39ff6a;
    --fg-dim:#1c8f3a;
    --fg-bright:#a6ffbf;
    --bg:#020603;
    --bg-panel:#03110a;
    --danger:#ff5555;
    --warn:#ffcc33;
    --glow: 0 0 1px currentColor, 0 0 3px currentColor;
    --glow-sharp: 0 0 1px currentColor;
  }
  [data-theme="amber"]{
    --fg:#ffb000;
    --fg-dim:#8a5f00;
    --fg-bright:#ffe0a0;
    --bg-panel:#150e02;
  }
  [data-theme="white"]{
    --fg:#e4e4e4;
    --fg-dim:#8a8a8a;
    --fg-bright:#ffffff;
    --bg-panel:#111111;
  }
  [data-theme="turbopascal"]{
    --fg:#e8e8e8;
    --fg-dim:#8fb8ff;
    --fg-bright:#ffff54;
    --bg:#0000aa;
    --bg-panel:#0000aa;
    --danger:#ff5555;
    --warn:#ffff54;
    --glow: none;
  }
  *{ box-sizing:border-box; }
  html,body{
    margin:0; padding:0; height:100%;
    background:var(--bg);
    color:var(--fg);
    font-family:'Share Tech Mono','VT323',monospace;
    font-size:16px;
    overflow-x:hidden;
  }
  ::selection{ background:var(--fg); color:var(--bg); }
  ::-webkit-scrollbar{ width:10px; }
  ::-webkit-scrollbar-track{ background:var(--bg); }
  ::-webkit-scrollbar-thumb{ background:var(--fg-dim); }

  /* CRT overlay */
  #crt-overlay{
    pointer-events:none;
    position:fixed; inset:0; z-index:9999;
  }
  #crt-overlay::before{
    content:""; position:fixed; inset:0;
    background:repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,0.18) 0px,
      rgba(0,0,0,0.18) 1px,
      transparent 2px,
      transparent 3px
    );
    mix-blend-mode:multiply;
  }
  #crt-overlay::after{
    content:""; position:fixed; inset:0;
    background:radial-gradient(ellipse at center, rgba(0,0,0,0) 55%, rgba(0,0,0,0.55) 100%);
  }
  body.no-crt #crt-overlay{ display:none; }
  body.no-crt{ --glow: none; }
  body.crt-flicker{ animation: flicker 6.5s infinite; }
  @keyframes flicker{
    0%,100%{ filter:brightness(1); }
    92%{ filter:brightness(1); }
    93%{ filter:brightness(0.85); }
    94%{ filter:brightness(1.05); }
    95%{ filter:brightness(0.95); }
    96%{ filter:brightness(1); }
  }

  .glow{ text-shadow:var(--glow); }

  .visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }

  /* Boot screen */
  #boot-screen{
    position:fixed; inset:0; background:#000; color:var(--fg);
    font-family:'Share Tech Mono',monospace;
    padding:24px; white-space:pre-wrap; font-size:15px; line-height:1.4;
    z-index:10000; text-shadow:var(--glow);
  }
  #boot-screen .cursor{ animation: blink 1s steps(1) infinite; }
  @keyframes blink{ 50%{ opacity:0; } }

  /* Login screen */
  #login-screen{
    position:fixed; inset:0; background:#000; z-index:10000;
    display:flex; align-items:center; justify-content:center;
    padding:12px;
  }
  .login-box{
    position:relative;
    border:2px double var(--fg-dim); padding:28px 32px; max-width:480px; width:100%;
    background:var(--bg-panel); text-shadow:var(--glow);
  }
  .crt-monitor{ position:relative; }
  .crt-monitor__image{ display:block; width:100%; height:auto; }
  .crt-monitor--auth,
  .crt-monitor--landing,
  .crt-monitor--advisor{
    width:min(98vw, 860px); margin:0 auto;
    --glow:none;
  }
  .crt-monitor--advisor{ width:min(100%, 1024px); }
  .crt-monitor--auth .crt-monitor__screen,
  .crt-monitor--landing .crt-monitor__screen,
  .crt-monitor--advisor .crt-monitor__screen{
    position:absolute; top:14%; left:21%; width:58%; height:60%;
    display:flex; flex-direction:column; overflow:hidden;
  }
  .crt-monitor__screen-inner{
    display:flex; flex-direction:column; height:100%; min-height:0;
    padding:clamp(14px, 2.8vw, 22px) clamp(10px, 2vw, 16px) clamp(4px, 0.8vw, 8px);
    text-shadow:none;
  }
  .crt-monitor__freedom{
    flex-shrink:0; text-align:center;
    font-family:'Share Tech Mono','VT323',monospace;
    font-size:clamp(10px, 1.8vw, 16px); font-weight:normal;
    color:var(--fg-bright); text-shadow:var(--glow-sharp);
    letter-spacing:0.28em; text-indent:0.28em;
    line-height:1;
    margin:clamp(4px, 1vw, 8px) 0 clamp(2px, 0.6vw, 6px);
  }
  .crt-monitor__subtitle{
    flex-shrink:0; text-align:center;
    font-size:clamp(7px, 1.1vw, 10px); color:var(--fg-dim);
    letter-spacing:0.5px; line-height:1.2;
    margin:0 0 clamp(2px, 0.6vw, 6px);
  }
  .crt-monitor--auth-console{
    display:flex; flex-direction:column; flex:1; min-height:0;
  }
  .crt-monitor__viewport{
    flex:1; min-height:0; display:flex; flex-direction:column;
    overflow:hidden;
  }
  .crt-monitor--auth #freedom-console,
  .crt-monitor--landing #freedom-console,
  .crt-monitor--advisor #freedom-console{
    flex:1; min-height:0; max-height:none; overflow-y:auto;
    display:flex; flex-direction:column; justify-content:flex-end;
    font-size:clamp(9px, 1.35vw, 12px); line-height:1.45; text-align:left;
    padding:0; margin:0;
    background:transparent; border:none;
  }
  .crt-monitor--auth #freedom-console .chat-line,
  .crt-monitor--landing #freedom-console .chat-line,
  .crt-monitor--advisor #freedom-console .chat-line{ margin-bottom:6px; text-shadow:none; }
  .crt-monitor--auth #freedom-console .chat-line.advisor,
  .crt-monitor--landing #freedom-console .chat-line.advisor,
  .crt-monitor--advisor #freedom-console .chat-line.advisor{ text-shadow:none; }
  .crt-monitor--auth #freedom-console .chat-line .who,
  .crt-monitor--landing #freedom-console .chat-line .who,
  .crt-monitor--advisor #freedom-console .chat-line .who{
    font-size:clamp(8px, 1.1vw, 10px);
  }
  .crt-monitor__footer{
    flex-shrink:0; margin-top:auto;
  }
  .crt-monitor__prompt{
    padding-top:clamp(4px, 0.8vw, 8px);
    border-top:1px solid rgba(28,143,58,0.35);
  }
  .crt-monitor--auth .crt-monitor__input-row,
  .crt-monitor--landing .crt-monitor__input-row,
  .crt-monitor--advisor .crt-monitor__input-row{
    flex-shrink:0; margin:0; align-items:stretch;
  }
  .crt-monitor--auth .crt-monitor__input-row input:not([type="submit"]),
  .crt-monitor--landing .crt-monitor__input-row input:not([type="submit"]),
  .crt-monitor--advisor .crt-monitor__input-row input:not([type="submit"]){
    flex:1; min-width:0; font-size:clamp(9px, 1.35vw, 12px);
    padding:4px 6px; background:rgba(1,4,1,0.55); border-color:var(--fg-dim);
  }
  .crt-monitor--auth .crt-monitor__input-row .glow,
  .crt-monitor--landing .crt-monitor__input-row .glow,
  .crt-monitor--advisor .crt-monitor__input-row .glow{
    font-size:clamp(10px, 1.4vw, 13px);
    text-shadow:none; align-self:center;
  }
  .crt-monitor--auth .crt-monitor__hints,
  .crt-monitor--landing .crt-monitor__hints,
  .crt-monitor--advisor .crt-monitor__hints{
    display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
    gap:0;
    flex-shrink:0; margin:clamp(8px, 1.4vw, 12px) 0 0; padding:0;
  }
  .crt-monitor--auth .crt-monitor__hints > :not(:first-child)::before,
  .crt-monitor--landing .crt-monitor__hints > :not(:first-child)::before,
  .crt-monitor--advisor .crt-monitor__hints > :not(:first-child)::before{
    content:"|"; margin:0 clamp(6px, 1vw, 10px); color:var(--fg-dim);
  }
  .crt-monitor--auth .crt-monitor__hint-btn,
  .crt-monitor--auth button.crt-monitor__hint-btn,
  .crt-monitor--landing .crt-monitor__hint-btn,
  .crt-monitor--landing button.crt-monitor__hint-btn,
  .crt-monitor--advisor .crt-monitor__hint-btn,
  .crt-monitor--advisor button.crt-monitor__hint-btn{
    display:inline; padding:0; border:none; background:transparent;
    font-family:inherit; cursor:pointer;
    font-size:clamp(8px, 1.25vw, 11px); line-height:1.4; letter-spacing:0.5px;
    color:var(--fg); text-decoration:none; text-shadow:none;
    white-space:nowrap; transition:color .12s ease-out, text-shadow .12s ease-out;
  }
  .crt-monitor--auth .crt-monitor__hint-btn:hover,
  .crt-monitor--auth button.crt-monitor__hint-btn:hover,
  .crt-monitor--landing .crt-monitor__hint-btn:hover,
  .crt-monitor--landing button.crt-monitor__hint-btn:hover,
  .crt-monitor--advisor .crt-monitor__hint-btn:hover,
  .crt-monitor--advisor button.crt-monitor__hint-btn:hover{
    color:var(--fg-bright); text-shadow:var(--glow-sharp);
  }
  .crt-monitor--auth .login-msg,
  .crt-monitor--landing .login-msg,
  .crt-monitor--advisor .login-msg{
    flex-shrink:0; min-height:0; margin:0 0 4px;
    font-size:clamp(8px, 1.2vw, 11px); text-align:center;
  }
  .login-ascii{
    color:var(--fg-bright); font-size:13px; line-height:1.3; margin:0 0 20px 0; text-align:center;
    white-space:pre;
  }
  .login-box .field{ margin-bottom:14px; }
  .login-box input{ width:100%; }
  .login-box button:not(.voice-toggle){ width:100%; margin-top:6px; }
  .login-msg{ min-height:20px; margin-top:12px; font-size:13px; text-align:center; }
  .login-msg.err{ color:var(--danger); animation: blink 1s steps(1) infinite; }
  .login-msg.ok{ color:var(--fg-bright); }
  .login-hint{
    font-size:11px; color:var(--fg-dim); margin-top:18px; text-align:center; line-height:1.5;
    text-shadow:none;
  }

  /* Invite request console */
  .request-console{ max-width:600px; }
  #freedom-console{
    min-height:180px; max-height:340px; overflow-y:auto;
    font-size:14px; line-height:1.6; text-align:left;
    padding:12px; background:#010401; border:1px solid var(--fg-dim); margin-bottom:12px;
  }
  .request-console .advisor-input-row input{ flex:1; min-width:180px; }
  .request-console .advisor-input-row .glow{ font-size:16px; }

  #app{
    display:flex; flex-direction:column; min-height:100vh; min-height:100dvh;
  }

  header#top-bar{
    border-bottom:2px double var(--fg-dim);
    padding:10px 16px;
    display:flex; justify-content:space-between; align-items:baseline;
    flex-wrap:wrap; gap:6px;
  }
  header#top-bar .title{
    font-size:22px; letter-spacing:3px; color:var(--fg-bright); text-shadow:var(--glow);
  }
  header#top-bar .clock{ color:var(--fg-dim); font-size:14px; }
  header#top-bar .header-right{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  header#top-bar .header-right button{ padding:4px 10px; }

  nav#menu-bar{
    display:flex; flex-wrap:wrap; gap:2px;
    border-bottom:1px solid var(--fg-dim);
    background:var(--bg-panel);
    padding:6px 10px;
  }
  nav#menu-bar button{
    background:transparent; color:var(--fg); border:1px solid transparent;
    font-family:inherit; font-size:14px; padding:6px 10px; cursor:pointer;
  }
  nav#menu-bar button:hover{ border-color:var(--fg-dim); }
  nav#menu-bar button.active{
    background:var(--fg); color:var(--bg); text-shadow:none; font-weight:bold;
  }
  nav#menu-bar button .k{ color:var(--fg-bright); }
  nav#menu-bar button.active .k{ color:var(--bg); }

  main#content{
    flex:1; padding:20px; max-width:1100px; margin:0 auto; width:100%;
  }

  .screen{ display:none; }
  .screen.active{ display:block; animation: fadein .15s ease-out; }
  @keyframes fadein{ from{opacity:0;} to{opacity:1;} }

  .panel{
    border:2px solid var(--fg-dim);
    background:var(--bg-panel);
    padding:16px; margin-bottom:20px;
    position:relative;
  }
  .panel-title{
    position:absolute; top:-12px; left:12px; background:var(--bg);
    padding:0 8px; color:var(--fg-bright); letter-spacing:2px; font-size:14px;
  }
  .voice-toggle{
    position:absolute; top:-12px; right:12px;
    padding:0 8px; line-height:1; cursor:pointer;
    background:var(--bg); border:none; color:var(--fg-dim);
    font-family:inherit; font-size:14px; letter-spacing:2px;
    display:inline-flex; align-items:center; gap:6px;
  }
  .voice-toggle::before{ content:"["; }
  .voice-toggle::after{ content:"]"; }
  .voice-toggle:hover{ color:var(--fg); }
  .voice-toggle[aria-pressed="true"]{
    color:var(--fg-bright);
  }
  .voice-toggle .voice-icon{ display:block; }
  .voice-toggle .voice-icon-on{ display:none; }
  .voice-toggle[aria-pressed="true"] .voice-icon-off{ display:none; }
  .voice-toggle[aria-pressed="true"] .voice-icon-on{ display:block; }
  .grid{
    display:grid; gap:16px;
    grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  }
  h1,h2,h3{ font-weight:normal; text-shadow:var(--glow); letter-spacing:1px; }
  h2{ font-size:18px; border-bottom:1px dashed var(--fg-dim); padding-bottom:6px; }
  a{ color:var(--fg-bright); }

  table{ width:100%; border-collapse:collapse; font-size:14px; }
  th,td{ text-align:left; padding:6px 8px; border-bottom:1px solid var(--fg-dim); }
  th{ color:var(--fg-bright); text-transform:uppercase; font-size:12px; letter-spacing:1px; }
  tr:hover td{ background:rgba(57,255,106,0.06); }
  td.num{ text-align:right; font-variant-numeric:tabular-nums; }

  input, select, textarea{
    background:#010401; color:var(--fg); border:1px solid var(--fg-dim);
    font-family:inherit; font-size:14px; padding:6px 8px; outline:none;
  }
  input:focus, select:focus, textarea:focus{ border-color:var(--fg-bright); box-shadow:0 0 4px var(--fg-dim); }
  input[type="range"], input[type="checkbox"]{ accent-color: var(--fg); }
  input[type="range"]{ width:100%; }
  label{ display:block; font-size:12px; color:var(--fg-dim); margin-bottom:3px; letter-spacing:1px; }
  .field{ margin-bottom:10px; }
  form.inline-form{ display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }

  .button-row{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
  .button-row form{ margin:0; }

  button.btn, a.btn{
    display:inline-block;
    background:transparent; border:1px solid var(--fg); color:var(--fg);
    font-family:inherit; padding:8px 14px; cursor:pointer; font-size:14px; letter-spacing:1px;
    text-decoration:none;
  }
  button.btn:hover, a.btn:hover{ background:var(--fg); color:var(--bg); }
  button.btn.danger, a.btn.danger{ border-color:var(--danger); color:var(--danger); }
  button.btn.danger:hover, a.btn.danger:hover{ background:var(--danger); color:#000; }
  button.btn.small, a.btn.small{ padding:3px 8px; font-size:12px; }

  /* Privacy mode: masks financial values from over-the-shoulder viewing.
     Toggled by the header [P] button (privacy_controller.js), which adds
     .privacy-on to <body> and persists the choice in localStorage. */
  header#top-bar .header-right button[aria-pressed="true"]{
    background:var(--fg-bright); color:var(--bg); border-color:var(--fg-bright);
  }
  .privacy-on .money,
  .privacy-on td.num,
  .privacy-on .print-area,
  .privacy-on #advisor-chat-log .chat-line,
  .privacy-on .crt-monitor--advisor #freedom-console .chat-line,
  .privacy-on [data-whatif-simulator-target="canvas"],
  .privacy-on input[type="number"]{
    filter:blur(7px);
    user-select:none; -webkit-user-select:none;
    transition:filter .12s ease-out;
  }

  .bar-row{ display:flex; align-items:center; gap:10px; margin:6px 0; font-size:13px; }
  .bar-label{ width:130px; flex-shrink:0; }
  .bar-track{ flex:1; letter-spacing:0; white-space:pre; font-size:14px; }
  .bar-pct{ width:50px; text-align:right; }
  .over{ color:var(--danger) !important; }
  .warn-txt{ color:var(--warn) !important; }
  .positive{ color:var(--fg-bright); }
  .transfer{ color:var(--warn); }
  tr.current-month td{ background:rgba(57,255,106,0.1); }
  .tag{ font-size:10px; border:1px solid var(--fg-dim); padding:1px 5px; color:var(--fg-dim); letter-spacing:1px; }
  .tag.now{ border-color:var(--fg-bright); color:var(--fg-bright); }
  .game-card{ text-align:center; }
  .goal-card{ margin-bottom:16px; padding-bottom:16px; border-bottom:1px dashed var(--fg-dim); }
  .goal-card:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0; }
  .game-icon{ color:var(--fg-bright); font-size:22px; line-height:1.1; margin:10px 0; text-shadow:var(--glow); }
  #game-canvas{ display:block; }

  .blink-cursor{ animation: blink 1s steps(1) infinite; }
  #advisor-chat-log{
    max-height:380px; overflow-y:auto; font-size:14px; line-height:1.6;
    padding:10px; background:#010401; border:1px solid var(--fg-dim); margin-bottom:12px;
  }
  .chat-line{ margin-bottom:10px; white-space:pre-wrap; }
  .chat-line .who{ color:var(--fg-dim); font-size:12px; letter-spacing:1px; display:block; margin-bottom:2px; }
  .chat-line.user .who{ color:var(--fg-dim); }
  .chat-line.advisor .who{ color:var(--fg-bright); }
  .chat-line.advisor{ text-shadow:var(--glow); }
  .chat-line.system{ color:var(--warn); font-size:12px; text-align:center; }
  .advisor-input-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
  .advisor-input-row input{ flex:1; min-width:180px; }
  .quick-prompts{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }

  .stat-box{ text-align:center; padding:10px; }
  .stat-box .big{ font-size:28px; color:var(--fg-bright); text-shadow:var(--glow); }
  .stat-box .lbl{ font-size:12px; color:var(--fg-dim); letter-spacing:2px; margin-top:4px; }

  /* Dashboard summary tiles are packed tighter so all totals fit one row. */
  .stat-grid{ gap:12px; grid-template-columns:repeat(auto-fit, minmax(170px,1fr)); }
  .stat-grid .stat-box{ padding:10px 6px; }
  .stat-grid .stat-box .big{ font-size:22px; }
  .stat-grid .stat-box .lbl{ letter-spacing:1px; }

  .achievement-card{ text-align:left; padding:14px; }
  .achievement-card.locked{ opacity:0.45; }
  .achievement-card .ach-title{ color:var(--fg-bright); text-shadow:var(--glow); font-size:14px; margin-bottom:4px; }
  .achievement-card .ach-desc{ font-size:12px; color:var(--fg-dim); }
  .achievement-card .ach-date{ font-size:10px; color:var(--fg-dim); margin-top:6px; }

  .achievement-toast{
    position:fixed; top:70px; right:16px; background:var(--bg-panel); border:2px solid var(--fg-bright);
    padding:14px 18px; z-index:10002; font-size:13px; box-shadow:var(--glow); max-width:280px;
    animation: toast-in .25s ease-out;
  }
  .achievement-toast .ach-toast-title{ color:var(--fg-bright); text-shadow:var(--glow); font-size:14px; margin-bottom:4px; }
  .achievement-toast.fade-out{ animation: toast-out .4s ease-in forwards; }
  @keyframes toast-in{ from{ transform:translateX(30px); opacity:0; } to{ transform:translateX(0); opacity:1; } }
  @keyframes toast-out{ from{ opacity:1; } to{ opacity:0; transform:translateX(30px); } }

  .alert{
    border:1px dashed var(--warn); color:var(--warn); padding:8px 10px; margin-bottom:12px; font-size:13px;
  }
  .alert.blink{ animation: blink 1.2s steps(1) infinite; }

  footer#status-bar{
    flex-shrink:0; margin-top:auto;
    border-top:1px solid var(--fg-dim); background:var(--bg-panel);
    padding:6px 12px; font-size:12px; color:var(--fg-dim);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px;
  }
  .ascii-title{ white-space:pre; font-size:12px; line-height:1.1; color:var(--fg-bright); text-shadow:var(--glow); }
  .muted{ color:var(--fg-dim); }
  .right{ text-align:right; }
  .txn-list{ max-height:260px; overflow-y:auto; font-size:13px; }
  .txn-list > div{ padding:3px 0; border-bottom:1px dotted var(--fg-dim); }
  .txn-list .bar-row{ align-items:center; }
  .txn-list .bar-label{
    width:auto;
    flex:1;
    min-width:0;
  }
  .badge{ border:1px solid var(--fg-dim); padding:1px 6px; font-size:11px; }
  .toast{
    position:fixed; top:70px; right:16px; background:var(--bg-panel); border:1px solid var(--fg);
    padding:10px 14px; z-index:10001; font-size:13px; box-shadow:var(--glow);
    animation: fadein .2s ease-out;
  }
  @media (max-width:640px){
    header#top-bar .title{ font-size:16px; }
    .bar-label{ width:90px; }
    main#content{ padding:12px; }
  }

  /* ---------- PRINT ---------- */
  @media print{
    @page{ margin:1.5cm; }
    html, body{ background:#fff !important; }
    #crt-overlay, #boot-screen, #login-screen,
    header#top-bar, nav#menu-bar, footer#status-bar{ display:none !important; }
    body *{ visibility:hidden; }
    .print-area, .print-area *{
      visibility:visible !important;
      color:#000 !important;
      background:#fff !important;
      text-shadow:none !important;
      box-shadow:none !important;
    }
    .print-area{
      position:absolute; top:0; left:0; width:100%;
      font-family:'Share Tech Mono', monospace; font-size:12pt;
      padding:0; margin:0; border:none !important;
    }
  }

  /* ---------- LANDING PAGE ---------- */
  .wrap{ max-width:900px; margin:0 auto; padding:36px 20px 80px; }

  .landing-body > *{ margin-left:-20px; margin-right:-20px; }

  .brand-line{
    display:flex; justify-content:space-between; font-size:13px; color:var(--fg-dim);
    border-bottom:1px solid var(--fg-dim); padding-bottom:10px; margin-bottom:40px;
    letter-spacing:1px;
  }
  .brand-line-end{ display:flex; align-items:center; gap:16px; }
  .locale-switch{ display:flex; align-items:center; gap:6px; }
  .locale-switch a{
    color:var(--fg-dim); text-decoration:none;
  }
  .locale-switch a:hover,
  .locale-switch a.active{ color:var(--fg-bright); text-shadow:var(--glow); }
  .locale-switch .sep{ color:var(--fg-dim); }

  .hero{ text-align:center; margin-bottom:50px; }
  .hero pre.logo{
    color:var(--fg-bright); text-shadow:var(--glow);
    font-size:clamp(9px, 2.4vw, 18px); line-height:1.15; white-space:pre;
    margin:0 0 18px 0;
  }
  .hero .tagline{ font-size:18px; color:var(--fg-bright); text-shadow:var(--glow); margin-bottom:8px; }
  .hero .subtag{ font-size:14px; color:var(--fg-dim); max-width:520px; margin:0 auto 30px; line-height:1.6; }

  .hero-banner{
    position:relative; border:2px solid var(--fg-dim);
    background:var(--bg-panel); overflow:hidden;
  }
  .hero-banner__image{
    display:block; width:100%; height:auto; vertical-align:middle;
  }
  .hero-banner__overlay{
    position:absolute; inset:0; width:46%; display:flex; align-items:center;
    padding:6% 5% 6% 6%;
    background:linear-gradient(
      to right,
      rgba(2,6,3,0.82) 0%,
      rgba(2,6,3,0.62) 72%,
      rgba(2,6,3,0) 100%
    );
  }
  .hero-banner__copy{ max-width:100%; }
  .hero-banner__copy .tagline{
    font-size:clamp(14px, 2.2vw, 18px); color:var(--fg-bright); text-shadow:var(--glow);
    margin-bottom:10px; letter-spacing:1px; line-height:1.3;
  }
  .hero-banner__copy .subtag{
    font-size:clamp(11px, 1.5vw, 13px); color:#c8e6d0; max-width:none;
    margin:0 0 20px; line-height:1.55;
  }
  .hero-banner__copy .cta{ margin-bottom:4px; }
  .hero-banner__copy .press-hint{ text-align:left; }
  .hero-banner__copy .press-hint a{
    color:#9fd4ad; text-decoration:underline; text-underline-offset:2px;
  }
  .hero-banner__copy .press-hint a:hover{ color:var(--fg-bright); }

  .landing-pillars{
    display:flex; align-items:stretch; margin-bottom:20px;
    border:2px solid var(--fg-dim); border-top:1px solid var(--fg-dim);
    background:var(--bg-panel); padding:28px 12px;
  }
  .landing-pillar{
    flex:1; display:flex; flex-direction:column; align-items:center;
    text-align:center; padding:0 12px; min-width:0;
  }
  .landing-pillar-sep{
    width:1px; flex-shrink:0; align-self:stretch;
    background:var(--fg-dim); margin:4px 0;
  }
  .landing-pillar__icon{
    color:var(--fg-bright); margin-bottom:12px;
    filter:drop-shadow(0 0 4px rgba(57,255,106,0.35));
  }
  .landing-pillar__svg{ width:32px; height:32px; display:block; }
  .landing-pillar__title{
    font-size:12px; letter-spacing:2px; color:var(--fg-bright);
    text-shadow:var(--glow); margin-bottom:8px;
  }
  .landing-pillar__text{
    font-size:12px; color:var(--fg-dim); line-height:1.55; max-width:180px;
  }

  .cta{
    display:inline-block; border:2px solid var(--fg); color:var(--fg-bright);
    padding:14px 28px; font-size:16px; letter-spacing:2px; text-decoration:none;
    text-shadow:var(--glow); background:var(--bg-panel);
  }
  .cta:hover{ background:var(--fg); color:var(--bg); text-shadow:none; }
  .cta .caret{ animation: blink 1s steps(1) infinite; }
  .press-hint{ margin-top:12px; font-size:12px; color:var(--fg-dim); }
  .press-hint a{ color:var(--fg-dim); }

  .feature-list{ list-style:none; margin:0; padding:0; columns:2; column-gap:30px; }
  .feature-list li{ break-inside:avoid; margin-bottom:10px; font-size:14px; }
  .feature-list li::before{ content:"[X] "; color:var(--fg-bright); }
  .feature-list-single{ columns:1; }

  .landing-intro{ padding-top:24px; }
  .landing-intro-grid{
    display:flex; flex-direction:column; gap:24px;
  }
  .access-steps{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;
    margin:0; padding:0; list-style:none;
  }
  .access-step{
    border:1px solid var(--fg-dim); background:#010401; padding:16px;
    display:flex; flex-direction:column; gap:8px;
  }
  .access-step__number{
    font-size:18px; color:var(--fg-bright); text-shadow:var(--glow);
    font-variant-numeric:tabular-nums;
  }
  .access-step__text{ font-size:13px; line-height:1.5; color:var(--fg); }

  .landing-pricing-card{
    border:1px solid var(--fg-dim); background:#010401; padding:16px;
  }
  .pricing-label{
    font-size:11px; color:var(--fg-dim); letter-spacing:2px; margin-bottom:6px;
  }
  .pricing-amount{
    font-size:24px; color:var(--fg-bright); text-shadow:var(--glow);
    margin-bottom:12px; font-variant-numeric:tabular-nums;
  }
  .pricing-amount--free{ color:var(--warn); margin-bottom:4px; }
  .pricing-regular{ font-size:12px; color:var(--fg-dim); margin:0 0 12px; line-height:1.5; }
  .pricing-includes{
    list-style:none; margin:0 0 12px; padding:0; font-size:13px; line-height:1.5;
  }
  .pricing-includes li::before{ content:"+ "; color:var(--fg-bright); }
  .pricing-bonus{
    border-top:1px dashed var(--fg-dim); margin-top:12px; padding-top:12px;
  }
  .pricing-bonus-label{
    display:inline-block; font-size:10px; letter-spacing:2px;
    border:1px solid var(--warn); color:var(--warn); padding:1px 6px; margin-bottom:8px;
  }
  .pricing-bonus-title{
    font-size:14px; color:var(--fg-bright); text-shadow:var(--glow); margin-bottom:4px;
  }
  .pricing-bonus-body{ font-size:12px; color:var(--fg-dim); margin:0; line-height:1.5; }
  .pricing-note{ font-size:12px; color:var(--fg-dim); margin:12px 0; line-height:1.5; }

  .landing-columns{
    display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:20px;
  }
  .landing-columns .panel{ margin-bottom:0; }
  .landing-faq{ margin-bottom:20px; }
  .landing-faq__heading{
    text-align:center; margin:28px 0 16px;
    font-size:18px; letter-spacing:2px; color:var(--fg-bright);
    text-shadow:var(--glow);
  }
  .crt-monitor__hints--prompts{
    padding-top:clamp(4px, 0.8vw, 8px);
    border-top:1px solid rgba(28,143,58,0.35);
    gap:8px 12px; justify-content:flex-start;
  }
  .crt-monitor__hints--prompts > :not(:first-child)::before{ content:none; }
  .crt-monitor__hints--prompts .crt-monitor__hint-btn{
    white-space:normal; text-align:left;
  }
  .crt-monitor__hint-btn--danger{ color:var(--warn); }
  .crt-monitor__hint-btn--danger:hover{ color:var(--danger); text-shadow:none; }
  .crt-monitor--auth .crt-monitor__input-row .crt-monitor__submit,
  .crt-monitor--advisor .crt-monitor__input-row .crt-monitor__submit{
    flex:0 0 20%; max-width:20%; min-width:0; margin:0;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:clamp(9px, 1.35vw, 12px); line-height:1;
    padding:4px 4px; box-sizing:border-box;
    text-align:center; white-space:nowrap;
  }
  .advisor-crt-page{
    max-width:min(100%, 1024px); margin:0 auto; padding:4px 0 16px;
  }
  .advisor-crt-disclaimer{
    font-size:11px; line-height:1.45; border-color:var(--warn); color:var(--warn);
    border-style:solid; margin-bottom:16px;
  }
  .advisor-crt-footer{
    font-size:11px; text-align:center; margin-top:12px;
  }
  .panel-muted{ opacity:0.85; }

  .req-grid{ display:grid; grid-template-columns:180px 1fr; row-gap:6px; font-size:13px; }
  .req-grid dt{ color:var(--fg-dim); }
  .req-grid dd{ margin:0; }

  .screen-preview{
    font-size:12px; line-height:1.4; white-space:pre; color:var(--fg);
    background:#010401; border:1px solid var(--fg-dim); padding:14px; overflow-x:auto;
  }
  .screen-preview .hi{ color:var(--fg-bright); }

  .landing-footer{
    text-align:center; font-size:12px; color:var(--fg-dim); margin-top:40px;
    border-top:1px solid var(--fg-dim); padding-top:16px;
  }
  .legal-footer-links{ margin-bottom:12px; }
  .legal-footer-links a{ color:var(--fg-dim); text-decoration:none; }
  .legal-footer-links a:hover{ color:var(--fg-bright); text-shadow:var(--glow); }
  .legal-footer-links .sep{ margin:0 8px; }

  .legal-back{ color:inherit; text-decoration:none; }
  .legal-back:hover{ color:var(--fg-bright); text-shadow:var(--glow); }

  .legal-nav{
    display:flex; justify-content:center; align-items:center; gap:8px;
    margin-bottom:28px; font-size:13px; letter-spacing:1px;
  }
  .legal-nav a{ color:var(--fg-dim); text-decoration:none; }
  .legal-nav a:hover,
  .legal-nav a.active{ color:var(--fg-bright); text-shadow:var(--glow); }
  .legal-nav .sep{ color:var(--fg-dim); }

  .legal-panel{ margin-top:8px; }
  .legal-updated{ font-size:12px; color:var(--fg-dim); margin:0 0 20px; }
  .legal-content h2{
    font-size:14px; margin:24px 0 8px; letter-spacing:1px;
    border-bottom:1px dashed var(--fg-dim); padding-bottom:4px;
  }
  .legal-content h2:first-child{ margin-top:0; }
  .legal-section-body{ font-size:14px; line-height:1.6; color:var(--fg); }
  .legal-section-body p{ margin:0 0 12px; }

  @media (max-width:720px){
    .access-steps{ grid-template-columns:1fr; }
    .landing-columns{ grid-template-columns:1fr; }
    .landing-columns .panel{ margin-bottom:20px; }
    .landing-columns .panel:last-child{ margin-bottom:0; }

    .landing-body > *{ margin-left:0; margin-right:0; }

    .hero-banner__overlay{
      position:static; width:100%;
      background:var(--bg-panel);
      padding:20px 18px;
      border-top:1px solid var(--fg-dim);
    }
    .hero-banner__copy .cta{
      display:block; text-align:center; padding:12px 16px; font-size:14px;
    }

    .landing-pillars{
      flex-direction:column; align-items:stretch; padding:0;
    }
    .landing-pillar-sep{
      width:auto; height:1px; margin:0;
    }
    .landing-pillar{
      padding:20px 18px;
    }
    .landing-pillar__text{ max-width:none; }
  }

  @media (max-width:600px){
    .feature-list{ columns:1; }
    .req-grid{ grid-template-columns:1fr; }
    .req-grid dt{ margin-top:8px; }
    .req-grid dt:first-child{ margin-top:0; }
  }

  dialog.installment-dialog{
    border:2px solid var(--fg-dim);
    background:var(--bg-panel);
    color:var(--fg);
    padding:20px 16px 16px;
    max-width:640px;
    width:calc(100% - 32px);
    font-family:inherit;
  }
  dialog.installment-dialog::backdrop{
    background:rgba(0,0,0,0.72);
  }
  .installment-dialog-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
    padding-top:4px;
  }
  .installment-dialog-header .panel-title{
    position:static;
    padding:0;
    background:transparent;
    margin-right:8px;
  }
  .installment-dialog-close{
    flex-shrink:0;
    min-width:32px;
    padding:3px 10px;
  }
  .installment-dialog-form{
    margin-bottom:12px;
    padding-bottom:12px;
    border-bottom:1px dashed var(--fg-dim);
  }
  .installment-dialog-remaining{
    margin-bottom:12px;
    text-align:right;
    font-size:14px;
  }
  .installment-pay-form{
    display:inline;
    margin:0;
  }
  .installment-pay-form input[type="checkbox"]{
    cursor:pointer;
  }
