/* torzon-links.store - light explorer dashboard.
   Manrope carries the interface and the prose. Roboto Mono carries every piece
   of data: addresses, counts, lengths, percentages and the metric overlines. */

@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;
 src:url(/assets/font/manrope-400-latin-ext.woff2) format('woff2');
 unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;
 src:url(/assets/font/manrope-400-latin.woff2) format('woff2');
 unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;
 src:url(/assets/font/manrope-600-latin-ext.woff2) format('woff2');
 unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;
 src:url(/assets/font/manrope-600-latin.woff2) format('woff2');
 unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;
 src:url(/assets/font/robotomono-400-latin-ext.woff2) format('woff2');
 unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Roboto Mono';font-style:normal;font-weight:400;font-display:swap;
 src:url(/assets/font/robotomono-400-latin.woff2) format('woff2');
 unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
 --bg:#f5f5f5; --card:#ffffff; --ink:#334155; --dark:#020617; --dim:#475569;
 --line:#e5e7eb; --blue:#0047d1; --link:#3b82f6; --up:#22c55e; --dn:#ef4444;
 --fill:rgba(0,0,0,.05);
 --sans:Manrope,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
 --mono:'Roboto Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
 font:400 16px/1.65 var(--sans);}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}

a{color:var(--link);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--blue)}
h1,h2,h3{color:var(--dark);font-weight:600;letter-spacing:-.01em}
h1{font-size:30px;line-height:1.25;margin:0 0 12px}
h2{font-size:20px;line-height:1.35;margin:34px 0 10px}
h3{font-size:17px;line-height:1.4;margin:24px 0 6px}
p{margin:0 0 14px}
ul,ol{margin:0 0 16px;padding-left:22px}
li{margin:0 0 7px}
code,.mono{font-family:var(--mono);font-size:.92em}
strong,b{font-weight:600;color:var(--dark)}

/* ---- top row ---- */
.top{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}
.mark{font:600 18px/1 var(--sans);color:var(--dark);text-decoration:none;letter-spacing:-.02em;white-space:nowrap}
.mark b{font-weight:600}
.mark span{color:var(--dim);font-weight:400}
.mark:hover b{color:var(--blue)}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.pills a{font:600 12px/1 var(--sans);letter-spacing:.05em;text-transform:uppercase;
 padding:9px 15px;border-radius:9999px;background:var(--fill);color:var(--dark);text-decoration:none}
.pills a:hover{background:rgba(0,0,0,.09)}
.pills a.on{background:var(--blue);color:#fff}
.pills a.on:hover{background:#0039ab}
.ibs{display:flex;gap:6px}
.ib{width:34px;height:34px;border-radius:9999px;background:var(--fill);display:grid;place-items:center;color:var(--dark)}
.ib:hover{background:rgba(0,0,0,.09)}
.ib svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}

/* ---- breadcrumb ---- */
.crumb{font-family:var(--mono);font-size:12px;color:var(--dim);padding:18px 0 0}
.crumb span{opacity:.5;margin:0 3px}
.crumb em{font-style:normal;color:var(--dark)}

/* ---- cards ---- */
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;
 box-shadow:0 1px 2px rgba(2,6,23,.03);padding:26px 28px;margin:18px 0}
.summary{margin-top:18px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:10px}
.lede{font-size:17px;color:var(--dim);margin:0 0 4px;max-width:74ch}
.ch{font-size:20px;margin:0 0 4px}
.cn{font-size:14px;color:var(--dim);margin:0 0 12px}

/* ---- metrics ---- */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0 0}
main .metrics{margin:16px 0 24px}
.metric{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:13px 15px}
.metric .ol{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;
 text-transform:uppercase;color:var(--dim);margin-bottom:5px}
.metric .val{display:flex;align-items:baseline;gap:5px;font-family:var(--mono);font-size:21px;color:var(--dark)}
.metric .val b{font-weight:400}
.metric .val.ok b{color:var(--up)} .metric .val.bad b{color:var(--dn)}
.metric i{font-style:normal;font-size:11px;line-height:1}
.metric i.up{color:var(--up)} .metric i.dn{color:var(--dn)}
.metric .sub{display:block;font-size:12.5px;color:var(--dim);margin-top:4px;line-height:1.4}

/* ---- data rows ---- */
.rows{margin:14px 0 0}
.rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
 padding:11px 0;border-top:1px solid var(--line)}
.rows>div:first-child{border-top:0}
.rows dt{font-size:14.5px;color:var(--dim);margin:0}
.rows dd{margin:0;font-family:var(--mono);font-size:13.5px;color:var(--dark);text-align:right;word-break:break-all}
.rows dd a{font-family:var(--mono)}
.more{display:inline-block;margin-top:16px;font-size:14px;font-weight:600}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.duo .card{margin:0}

/* ---- addresses ---- */
.addrs{margin:16px 0 24px;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ar{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--line)}
.ar:first-child{border-top:0}
.ar .mono,.ar code{flex:1;font-family:var(--mono);font-size:13px;word-break:break-all;line-height:1.5;color:var(--link)}
.ar code{color:var(--dark)}
.cp{flex:none;font:600 11px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;
 padding:8px 14px;border-radius:9999px;border:0;background:var(--fill);color:var(--dark);cursor:pointer}
.cp:hover{background:rgba(0,0,0,.1)}
.cp.ok{background:var(--up);color:#fff}
.one .ar{padding:16px}
.one .ar code{font-size:14px}

/* ---- tables ---- */
.tw{overflow-x:auto;margin:16px 0 24px;background:var(--card);border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:14px}
th{text-align:left;font:400 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;
 color:var(--dim);padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 16px;border-top:1px solid var(--line);vertical-align:top}
tr:first-child td{border-top:0}
td:first-child{color:var(--dark)}
td .mono,td code{font-size:12.5px;word-break:break-all}
.ok{color:var(--up)} .bad{color:var(--dn)}

/* ---- bars ---- */
.bars{margin:16px 0 24px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.bar{display:flex;align-items:center;gap:12px;padding:4px 0}
.bk{font-family:var(--mono);font-size:13px;color:var(--dark);width:1.6em;flex:none}
.bt{flex:1;height:8px;background:var(--fill);border-radius:4px;overflow:hidden}
.bt i{display:block;height:100%;background:var(--link);border-radius:4px}
.bv{font-family:var(--mono);font-size:12.5px;color:var(--dim);width:2.6em;text-align:right;flex:none}

/* ---- note ---- */
.note{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--blue);
 border-radius:6px;padding:15px 18px;margin:18px 0;font-size:15px}
.note b{display:block;margin-bottom:4px}

/* ---- cta ---- */
.ctaw{margin:24px 0}
.cta{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;
 font:600 15px/1 var(--sans);padding:15px 30px;border-radius:32px}
.cta:hover{background:#0039ab;color:#fff}

/* ---- prev / next ---- */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:34px 0 8px}
.pn a{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:15px 18px;
 text-decoration:none;display:block}
.pn a:hover{border-color:var(--link)}
.pn a:only-child{grid-column:1/-1}
.pn em{display:block;font:400 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
 color:var(--dim);font-style:normal;margin-bottom:6px}
.pn b{color:var(--link);font-size:15px}

/* ---- footer ---- */
.foot{border-top:1px solid var(--line);margin-top:44px;padding:34px 0 44px}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:26px}
.fcols h2{font:400 10.5px/1 var(--mono);letter-spacing:.11em;text-transform:uppercase;
 color:var(--dim);margin:0 0 10px}
.fcols a{display:block;font-size:13.5px;padding:3px 0;color:var(--link)}
.fine{font-size:12.5px;color:var(--dim);line-height:1.6;max-width:96ch;margin:0 0 8px}

main{padding-bottom:8px}

@media(max-width:820px){
 .metrics{grid-template-columns:1fr}
 .duo{grid-template-columns:1fr}
 .fcols{grid-template-columns:1fr 1fr}
 .pn{grid-template-columns:1fr}
 .pills{margin-left:0;order:3;width:100%}
 .ibs{margin-left:auto}
 h1{font-size:25px}
 .card{padding:20px}
 .rows>div{flex-direction:column;gap:2px}
 .rows dd{text-align:left}
}
