:root{--indigo:#0B1230;--sheet:#0E1740;--line:#EAF2FF;--rule:#2A3A7A;--cyan:#7DD3FC;--ink:#EAF2FF;--dim:#9FB0D9;--ok:#8EF0B4;--warn:#FFB86B;--bad:#FF8A8A;
  --mono:"Space Mono",ui-monospace,Menlo,monospace;--sans:"Source Sans 3",system-ui,-apple-system,Segoe UI,sans-serif}
*{box-sizing:border-box}html{background:var(--indigo)}
body{margin:0;background:var(--indigo);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;
  background-image:linear-gradient(rgba(42,58,122,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(42,58,122,.35) 1px,transparent 1px);background-size:40px 40px}
a{color:var(--cyan);text-decoration:none}button{font:inherit}
.sheet{max-width:1040px;margin:18px auto 40px;border:2px solid var(--line);background:rgba(14,23,64,.85);box-shadow:0 0 0 6px var(--indigo),0 0 0 8px var(--rule)}
/* title block */
.titleblock{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"brand meta wallet" "nav nav nav";gap:8px 18px;align-items:center;padding:14px 18px;border-bottom:2px solid var(--line)}
.brand{grid-area:brand;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-weight:700;letter-spacing:.24em;color:var(--line);font-size:15px}.brand img{border-radius:6px}
.tb-meta{grid-area:meta;display:flex;gap:18px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--dim);flex-wrap:wrap}
.tb-nav{grid-area:nav;display:flex;gap:4px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;border-top:1px dashed var(--rule);padding-top:8px}
.tb-nav a{color:var(--dim)}.tb-nav a:hover{color:var(--cyan)}#social{margin-left:auto;display:flex;gap:12px}
.wallet{grid-area:wallet;background:none;border:1.5px solid var(--cyan);color:var(--cyan);padding:8px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;cursor:pointer;white-space:nowrap}
.wallet.on{border-color:var(--ok);color:var(--ok)}
/* sections */
section{padding:26px 18px;border-bottom:1px solid var(--rule);position:relative}
section:last-of-type{border-bottom:0}
.no{position:absolute;top:10px;right:14px;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--dim)}
h1{font-family:var(--mono);font-weight:700;font-size:clamp(30px,6.4vw,56px);line-height:1.05;margin:0 0 10px;letter-spacing:-.01em;text-wrap:balance}
h2{font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);margin:0 0 12px}
p.lead{font-size:19px;color:var(--dim);max-width:60ch;margin:0 0 16px}
.dim{color:var(--dim)}.mono{font-family:var(--mono)}
/* form */
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;max-width:720px;margin-top:10px;min-width:0}
.form>*{min-width:0}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.field select,.field input{width:100%;min-width:0;max-width:100%;background:var(--indigo);border:1.5px solid var(--rule);color:var(--ink);padding:10px 12px;font-family:var(--mono);font-size:15px;border-radius:0;outline:none}
.field select:focus,.field input:focus{border-color:var(--cyan)}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{background:none;border:1px solid var(--rule);color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:.1em;padding:5px 8px;cursor:pointer}.chip:hover{border-color:var(--cyan);color:var(--cyan)}
.preview{grid-column:1/3;font-family:var(--mono);font-size:14px;color:var(--ink);border:1px dashed var(--rule);padding:12px;line-height:1.7}
.preview b{color:var(--cyan);font-weight:700}
.btn{background:var(--cyan);color:#06122a;border:0;padding:13px 18px;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.14em;cursor:pointer;text-transform:uppercase}
.btn.ghost{background:none;border:1.5px solid var(--cyan);color:var(--cyan)}.btn:disabled{opacity:.45;cursor:default}
.status{grid-column:1/3;font-family:var(--mono);font-size:13px;color:var(--dim);min-height:1.4em}.status a{margin-left:8px}
/* totals */
.totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.tot{border:1.5px solid var(--line);padding:12px 14px;position:relative}
.tot .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.tot .v{font-family:var(--mono);font-size:clamp(22px,5vw,34px);font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
.tot .s{font-size:13px;color:var(--dim)}
/* calendar */
.cal{display:flex;gap:6px;align-items:flex-end;height:180px;padding-top:12px;overflow-x:auto;scrollbar-width:thin}
.wk{flex:1 0 34px;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:34px}
.wk .bar{width:100%;background:var(--cyan);border:1px solid var(--line);min-height:2px;transition:height .3s}
.wk .lbl{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--dim);white-space:nowrap}
.wk.active .bar{background:var(--ok)}
.calInfo{font-family:var(--mono);font-size:13px;margin-top:10px;color:var(--dim)}
/* lists */
.list{display:flex;flex-direction:column}
.item{display:grid;grid-template-columns:3.2em 1fr auto;gap:2px 14px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}
.item .id{font-family:var(--mono);color:var(--cyan);font-size:13px}
.item .main{font-size:17px}.item .main b{font-family:var(--mono);font-weight:700}
.item .val{font-family:var(--mono);font-size:14px;text-align:right}
.item .sub{grid-column:2/4;font-size:13px;color:var(--dim);display:flex;gap:14px;flex-wrap:wrap}
.item .sub .ok{color:var(--ok)}.item .sub .warn{color:var(--warn)}
.empty{color:var(--dim);font-size:15px;padding:6px 0}
.rank{display:grid;grid-template-columns:2em 1fr auto;gap:8px 12px;padding:8px 0;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:14px;align-items:baseline}
.rank .n{color:var(--dim)}.rank .r{text-align:right}
.boards{display:grid;grid-template-columns:1fr 1fr;gap:26px}
/* your bottles */
.mine .item{grid-template-columns:3.2em 1fr auto}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;grid-column:2/4}
.acts input{background:var(--indigo);border:1.5px solid var(--rule);color:var(--ink);padding:6px 8px;font-family:var(--mono);font-size:12px}
.sm{padding:7px 10px;font-size:11px}
/* rack */
.rack{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.slot{border:1.5px solid var(--line);padding:10px;font-family:var(--mono);font-size:12px;position:relative;min-height:96px}
.slot .n{color:var(--cyan);letter-spacing:.14em;font-size:10px}.slot .w{margin-top:6px;word-break:break-all;color:var(--ink)}.slot .e{color:var(--ok);margin-top:4px}.slot .t{color:var(--dim);font-size:10px;margin-top:4px}
.slot.fresh{animation:pour .6s ease-out}
@keyframes pour{0%{transform:translateY(-8px);opacity:0}100%{transform:none;opacity:1}}
.calabel{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border:1.5px dashed var(--line);padding:12px;margin-bottom:14px;font-family:var(--mono);font-size:13px}
.calabel code{word-break:break-all;flex:1 1 220px;color:var(--ink)}
.calabel .k{color:var(--cyan);letter-spacing:.2em;font-size:11px}
.calabel button{background:none;border:1px solid var(--rule);color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:.14em;padding:6px 10px;cursor:pointer}
.buy{background:var(--cyan);color:#06122a;font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.14em;padding:9px 12px}
/* big artifact pages */
.big .huge{font-family:var(--mono);font-weight:700;font-size:clamp(34px,10vw,84px);line-height:1;margin:8px 0 6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin-top:14px;font-size:15px}
.kv .k{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);align-self:baseline}.kv .v{word-break:break-all;font-family:var(--mono);font-size:14px}
.gauge{height:10px;border:1.5px solid var(--line);margin:14px 0 6px;position:relative;max-width:520px}.gauge i{display:block;height:100%;background:var(--cyan)}
.gaugeLbl{font-family:var(--mono);font-size:12px;color:var(--dim);display:flex;justify-content:space-between;max-width:520px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 18px;border-top:2px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.06em}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--sheet);border:1.5px solid var(--cyan);color:var(--ink);padding:10px 14px;font-family:var(--mono);font-size:12px;z-index:9;max-width:92vw;text-align:center}
/* modal */
.modal{position:fixed;inset:0;background:rgba(3,6,20,.7);z-index:20;display:flex;align-items:center;justify-content:center;padding:16px}
.modal[hidden]{display:none}[hidden]{display:none!important}
.modalBox{background:var(--sheet);border:2px solid var(--line);padding:16px;width:min(480px,100%)}
.modalBox h3{margin:0 0 10px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
.wopt{display:flex;align-items:center;gap:10px;width:100%;background:none;border:1.5px solid var(--rule);color:var(--ink);padding:10px;margin-bottom:8px;cursor:pointer;text-align:left;font-family:var(--mono);font-size:13px}.wopt img{width:22px;height:22px}
#modalClose{background:none;border:0;color:var(--dim);font-family:var(--mono);font-size:11px;letter-spacing:.16em;padding:8px 0;cursor:pointer}
@media (max-width:640px){.btn{width:100%}.sheet{margin:8px;box-shadow:0 0 0 3px var(--indigo),0 0 0 4px var(--rule)}.titleblock{grid-template-columns:1fr auto;grid-template-areas:"brand wallet" "meta meta" "nav nav"}.form{grid-template-columns:1fr}.preview,.status{grid-column:1}.boards{grid-template-columns:1fr}.item{grid-template-columns:2.6em 1fr auto;font-size:15px}.acts{grid-column:1/4}}
@media (prefers-reduced-motion:reduce){.slot.fresh{animation:none}}
