/* CryptWatch · one stylesheet, system fonts, light + dark. Budget < 15 KB. */
:root{--bg:#F4F5F7;--sf:#fff;--ink:#0F172A;--mu:#5B6472;--ln:#E3E6EA;--ln2:#EEF0F3;--ctl:#D5D9DF;--ac:#0B6E6E;--ac2:#064E4E;--acb:#E0F2F1;--up:#1A7F4B;--dn:#B42318;--dnb:#FDECEA;--wb:#FDF3DC;--wi:#7A4E00;--ib:#E8EEFB;--ii:#1E3A8A;--rw:#FFFBEB;--star:#B07D00;--cb:#0F172A;--inv:#fff;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,Menlo,Consolas,monospace;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0B1220;--sf:#111A2B;--ink:#E6EDF3;--mu:#9AA4B2;--ln:#243042;--ln2:#1C2636;--ctl:#3A475B;--ac:#4FC3BC;--ac2:#8EDDD7;--acb:#0F3A3A;--up:#4CC38A;--dn:#F28B82;--dnb:#3B1A1A;--wb:#3A2E10;--wi:#F5C76B;--ib:#1A2550;--ii:#AFC2FF;--rw:#231F10;--star:#F2C14E;--cb:#060A12;--inv:#0B1220;color-scheme:dark}}
:root[data-theme=dark]{--bg:#0B1220;--sf:#111A2B;--ink:#E6EDF3;--mu:#9AA4B2;--ln:#243042;--ln2:#1C2636;--ctl:#3A475B;--ac:#4FC3BC;--ac2:#8EDDD7;--acb:#0F3A3A;--up:#4CC38A;--dn:#F28B82;--dnb:#3B1A1A;--wb:#3A2E10;--wi:#F5C76B;--ib:#1A2550;--ii:#AFC2FF;--rw:#231F10;--star:#F2C14E;--cb:#060A12;--inv:#0B1220;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--sans);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--ac)}a:hover{color:var(--ac2)}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
h1,h2,h3,p{margin:0;line-height:1.2}p{line-height:1.5}
h1{font-size:26px;letter-spacing:-.02em}
h2{font-size:15px}
code,pre,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;background:var(--sf);padding:8px 12px;z-index:9}.skip:focus{top:8px}
html:not(.js) .js,html.js .nojs{display:none!important}
.mu,.m,.stamp,.lead,.kl,.ks,.xs,.note,.tf,.ft .wrap,.crumb,.t th,.hero p,.tile span{color:var(--mu)}
.up{color:var(--up)}.dn{color:var(--dn)}
.wrap{max-width:1280px;width:100%;margin:0 auto;padding:0 32px}
/* shared shapes */
.card,.kpi,.tile{background:var(--sf);border:1px solid var(--ln);border-radius:12px}
.btn,.chip,.ib,.pg a,.pg span,.seg,input,select{border:1px solid var(--ctl);background:var(--sf);color:var(--ink)}
.btn,.chip,.ib,.pg a,.pg span,.seg a,.star{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.pad,.kpi,.tile,.hero,.ph>div,.g2>div,.tl li,.icons a,.cols>.main,.cols>aside,main>.wrap{display:flex;flex-direction:column}
.lh,.li,.tf,.ch-h,.chd,.ph,.ft .wrap,details.card>summary{display:flex;justify-content:space-between;flex-wrap:wrap}
.btn,.ib,.seg,input,select,.code{border-radius:8px}
.chip,.pg a,.pg span{border-radius:999px}
/* header */
.hd{background:var(--sf);border-bottom:1px solid var(--ln)}
.hd .wrap{min-height:64px;display:flex;align-items:center;gap:8px 24px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.wm{text-decoration:none;color:var(--ink);font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.wm:hover{color:var(--ink)}
.dt{display:inline-block;width:.13em;height:.13em;border-radius:50%;background:var(--ac);margin:0 -.045em 0 .025em;transform:translateY(-.01em)}
.nav,.chips{display:flex;gap:2px;flex-wrap:wrap}
.nav a{padding:10px 12px;border-radius:8px;color:var(--mu);text-decoration:none;font-weight:500;font-size:14px}
.nav a:hover{color:var(--ink)}
.nav a[aria-current]{background:var(--bg);color:var(--ink);font-weight:600}
.tools{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hs input{height:40px;width:220px}
.seg{display:inline-flex;overflow:hidden;font-size:12px;font-weight:600}
.seg a{padding:0 12px;min-height:38px;color:var(--mu)}
.seg a[aria-current],.chip[aria-current],.chip[aria-pressed=true],.pg [aria-current]{background:var(--ink);color:var(--inv);border-color:var(--ink)}
.ib{width:44px;height:44px;color:var(--mu);padding:0}
.ico{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* layout */
main{flex:1 0 auto;width:100%}
main>.wrap{padding-top:24px;padding-bottom:48px;gap:20px}
.home>.wrap{padding-top:48px;gap:32px}
.lead{font-size:14px;max-width:800px}
.ph{align-items:flex-end;gap:12px 24px}
.ph>div{gap:6px;max-width:800px}
.stamp,.kl,.ks,.xs,.note{font-size:12px}
.pad{padding:18px 20px;gap:12px}
.cols{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}
.cols>.main{flex:999 1 640px;min-width:0;gap:16px}
.cols>aside{flex:1 1 300px;min-width:0;gap:16px}
.g3,.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.kpi{padding:14px 18px;gap:4px}
.kl{font-weight:600}
.kv{font-size:22px;font-weight:600}
/* home */
.hero{gap:18px;max-width:760px}
.hero h1{font-size:36px;line-height:1.15}
.hero p{font-size:17px}.hero p.stamp{font-size:13px}
.big{display:flex;gap:8px;max-width:640px}
.big input{flex:1;height:48px;font-size:16px;border-radius:10px;padding:0 16px;min-width:0}
.big .btn{height:48px;border-radius:10px;padding:0 20px;font-size:15px}
.lh{align-items:baseline;gap:8px;margin-bottom:6px}
.lh a,.more{font-size:13px;font-weight:600;text-decoration:none}
.li{align-items:center;flex-wrap:nowrap;gap:12px;padding:10px 0;border-bottom:1px solid var(--ln2);font-size:14px;min-height:46px}
.li:last-child{border-bottom:0}
.tiles{gap:16px}
.tile{padding:18px 20px;gap:6px;text-decoration:none;color:var(--ink)}
.tile:hover{border-color:var(--ac);color:var(--ink)}
.tile strong{font-size:15px}.tile span{font-size:13px;line-height:1.4}
/* coin cell */
.coin{display:flex;align-items:center;gap:10px;min-width:0;text-decoration:none;color:var(--ink)}
.coin:hover{color:var(--ac)}
.coin span{color:var(--mu)}
.cn{overflow:hidden;text-overflow:ellipsis}
.ci{width:24px;height:24px;border-radius:50%;flex:none;background:var(--ln2);font-size:0}
.ci.lg{width:56px;height:56px}
/* badges, chips, buttons */
.badge{display:inline-block;font-size:12px;font-weight:600;border-radius:6px;padding:2px 8px;white-space:nowrap;background:var(--bg);color:var(--mu)}
.b-ok{background:var(--acb);color:var(--ac2)}.b-dn{background:var(--dnb);color:var(--dn)}.b-w{background:var(--wb);color:var(--wi)}.b-i{background:var(--ib);color:var(--ii)}
.chips{gap:6px 8px;align-items:center}
.chip{gap:6px;min-height:36px;padding:0 12px;font:13px var(--sans)}
.chip:hover,.btn:hover{border-color:var(--ac);color:var(--ink)}
.btn{min-height:44px;padding:0 14px;font:500 14px var(--sans);gap:8px;white-space:nowrap}
.btn.pri{background:var(--ac);border-color:var(--ac);color:var(--inv);font-weight:600}
.btn.pri:hover{background:var(--ac2);color:var(--inv)}
.btn[aria-pressed=true] .ico{fill:var(--star);stroke:var(--star)}
@media (pointer:coarse){.chip{min-height:44px}}
/* forms */
input,select{font:14px var(--sans);height:44px;padding:0 12px;max-width:100%}
input[type=search]{-webkit-appearance:none;appearance:none}
.sel{appearance:none;padding-right:34px;background:linear-gradient(45deg,transparent 50%,var(--mu) 50%) right 17px top 19px/5px 5px no-repeat,linear-gradient(135deg,var(--mu) 50%,transparent 50%) right 12px top 19px/5px 5px no-repeat var(--sf)}
.filters{padding:14px 20px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mu);font-weight:600}
.filters .end{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.stack{flex-direction:column;align-items:stretch}
/* tables */
.tw{overflow-x:auto}
.t{width:100%;border-collapse:collapse;font-size:14px}
.t th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;text-align:left;border-bottom:1px solid var(--ln);white-space:nowrap}
.t th.r{text-align:right}
.t td{padding:10px 12px;border-bottom:1px solid var(--ln2);white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}
.t td.c{font-family:var(--sans);text-align:left}.t td.l{text-align:left}
.t tbody tr:hover{background:var(--bg)}
.t tr.warn{background:var(--rw)}
.t th a,.t th button{all:unset;cursor:pointer}
.t th[aria-sort=ascending] .sa::after{content:" ▴"}.t th[aria-sort=descending] .sa::after{content:" ▾"}
.fc{width:44px}
.star{all:unset;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;width:32px;height:32px;color:var(--mu)}
.star[aria-pressed=true]{color:var(--star)}
.star svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linejoin:round}.star[aria-pressed=true] svg{fill:currentColor}
.spark{color:var(--mu);display:block}.spark polyline{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.spark--up{color:var(--up)}.spark--down{color:var(--dn)}
.gy .spark{color:var(--mu)!important}.gy .spark polyline{stroke-dasharray:3 3}
.tf{align-items:center;padding:12px 20px;font-size:13px;gap:8px}
.pg{display:inline-flex;gap:4px;flex-wrap:wrap}
.pg a,.pg span{min-width:36px;min-height:36px;padding:0 10px;font-size:13px}
.pg span.gap{border:0;min-width:0}
.ch-h{align-items:center;padding:14px 20px;border-bottom:1px solid var(--ln);gap:8px}
.empty{padding:24px 20px;color:var(--mu);font-size:14px}
body.favonly tbody tr:not(.fav){display:none}
/* coin page */
.crumb{font-size:13px;display:flex;gap:8px;flex-wrap:wrap}.crumb a{text-decoration:none}
.chd{align-items:center;gap:16px 24px}
.chd>div:first-child{display:flex;align-items:center;gap:16px}
.chd h1{font-size:28px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.chd h1 span{font-size:16px;color:var(--mu);font-weight:500}
.acts{display:flex;gap:8px;flex-wrap:wrap}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--ln)}
.tabs a,.tabs button{padding:10px 12px;border:0;background:none;font:600 13px var(--sans);color:var(--mu);cursor:pointer;border-bottom:2px solid transparent;text-decoration:none}
.tabs [aria-current],.tabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--ac)}
.chart{width:100%;height:auto;display:block;font:11px var(--mono)}
.chart .gl{stroke:var(--ln2)}.chart .ax{stroke:var(--ctl)}.chart text{fill:var(--mu);paint-order:stroke;stroke:var(--sf);stroke-width:3px;stroke-linejoin:round}
.chart .band{fill:var(--ac);opacity:.07}.chart .bt{fill:var(--ac);font:600 11px var(--sans)}
.chart .ln{fill:none;stroke:var(--ink);stroke-width:2;stroke-linejoin:round}
.chart .best{fill:var(--up);font-weight:600}.chart .now{fill:var(--ink);font-weight:600}
details.card>summary{list-style:none;cursor:pointer;align-items:center;gap:8px;min-height:32px}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary::after{content:"+";font-size:20px;color:var(--mu);width:32px;text-align:center}
details.card[open]>summary::after{content:"×"}
details.card[open]{border-color:var(--ac)}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.g2>div{gap:8px;min-width:0}
.code{font-size:12.5px;background:var(--cb);color:#E6EDF3;padding:12px 14px;white-space:pre-wrap;word-break:break-all;margin:0;line-height:1.5}
.sm{font-size:13px;font-weight:600}
.tl,.dl{margin:0;padding:0;list-style:none}
.tl li{position:relative;border-left:2px solid var(--ln);margin-left:6px;padding:0 0 14px 16px;gap:2px;font-size:14px}
.tl li:last-child{border-left-color:transparent;padding-bottom:0}
.tl li::before{content:"";position:absolute;left:-7px;top:3px;width:12px;height:12px;border-radius:50%;background:var(--mu)}
.tl .k-listed::before{background:var(--ac)}.tl .k-best_rank::before{background:var(--up)}.tl .k-delisted::before{background:var(--dn)}
.tl time{font:12px var(--mono);color:var(--mu)}
.dl{display:flex;flex-direction:column;gap:8px;font-size:14px}
.dl li{display:flex;justify-content:space-between;gap:12px;align-items:center}
.dl a:not(.coin){font-family:var(--mono);font-weight:600;text-decoration:none;word-break:break-all}
/* api page */
.ep{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--ln2);font-size:14px;align-items:baseline}
.ep>span:last-child{color:var(--mu)}
:not(pre)>code{font-size:12.5px;background:var(--bg);border-radius:6px;padding:2px 6px;word-break:break-word}
.mth{font:700 11px var(--sans);color:var(--ac2);background:var(--acb);border-radius:6px;padding:2px 6px;margin-right:6px}
.icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:10px}
.icons a{align-items:center;gap:6px;font-size:11px;color:var(--mu);text-decoration:none;word-break:break-all;text-align:center}
.icons img{width:40px;height:40px;border-radius:50%;background:var(--ln2)}
.prose{max-width:760px}
.prose h1{margin-bottom:12px}.prose h2{font-size:18px;margin:24px 0 8px}.prose h3{margin:18px 0 6px}
.prose p,.prose ul,.prose ol{margin:0 0 12px}
.ph-txt{border:2px dashed var(--ctl);border-radius:12px;padding:24px;font-weight:600}
.copied{color:var(--up)!important;border-color:var(--up)!important}
/* footer */
.ft{margin-top:auto;border-top:1px solid var(--ln);background:var(--sf)}
.ft .wrap{padding-top:18px;padding-bottom:18px;gap:16px;font-size:12px}
.ft a{text-decoration:none}
.ft nav{display:flex;gap:4px 14px;flex-wrap:wrap}
.ft nav a{padding:6px 0}
@media (max-width:900px){.g3,.tiles{grid-template-columns:1fr 1fr}.g2{grid-template-columns:1fr}}
@media (max-width:640px){.wrap{padding:0 16px}.g3,.tiles,.ep{grid-template-columns:1fr}.ep{gap:4px}.hero h1{font-size:28px}.tools,.hs,.hs input{width:100%}.hs{flex:1}.filters .end{margin-left:0}}
