/* Tenor: cream paper, engraved blue linework, coral accents. System fonts only. */
:root{
  --bg:#E8E4DA;--paper:#EFECE3;--ink:#1D2BB8;--deep:#141C6B;--red:#E0432A;--green:#0A8573;--mute:#6C6F8C;
  --rule:rgba(20,28,107,.18);--rule2:rgba(20,28,107,.3);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:Inter,"Helvetica Neue",Helvetica,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{color:var(--deep);font-family:var(--sans);font-size:14.5px;line-height:1.6;-webkit-font-smoothing:antialiased;
  background:radial-gradient(120% 90% at 50% 45%,#F1EEE6 0%,#E8E4DA 55%,#DDD8CB 100%) fixed;min-height:100vh}
a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(29,43,184,.3)}
a:hover{border-color:var(--ink)}
button{font:inherit;color:inherit;cursor:pointer}
i{font-style:normal}
[hidden]{display:none!important}
.mono{font-family:var(--mono);font-size:.88em;letter-spacing:.01em;word-break:break-all}
.mute{color:var(--mute)}
.red{color:var(--red)}
.r{text-align:right}
:focus-visible{outline:1px solid var(--ink);outline-offset:3px}

/* engraving strokes */
.art{display:block;width:100%;height:auto;overflow:visible}
.art *{vector-effect:non-scaling-stroke}
.e-ink{stroke:var(--ink);stroke-width:1}
.e-soft{stroke:var(--ink);stroke-opacity:.36;stroke-width:1}
.e-faint{stroke:var(--ink);stroke-opacity:.17;stroke-width:1}
.e-red{stroke:var(--red);stroke-width:1.1}
.e-green{stroke:var(--green);stroke-opacity:.9;stroke-width:1}
.e-gsoft{stroke:var(--green);stroke-opacity:.45;stroke-width:1}
.e-bold{stroke-width:1.6}
.e-line{stroke-width:2;stroke-linejoin:round}
.e-dot{fill:var(--paper);stroke-width:2}
.art text{stroke:none;fill:var(--deep)}
.t-lab{font:11px var(--sans);fill:var(--mute)!important}
.t-ser{font:italic 13px var(--serif)}
.art-reading text{paint-order:stroke;stroke:#ECE9E0!important;stroke-width:4px;stroke-linejoin:round}
.steps{display:grid;gap:22px;padding:6px 0 0 12px}
.steps p{margin-top:6px;font-size:13.5px;color:var(--mute)}
.t-red{fill:var(--red)!important}
.mk{width:17px;height:17px;flex:none;vertical-align:-4px}

/* top bar */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:26px;padding:16px 34px;font-size:13px;
  background:rgba(236,232,223,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--deep);border:0;white-space:nowrap}
.brand svg{width:22px;height:22px}
.brand .mark{width:24px;height:24px;border-radius:50%;display:block}
.links{display:flex;gap:22px;flex:1;min-width:0}
.links a{color:var(--deep);border-bottom:1px solid transparent;padding-bottom:2px;white-space:nowrap}
.links a:hover{border-color:var(--rule2)}
.links a[aria-current]{border-color:var(--red);color:var(--ink)}
.nr{display:flex;align-items:center;gap:20px;margin-left:auto;white-space:nowrap}
.ca{display:flex;align-items:center;gap:8px;color:var(--mute);font-variant-numeric:tabular-nums;background:none;border:0;font-size:12.5px}
.ca b{font-weight:500;color:var(--deep)}
.ca i,[data-copy] i{border-bottom:1px solid currentColor;color:var(--ink)}
.nl{color:var(--deep);border:0;border-bottom:1px solid var(--rule2);padding:0 0 2px;background:none;font-size:12.5px}
.nl:hover{border-color:var(--ink);color:var(--ink)}
.btn{display:inline-block;background:var(--ink);color:#F3F0E8;padding:9px 16px;border-radius:2px;font-weight:500;border:1px solid var(--ink);font-size:13px;line-height:1.3;white-space:nowrap}
.btn:hover{background:var(--deep);border-color:var(--deep)}
.btn.ghost{background:none;color:var(--ink)}
.btn.ghost:hover{background:rgba(29,43,184,.07)}
.btn[disabled]{opacity:.45;cursor:default}
.lnk{background:none;border:0;border-bottom:1px solid var(--ink);color:var(--ink);font-size:12.5px;padding:0 0 1px}

/* page frame */
main{max-width:1180px;margin:0 auto;padding:0 34px 80px}
section{margin-top:64px}
.n{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--red);margin-bottom:12px}
h1,h2,h3{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--deep);letter-spacing:-.005em}
h1{font-size:40px;line-height:1.12;max-width:15em}
h2{font-size:25px;line-height:1.22}
h3{font-size:19px;line-height:1.3}
p{max-width:62ch}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;margin-top:44px;min-height:330px}
.hero .lead{margin-top:16px;font-size:15.5px;color:var(--mute);max-width:44ch}
.hero-t p+p{margin-top:22px}
.hero-a{display:flex;justify-content:center}
.hero-a>*{width:100%;max-width:520px}
.art-medal,.art-seal,.coin-img{max-width:330px!important;height:auto}
.coin-img{display:block}
.hint{font-size:12.5px;color:var(--mute);margin-top:12px}
.lead2{color:var(--mute);margin-top:8px}
.empty{padding:26px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:16px;color:var(--mute);max-width:none}
.count{font-family:var(--sans);font-style:normal;font-size:13px;color:var(--mute);margin-left:6px;font-variant-numeric:tabular-nums}

/* numbers */
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--deep);border-bottom:1px solid var(--rule)}
.stat{padding:18px 16px 18px 0}
.stat+.stat{padding-left:16px;border-left:1px solid var(--rule)}
.stat dt{font-size:12px;color:var(--mute)}
.stat dd{font-family:var(--serif);font-size:25px;line-height:1.25;margin-top:6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.stat dd i{font-family:var(--sans);font-size:11.5px;color:var(--mute);letter-spacing:.02em}
.stat small{display:block;font-size:11.5px;color:var(--mute);margin-top:2px}
.list .stats{margin-top:18px}

.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.panel{background:rgba(243,240,232,.62);border:1px solid var(--rule);padding:28px 30px 30px}
.panel h2{margin-bottom:6px}
.h2b{margin-top:30px}
.rows{margin-top:10px}
.rows>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--rule)}
.rows dt{color:var(--mute);font-size:13px;flex:none}
.rows dd{text-align:right;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.rows dd i{font-size:11.5px;color:var(--mute)}
.rows .line dt,.rows .line dd{color:var(--red)}
.rows.wide>div{justify-content:flex-start}
.rows.wide dt{width:150px}
.rows.wide dd{text-align:left}

/* forms: an underlined field, like the landing command line */
.act{display:flex;align-items:flex-end;gap:14px;margin-top:16px;flex-wrap:wrap}
.stack{display:block;margin-top:14px}
.stack .field{margin-top:18px}
.field{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--deep);padding:0 0 8px;flex:1;min-width:180px}
.field span{font-size:12px;color:var(--mute);flex:none;min-width:64px}
.field input,.field select{flex:1;min-width:0;width:100%;background:none;border:0;outline:0;font:inherit;font-size:19px;font-family:var(--serif);color:var(--deep);font-variant-numeric:tabular-nums}
.field select{font-size:16px;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%231D2BB8'/%3E%3C/svg%3E") no-repeat right 2px center/10px}
.field input::placeholder{color:rgba(108,111,140,.55)}
.field:focus-within{border-color:var(--ink)}
.field i{font-size:12px;color:var(--mute);flex:none}
.under{display:flex;justify-content:space-between;gap:12px;margin-top:8px;max-width:none}
.under b{font-weight:500;color:var(--deep)}
.calc{margin-top:20px}
.btns{display:flex;gap:12px;margin-top:22px}
.msg{min-height:20px;font-size:13px;margin-top:12px;color:var(--mute)}
.msg.bad{color:var(--red)}
.msg.good{color:var(--green)}

/* score */
.score{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;margin-top:8px}
.score-n b{font-family:var(--serif);font-weight:400;font-size:64px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.score-n span{display:block;font-size:12px;color:var(--mute);margin-top:4px}
.say{margin-top:18px;font-family:var(--serif);font-style:italic;font-size:16.5px;line-height:1.5}
.reasons{list-style:none;margin-top:14px}
.reasons li{font-size:13px;color:var(--mute);padding:8px 0;border-top:1px solid var(--rule)}
.reading{position:relative}

/* columns of short text */
.three,.four,.prose{display:grid;gap:36px;border-top:1px solid var(--deep);padding-top:28px}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.prose{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.three p,.four p,.prose p{margin-top:10px;font-size:13.5px;color:var(--mute)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.split p{margin-top:14px;color:var(--mute)}
.split p.hint{color:var(--deep)}
.curve{position:relative}
.curve-tip{position:absolute;left:0;top:0;pointer-events:none;background:var(--deep);color:#F3F0E8;font-size:12px;padding:6px 9px;border-radius:2px;white-space:nowrap;opacity:0;transform:translate(-50%,-140%);font-variant-numeric:tabular-nums}

/* tables and feeds */
.list h2{margin-bottom:4px}
.sub{margin-top:44px}
.tablewrap{margin-top:14px;border-top:1px solid var(--deep)}
.tbl{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}
.tbl th{font-weight:400;font-size:12px;color:var(--mute);text-align:left;padding:10px 14px 10px 0;border-bottom:1px solid var(--rule);white-space:nowrap}
.tbl td{padding:13px 14px 13px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl th.r,.tbl td.r{text-align:right;padding-right:26px;padding-left:14px}
.tbl th:last-child,.tbl td:last-child{padding-right:0}
.tbl b{font-weight:500}
.tbl.rules td:first-child{color:var(--mute);width:46%}
.ck{display:inline-flex;gap:7px;align-items:flex-start;white-space:nowrap}
.feed{list-style:none;margin-top:14px;border-top:1px solid var(--deep)}
.feed li{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:20px;padding:13px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.feed time{font-size:12px;color:var(--mute);font-variant-numeric:tabular-nums}
.feed p{max-width:none}
.feed .txs{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.tally{display:flex;flex-wrap:wrap;gap:6px 26px;margin-top:10px;font-size:13px;color:var(--mute);max-width:none}
.tally b{color:var(--deep);font-weight:500}
.who{margin-top:4px;color:var(--mute);max-width:none}

/* loans */
.loans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:18px}
.loan{background:rgba(243,240,232,.62);border:1px solid var(--rule);padding:24px 26px}
.loan header{display:flex;justify-content:space-between;align-items:baseline}
.loan .state{font-family:var(--serif);font-style:italic;color:var(--ink)}
.loan.closed .state{color:var(--mute)}
.health{margin-top:18px}
.health-t{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mute);margin-bottom:8px}
.health-t b{color:var(--deep);font-weight:500}
.art-health{width:100%;height:auto}
.loan-acts{margin-top:8px}

/* footer */
.foot{max-width:1180px;margin:0 auto;padding:18px 34px 30px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;font-size:12px;color:var(--mute)}
.app .foot{border-top:1px solid var(--rule);max-width:1112px;padding-left:0;padding-right:0}
.foot .fl{display:flex;gap:26px;flex-wrap:wrap}
.foot a{color:var(--deep);border:0}
.foot a:hover{color:var(--ink)}
.foot em{font-family:var(--serif);font-size:14px;color:var(--deep)}

/* notices */
.note{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:40;background:var(--deep);color:#F3F0E8;padding:11px 16px;border-radius:2px;font-size:13px;max-width:min(92vw,520px)}
.note a{color:#F3F0E8;border-color:rgba(243,240,232,.5)}

@media(max-width:1020px){
  .top{flex-wrap:wrap;gap:12px 20px;padding:14px 20px}
  .links{order:3;flex-basis:100%;overflow-x:auto;gap:20px;padding-bottom:2px;scrollbar-width:none}
  .links::-webkit-scrollbar{display:none}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat:nth-child(4){padding-left:0;border-left:0}
  .stat:nth-child(n+4){border-top:1px solid var(--rule)}
  .prose{grid-template-columns:repeat(2,minmax(0,1fr))}
  .four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  body{font-size:14px}
  main{padding:0 20px 60px}
  section{margin-top:48px}
  .top .ca span{display:none}
  .top .buy{display:none}
  h1{font-size:30px}
  h2{font-size:22px}
  .hero{grid-template-columns:1fr;gap:26px;margin-top:30px;min-height:0}
  .hero-a>*{max-width:420px}
  .art-medal,.art-seal,.coin-img{max-width:230px!important}
  .cols,.split,.three,.loans{grid-template-columns:1fr}
  .split{gap:26px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:36px}
  .stat,.stat+.stat{padding:14px 10px 14px 0;border-left:0}
  .stat:nth-child(even){padding-left:14px;border-left:1px solid var(--rule)}
  .stat:nth-child(n+3){border-top:1px solid var(--rule)}
  .stat dd{font-size:21px}
  .panel{padding:22px 20px 24px}
  .loan{padding:20px}
  .feed li{grid-template-columns:1fr;gap:4px}
  .feed .txs{justify-content:flex-start}
  .rows.wide>div{flex-direction:column;gap:2px}
  .rows.wide dt{width:auto}
  .foot{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px 28px}
  .app .foot{margin:0 20px;padding:18px 0 28px}
  .foot .fl{gap:10px 20px}
  /* tables become labelled blocks */
  .tbl thead{display:none}
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:auto!important}
  .tbl tr{padding:12px 0;border-bottom:1px solid var(--rule)}
  .tbl td,.tbl td.r{border:0;padding:4px 0;text-align:left;display:flex;justify-content:space-between;gap:16px}
  .tbl td:before{content:attr(data-l);color:var(--mute);font-size:12px;flex:none}
  .tbl td:empty{display:none}
  .tbl td br{display:none}
  .tbl.rules td{display:block}
  .tbl.rules td:before{display:block}
}
@media(max-width:520px){
  .prose,.four{grid-template-columns:1fr}
  .score{grid-template-columns:1fr;gap:10px}
  .act .btn{flex:1;text-align:center}
}

/* ---- dark theme (THEME=dark or ?theme=dark): black page, luminous blue linework, coral kept ---- */
:root[data-theme=dark]{
  --bg:#050506;--paper:#0b0b0d;--ink:#8EA2FF;--deep:#ECEDF3;--red:#FF6A4D;--green:#3FD1B0;--mute:#8C90A8;
  --rule:rgba(220,226,255,.13);--rule2:rgba(220,226,255,.26);color-scheme:dark;
}
:root[data-theme=dark] body{background:#050506}
:root[data-theme=dark] a{border-bottom-color:rgba(142,162,255,.35)}
:root[data-theme=dark] .e-soft{stroke-opacity:.42}
:root[data-theme=dark] .e-faint{stroke-opacity:.2}
:root[data-theme=dark] .art-reading text{stroke:#050506!important}
:root[data-theme=dark] .top{background:rgba(5,5,6,.86)}
:root[data-theme=dark] .btn{background:#F4F4F6;color:#050506;border-color:#F4F4F6}
:root[data-theme=dark] .btn:hover{background:#fff;border-color:#fff}
:root[data-theme=dark] .btn.ghost{background:none;color:var(--deep);border-color:var(--rule2)}
:root[data-theme=dark] .btn.ghost:hover{background:rgba(255,255,255,.06);border-color:var(--deep)}
:root[data-theme=dark] .panel,:root[data-theme=dark] .loan{background:#0b0b0d}
:root[data-theme=dark] .field input::placeholder{color:rgba(140,144,168,.6)}
:root[data-theme=dark] .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238EA2FF'/%3E%3C/svg%3E")}
:root[data-theme=dark] .field select option{background:#0b0b0d;color:var(--deep)}
:root[data-theme=dark] .curve-tip,:root[data-theme=dark] .note{background:#F4F4F6;color:#050506}
:root[data-theme=dark] .note a{color:#050506;border-color:rgba(5,5,6,.45)}
