:root{--ink:#101e29;--muted:#55636f;--bg:#f3f5f7;--surface:#fff;--line:#d9dfe5;--brand:#0f3a47;--brand-ink:#fff;--accent:#0a6b4d;--accent-ink:#fff;--buy:#0a6b4d;--buy-bg:#e3f4ec;--sell:#1a4b9c;--sell-bg:#e4ecfa;--danger:#b3261e;--danger-bg:#fdecea;--warn-ink:#6b4300;--warn-bg:#fff3d1;--ok-ink:#0a5a41;--ok-bg:#e3f4ec;--info-ink:#173f73;--info-bg:#e4ecfa;--focus:#1a4b9c;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--radius:12px;--tap:48px;--tabs-h:60px;--t-small:.8125rem;--t-body:1rem;--t-h2:1.0625rem;--t-h1:1.375rem;--t-figure:2rem;--ease:.12s ease-out}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:var(--t-body)/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;margin:0}h1,h2,h3,p,dl,dd,ul,fieldset{margin:0;padding:0}fieldset{border:0;min-width:0}h1{font-size:var(--t-h1);margin-bottom:var(--s4);line-height:1.2}h2{font-size:var(--t-h2);line-height:1.25}h3{font-size:var(--t-body);margin-top:var(--s4);margin-bottom:var(--s2)}legend{margin-bottom:var(--s2);padding:0;font-weight:600}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.neg{color:var(--danger)}.pos{color:var(--ok-ink)}.shell{flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;display:flex}main{padding:var(--s4) var(--s4) calc(var(--tabs-h) + var(--s6) + env(safe-area-inset-bottom));gap:var(--s4);flex-direction:column;flex:1;display:flex}main>h1{margin-bottom:0}main.center{justify-content:center;align-items:center}main.auth{padding-top:var(--s6);padding-bottom:var(--s6)}main.auth form,.card form,form.card{gap:var(--s4);flex-direction:column;display:flex}.brand{color:var(--brand);letter-spacing:-.02em;margin-bottom:0;font-size:2rem}.lead{color:var(--muted)}.top{z-index:2;justify-content:space-between;align-items:center;gap:var(--s3);background:var(--brand);color:var(--brand-ink);padding:calc(var(--s2) + env(safe-area-inset-top)) var(--s4) var(--s2);display:flex;position:sticky;top:0}.top-name{font-weight:700;font-size:var(--t-h2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.top-btn{min-height:44px;padding:0 var(--s3);color:var(--brand-ink);font-size:var(--t-small);background:0 0;border:1px solid #ffffff73;border-radius:999px;font-weight:600}.top-btn-on{background:var(--brand-ink);color:var(--brand)}.banner{background:var(--warn-bg);color:var(--warn-ink);padding:var(--s2) var(--s4);font-size:var(--t-small);font-weight:600}.banner-info{background:var(--info-bg);color:var(--info-ink)}.tabs{z-index:2;background:var(--surface);border-top:1px solid var(--line);max-width:520px;padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tab{min-height:var(--tabs-h);color:var(--muted);background:0 0;border:0;border-top:3px solid #0000;font-size:.875rem;font-weight:600}.tab-on{color:var(--brand);border-top-color:var(--brand)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);gap:var(--s3);flex-direction:column;display:flex}.card-head{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.btn{min-height:var(--tap);padding:0 var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-align:center;cursor:pointer;transition:background var(--ease), opacity var(--ease);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{opacity:.8}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-sell{background:var(--sell);border-color:var(--sell)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-block{width:100%;min-height:54px;font-size:1.0625rem}.btn-small{min-height:44px;padding:0 var(--s3);font-size:var(--t-small);flex:none}.link{color:var(--focus);cursor:pointer;background:0 0;border:0;min-height:0;padding:0;font-weight:600;text-decoration:underline}.actions{gap:var(--s2);justify-content:flex-end;display:flex}.actions .btn{flex:1}.field{gap:var(--s1);flex-direction:column;display:flex}.field label{font-size:var(--t-small);color:var(--muted);font-weight:600}.input{min-height:var(--tap);border-radius:var(--radius);background:var(--surface);padding:0 var(--s3);align-items:center;gap:var(--s2);border:1px solid #8a97a3;display:flex}.input:focus-within{outline:3px solid var(--focus);outline-offset:1px}.input input{min-width:0;padding:var(--s2) 0;background:0 0;border:0;outline:0;flex:1;font-size:1.0625rem}.input-big input{font-size:1.75rem;font-weight:700}.input-big{min-height:64px}.input-prefix{color:var(--muted);font-weight:600;font-size:var(--t-small)}.input-error{border-color:var(--danger)}.hint,.source{font-size:var(--t-small);color:var(--muted)}.field-error{font-size:var(--t-small);color:var(--danger);font-weight:600}.grid2{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.segmented{gap:var(--s1);padding:var(--s1);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.seg{min-height:var(--tap);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:700}.seg-on{background:var(--brand);color:var(--brand-ink)}.seg-on.seg-buy{background:var(--buy)}.seg-on.seg-sell{background:var(--sell)}.notice{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3);border-radius:var(--radius);font-size:.9375rem;display:flex}.notice-warn{background:var(--warn-bg);color:var(--warn-ink)}.notice-error{background:var(--danger-bg);color:var(--danger)}.notice-ok{background:var(--ok-bg);color:var(--ok-ink)}.notice-info{background:var(--info-bg);color:var(--info-ink)}.rate+.rate{border-top:1px solid var(--line);padding-top:var(--s3)}.rate h3{font-size:var(--t-small);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:0}.rate{gap:var(--s2);flex-direction:column;display:flex}.pair{gap:var(--s3);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.pair>div{flex-direction:column;display:flex}.pair-label{font-size:var(--t-small);color:var(--muted);font-weight:600}.figure{font-size:var(--t-figure);letter-spacing:-.01em;font-weight:700;line-height:1.1}.cmp-wrap{overflow-x:auto}.cmp{border-collapse:collapse;width:100%;font-size:.9375rem}.cmp caption{text-align:left;padding-bottom:var(--s1);font-weight:700}.cmp th,.cmp td{padding:var(--s2) var(--s1);border-bottom:1px solid var(--line);text-align:right;vertical-align:top}.cmp thead th{font-size:var(--t-small);color:var(--muted)}.cmp tbody th{text-align:left;color:var(--muted);font-weight:500}.cmp .mine th,.cmp .mine td{color:var(--ink);font-size:1.125rem;font-weight:700}.cmp .num small{font-size:.75rem;font-weight:500;display:block}.cmp td.pos,.cmp td.neg{font-weight:600}.spread{margin-top:var(--s2);font-size:.9375rem}.total{justify-content:space-between;align-items:baseline;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--bg);border-radius:var(--radius);display:flex}.total span{color:var(--muted);font-weight:600}.total strong{font-size:1.625rem}.bals{flex-direction:column;display:flex}.bal{justify-content:space-between;align-items:baseline;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line);display:flex}.bal:last-child{border-bottom:0}.bal dt{color:var(--muted);font-weight:600}.bal dd{text-align:right;font-size:1.375rem;font-weight:700}.bal dd small{color:var(--muted);font-size:.75rem;font-weight:500;display:block}.bal-code{font-size:var(--t-small);color:var(--muted);font-weight:600}.stats{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.stats dt{font-size:var(--t-small);color:var(--muted);font-weight:600}.stats dd{font-size:1.25rem;font-weight:700}.stat-wide{grid-column:1/-1}.stat-wide dd{font-size:1.625rem}.rows>div{justify-content:space-between;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line);display:flex}.rows dt{color:var(--muted)}.rows dd{font-weight:600}.trades{flex-direction:column;list-style:none;display:flex}.trade{padding:var(--s3) 0;border-bottom:1px solid var(--line);gap:var(--s1);flex-direction:column;display:flex}.trade:last-child{border-bottom:0;padding-bottom:0}.trade-main{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.trade-amount{margin-left:var(--s2)}.trade-bob{white-space:nowrap;font-weight:700}.trade-meta{justify-content:space-between;gap:var(--s3);font-size:var(--t-small);color:var(--muted);overflow-wrap:anywhere;display:flex}.trade-void .trade-amount,.trade-void .trade-bob{color:var(--muted);text-decoration:line-through}.trade-void-btn{min-height:44px;color:var(--danger);align-self:flex-start}.tag{padding:2px var(--s2);border-radius:6px;font-size:.75rem;font-weight:700;display:inline-block}.tag-buy{background:var(--buy-bg);color:var(--buy)}.tag-sell{background:var(--sell-bg);color:var(--sell)}.tag-void{background:var(--danger-bg);color:var(--danger);margin-left:var(--s2)}.confirm{background:var(--bg);border-radius:var(--radius);padding:var(--s3);gap:var(--s3);flex-direction:column;font-size:.9375rem;display:flex}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
