:root{
  --bg:#0A1020; --bg2:#070B16; --panel:#111A30; --panel2:#0F1729; --well:#0B1224;
  --ink:#E8E4D8; --soft:#C9CEDB; --mut:#9AA3B8; --dim:#5B6A8C;
  --gold:#D9B866; --gold2:#C49A3E; --line:rgba(217,184,102,.22); --line2:rgba(217,184,102,.12);
  --green:#3FC98B; --red:#EF6B6B; --amber:#F2A93B; --blue:#6FA3E8; --crimson:#B3262D;
  --mono:'IBM Plex Mono',ui-monospace,monospace; --serif:'Cinzel',Georgia,serif; --sans:'Manrope',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg2);color:var(--ink);font-family:var(--sans);-webkit-tap-highlight-color:transparent}
body{min-height:100dvh}
a{color:var(--gold)}
button{font-family:var(--sans)}
[hidden]{display:none!important}
.shell{max-width:520px;margin:0 auto;min-height:100dvh;background:var(--bg);display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:rgba(10,16,32,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.brandwrap{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand{display:block;font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:.22em;color:var(--gold)}
.brand.big{font-size:40px;margin:12px 0 4px}
.sub{display:block;font-size:10.5px;letter-spacing:.12em;color:var(--mut);font-weight:700;margin-top:2px;text-transform:uppercase}
.sub .live{color:#fff;background:var(--crimson);padding:1px 6px;border-radius:4px}
.iconbtn{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--ink);border:1px solid var(--line);position:relative;text-decoration:none;background:transparent;cursor:pointer}
.badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font:800 11px var(--sans);display:flex;align-items:center;justify-content:center;padding:0 4px}
.banner{margin:10px 16px 0;padding:10px 12px;border-radius:12px;font-size:12.5px;line-height:1.45;border:1px solid rgba(239,107,107,.4);background:rgba(239,107,107,.08)}
.banner.info{border-color:rgba(111,163,232,.4);background:rgba(111,163,232,.08)}
.view{flex:1;padding:16px 16px 170px;display:flex;flex-direction:column;gap:12px;outline:none}
.safety{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(66px + env(safe-area-inset-bottom));width:100%;max-width:520px;display:flex;gap:10px;padding:10px 16px;background:var(--bg);border-top:1px solid rgba(217,184,102,.18);z-index:6}
.bp,.bx{position:relative;overflow:hidden;flex:1;height:48px;border-radius:12px;font:800 13px var(--sans);letter-spacing:.06em;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.bp{border:1px solid var(--gold);background:transparent;color:var(--gold)}
.bp.on{background:var(--gold);color:#151004}
.bx{border:none;background:var(--crimson);color:#fff}
.hold .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:rgba(255,255,255,.28);pointer-events:none}
.hold.holding .fill{transition:width var(--hold,1s) linear;width:100%}
.bp>*,.bx>*{position:relative}
.nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:520px;display:flex;padding:6px 4px calc(8px + env(safe-area-inset-bottom));background:var(--bg2);border-top:1px solid var(--line2);z-index:6}
.nav a{flex:1;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#8B94AA;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.04em}
.nav a.on{color:var(--gold)}
.mono{font-family:var(--mono)}
.g{color:var(--green)}.r{color:var(--red)}.a{color:var(--amber)}.gold{color:var(--gold)}.mut{color:var(--mut)}.soft{color:var(--soft)}
.panel{background:linear-gradient(180deg,#131D36,var(--panel2));border:1px solid var(--line);border-radius:16px;padding:14px}
.panel.hero{border-color:rgba(217,184,102,.55);background:linear-gradient(160deg,#1A2546 0%,var(--panel2) 70%);padding:18px}
.panel.ok{border-color:rgba(63,201,139,.45);background:linear-gradient(160deg,#122A2A,var(--panel2) 70%)}
.lbl{font-size:11px;letter-spacing:.12em;font-weight:700;color:var(--mut);text-transform:uppercase}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tile .v{font-size:17px;font-weight:800;margin-top:6px}
.tile .m{font-family:var(--mono);font-size:20px;font-weight:600;margin-top:6px}
.tile .s{font-size:12px;margin-top:2px;color:var(--mut)}
.h1{font-family:var(--serif);font-size:28px;font-weight:700;letter-spacing:.04em;margin:0}
.h2{font-family:var(--serif);font-size:20px;font-weight:600;margin:0}
.dir{border-radius:999px;padding:4px 11px;font-size:11.5px;font-weight:800;letter-spacing:.08em;white-space:nowrap;display:inline-block}
.dl{background:rgba(63,201,139,.14);color:var(--green);border:1px solid rgba(63,201,139,.4)}
.ds{background:rgba(239,107,107,.12);color:var(--red);border:1px solid rgba(239,107,107,.4)}
.dn{background:rgba(154,163,184,.12);color:var(--mut);border:1px solid rgba(154,163,184,.3)}
.ring{position:relative;width:88px;height:88px;flex-shrink:0}
.ring .n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .n b{font-family:var(--mono);font-size:26px;font-weight:600;line-height:1;color:var(--gold)}
.ring .n small{font-size:10px;font-weight:700;color:var(--mut)}
.bar{height:6px;border-radius:3px;background:#1E2A45;overflow:hidden;position:relative;margin-top:5px}
.bar i{display:block;height:100%;border-radius:3px;background:var(--gold)}
.bar .th{position:absolute;top:0;width:2px;height:100%;background:var(--ink)}
.fbar{display:flex;flex-direction:column;gap:9px}
.fbar .row{font-size:13px}
.cta{height:52px;border-radius:14px;border:none;background:linear-gradient(180deg,#E3C574,var(--gold2));color:#151004;font:800 14px var(--sans);letter-spacing:.1em;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;width:100%;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none}
.cta[disabled]{opacity:.45;cursor:not-allowed}
.ghost{height:48px;border-radius:12px;border:1px solid rgba(217,184,102,.45);background:transparent;color:var(--gold);font:800 12.5px var(--sans);letter-spacing:.08em;cursor:pointer;padding:0 12px;display:flex;align-items:center;justify-content:center;text-decoration:none}
.ghost.red{border-color:rgba(239,107,107,.6);color:var(--red);background:rgba(239,107,107,.08)}
.ghost[disabled]{opacity:.4;cursor:not-allowed}
.btnrow{display:flex;gap:8px}.btnrow>*{flex:1}
.note{font-size:11.5px;line-height:1.5;color:var(--mut);text-align:center;padding:0 6px}
.radarrow{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;background:var(--panel2);border:1px solid rgba(217,184,102,.14);color:var(--ink);text-decoration:none;width:100%;text-align:left;cursor:pointer;font:inherit}
.radarrow.top{border-color:rgba(217,184,102,.6);background:#141E38}
.radarrow.fade{opacity:.72}
.rank{font-family:var(--serif);font-weight:700;font-size:18px;width:22px;text-align:center;color:var(--mut)}
.seg{display:flex;gap:3px;margin-top:7px}.seg i{flex:1;height:5px;border-radius:2px;background:#3A4560}
.sc{font-family:var(--mono);font-size:24px;font-weight:600;width:44px;text-align:right}
.why{margin:6px 0 0;padding:0 0 0 18px;font-size:12.5px;line-height:1.55;color:var(--soft)}
.divider{display:flex;align-items:center;gap:10px;padding:2px}
.divider i{flex:1;height:1px;background:var(--gold);opacity:.6}
.divider span{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.chip{flex-shrink:0;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--soft);font:700 12px var(--sans);letter-spacing:.06em;cursor:pointer}
.chip.on{background:var(--gold);color:#151004;border-color:var(--gold)}
.item{padding:14px;border-radius:14px;background:var(--panel2);border:1px solid rgba(217,184,102,.14)}
.item h3{margin:8px 0 0;font-size:15px;line-height:1.4;font-weight:700}
.item h3 a{color:var(--ink);text-decoration:none}
.tag{font-size:10.5px;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:6px}
.tp{background:rgba(63,201,139,.14);color:var(--green)}.tn{background:rgba(239,107,107,.14);color:var(--red)}.tz{background:rgba(242,169,59,.14);color:var(--amber)}
.mk{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;border:1px solid rgba(111,163,232,.4);color:#8DB6EE}
.ai{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(217,184,102,.07);font-size:12.5px;line-height:1.5;color:#D7D2C3}
.kv{padding:10px;border-radius:10px;background:var(--well);border:1px solid var(--line2)}
.kv .k{font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--mut)}
.kv .v{font-family:var(--mono);font-size:15px;font-weight:600;margin-top:3px}
.ln{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid rgba(217,184,102,.1);font-size:13.5px}
.ln:last-child{border-bottom:none}
.ln>span:last-child{text-align:right}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4}
.ck svg{flex-shrink:0;margin-top:1px}
.st{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.4}
.st .n{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font:700 12px var(--mono)}
.st .done{background:var(--green);color:#06140D}.st .now{background:var(--gold);color:#151004}.st .todo{border:1.5px solid var(--dim);color:var(--mut)}
.q{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid rgba(217,184,102,.08);font-size:13px;line-height:1.4}
.q:last-child{border-bottom:none}
.ic{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font:800 12px var(--sans)}
.ic.good{background:rgba(63,201,139,.16);color:var(--green)}.ic.bad{background:rgba(239,107,107,.16);color:var(--red)}.ic.warn{background:rgba(242,169,59,.16);color:var(--amber)}
.alloc{display:flex;height:22px;border-radius:8px;overflow:hidden;gap:2px;margin-top:16px}
.leg{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(217,184,102,.1)}
.leg:last-child{border-bottom:none}
.sw{width:12px;height:12px;border-radius:3px;flex-shrink:0}
.seg3{display:flex;gap:6px;padding:4px;border-radius:12px;background:var(--well)}
.seg3 button{flex:1;min-height:56px;border-radius:10px;border:none;background:transparent;color:var(--mut);font:800 12px var(--sans);letter-spacing:.05em;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.seg3 button small{font-weight:600;font-size:10.5px;letter-spacing:0;opacity:.85}
.seg3 button.on{background:var(--gold);color:#151004}
.mkts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mkts label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 12px;border-radius:10px;background:var(--well);border:1px solid rgba(217,184,102,.14);font-size:12.5px;font-weight:700}
.mkts input{width:20px;height:20px;accent-color:var(--gold)}
.rl{padding:12px 0;border-bottom:1px solid rgba(217,184,102,.1)}
.rl:last-child{border-bottom:none}
.rl label{display:flex;justify-content:space-between;font-size:13.5px}
.rl input[type=range]{width:100%;margin-top:10px;accent-color:var(--gold);height:24px}
select,.inp{width:100%;height:44px;margin-top:8px;border-radius:10px;background:var(--well);color:var(--ink);border:1px solid rgba(217,184,102,.3);font:600 14px var(--sans);padding:0 10px}
.ev{display:flex;gap:10px;font-size:12.5px;line-height:1.45;padding:7px 0;border-bottom:1px solid rgba(217,184,102,.08)}
.ev .t{font-family:var(--mono);color:var(--mut);flex-shrink:0}
.ev.trade .x{color:var(--ink)}.ev.error .x{color:var(--red)}.ev.guard .x{color:var(--green)}.ev.alert .x{color:var(--amber)}.ev.info .x,.ev.setup .x,.ev.warn .x{color:var(--soft)}
.empty{text-align:center;padding:28px 18px}
.empty .h2{margin:14px 0 8px}
.login{max-width:420px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}
.login form{width:100%;margin-top:28px;display:flex;flex-direction:column;gap:10px;text-align:left}
.login input{height:52px;border-radius:12px;background:var(--well);color:var(--ink);border:1px solid rgba(217,184,102,.35);font:600 16px var(--sans);padding:0 14px}
.err{color:var(--red);font-size:13px;min-height:18px;margin:0}
.sheet{position:fixed;inset:0;background:rgba(3,6,14,.72);z-index:20;display:flex;align-items:flex-end;justify-content:center}
.sheetbox{width:100%;max-width:520px;background:#111A30;border-top:1px solid var(--line);border-radius:20px 20px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom))}
.sheetbox h2{font-family:var(--serif);font-size:20px;margin:0 0 10px;color:var(--gold)}
.sheetbox p{font-size:14px;line-height:1.5;color:var(--soft)}
.sheetbtns{display:flex;gap:10px;margin-top:16px}.sheetbtns>*{flex:1}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:150px;z-index:30;max-width:92%;padding:12px 16px;border-radius:12px;background:#1A2546;border:1px solid var(--line);font-size:13.5px;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.toast.bad{border-color:rgba(239,107,107,.6)}
.pulse{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}.hold.holding .fill{transition:none}}
.ipbox{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--well);border:1px dashed rgba(217,184,102,.5)}
.ipbox .mono{font-size:20px;font-weight:600;color:var(--gold);word-break:break-all}
.coin{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:.04em}
.tag.dlt{background:rgba(111,163,232,.16);color:#8DB6EE}
