:root{
  --paper:#ffffff;--ink:#000000;--muted:#5c5c5c;--rule:#d9d9d9;
  --link:#0000ee;--visited:#551a8b;--alert:#b00020;--field:#ffffff;
  --hl:transparent;--wash:transparent;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#121316;--ink:#f1f1f1;--muted:#a6a6a6;--rule:#34363b;
    --link:#8ab4ff;--visited:#c9a0ff;--alert:#ff6b7f;--field:#1b1c20;
  }
}
:root[data-tier="1"]{--hl:rgba(255,214,64,.55)}
:root[data-tier="2"]{--hl:rgba(255,196,40,.7);--wash:rgba(255,200,60,.10)}
:root[data-tier="3"]{--hl:rgba(255,186,20,.8);--wash:rgba(255,190,40,.18)}
:root[data-tier="4"],:root[data-tier="5"]{
  --paper:#2a1054;--ink:#fff5d6;--muted:#d7c8ff;--rule:#4b2b85;
  --link:#ffd24a;--visited:#ffd24a;--alert:#ff9aa8;--field:#35186a;
}
:root[data-tier="5"]{--paper:#1c0a3d;--rule:#ffd24a}

*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--paper);background-image:linear-gradient(var(--wash),var(--wash));color:var(--ink);
  font-family:"Libre Caslon Text",Georgia,"Times New Roman",serif;font-size:1.0625rem;line-height:1.65;
  transition:background-color .6s}
:root[data-tier="5"] body{box-shadow:inset 0 0 0 6px var(--rule)}
main{max-width:70rem;margin:0 auto;padding:3.5rem clamp(1.25rem,4vw,3rem) 4rem;position:relative;z-index:1}
/* The link runs wide on big screens; everything you read stays in a comfortable column */
main>*:not(.hero){max-width:44rem}
p{margin:0 0 1rem}
a{color:var(--link)}
.brand{font-weight:700;margin:0 0 .25rem}
.kicker{font-style:italic;color:var(--muted);margin-bottom:1.75rem;min-height:1.65em}
.banner{border:1px solid var(--rule);padding:.8rem 1rem;border-radius:2px;margin-bottom:2rem}
.share{margin:-1.25rem 0 2rem}
.share p{margin:0 0 .6rem;color:var(--muted)}
.share-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.share-actions .secondary{font-size:.9rem;padding:.35rem .8rem;text-decoration:none;display:inline-block}
.hero{margin:0}
.hero a,.hero span{display:inline;font-size:clamp(2.4rem,7.2vw,7rem);line-height:1.08;letter-spacing:-0.01em;
  overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero a{text-decoration-thickness:.055em;text-underline-offset:.12em;background:linear-gradient(transparent 60%,var(--hl) 60%)}
.hero a:visited{color:var(--visited)}
.hero span{color:var(--muted);font-style:italic}
:root[data-tier="4"] .hero a,:root[data-tier="5"] .hero a{font-size:clamp(2.8rem,8.4vw,8.2rem);text-shadow:0 0 .35em rgba(255,210,74,.45)}
:root[data-tier="5"] .hero a{text-shadow:0 0 .5em rgba(255,210,74,.75)}
.owner{margin-top:1.4rem;color:var(--muted)}
.owner b{color:var(--ink);font-weight:400}
.lock{margin-top:.25rem}
.tick{font-variant-numeric:tabular-nums}
.textbtn{background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;font-size:.9rem}

section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--rule)}
h2{font-size:1.5rem;font-weight:400;margin:0 0 .75rem;line-height:1.25}
fieldset{border:0;padding:0;margin:0}
legend{padding:0;margin-bottom:.3rem}
.field{margin-bottom:1.2rem}
label{display:block;margin-bottom:.3rem}
.small{font-size:.9rem;color:var(--muted)}
input[type=text],input[type=url],input[type=number],textarea{width:100%;font:inherit;padding:.6rem .7rem;
  border:1px solid var(--muted);border-radius:2px;background:var(--field);color:var(--ink)}
input[type=number]{max-width:10rem}
.amount{font-size:2rem;font-variant-numeric:lining-nums tabular-nums;margin:0}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .9rem}
.chips button{background:transparent;color:var(--ink);border:1px solid var(--muted);padding:.25rem .7rem}
.chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.hint{font-size:.875rem;color:var(--muted);margin:.35rem 0 0}
.error{font-size:.95rem;color:var(--alert);margin:0 0 1rem}
.error:empty{display:none}
.inline{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem}
.inline input{margin-top:.35rem;width:1.05rem;height:1.05rem;flex:none}
button{font:inherit;cursor:pointer;border-radius:2px}
.primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:.7rem 1.4rem}
.secondary{background:transparent;color:var(--ink);border:1px solid var(--muted);padding:.55rem 1rem}
button:disabled{opacity:.55;cursor:not-allowed}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--link);outline-offset:2px}

ol.history{list-style:none;padding:0;margin:0}
ol.history li{padding:.9rem 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:3.2rem 1fr;gap:.25rem .75rem}
ol.history .n{color:var(--muted);font-variant-numeric:tabular-nums}
ol.history a{overflow-wrap:anywhere}
ol.history a:visited{color:var(--visited)}
ol.history .meta{grid-column:2;font-size:.9rem;color:var(--muted)}
.mode{font-size:.9rem;color:var(--muted);font-style:italic}
.rules p{font-size:.95rem}

dialog{border:1px solid var(--rule);border-radius:3px;background:var(--paper);color:var(--ink);
  padding:1.6rem;max-width:min(30rem,calc(100vw - 2rem));width:100%}
dialog::backdrop{background:rgba(0,0,0,.45)}
.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));
  background:var(--ink);color:var(--paper);padding:.7rem 1.1rem;border-radius:2px;max-width:calc(100vw - 2rem);
  opacity:0;pointer-events:none;transition:opacity .2s;z-index:3}
.toast.show{opacity:1}
#confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
@media (prefers-reduced-motion:reduce){.toast,body{transition:none}}
