/* =====================================================
 * THE STANDARD · BOLD — High-contrast, athletic
 * Default: DARK · togglable to light
 * ===================================================== */

:root,[data-theme="dark"]{
  --bg:      #0a0a0b;
  --paper:   #111116;
  --paper-2: #18181f;
  --rule:    #222228;
  --rule-2:  #2e2e38;
  --ink:     #f4f4f5;
  --mute:    #888896;
  --dim:     #55555f;
  --accent:  #E6FF3D;
  --accent-i:#0a0a0b;
  --accent-s:rgba(230,255,61,.1);
  --accent-d:rgba(230,255,61,.2);
  --pos:     #3dff9b;
  --neg:     #ff4d6a;
  --warn:    #ff9944;
  --info:    #5e84ff;
  --sh1: 0 1px 0 rgba(255,255,255,.03),0 2px 4px rgba(0,0,0,.5);
  --sh2: 0 4px 20px rgba(0,0,0,.6);
}
[data-theme="light"]{
  --bg:      #f5f5f2;
  --paper:   #ffffff;
  --paper-2: #f0f0ed;
  --rule:    #e0e0d8;
  --rule-2:  #c8c8c0;
  --ink:     #0a0a0b;
  --mute:    #666672;
  --dim:     #aaaaae;
  --accent:  #c0d800;
  --accent-i:#0a0a0b;
  --accent-s:rgba(192,216,0,.12);
  --accent-d:rgba(192,216,0,.25);
  --pos:     #1f9958;
  --neg:     #d42044;
  --warn:    #c06a00;
  --info:    #2a5bcc;
  --sh1: 0 1px 3px rgba(0,0,0,.08);
  --sh2: 0 4px 20px rgba(0,0,0,.1);
}

*{box-sizing:border-box;-webkit-font-smoothing:antialiased}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter','Noto Sans JP',system-ui,sans-serif;font-feature-settings:"ss01";transition:background .2s,color .2s}

/* ── TYPE ── */
.display  {font-weight:900;letter-spacing:-.04em;line-height:.92;font-family:'Inter','Noto Sans JP',sans-serif}
.display-jp{font-family:'Noto Sans JP',sans-serif;font-weight:900;letter-spacing:-.01em;line-height:1.05}
.mono     {font-family:'JetBrains Mono',ui-monospace,monospace;font-feature-settings:"tnum";letter-spacing:.02em}
.num      {font-family:'Inter',sans-serif;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.eyebrow  {font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--mute)}
.caption  {font-size:12px;line-height:1.6;color:var(--mute)}
.body     {font-size:14px;line-height:1.7;color:var(--ink)}
.lead     {font-size:18px;line-height:1.55;color:var(--ink);font-weight:500}
.t-pos{color:var(--pos)}.t-neg{color:var(--neg)}.t-warn{color:var(--warn)}.t-mute{color:var(--mute)}.t-dim{color:var(--dim)}.t-accent{color:var(--accent)}

/* ── SURFACES ── */
.surface    {background:var(--paper);border:1px solid var(--rule)}
.surface-2  {background:var(--paper-2);border:1px solid var(--rule)}
.lifted     {background:var(--paper);border:1px solid var(--rule);box-shadow:var(--sh1)}
.hairline   {border:1px solid var(--rule)}
.hr         {height:1px;background:var(--rule);border:0}
.hr-ink     {height:1px;background:var(--ink);border:0}
.hr-accent  {height:3px;background:var(--accent);border:0}
.callout    {padding:18px 20px;border-left:3px solid var(--accent);background:var(--accent-s)}
.callout-neg{border-left-color:var(--neg);background:rgba(255,77,106,.08)}
.callout-warn{border-left-color:var(--warn);background:rgba(255,153,68,.08)}
.callout-pos{border-left-color:var(--pos);background:rgba(61,255,155,.08)}

/* ── CHAPTER ── */
.chapter{display:flex;align-items:baseline;gap:16px;margin:56px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.ch-n  {font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:var(--accent);min-width:40px}
.ch-t  {font-size:15px;font-weight:800;letter-spacing:.02em;flex:1}
.ch-m  {font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--mute);font-family:'JetBrains Mono',monospace}

/* ── TAG ── */
.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--rule-2);border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.tag-s  {background:var(--ink);color:var(--bg);border-color:var(--ink)}
.tag-a  {background:var(--accent);color:var(--accent-i);border-color:var(--accent)}
.tag-pos{background:rgba(61,255,155,.12);color:var(--pos);border-color:rgba(61,255,155,.3)}
.tag-neg{background:rgba(255,77,106,.12);color:var(--neg);border-color:rgba(255,77,106,.3)}
.tag-warn{background:rgba(255,153,68,.12);color:var(--warn);border-color:rgba(255,153,68,.3)}
.tag-info{background:rgba(94,132,255,.12);color:var(--info);border-color:rgba(94,132,255,.3)}

/* ── BUTTON ── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--rule-2);background:transparent;color:var(--ink);font:700 12px/1 'Inter',sans-serif;letter-spacing:.04em;cursor:pointer;border-radius:4px;transition:all .12s}
.btn-s  {background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn-a  {background:var(--accent);color:var(--accent-i);border-color:var(--accent)}
.btn-g  {border-color:var(--rule-2);color:var(--mute)}
.btn-lg {padding:13px 24px;font-size:13px;border-radius:6px}
.btn-sm {padding:5px 10px;font-size:10.5px}
.btn:hover{border-color:var(--ink);color:var(--ink)}
.btn-a:hover{opacity:.9}
.btn-s:hover{background:var(--accent);color:var(--accent-i);border-color:var(--accent);opacity:1}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* ── AVATAR ── */
.av     {display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900;font-family:'Inter',sans-serif;flex-shrink:0;color:var(--accent-i)}
.av-sm  {width:26px;height:26px;font-size:9px}
.av-md  {width:36px;height:36px;font-size:12px}
.av-lg  {width:52px;height:52px;font-size:14px}
.av-xl  {width:80px;height:80px;font-size:20px}
.av-sq  {border-radius:6px}

/* ── METRIC ── */
.metric-n{font-family:'Inter',sans-serif;font-weight:900;font-size:72px;line-height:.88;font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:0}
.metric-u{font-size:16px;font-weight:700;color:var(--mute);margin-left:4px}
.metric-d{font-size:12px;font-weight:700;margin-top:10px}

/* ── TABLE ── */
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl thead th{padding:11px 14px 11px 0;border-bottom:1px solid var(--rule-2);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-weight:700;text-align:left}
.tbl tbody td{padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);vertical-align:middle}
.tbl tbody tr:hover{background:var(--accent-s)}
.tbl tbody tr:last-child td{border-bottom:0}
.tr{text-align:right}

/* ── SHELL / RAIL ── */
.shell  {max-width:1440px;margin:0 auto;padding:0 48px}
.rail   {display:flex;align-items:center;gap:28px;padding:16px 0;border-bottom:1px solid var(--rule);font-size:12px;background:var(--bg);position:sticky;top:0;z-index:40}
.r-brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:14px;letter-spacing:.04em;margin-right:12px}
.r-brand .mk{background:var(--accent);color:var(--accent-i);width:26px;height:26px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}
.rail a{color:var(--mute);text-decoration:none;font-weight:600;transition:color .12s}
.rail a.on{color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:3px}
.rail a:hover{color:var(--ink)}
.r-right{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--mute);font-size:11px}

/* ── FIELD/DAILY CARDS ── */
.field-card {background:var(--paper);border:1px solid var(--rule);border-radius:6px;padding:14px}
.daily-card {background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:20px;box-shadow:var(--sh1)}

.dot{display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--mute)}
.dot-pos{background:var(--pos)}.dot-neg{background:var(--neg)}.dot-warn{background:var(--warn)}.dot-a{background:var(--accent)}

/* ── UTIL ── */
.flex{display:flex}.grid{display:grid}
.ic{align-items:center}.ib{align-items:baseline}.ie{align-items:flex-end}
.jb{justify-content:space-between}.jc{justify-content:center}.je{justify-content:flex-end}
.f1{flex:1}.fc{flex-direction:column}.fw{flex-wrap:wrap}
.g1{gap:4px}.g2{gap:8px}.g3{gap:12px}.g4{gap:16px}.g5{gap:20px}.g6{gap:24px}.g8{gap:32px}.g12{gap:48px}
.mb2{margin-bottom:8px}.mb3{margin-bottom:12px}.mb4{margin-bottom:16px}.mb6{margin-bottom:24px}.mb8{margin-bottom:32px}
.mt2{margin-top:8px}.mt3{margin-top:12px}.mt4{margin-top:16px}.mt6{margin-top:24px}.mt8{margin-top:32px}
.p3{padding:12px}.p4{padding:16px}.p5{padding:20px}.p6{padding:24px}.p8{padding:32px}
.py3{padding:12px 0}.py4{padding:16px 0}.py6{padding:24px 0}
.w100{width:100%}.tr_{text-align:right}.tc{text-align:center}
.nowrap{white-space:nowrap}.trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel{position:relative}

/* ── THEME TOGGLE ── */
.tt{position:fixed;top:16px;right:16px;z-index:999;width:36px;height:36px;border-radius:8px;border:1px solid var(--rule-2);background:var(--paper-2);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s}
.tt:hover{border-color:var(--accent)}
