*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#f4f4fb;--card:#fff;--accent:#5b4bff;--accent-dim:#ecebff;--text:#14123a;--mut:rgba(20,18,58,.55);--up:#16a34a;--down:#e11d48;--warn:#f59e0b}
html,body{height:100%;background:var(--bg);color:var(--text);font-family:Inter,Roboto,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
body{max-width:480px;margin:0 auto;min-height:100dvh;position:relative;overflow:hidden}
.app{display:flex;flex-direction:column;height:100dvh;padding-bottom:74px}
.header{padding:14px 18px 10px}
.header h1{font-size:26px;font-weight:800;letter-spacing:-.5px}
.header p{font-size:13px;opacity:.6;margin-top:3px}
.row{display:flex;align-items:center;gap:12px}.sp{flex:1}.b{font-weight:700}.mut{opacity:.55;font-size:12px}
.card{background:var(--card);border-radius:20px;padding:16px;margin:0 18px 12px;box-shadow:0 6px 24px rgba(0,0,0,.08)}
.btn{background:var(--accent);color:#fff;border:0;border-radius:16px;padding:15px;text-align:center;font-weight:700;margin:6px 18px;width:calc(100% - 36px);cursor:pointer;font-size:15px}
.chip{display:inline-block;padding:6px 12px;border-radius:99px;font-size:12px;font-weight:600;background:var(--accent-dim);color:var(--accent);margin-right:6px;border:0;cursor:pointer}
.chip.on{background:var(--accent);color:#fff}
.tag{font-size:10px;font-weight:700;background:var(--warn);color:#000;padding:2px 6px;border-radius:6px;margin-left:6px}
.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;height:74px;background:#fff;display:flex;justify-content:space-around;align-items:center;font-size:11px;border-top:1px solid rgba(128,128,128,.15);z-index:40}
.nav button{background:0;border:0;color:var(--text);opacity:.5;text-align:center;cursor:pointer;font:inherit;padding:8px}
.nav button.on{opacity:1;color:var(--accent);font-weight:700}
.nav .ico{font-size:20px;display:block;line-height:1.2}
.view{display:none;flex:1;overflow:auto;padding-bottom:12px;-webkit-overflow-scrolling:touch}
.view.on{display:flex;flex-direction:column}
.ic{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;flex-shrink:0;color:#fff}
.hero{background:linear-gradient(135deg,#5b4bff,#8b5cf6);color:#fff;border-radius:20px;padding:16px;margin:0 18px 12px}
.watch-row{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:0 18px 8px;background:#fff;border-radius:20px;box-shadow:0 6px 24px rgba(0,0,0,.06);cursor:pointer}
.price{text-align:right;min-width:86px}
.price .b{font-size:14px}
.chg.up{color:var(--up);font-size:12px;font-weight:700}
.chg.down{color:var(--down);font-size:12px;font-weight:700}
.seg{display:flex;gap:8px;margin-top:10px}
.seg button{flex:1;text-align:center;padding:11px;border-radius:12px;font-weight:700;font-size:13px;border:0;cursor:pointer;background:var(--accent-dim);color:var(--accent)}
.seg button.on{background:var(--accent);color:#fff}
input,select{width:100%;background:#f4f4fb;border:1px solid #ddd;border-radius:12px;padding:12px 14px;color:var(--text);font:inherit;margin-top:6px}
label{font-size:12px;opacity:.55;display:block;margin-top:12px}
.back{background:0;border:0;color:var(--mut);font:inherit;cursor:pointer;padding:0}
.toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#1e1b4b;color:#e0e7ff;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:600;z-index:99;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%}
.toast.show{opacity:1}
.empty{text-align:center;opacity:.55;padding:40px 20px;font-size:14px}
.event-date{width:48px;text-align:center;background:var(--accent-dim);border-radius:12px;padding:6px 0;color:var(--accent);flex-shrink:0}
.event-date .m{font-size:10px;font-weight:700}.event-date .d{font-size:20px;font-weight:800}
.impact-h{color:var(--down);font-weight:700}.impact-m{color:var(--warn);font-weight:700}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50;display:flex;align-items:flex-end;justify-content:center}
.modal{background:#fff;border-radius:24px 24px 0 0;padding:20px 18px 28px;width:100%;max-width:480px;max-height:85vh;overflow:auto}
.hidden{display:none!important}
.search-hit{padding:12px;border-bottom:1px solid #eee;cursor:pointer;display:flex;gap:10px;align-items:center}
.toggle{width:44px;height:26px;border-radius:99px;background:#ccc;position:relative;cursor:pointer;border:0;padding:0}
.toggle.on{background:var(--accent)}
.toggle i{position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:left .15s;display:block}
.toggle.on i{left:21px}
.spark{width:70px;height:28px}
