:root{--bg:#0b0e13;--panel:#141821;--panel2:#1b2030;--border:#262c3a;--text:#e6e8ec;--muted:#8a8f98;--accent:#3d7bfd}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,select,input{font:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100vh}header{display:flex;align-items:center;gap:18px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.brand{font-size:19px;display:flex;align-items:center;gap:8px;letter-spacing:.3px}.brand b{color:#16c784}.logo{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#7bf5c3,#16c784 60%,#0a6b47);box-shadow:0 0 12px #16c78488}.tabs{display:flex;gap:4px}.tabs button{background:transparent;border:0;padding:8px 14px;border-radius:8px;cursor:pointer;color:var(--muted);font-weight:600}.tabs button.on{background:var(--panel2);color:#fff}.tabs button:hover{color:#fff}.count{font-size:11px;margin-left:6px;opacity:.6}.bench{display:flex;gap:16px;margin-left:auto;flex-wrap:wrap}.bench-item{display:flex;gap:6px;align-items:baseline;font-size:13px;text-decoration:none;color:inherit}.toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.seg{display:flex;background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:2px;overflow-x:auto;max-width:100%}.seg button{background:transparent;border:0;padding:6px 11px;border-radius:7px;cursor:pointer;color:var(--muted);font-weight:600;font-size:13px;white-space:nowrap}.seg button.on{background:var(--accent);color:#fff}.search,select{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:7px 10px;outline:none}.search{width:170px}.search:focus{border-color:var(--accent)}.status{margin-left:auto;font-size:13px;display:flex;gap:6px;align-items:center}.updated{margin-left:10px}.icon{background:var(--panel);border:1px solid var(--border);border-radius:8px;cursor:pointer;padding:3px 9px}.muted{color:var(--muted)}.small{font-size:11px}main{flex:1;min-height:0;position:relative}.bubble-area{position:absolute;top:0;right:0;bottom:0;left:0}.bubbles{display:block;touch-action:none}.error,.warn{padding:6px 16px;font-size:13px}.error{background:#3a1418;color:#ff8a92}.warn{background:#2c2512;color:#e3c46b}.loading{display:flex;gap:12px;align-items:center;justify-content:center;height:100%;color:var(--muted)}.spinner{width:22px;height:22px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:s 1s linear infinite}@keyframes s{to{transform:rotate(360deg)}}.table-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}th{position:sticky;top:0;background:var(--panel);text-align:right;padding:9px 10px;cursor:pointer;white-space:nowrap;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border)}th.sorted{color:#fff}td{padding:7px 10px;text-align:right;border-bottom:1px solid #1a1f2a;white-space:nowrap}th:nth-child(2),td:nth-child(2){text-align:left}td.cur{background:#ffffff08;font-weight:700}tbody tr{cursor:pointer}tbody tr:hover{background:var(--panel)}.detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0008;display:flex;justify-content:flex-end;z-index:10}.detail{width:380px;max-width:100%;height:100%;background:var(--panel);border-left:1px solid var(--border);padding:20px;overflow:auto;position:relative;animation:sl .18s ease-out}@keyframes sl{0%{transform:translate(30px);opacity:0}}.close{position:absolute;right:12px;top:10px;background:none;border:0;font-size:26px;cursor:pointer;color:var(--muted)}.d-head{display:flex;gap:10px;align-items:baseline}.d-head h2{margin:0}.d-price{font-size:26px;font-weight:700;margin:12px 0}.d-price span{font-size:17px}.small-seg{display:inline-flex;margin-bottom:8px}.spark{display:block;height:90px;margin-bottom:12px}.spark-empty{height:90px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;border:1px dashed var(--border);border-radius:8px;margin-bottom:12px}.grid-tf{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tf-cell{background:var(--panel2);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:2px;font-size:13px}.tf-cell.cur{outline:1px solid var(--accent)}dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;margin:16px 0}dt{color:var(--muted)}dd{margin:0;text-align:right}.tv-btn{display:block;text-align:center;background:var(--accent);color:#fff;text-decoration:none;padding:10px;border-radius:9px;font-weight:600}@media (max-width:760px){header{gap:8px;padding:8px}.bench{margin-left:0;gap:10px;font-size:12px;width:100%}.status{margin-left:0;width:100%}.search{flex:1}.detail{width:100%}.updated{margin-left:auto}}.tabs button{display:flex;align-items:center;gap:2px}.mood-badge{margin-left:6px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;white-space:nowrap}.mood-badge.bull,.mood-chip.bull{background:#16c78426;color:#16c784;border:1px solid #16c78466}.mood-badge.bear,.mood-chip.bear{background:#ea394326;color:#ff6b74;border:1px solid #ea394366}.mood-badge.side,.mood-chip.side{background:#e3c46b1f;color:#e3c46b;border:1px solid #e3c46b55}.mood-badge.closed{opacity:.55}.mood-chip{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;margin:0 3px;letter-spacing:.3px}.bell{background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:5px 9px;cursor:pointer;font-size:16px}.bell:hover{border-color:var(--accent)}.notify h2{margin:0 0 6px}.notify h3{margin:18px 0 4px;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer}.btn{background:var(--accent);border:0;border-radius:9px;padding:8px 14px;font-weight:600;cursor:pointer;color:#fff}.btn.ghost{background:transparent;border:1px solid var(--border)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.wide{width:100%;margin-top:16px;padding:10px}.toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:22px;border-radius:999px;background:#333a4a;position:relative;cursor:pointer;flex:none;transition:.15s}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}.toggle:checked{background:#16c784}.toggle:checked:after{left:21px}.note{margin-top:12px;padding:10px;border-radius:9px;background:var(--panel2);font-size:13px}.note.ios{background:#2c2512;color:#e3c46b}.ios-hint{margin-top:12px}.rules{margin:14px 0 8px;line-height:1.5}@media (max-width:760px){.mood-badge{font-size:10px;padding:1px 5px}.tabs button{padding:7px 9px}.bell{position:absolute;right:8px;top:8px}header{position:relative}}html,body{overflow-x:hidden}.tabs button{white-space:nowrap}.lbl-short{display:none}@media (max-width:760px){.lbl-long{display:none}.lbl-short{display:inline}.count{display:none}.tabs{width:calc(100% - 48px);overflow-x:auto;scrollbar-width:none}.detail{padding:16px 16px 24px}.detail .close{right:8px;top:6px}.notify h2{padding-right:32px}}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);background:#2a3142;color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;box-shadow:0 6px 24px #0008;z-index:50;animation:ti .15s ease-out;white-space:nowrap}@keyframes ti{0%{opacity:0;transform:translate(-50%,8px)}}.note.android{background:#14261d;color:#9be8c4}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}.chip{background:var(--panel2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:6px 14px;font-weight:700;font-size:13px;cursor:pointer}.chip.on{background:#3d7bfd22;border-color:var(--accent);color:#fff}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tf-rule{display:inline-block;margin-right:10px}.mood-tf{font-weight:600;opacity:.75;margin-right:4px;font-size:10px}
