:root{--bg: #0b1220;--surface: #131c2e;--surface-2: #1b2740;--border: #26314c;--text: #e5edff;--muted: #94a3c4;--accent: #4ade80;--accent-2: #38bdf8;--danger: #f87171;--warn: #fbbf24;--radius: 14px;--maxw: 640px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:var(--maxw);margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:max(16px,env(safe-area-inset-top)) 16px calc(76px + env(safe-area-inset-bottom))}.center-screen{max-width:var(--maxw);margin:0 auto;min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:24px 16px}h1{font-size:1.5rem;margin:0 0 4px}h2{font-size:1.1rem;margin:0 0 12px}p.muted,.muted,small{color:var(--muted)}a{color:var(--accent-2)}.brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.brand img{width:40px;height:40px}.brand b{font-size:1.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px}label{display:block;font-size:.85rem;color:var(--muted);margin:12px 0 6px}input[type=text],input[type=email],input[type=password],input[type=number],select{width:100%;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:1rem}input:focus,select:focus{outline:2px solid var(--accent-2);border-color:transparent}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;padding:13px 16px;font-size:1rem;font-weight:600;cursor:pointer;width:100%;background:var(--accent);color:#052012;transition:filter .15s}button:hover{filter:brightness(1.06)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}button.danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-row{display:flex;gap:10px;margin-top:14px}.error{color:var(--danger);font-size:.9rem;margin-top:10px}.notice{background:var(--surface-2);border:1px dashed var(--border);border-radius:10px;padding:10px 12px;font-size:.85rem;color:var(--muted);margin-top:10px;word-break:break-all}.slider-row{margin:14px 0}.slider-head{display:flex;justify-content:space-between;align-items:baseline}.slider-head .val{color:var(--accent);font-weight:700}input[type=range]{width:100%;accent-color:var(--accent);height:28px}.scale{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:.9rem;cursor:pointer;width:auto}.chip.on{background:var(--accent-2);color:#04121c;border-color:transparent;font-weight:600}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:var(--surface-2);border-radius:10px;padding:12px}.stat .k{font-size:.75rem;color:var(--muted)}.stat .v{font-size:1.25rem;font-weight:700;margin-top:2px}.pos{color:var(--accent)}.neg{color:var(--danger)}.chart-wrap{width:100%;height:260px}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:.82rem}.legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}.trade{display:flex;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--border)}.trade:last-child{border-bottom:none}.trade .side{font-weight:700}.trade .side.buy{color:var(--accent)}.trade .side.sell{color:var(--danger)}.trade .meta{text-align:right;white-space:nowrap}.trade .why{font-size:.78rem;color:var(--muted);margin-top:3px}.bottomnav{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:20}.bottomnav a{flex:1;text-align:center;color:var(--muted);text-decoration:none;font-size:.72rem;display:flex;flex-direction:column;align-items:center;gap:3px}.bottomnav a.active{color:var(--accent)}.bottomnav .ic{font-size:1.25rem;line-height:1}.disclaimer{text-align:center;font-size:.72rem;color:var(--muted);line-height:1.6;margin:18px 0 4px;padding:10px;border-top:1px solid var(--border)}.disclaimer a{color:var(--muted);text-decoration:underline}.legal p{line-height:1.6;margin:0 0 12px}.legal b{color:var(--text)}.header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.spinner{text-align:center;color:var(--muted);padding:40px 0}.segmented{display:flex;gap:6px;background:var(--surface-2);padding:4px;border-radius:10px}.segmented button{background:transparent;color:var(--muted);padding:8px;font-size:.85rem}.segmented button.on{background:var(--surface);color:var(--text)}.qr-box{display:flex;justify-content:center;padding:16px;margin:12px 0;background:#fff;border-radius:12px}.qr-box svg{display:block;width:192px;height:192px}@media (min-width: 900px){.app{display:block;max-width:1120px;columns:2;column-gap:18px;padding-left:24px;padding-right:24px}.app>h1,.app>.header-row,.app>p,.app>.btn-row,.app>.error,.app>.notice,.app>.disclaimer,.app>.card.wide{column-span:all}.card{break-inside:avoid}.chart-wrap{height:320px}.center-screen{max-width:460px}}@media (min-width: 1440px){.app{max-width:1400px;columns:3}}
