:root{--page: #f9f9f7;--surface: #fcfcfb;--ink-primary: #0b0b0b;--ink-secondary: #52514e;--ink-muted: #898781;--hairline: rgba(11, 11, 11, .1);--gridline: #e1e0d9;--bullish: #0ca30c;--bullish-text: #006300;--bearish: #d03b3b;--bearish-text: #d03b3b;--meter-fill: #2a78d6;--meter-track: #e1e0d9;--accent: #2a78d6;--chip-selected-bg: #0b0b0b;--chip-selected-ink: #fcfcfb}@media (prefers-color-scheme: dark){:root{--page: #0d0d0d;--surface: #1a1a19;--ink-primary: #ffffff;--ink-secondary: #c3c2b7;--ink-muted: #898781;--hairline: rgba(255, 255, 255, .1);--gridline: #2c2c2a;--bullish: #0ca30c;--bullish-text: #0ca30c;--bearish: #e66767;--bearish-text: #e66767;--meter-fill: #3987e5;--meter-track: #2c2c2a;--accent: #3987e5;--chip-selected-bg: #ffffff;--chip-selected-ink: #0b0b0b}}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.45}.container{max-width:1100px;margin:0 auto;padding:24px 20px 64px}.header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:20px}.header h1{font-size:22px;font-weight:650;margin:0}.header .subtitle{color:var(--ink-secondary);font-size:14px;margin:2px 0 0}.user-box{display:flex;align-items:center;gap:8px;font-size:13px}.user-avatar{width:24px;height:24px;border-radius:50%}.user-name{color:var(--ink-secondary);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-link{color:var(--accent);text-decoration:none}.auth-link:hover{text-decoration:underline}.posting-as{color:var(--ink-secondary);font-size:13px;margin:0}.chart-missing{color:var(--ink-muted);font-size:13px;margin:8px 0}.date-picker{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-secondary)}.date-picker select{font:inherit;color:var(--ink-primary);background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:6px 10px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.tile{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:14px 16px}.tile .label{font-size:13px;color:var(--ink-secondary);margin-bottom:4px}.tile .value{font-size:28px;font-weight:650;color:var(--ink-primary)}.tile .value .arrow{font-size:18px;vertical-align:2px;margin-right:4px}.tile .value .arrow.up{color:var(--bullish)}.tile .value .arrow.down{color:var(--bearish)}.tile .hint{font-size:12px;color:var(--ink-muted);margin-top:2px}.controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.tabs{display:inline-flex;background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:3px;gap:2px}.tabs button{font:inherit;font-weight:600;font-size:14px;border:none;background:transparent;color:var(--ink-secondary);border-radius:8px;padding:7px 14px;cursor:pointer}.tabs button.active{background:var(--chip-selected-bg);color:var(--chip-selected-ink)}.tabs button .arrow.up{color:var(--bullish)}.tabs button .arrow.down{color:var(--bearish)}.tabs button.active .arrow.up,.tabs button.active .arrow.down{color:inherit}.chips{display:inline-flex;gap:6px}.chips button{font:inherit;font-size:13px;border:1px solid var(--hairline);background:var(--surface);color:var(--ink-secondary);border-radius:999px;padding:6px 14px;cursor:pointer}.chips button.active{background:var(--chip-selected-bg);color:var(--chip-selected-ink);border-color:var(--chip-selected-bg)}.group-card{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;margin-bottom:16px;overflow:hidden}.group-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--gridline)}.group-header h2{font-size:16px;font-weight:650;margin:0}.group-header .count{font-size:13px;color:var(--ink-secondary);background:var(--page);border:1px solid var(--hairline);border-radius:999px;padding:3px 10px;white-space:nowrap}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);padding:10px 14px;border-bottom:1px solid var(--gridline);white-space:nowrap}tbody td{padding:10px 14px;border-bottom:1px solid var(--gridline);vertical-align:middle;white-space:nowrap}tbody tr:last-child>td{border-bottom:none}td.num{font-variant-numeric:tabular-nums;color:var(--ink-secondary)}.stock-link{color:var(--accent);font-weight:600;text-decoration:none}.stock-link:hover{text-decoration:underline}.badges{display:inline-flex;gap:4px;margin-left:8px}.badge{font-size:10.5px;font-weight:600;letter-spacing:.03em;color:var(--ink-secondary);border:1px solid var(--hairline);border-radius:4px;padding:1px 5px}.confidence{display:flex;align-items:center;gap:8px;min-width:130px}.confidence .meter{flex:1;height:6px;min-width:60px;border-radius:4px;background:var(--meter-track);overflow:hidden}.confidence .meter>span{display:block;height:100%;border-radius:4px;background:var(--meter-fill)}.confidence .pct{font-variant-numeric:tabular-nums;color:var(--ink-primary);font-weight:600;min-width:52px;text-align:right}.change-cell.up{color:var(--bullish-text)}.change-cell.down{color:var(--bearish-text)}.result-badge{display:inline-block;font-size:12px;font-weight:650;white-space:nowrap;padding:2px 9px;border-radius:999px}.result-badge.success{color:var(--bullish-text);background:color-mix(in srgb,var(--bullish) 15%,transparent)}.result-badge.missed{color:var(--bearish-text);background:color-mix(in srgb,var(--bearish) 15%,transparent)}.chart-toggle{font:inherit;font-size:13px;color:var(--accent);background:none;border:1px solid var(--hairline);border-radius:8px;padding:4px 12px;cursor:pointer}.chart-toggle:hover{border-color:var(--accent)}.chart-row td{background:var(--page);padding:14px;white-space:normal}.chart-row img{display:block;max-width:100%;border:1px solid var(--hairline);border-radius:8px;margin:0 auto}.ema-legend{display:flex;justify-content:center;gap:18px;margin-top:8px;font-size:12.5px;color:var(--ink-secondary)}.ema-item{display:inline-flex;align-items:center;gap:6px}.ema-swatch{width:18px;height:3px;border-radius:2px}.state{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:40px 24px;text-align:center;color:var(--ink-secondary)}.state code{background:var(--page);border:1px solid var(--hairline);border-radius:6px;padding:2px 6px;font-size:13px}.footer{margin-top:28px;font-size:12.5px;color:var(--ink-muted);text-align:center}.view-nav{align-self:center}.feedback-board{display:flex;flex-direction:column;gap:16px}.board-toolbar{display:flex;justify-content:flex-end;margin-bottom:-8px}.admin-toggle{font:inherit;font-size:12.5px;color:var(--ink-muted);background:none;border:none;cursor:pointer;padding:2px 0;text-decoration:underline}.admin-toggle:hover{color:var(--ink-secondary)}.admin-login{display:inline-flex;gap:6px}.admin-login input{font:inherit;font-size:13px;padding:4px 8px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);color:var(--ink-primary)}.admin-login button{font:inherit;font-size:13px;padding:4px 10px;border:1px solid var(--hairline);border-radius:6px;background:var(--surface);color:var(--ink-primary);cursor:pointer}.feedback-form{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:18px 20px}.feedback-form h2{font-size:16px;font-weight:650;margin:0 0 4px}.feedback-form .subtitle{color:var(--ink-secondary);font-size:13.5px;margin:0 0 14px}.feedback-form input[type=text],.feedback-form textarea{width:100%;font:inherit;color:var(--ink-primary);background:var(--page);border:1px solid var(--hairline);border-radius:8px;padding:10px 12px;margin-bottom:10px;resize:vertical}.feedback-form input[type=text]:focus,.feedback-form textarea:focus{outline:none;border-color:var(--accent)}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.feedback-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.char-count{font-size:12.5px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.feedback-form-footer button{font:inherit;font-weight:600;font-size:14px;color:var(--chip-selected-ink);background:var(--chip-selected-bg);border:none;border-radius:8px;padding:8px 18px;cursor:pointer}.feedback-form-footer button:disabled{opacity:.6;cursor:default}.form-error{color:var(--bearish-text);font-size:13px;margin:10px 0 0}.comment-list{display:flex;flex-direction:column;gap:10px}.comment-row{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:14px 18px}.comment-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.comment-author{font-weight:650;font-size:14px}.comment-time{font-size:12.5px;color:var(--ink-muted)}.comment-text{margin:0 0 10px;font-size:14.5px;white-space:pre-wrap;overflow-wrap:break-word}.comment-votes{display:flex;gap:8px}.vote-btn{font:inherit;font-size:13px;color:var(--ink-secondary);background:var(--page);border:1px solid var(--hairline);border-radius:999px;padding:4px 12px;cursor:pointer}.vote-btn:hover{border-color:var(--accent)}.vote-btn.active{color:var(--chip-selected-ink);background:var(--chip-selected-bg);border-color:var(--chip-selected-bg)}.delete-btn{font:inherit;font-size:13px;color:var(--bearish-text);background:var(--page);border:1px solid var(--hairline);border-radius:999px;padding:4px 12px;cursor:pointer;margin-left:auto}.delete-btn:hover{border-color:var(--bearish)}@media (max-width: 640px){.tile .value{font-size:22px}}
