/* =====================================================================
   TCO Calculator — extracted from the standalone calculator.html and
   scoped under .tco-board so it cannot fight the site's own styles.
   The original set html, body and * globally, which would have
   restyled every page this stylesheet loads on.
   ===================================================================== */

.tco-board{
    --board:#12161D; --board2:#1B212B; --board3:#232B38;
    --line:#2E3744; --line2:#3A4456;
    --text:#E7EAEF; --muted:#8C97AC; --muted2:#5F6B80;
    --amber:#F2A33C; --amber-dim:#7A5A28;
    --cyan:#5FD0C0; --cyan-dim:#2E5650;
    --green:#6FCF8E; --red:#E8694A; --redbg:rgba(232,105,74,0.12);
    --mono:"SF Mono","Cascadia Mono","Consolas","DejaVu Sans Mono","Courier New",monospace;
    --sans:-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  }.tco-board *{ box-sizing:border-box; }.tco-board, .tco-board{ margin:0; padding:0; }.tco-board{ background:var(--board); color:var(--text); font-family:var(--sans); line-height:1.5; -webkit-font-smoothing:antialiased; }.tco-board .marquee{ background:linear-gradient(180deg,#171D27 0%,#12161D 100%); border-bottom:1px solid var(--line); padding:28px 32px 22px; }.tco-board .marquee-top{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:16px; }.tco-board .brand{ font-family:var(--mono); font-size:12px; letter-spacing:0.32em; color:var(--cyan); text-transform:uppercase; margin:0 0 10px; }.tco-board .title{ font-size:30px; font-weight:700; margin:0; letter-spacing:-0.01em; }.tco-board .title .accent{ color:var(--amber); }.tco-board .subtitle{ color:var(--muted); font-size:14.5px; margin:8px 0 0; max-width:700px; }.tco-board .board-id{ font-family:var(--mono); font-size:11px; color:var(--muted2); text-align:right; line-height:1.9; letter-spacing:0.05em; white-space:nowrap; }.tco-board .board-id b{ color:var(--muted); font-weight:600; }.tco-board .backlink{ display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--cyan); text-decoration:none; margin-bottom:14px; }.tco-board .backlink:hover{ color:var(--text); }.tco-board .wrap{ max-width:1180px; margin:0 auto; padding:0 32px 64px; }.tco-board .grid2{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
  @media (max-width:920px){.tco-board .grid2{ grid-template-columns:1fr; } }.tco-board .section{ margin-top:36px; }.tco-board .section-head{ display:flex; align-items:baseline; gap:14px; margin-bottom:14px; }.tco-board .section-num{ font-family:var(--mono); font-size:12px; color:var(--amber); letter-spacing:0.1em; flex-shrink:0; }.tco-board .section-title{ font-size:13px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--text); margin:0; }.tco-board .section-rule{ flex:1; height:1px; background:var(--line); align-self:center; }.tco-board .section-note{ color:var(--muted); font-size:13px; margin:-4px 0 16px; max-width:820px; }.tco-board .section-note b{ color:var(--text); }.tco-board .section-note .src{ color:var(--cyan); }.tco-board .selector-row{ display:flex; gap:16px; align-items:stretch; flex-wrap:wrap; }.tco-board .select-panel{ background:var(--board2); border:1px solid var(--line); border-radius:6px; padding:18px 20px; flex:2; min-width:220px; }.tco-board .select-label{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.18em; color:var(--muted2); text-transform:uppercase; margin:0 0 10px; }.tco-board select{ width:100%; background:var(--board3); color:var(--text); border:1px solid var(--line2); border-radius:4px; padding:11px 12px; font-size:16px; font-family:var(--sans); font-weight:600; appearance:none; cursor:pointer; }.tco-board select:focus-visible, .tco-board input:focus-visible, .tco-board button:focus-visible{ outline:2px solid var(--cyan); outline-offset:1px; }.tco-board .stat-panel{ background:var(--board2); border:1px solid var(--line); border-radius:6px; padding:18px 20px; flex:1; min-width:140px; display:flex; flex-direction:column; justify-content:center; }.tco-board .stat-value{ font-family:var(--mono); font-size:22px; font-weight:700; color:var(--cyan); margin:4px 0 0; }.tco-board .stat-label{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.18em; color:var(--muted2); text-transform:uppercase; margin:0; }.tco-board /* ===== VERTICAL CHALLENGE CARD ===== */
  .vert-card{ background:var(--board2); border:1px solid var(--line); border-radius:8px; overflow:hidden; }.tco-board .vert-head{ display:flex; align-items:center; gap:14px; padding:18px 22px; border-bottom:1px solid var(--line); background:var(--board3); }.tco-board .vert-icon{ width:42px; height:42px; border-radius:8px; background:rgba(95,208,192,0.12); display:flex; align-items:center; justify-content:center; flex-shrink:0; }.tco-board .vert-icon svg{ width:24px; height:24px; stroke:var(--cyan); fill:none; stroke-width:1.6; }.tco-board .vert-name{ font-size:17px; font-weight:700; margin:0; }.tco-board .vert-sub{ font-family:var(--mono); font-size:11px; color:var(--muted2); letter-spacing:0.05em; margin:2px 0 0; }.tco-board .vert-body{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--line); }
  @media (max-width:820px){.tco-board .vert-body{ grid-template-columns:1fr; } }.tco-board .vert-col{ background:var(--board2); padding:16px 20px; }.tco-board .vert-col-label{ font-family:var(--mono); font-size:10px; letter-spacing:0.15em; text-transform:uppercase; margin:0 0 8px; display:flex; align-items:center; gap:6px; }.tco-board .vert-col.sec .vert-col-label{ color:var(--red); }.tco-board .vert-col.up .vert-col-label{ color:var(--amber); }.tco-board .vert-col.fit .vert-col-label{ color:var(--cyan); }.tco-board .vert-col p{ font-size:12.5px; color:var(--muted); margin:0; line-height:1.55; }.tco-board .vert-col.fit p{ color:var(--text); }.tco-board /* ===== RISK STRIP ===== */
  .risk-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
  @media (max-width:860px){.tco-board .risk-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:480px){.tco-board .risk-grid{ grid-template-columns:1fr; } }.tco-board .risk-cell{ background:var(--board2); padding:14px 16px; }.tco-board .risk-label{ font-size:11px; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); font-weight:600; margin-bottom:8px; min-height:28px; }.tco-board .risk-meter{ display:flex; gap:3px; margin-bottom:7px; }.tco-board .risk-pip{ height:6px; flex:1; border-radius:2px; background:var(--board3); }.tco-board .risk-pip.on-low{ background:var(--green); }.tco-board .risk-pip.on-mid{ background:var(--amber); }.tco-board .risk-pip.on-high{ background:var(--red); }.tco-board .risk-val{ font-family:var(--mono); font-size:12px; color:var(--text); font-weight:700; }.tco-board .risk-val .word{ color:var(--muted); font-weight:400; }.tco-board /* ===== COST PROFILE ===== */
  .board-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; }
  @media (max-width:880px){.tco-board .board-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){.tco-board .board-grid{ grid-template-columns:1fr; } }.tco-board .board-cell{ background:var(--board2); padding:16px 16px 14px; display:flex; flex-direction:column; gap:8px; }.tco-board .board-cell.wide{ grid-column:1 / -1; flex-direction:row; align-items:center; gap:20px; flex-wrap:wrap; }.tco-board .board-cell.wide .cell-input-row{ width:160px; flex-shrink:0; }.tco-board .board-cell.wide .cell-caption{ border-top:none; padding-top:0; margin-top:0; flex:1; }.tco-board .board-cell.wide .cell-label{ width:100%; }.tco-board .cell-label{ font-size:11px; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); font-weight:600; }.tco-board .cell-input-row{ display:flex; align-items:baseline; gap:8px; }.tco-board .cell-prefix{ font-family:var(--mono); font-size:22px; font-weight:700; color:var(--amber); }.tco-board .cell-input{ background:transparent; border:none; border-bottom:1px dashed var(--line2); color:var(--amber); font-family:var(--mono); font-size:22px; font-weight:700; width:100%; padding:0 0 2px; min-width:0; }.tco-board .cell-input:focus{ border-bottom-color:var(--cyan); outline:none; }.tco-board .cell-unit{ font-family:var(--mono); font-size:11px; color:var(--muted2); white-space:nowrap; }.tco-board .cell-caption{ font-size:11.5px; color:var(--muted); border-top:1px dashed var(--line2); padding-top:8px; margin-top:auto; }.tco-board .cell-caption b{ color:var(--cyan); font-weight:600; }.tco-board .field{ margin-bottom:16px; }.tco-board .field-row{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; margin-bottom:6px; }.tco-board .field-label{ font-size:13px; font-weight:600; color:var(--text); }.tco-board .field-unit{ font-family:var(--mono); font-size:11px; color:var(--muted2); text-transform:uppercase; letter-spacing:0.08em; white-space:nowrap; }.tco-board .field-hint{ font-size:12px; color:var(--muted); margin-top:5px; line-height:1.5; }.tco-board .field-hint b{ color:var(--cyan); font-weight:600; }.tco-board input[type=number]{ width:100%; background:var(--board3); color:var(--text); border:1px solid var(--line2); border-radius:4px; padding:10px 12px; font-family:var(--mono); font-size:15px; font-weight:600; }.tco-board input[type=number]:focus{ border-color:var(--cyan); }.tco-board .panel{ background:var(--board2); border:1px solid var(--line); border-radius:6px; padding:20px 22px; }.tco-board .assump-toggle{ background:var(--board2); border:1px solid var(--line); border-radius:6px; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; }.tco-board .assump-toggle:hover{ border-color:var(--line2); }.tco-board .assump-toggle-label{ font-size:13px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; }.tco-board .assump-toggle-icon{ font-family:var(--mono); color:var(--amber); font-size:14px; }.tco-board .assump-body{ display:none; border:1px solid var(--line); border-top:none; border-radius:0 0 6px 6px; padding:20px 22px; background:var(--board2); grid-template-columns:1fr 1fr 1fr; gap:0 24px; }.tco-board .assump-body.open{ display:grid; }
  @media (max-width:880px){.tco-board .assump-body{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){.tco-board .assump-body{ grid-template-columns:1fr; } }.tco-board .reset-link{ font-family:var(--mono); font-size:11px; color:var(--cyan); border-bottom:1px dashed var(--cyan-dim); cursor:pointer; background:none; border-top:none; border-left:none; border-right:none; padding:0; }.tco-board .reset-link:hover{ color:var(--text); }.tco-board .ledger{ background:var(--board2); border:1px solid var(--line); border-radius:6px; overflow:hidden; }.tco-board .ledger-row{ display:flex; justify-content:space-between; align-items:center; padding:15px 22px; border-bottom:1px solid var(--line); gap:16px; }.tco-board .ledger-row:last-child{ border-bottom:none; }.tco-board .ledger-name{ font-size:14px; font-weight:600; }.tco-board .ledger-formula{ font-family:var(--mono); font-size:11px; color:var(--muted2); margin-top:4px; }.tco-board .ledger-value{ font-family:var(--mono); font-size:21px; font-weight:700; color:var(--amber); white-space:nowrap; }.tco-board .ledger-row.total{ background:var(--board3); border-top:1px solid var(--line2); }.tco-board .ledger-row.total .ledger-name{ font-size:15px; }.tco-board .ledger-row.total .ledger-value{ font-size:29px; color:var(--cyan); }.tco-board .ledger-row.onetime .ledger-value{ color:var(--green); }.tco-board .tco-group{ margin-bottom:32px; }.tco-board .tco-group:last-child{ margin-bottom:0; }.tco-board .tco-group-title{ font-family:var(--mono); font-size:11px; letter-spacing:0.18em; color:var(--muted2); text-transform:uppercase; margin:0 0 14px; }.tco-board .tco-bar-row{ margin-bottom:14px; }.tco-board .tco-bar-label{ display:flex; justify-content:space-between; align-items:baseline; font-size:12.5px; font-weight:600; margin-bottom:6px; }.tco-board .tco-bar-label .v{ font-family:var(--mono); color:var(--muted); font-weight:700; }.tco-board .tco-bar-track{ height:26px; background:var(--board3); border-radius:4px; overflow:hidden; display:flex; border:1px solid var(--line); }.tco-board .tco-bar-fill{ height:100%; display:flex; align-items:center; }.tco-board .tco-bar-fill.trad{ background:linear-gradient(90deg,#4A3320,var(--amber-dim)); }.tco-board .tco-bar-fill.cn{ background:linear-gradient(90deg,#1E4A45,var(--cyan-dim)); }.tco-board .tco-saved-strip{ flex:1; background:repeating-linear-gradient(135deg,rgba(111,207,142,0.18) 0 6px,transparent 6px 12px); display:flex; align-items:center; justify-content:center; }.tco-board .tco-saved-label{ font-family:var(--mono); font-size:11px; color:var(--green); font-weight:700; letter-spacing:0.05em; padding:0 8px; white-space:nowrap; }.tco-board .tag-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }.tco-board .tag{ font-family:var(--mono); font-size:10.5px; letter-spacing:0.05em; border:1px solid var(--line2); border-radius:3px; padding:4px 9px; color:var(--muted); }.tco-board .score-panel{ display:flex; gap:24px; align-items:center; flex-wrap:wrap; }.tco-board .score-dial{ width:120px; height:120px; border-radius:50%; border:8px solid var(--line); display:flex; align-items:center; justify-content:center; flex-shrink:0; }.tco-board .score-dial-inner{ font-family:var(--mono); text-align:center; }.tco-board .score-dial-num{ font-size:30px; font-weight:700; color:var(--amber); display:block; }.tco-board .score-dial-den{ font-size:11px; color:var(--muted2); }.tco-board .score-text{ flex:1; min-width:240px; }.tco-board .score-text h4{ margin:0 0 8px; font-size:14px; letter-spacing:0.05em; }.tco-board .score-text p{ margin:0; font-size:13px; color:var(--muted); line-height:1.6; }.tco-board .footnote{ margin-top:48px; padding-top:20px; border-top:1px solid var(--line); font-size:11.5px; color:var(--muted2); line-height:1.85; }.tco-board .footnote b{ color:var(--muted); }.tco-board .footnote .src-list{ margin-top:10px; padding-left:18px; }.tco-board .footnote .src-list li{ margin-bottom:4px; }.tco-board /* ── LOGO ── */
  /* ── MARKET THESIS ── */
  .market-thesis{margin-top:20px;padding:16px 22px;
    border-left:3px solid var(--amber);background:rgba(242,163,60,0.06);
    border-radius:0 6px 6px 0}.tco-board .thesis-inner{display:flex;align-items:center;gap:0}.tco-board .thesis-flag{font-size:26px;line-height:1;margin-right:14px;flex-shrink:0}.tco-board .thesis-not{font-family:var(--sans);font-size:11px;color:var(--muted);
    font-weight:600;letter-spacing:0.07em;text-transform:uppercase;
    display:block;margin-bottom:4px}.tco-board .thesis-value{font-family:var(--sans);font-size:21px;font-weight:800;
    color:var(--amber);letter-spacing:-0.01em;line-height:1.2;display:block}.tco-board /* ── POWER GUARD ── */
  .pg-stat-bar{display:flex;gap:0;flex-wrap:wrap;margin-bottom:20px;
    background:rgba(95,208,192,0.05);border:1px solid var(--cyan-dim);
    border-radius:6px;overflow:hidden}.tco-board .pg-stat{flex:1;min-width:140px;padding:16px 20px;border-right:1px solid var(--cyan-dim)}.tco-board .pg-stat:last-child{border-right:none}.tco-board .pg-stat-label{font-family:var(--mono);font-size:9.5px;letter-spacing:0.18em;
    color:var(--muted2);text-transform:uppercase;margin:0 0 6px}.tco-board .pg-stat-value{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--cyan);margin:0}.tco-board .pg-stat-value.green{color:var(--green)}
