[data-etf-theme]{--etf-page:#f9fafb;--etf-surface:#fff;--etf-surface-2:#f9fafb;--etf-surface-3:#f3f4f6;--etf-line:#e5e7eb;--etf-line-soft:#f1f3f5;--etf-ink:#111827;--etf-ink-2:#374151;--etf-ink-3:#6b7280;--etf-ink-4:#9ca3af;--etf-accent:#c7814e;--etf-accent-on:#fff;--etf-accent-soft:#c7814e12;--etf-up:#dc2626;--etf-down:#2563eb;--etf-flat:#9ca3af;--etf-warn:#d97706;--etf-mood-1:#dc2626;--etf-mood-2:#ea580c;--etf-mood-3:#eab308;--etf-mood-4:#65a30d;--etf-mood-5:#16a34a;--etf-mood-track:#e5e7eb;--etf-good-bg:#ecfdf5;--etf-good-fg:#047857;--etf-good-line:#a7f3d0;--etf-warn-bg:#fffbeb;--etf-warn-fg:#b45309;--etf-warn-line:#fde68a;--etf-danger-bg:#fef2f2;--etf-danger-fg:#b91c1c;--etf-danger-line:#fecaca;--etf-r:8px;--etf-r-lg:12px;--etf-r-pill:6px;--etf-bw:1px;--etf-shadow:none;--etf-shadow-card:none;--etf-fs-scale:1;--etf-zoom:1;--etf-fs-h1:calc(17px*var(--etf-fs-scale));--etf-fs-h2:calc(13px*var(--etf-fs-scale));--etf-fs-body:calc(13px*var(--etf-fs-scale));--etf-fs-cap:calc(11px*var(--etf-fs-scale));--etf-fw:500;--etf-fw-b:600;--etf-fw-h:700;--etf-row-py:calc(8px*var(--etf-fs-scale));--etf-nav-py:calc(10px*var(--etf-fs-scale));--etf-chart-1:#c7814e;--etf-chart-2:#4a7fb5;--etf-chart-3:#6aa84f;--etf-chart-4:#b5527a;--etf-chart-5:#d4a017;--etf-chart-6:#b0b0b0}[data-etf-theme=game]{--etf-page:#ecf0fc;--etf-surface:#fff;--etf-surface-2:#f4f6ff;--etf-surface-3:#e6ebfb;--etf-line:#222a52;--etf-line-soft:#dce2f6;--etf-ink:#171e3f;--etf-ink-2:#3a4474;--etf-ink-3:#6a75a8;--etf-ink-4:#98a1c8;--etf-accent:#ff7a3d;--etf-accent-on:#fff;--etf-accent-soft:#ff7a3d21;--etf-up:#e42b3c;--etf-down:#2563eb;--etf-flat:#98a1c8;--etf-mood-1:#ff4d5e;--etf-mood-2:#ff8a3d;--etf-mood-3:#ffd23f;--etf-mood-4:#8ed63f;--etf-mood-5:#3ddc84;--etf-mood-track:#2b3358;--etf-warn:#e07c00;--etf-good-bg:#dff7ec;--etf-good-fg:#0a7b55;--etf-good-line:#0a7b55;--etf-warn-bg:#ffefd6;--etf-warn-fg:#a85b00;--etf-warn-line:#a85b00;--etf-danger-bg:#ffe4e4;--etf-danger-fg:#b3202e;--etf-danger-line:#b3202e;--etf-r:14px;--etf-r-lg:22px;--etf-r-pill:999px;--etf-bw:2px;--etf-shadow:0 3px 0 #222a5233;--etf-shadow-card:0 4px 0 #222a5229;--etf-fs-h1:calc(20px*var(--etf-fs-scale));--etf-fs-h2:calc(14px*var(--etf-fs-scale));--etf-fs-body:calc(14px*var(--etf-fs-scale));--etf-fs-cap:calc(11.5px*var(--etf-fs-scale));--etf-fw:600;--etf-fw-b:800;--etf-fw-h:800;--etf-row-py:calc(12px*var(--etf-fs-scale));--etf-nav-py:calc(12px*var(--etf-fs-scale));--etf-chart-1:#ff7a3d;--etf-chart-2:#3d6fe0;--etf-chart-3:#22a06b;--etf-chart-4:#e0459b;--etf-chart-5:#f0b429;--etf-chart-6:#a8b0cc}[data-etf-theme=dark]{--etf-page:#0d1117;--etf-surface:#161b22;--etf-surface-2:#1b222d;--etf-surface-3:#212934;--etf-line:#2c3542;--etf-line-soft:#222a35;--etf-ink:#e6edf3;--etf-ink-2:#bfc9d5;--etf-ink-3:#8a96a5;--etf-ink-4:#6a7583;--etf-accent:#e8a870;--etf-accent-on:#17120c;--etf-accent-soft:#e8a8701f;--etf-up:#ff6b6b;--etf-down:#6aa9ff;--etf-flat:#6a7583;--etf-mood-1:#ff7b7b;--etf-mood-2:#ff9d5c;--etf-mood-3:#ffd166;--etf-mood-4:#a3d977;--etf-mood-5:#5ddba4;--etf-mood-track:#2a303a;--etf-warn:#e3a008;--etf-good-bg:#10251c;--etf-good-fg:#4ade9b;--etf-good-line:#1f4a38;--etf-warn-bg:#2a2010;--etf-warn-fg:#f0b429;--etf-warn-line:#4a3a16;--etf-danger-bg:#2b1418;--etf-danger-fg:#ff8787;--etf-danger-line:#4d2027;--etf-chart-1:#e8a870;--etf-chart-2:#6aa9ff;--etf-chart-3:#5cc98f;--etf-chart-4:#e87fb0;--etf-chart-5:#f0c65c;--etf-chart-6:#6a7583}[data-etf-theme=brand]{--etf-page:#fef9dc;--etf-surface:#fffdf3;--etf-surface-2:#fbf5da;--etf-surface-3:#f6eeca;--etf-line:#e4d8ae;--etf-line-soft:#efe6c6;--etf-ink:#3a2e1c;--etf-ink-2:#5d4c31;--etf-ink-3:#8b7853;--etf-ink-4:#a99878;--etf-accent:#c7814e;--etf-accent-on:#fff;--etf-accent-soft:#c7814e1a;--etf-up:#c62828;--etf-down:#1d4ed8;--etf-flat:#a99878;--etf-mood-1:#c0392b;--etf-mood-2:#cf6a2a;--etf-mood-3:#c9a227;--etf-mood-4:#6f9134;--etf-mood-5:#2f8f5b;--etf-mood-track:#e6dcc3;--etf-warn:#b4690e;--etf-good-bg:#edf6e4;--etf-good-fg:#4a6b21;--etf-good-line:#c8dca8;--etf-warn-bg:#fbefd6;--etf-warn-fg:#8a5a10;--etf-warn-line:#e6ce97;--etf-danger-bg:#fbeae6;--etf-danger-fg:#9c3520;--etf-danger-line:#e8c4b8;--etf-r:12px;--etf-r-lg:16px;--etf-shadow-card:0 1px 2px #5a461e12;--etf-chart-1:#a8632f;--etf-chart-2:#3a6690;--etf-chart-3:#4e7a3a;--etf-chart-4:#8e3f60;--etf-chart-5:#a8791a;--etf-chart-6:#a99878}.etf-zoom-root{zoom:var(--etf-zoom);min-height:calc(100vh/var(--etf-zoom))}.etf-spinner{width:calc(14px*var(--etf-fs-scale,1));height:calc(14px*var(--etf-fs-scale,1));border:2px solid var(--etf-line);border-top-color:var(--etf-accent);border-radius:50%;animation:.7s linear infinite etf-spin;display:inline-block}@keyframes etf-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.etf-spinner{border-top-color:var(--etf-line);border-right-color:var(--etf-accent);animation:none}}.etf-page{background-color:var(--etf-page)}.etf-surface{background-color:var(--etf-surface);border:var(--etf-bw)solid var(--etf-line);box-shadow:var(--etf-shadow-card)}.etf-surface-2{background-color:var(--etf-surface-2)}.etf-surface-3{background-color:var(--etf-surface-3)}.etf-surface-plain{background-color:var(--etf-surface)}.etf-divider{border-color:var(--etf-line)}.etf-divider-soft{border-color:var(--etf-line-soft)}.etf-r{border-radius:var(--etf-r)}.etf-r-lg{border-radius:var(--etf-r-lg)}.etf-pill{border-radius:var(--etf-r-pill)}.etf-h1{font-size:var(--etf-fs-h1);font-weight:var(--etf-fw-h);color:var(--etf-ink);letter-spacing:-.02em}.etf-h2{font-size:var(--etf-fs-h2);font-weight:var(--etf-fw-b);color:var(--etf-ink)}.etf-body{font-size:var(--etf-fs-body);color:var(--etf-ink-2)}.etf-body-strong{font-size:var(--etf-fs-body);font-weight:var(--etf-fw-b);color:var(--etf-ink)}.etf-caption{font-size:var(--etf-fs-cap);color:var(--etf-ink-3)}.etf-muted{font-size:var(--etf-fs-cap);color:var(--etf-ink-4)}.etf-th{font-size:var(--etf-fs-cap);font-weight:var(--etf-fw);color:var(--etf-ink-3)}.etf-ink{color:var(--etf-ink)}.etf-ink-2{color:var(--etf-ink-2)}.etf-ink-3{color:var(--etf-ink-3)}.etf-ink-4{color:var(--etf-ink-4)}.etf-accent-fg{color:var(--etf-accent)}.etf-accent-border{border-color:var(--etf-accent)}.etf-header-indent{padding-left:24px}@media (min-width:640px){.etf-header-indent{padding-left:64px}}@media (min-width:768px){.etf-header-indent{padding-left:calc(168px*var(--etf-fs-scale) + 25px)}}.etf-label{width:calc(50px*var(--etf-fs-scale));flex-shrink:0}.etf-hover-ink:hover{color:var(--etf-ink)}.etf-fs-10{font-size:calc(10px*var(--etf-fs-scale))}.etf-fs-11{font-size:calc(11px*var(--etf-fs-scale))}.etf-fs-12{font-size:calc(12px*var(--etf-fs-scale))}.etf-fs-13{font-size:calc(13px*var(--etf-fs-scale))}.etf-fs-14{font-size:calc(14px*var(--etf-fs-scale))}.etf-fs-15{font-size:calc(15px*var(--etf-fs-scale))}.etf-fs-22{font-size:calc(22px*var(--etf-fs-scale))}.etf-num{font-size:var(--etf-fs-body);color:var(--etf-ink-2);font-variant-numeric:tabular-nums}.etf-num-strong{font-size:var(--etf-fs-body);font-weight:var(--etf-fw-b);color:var(--etf-ink);font-variant-numeric:tabular-nums}.etf-up{color:var(--etf-up);font-variant-numeric:tabular-nums}.etf-down{color:var(--etf-down);font-variant-numeric:tabular-nums}.etf-flat{color:var(--etf-flat);font-variant-numeric:tabular-nums}.etf-mood-fg-1{color:var(--etf-mood-1)}.etf-mood-fg-2{color:var(--etf-mood-2)}.etf-mood-fg-3{color:var(--etf-mood-3)}.etf-mood-fg-4{color:var(--etf-mood-4)}.etf-mood-fg-5{color:var(--etf-mood-5)}.etf-mood-bg-1{background-color:var(--etf-mood-1)}.etf-mood-bg-2{background-color:var(--etf-mood-2)}.etf-mood-bg-3{background-color:var(--etf-mood-3)}.etf-mood-bg-4{background-color:var(--etf-mood-4)}.etf-mood-bg-5{background-color:var(--etf-mood-5)}.etf-mood-track{background-color:var(--etf-mood-track)}.etf-mood-title{font-size:calc(var(--etf-fs-h2)*1.2)}.etf-mood-label{font-size:calc(var(--etf-fs-h2)*.64)}.etf-mood-past{font-size:calc(var(--etf-fs-cap)*.96)}.etf-mood-past-num{font-size:calc(22px*var(--etf-fs-scale)*.96)}.etf-mood-phase{font-size:calc(var(--etf-fs-cap)*1.2)}.etf-mood-phase-strong{font-size:calc(var(--etf-fs-body)*1.2)}.etf-mood-score{font-size:calc(25.6px*var(--etf-fs-scale));font-weight:var(--etf-fw-h);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.etf-disp{color:var(--etf-ink-3);font-variant-numeric:tabular-nums}.etf-disp-wide{color:var(--etf-warn);font-variant-numeric:tabular-nums}.etf-warn-fg{color:var(--etf-warn)}.etf-danger-fg{color:var(--etf-danger-fg)}.etf-chip,.etf-chip-on{padding:calc(6px*var(--etf-fs-scale))calc(12px*var(--etf-fs-scale));font-size:calc(13px*var(--etf-fs-scale));white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.etf-chip{border:var(--etf-bw)solid var(--etf-line-soft);border-radius:var(--etf-r-pill);background-color:var(--etf-surface);color:var(--etf-ink-3);font-weight:var(--etf-fw);transition:border-color .15s,color .15s,background-color .15s}.etf-chip:hover{border-color:var(--etf-accent);color:var(--etf-accent)}.etf-chip-on{border:var(--etf-bw)solid var(--etf-accent);border-radius:var(--etf-r-pill);background-color:var(--etf-accent-soft);color:var(--etf-accent);font-weight:var(--etf-fw-b);box-shadow:var(--etf-shadow)}.etf-nav{border:var(--etf-bw)solid var(--etf-line-soft);border-radius:var(--etf-r);background-color:var(--etf-surface);color:var(--etf-ink-2);font-weight:var(--etf-fw);padding-top:var(--etf-nav-py);padding-bottom:var(--etf-nav-py);transition:border-color .15s,color .15s}.etf-nav:hover{border-color:var(--etf-accent);color:var(--etf-accent)}.etf-nav-on{border:var(--etf-bw)solid var(--etf-accent);border-radius:var(--etf-r);background-color:var(--etf-accent);color:var(--etf-accent-on);font-weight:var(--etf-fw-b);box-shadow:var(--etf-shadow);padding-top:var(--etf-nav-py);padding-bottom:var(--etf-nav-py)}.etf-nav-dim{border:var(--etf-bw)solid var(--etf-line-soft);border-radius:var(--etf-r);background-color:var(--etf-surface);color:var(--etf-ink-4);padding-top:var(--etf-nav-py);padding-bottom:var(--etf-nav-py)}.etf-nav-dim:hover{border-color:var(--etf-line)}.etf-input{background-color:var(--etf-surface);border:var(--etf-bw)solid var(--etf-line);border-radius:var(--etf-r);color:var(--etf-ink);font-size:var(--etf-fs-body)}.etf-input::placeholder{color:var(--etf-ink-4)}.etf-input:focus{outline:2px solid var(--etf-accent);outline-offset:-1px;border-color:var(--etf-accent)}.etf-btn{border:var(--etf-bw)solid var(--etf-line);border-radius:var(--etf-r);background-color:var(--etf-surface);color:var(--etf-ink-2);font-weight:var(--etf-fw);transition:border-color .15s,color .15s}.etf-btn:hover:not(:disabled){border-color:var(--etf-accent);color:var(--etf-accent)}.etf-btn:disabled{color:var(--etf-ink-4);cursor:not-allowed}.etf-btn-primary{border:var(--etf-bw)solid var(--etf-accent);border-radius:var(--etf-r);background-color:var(--etf-accent);color:var(--etf-accent-on);font-weight:var(--etf-fw-b);box-shadow:var(--etf-shadow)}.etf-btn-primary:disabled{opacity:.5;cursor:not-allowed}.etf-btn-accent{border:var(--etf-bw)solid var(--etf-accent);border-radius:var(--etf-r);color:var(--etf-accent);font-weight:var(--etf-fw);background-color:#0000;transition:background-color .15s,color .15s}.etf-btn-accent:hover{background-color:var(--etf-accent);color:var(--etf-accent-on)}.etf-cell-input{border:var(--etf-bw)solid transparent;border-radius:var(--etf-r);color:var(--etf-ink);font-size:var(--etf-fs-body);background-color:#0000}.etf-cell-input:hover{border-color:var(--etf-line)}.etf-cell-input:focus{border-color:var(--etf-accent);background-color:var(--etf-surface);outline:none}.etf-accent-control{accent-color:var(--etf-accent)}.etf-row{border-bottom:var(--etf-bw)solid var(--etf-line-soft)}.etf-row:last-child{border-bottom:0}.etf-row-hover:hover{background-color:var(--etf-surface-2)}.etf-row-focus:focus-visible{outline:2px solid var(--etf-accent);outline-offset:-2px;background-color:var(--etf-surface-2)}.etf-cell{padding-top:var(--etf-row-py);padding-bottom:var(--etf-row-py)}.etf-panel-gap{gap:calc(24px*var(--etf-fs-scale))}@media (min-width:1404px){.etf-panel-gap{gap:calc(80px*var(--etf-fs-scale))}}.etf-row-busy{background-color:var(--etf-warn-bg)}.etf-bar-up{background-color:var(--etf-up)}.etf-bar-down{background-color:var(--etf-down)}.etf-alert-danger{background-color:var(--etf-danger-bg);color:var(--etf-danger-fg);border:var(--etf-bw)solid var(--etf-danger-line);border-radius:var(--etf-r);font-size:var(--etf-fs-body)}.etf-alert-warn{background-color:var(--etf-warn-bg);color:var(--etf-warn-fg);border:var(--etf-bw)solid var(--etf-warn-line);border-radius:var(--etf-r);font-size:var(--etf-fs-body)}.etf-link-muted{color:var(--etf-ink-3);text-underline-offset:2px;text-decoration:underline}.etf-link-muted:hover{color:var(--etf-ink)}.etf-badge-neutral{background-color:var(--etf-surface-2);color:var(--etf-ink-3);border:var(--etf-bw)solid var(--etf-line);border-radius:var(--etf-r-pill);font-weight:var(--etf-fw-b)}.etf-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.etf-badge-good{background-color:var(--etf-good-bg);color:var(--etf-good-fg);border:var(--etf-bw)solid var(--etf-good-line);border-radius:var(--etf-r-pill);font-weight:var(--etf-fw-b)}.etf-badge-warn{background-color:var(--etf-warn-bg);color:var(--etf-warn-fg);border:var(--etf-bw)solid var(--etf-warn-line);border-radius:var(--etf-r-pill);font-weight:var(--etf-fw-b)}.etf-badge-danger{background-color:var(--etf-danger-bg);color:var(--etf-danger-fg);border:var(--etf-bw)solid var(--etf-danger-line);border-radius:var(--etf-r-pill);font-weight:var(--etf-fw-b)}@media (prefers-reduced-motion:no-preference){[data-etf-theme=game] .etf-nav-on,[data-etf-theme=game] .etf-chip-on,[data-etf-theme=game] .etf-btn-primary:active,[data-etf-theme=game] .etf-btn:active{animation:.32s etfPop}}@keyframes etfPop{0%{transform:translateY(-2px)}60%{transform:translateY(1px)}to{transform:translateY(0)}}
