/* fonts */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-normal-latin-ext.woff2?v=f120089b94) 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:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-normal-latin.woff2?v=48282a415e) 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:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-italic-latin-ext.woff2?v=1e0d114a72) 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:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-italic-latin.woff2?v=4af9c759c8) 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:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-normal-latin-ext.woff2?v=a0cd390d01) 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:'Source Serif 4';font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-normal-latin.woff2?v=2a24bad466) 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:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-italic-latin-ext.woff2?v=513549ab98) 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:'Source Serif 4';font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-italic-latin.woff2?v=011e0ca2bd) 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:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(fonts/IBMPlexSans-latin-ext.woff2?v=ae1d854fef) 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:'IBM Plex Sans';font-style:normal;font-weight:100 700;font-display:swap;src:url(fonts/IBMPlexSans-latin.woff2?v=056e4e2459) 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:#f6f1e6;--bg2:#efe8d8;--ink:#1d1b17;--muted:#5b5649;--line:#d8cfba;--accent:#b3360f;--accent-ink:#fff;
  --pay:#d2461a;--get:#0b7d73;
  --paper:#fcfbf7;--paper-edge:#34312a;--loupe-bg:#fbf8ef;
  --stage:#10141f;--stage-ink:#eef0f6;--stage-muted:#a6adbf;--stage-line:#2c3345;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;--display:'Fraunces','Source Serif 4',Georgia,serif;--ui:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#14130f;--bg2:#1c1a15;--ink:#ece6d6;--muted:#a8a190;--line:#34312a;--accent:#ff9b66;--accent-ink:#1b1209;
  --pay:#ff8a5c;--get:#4fd1c2;
  --paper-edge:#2a2721;--loupe-bg:#1c1a15;color-scheme:dark;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14130f;--bg2:#1c1a15;--ink:#ece6d6;--muted:#a8a190;--line:#34312a;--accent:#ff9b66;--accent-ink:#1b1209;
    --pay:#ff8a5c;--get:#4fd1c2;
    --paper-edge:#2a2721;--loupe-bg:#1c1a15;color-scheme:dark;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.125rem/1.62 var(--serif);text-rendering:optimizeLegibility}
a{color:var(--accent);text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:8px;top:-60px;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:8px;z-index:50;font:500 .95rem var(--ui)}
.skip:focus{top:8px}
section[id]{scroll-margin-top:60px}

/* top bar */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;height:48px;padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);font:500 .85rem var(--ui)}
.topbar .home{color:var(--ink);text-decoration:none;font-weight:600;white-space:nowrap}
.topnav{display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;min-width:0}
.topnav::-webkit-scrollbar{display:none}
.topnav a{color:var(--muted);text-decoration:none;white-space:nowrap}
.topnav a:hover{color:var(--ink)}
.spacer{flex:1}
.chip{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:99px;color:var(--ink);text-decoration:none;font-size:.8rem}
.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.icon-btn svg{display:block}.icon-btn svg[hidden]{display:none}

/* hero */
.wrap{max-width:70rem;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left))}
.hero{padding:16px 0 4px}
.kicker{font:600 .78rem/1.2 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}
h1{font:600 clamp(1.62rem,5.6vw,3.1rem)/1.1 var(--display);font-variation-settings:'opsz' 96,'SOFT' 30;letter-spacing:-.012em;margin:0 0 10px;max-width:22ch;text-wrap:balance}
@media(min-width:900px){h1{max-width:26ch}}
.deck{font:400 clamp(1rem,3.3vw,1.28rem)/1.45 var(--serif);color:var(--ink);margin:0 0 10px;max-width:44rem}
.deck b{font-weight:650}

/* the stage */
.stage{margin:8px 0 0;background:var(--bg2);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.hud{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--line);font-family:var(--ui)}
.hud div{padding:7px 10px 6px;border-right:1px solid var(--line);min-width:0}
.hud div:last-child{border-right:0}
.hud dt{font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hud dd{margin:0;font:600 1.02rem/1.15 var(--ui);font-variant-numeric:tabular-nums;white-space:nowrap}
.mat{position:relative;margin:12px;border-radius:12px;overflow:hidden;touch-action:pan-y;cursor:grab;
  background-color:#2e6a58;
  background-image:linear-gradient(rgba(255,255,255,.26) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.26) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px);
  background-size:var(--u,14px) var(--u,14px),var(--u,14px) var(--u,14px),calc(var(--u,14px)/10) calc(var(--u,14px)/10),calc(var(--u,14px)/10) calc(var(--u,14px)/10);
  background-position:center center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25),inset 0 14px 30px rgba(0,0,0,.16)}
.mat.grabbing{cursor:grabbing}
.mat-cap{position:absolute;left:9px;bottom:6px;font:500 .66rem var(--ui);color:rgba(255,255,255,.78);letter-spacing:.02em;pointer-events:none}
.packet{position:absolute;top:50%;--lift:0px;--blur:2px;transition:left .38s cubic-bezier(.3,.7,.2,1),width .0s}
.packet .base,.packet .flap{position:absolute;top:0;height:100%;background:
  linear-gradient(100deg,rgba(255,255,255,.0),rgba(0,0,0,.035)),
  var(--paper);}
.packet .base{left:0;box-shadow:0 0 0 .5px rgba(0,0,0,.22),0 calc(var(--lift)*.7) var(--blur) rgba(0,0,0,.34),0 1px 2px rgba(0,0,0,.25)}
.packet .flap{transform-origin:left center;display:none;will-change:transform;box-shadow:0 0 0 .5px rgba(0,0,0,.22);backface-visibility:visible}
.packet .flap[data-back="1"]{background:linear-gradient(80deg,rgba(0,0,0,.04),rgba(255,255,255,.0)),#f1efe8}
.packet #flap-shadow{position:absolute;top:0;height:100%;display:none;background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,0));pointer-events:none}
.packet.settle .base{animation:settle .34s ease-out}
@keyframes settle{0%{transform:translateY(-1.5px) scale(1.012)}100%{transform:none}}
.packet.refuse{animation:refuse .6s cubic-bezier(.3,.1,.3,1)}
@keyframes refuse{0%{transform:translateX(0)}12%{transform:translateX(-5px) rotate(-1.2deg)}26%{transform:translateX(5px) rotate(1.2deg)}42%{transform:translateX(-3px)}58%{transform:translateX(3px)}100%{transform:none}}
.packet[data-k="6"]::after{content:"";position:absolute;inset:-3px;border:2px solid var(--pay);border-radius:3px;opacity:.9;pointer-events:none}

.sheet-body{display:grid;grid-template-columns:1fr;gap:0 12px;padding:0 12px 12px}
.loupe{display:grid;grid-template-columns:minmax(120px,168px) 1fr;gap:12px;align-items:center;margin:2px 0 10px}
.loupe-lens{border-radius:50% 50% 50% 50%/50%;width:100%;aspect-ratio:1;overflow:hidden;background:var(--loupe-bg);border:2px solid var(--ink);box-shadow:0 0 0 4px var(--bg2),0 0 0 5px var(--line)}
.loupe-lens svg{display:block;width:100%;height:100%}
#loupe-cap{margin:0;font:400 .92rem/1.4 var(--ui);color:var(--muted)}
#loupe-cap b{color:var(--ink);font-weight:600}
.budget{margin:4px 0 8px;font-family:var(--ui)}
.bar{position:relative;height:14px;border-radius:7px;background:color-mix(in srgb,var(--ink) 9%,transparent);overflow:hidden}
.bar i{position:absolute;left:0;top:0;bottom:0;border-radius:7px}
#budget-ghost{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--accent) 55%,transparent) 0 4px,transparent 4px 8px)}
#budget-need{background:color-mix(in srgb,var(--ink) 35%,transparent)}
#budget-sheet{background:transparent;border-right:3px solid var(--ink);border-radius:0}
.budget[data-over="1"] #budget-ghost{background:repeating-linear-gradient(135deg,var(--pay) 0 4px,transparent 4px 8px)}
#budget-lbl{margin:6px 0 0;font-size:.88rem;line-height:1.35;color:var(--muted)}
.budget[data-over="1"] #budget-lbl{color:var(--ink)}
.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}
.btn{font:600 1rem var(--ui);min-height:48px;padding:0 22px;border-radius:99px;border:2px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.alt{background:transparent;color:var(--ink)}
.btn.alt:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.btn.big{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.btn[hidden]{display:none}
#stage-note{margin:10px 0 0;font:400 1rem/1.45 var(--serif);min-height:2.9em}
#stage-note[data-state="refused"],#stage-note[data-state="max"]{color:var(--ink);font-weight:500}

/* the paper bill */
.ledger{background:var(--stage);color:var(--stage-ink);padding:16px 14px 18px;font-family:var(--ui)}
.ledger[hidden]{display:none}
.lg-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:14px}
@media(min-width:760px){.lg-grid{grid-template-columns:1.7fr 1fr;gap:30px}}
.lg-label{font:600 .72rem/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;color:var(--stage-muted);margin:0 0 6px}
.lg-pay .lg-label{color:var(--pay)} .lg-get .lg-label{color:var(--get)}
.lg-big{font:600 clamp(1.9rem,8.4vw,3.2rem)/1.02 var(--display);font-variation-settings:'opsz' 96;font-variant-numeric:lining-nums tabular-nums;margin:0}
.lg-pay .lg-big{color:var(--pay)} .lg-get .lg-big{color:var(--get)}
.lg-sub{margin:4px 0 8px;min-height:2.6em;font:400 .95rem/1.35 var(--ui);color:var(--stage-ink)}
.ruler{position:relative;height:118px;margin:0 0 4px}
.strip{position:absolute;left:0;width:var(--head,55%);top:48px;height:10px;background:linear-gradient(180deg,#fff,#e6e2d6);border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
.strip i{position:absolute;left:0;top:0;bottom:0;background:rgba(210,70,26,.5);border-radius:2px 0 0 2px}
.prev-lbl{position:absolute;left:0;top:64px;font:500 .7rem/1.1 var(--ui);color:var(--pay);max-width:60%}
#head{position:absolute;right:-9px;top:-5px;width:20px;height:20px;border-radius:50%;background:var(--pay);box-shadow:0 0 0 4px rgba(210,70,26,.28),0 0 22px 4px rgba(255,138,92,.5)}
#ticks,#tticks{position:absolute;inset:0;pointer-events:none}
.pin{position:absolute;top:0;height:100%;width:0}
.pin i{position:absolute;left:-.5px;top:38px;width:1px;height:30px;background:var(--stage-muted);opacity:.9}
.pin b{position:absolute;font:500 .72rem/1.15 var(--ui);color:var(--stage-ink);white-space:nowrap;top:18px;right:3px;text-align:right}
.pin[data-row="1"] b{top:84px}
.pin[data-row="1"] i{top:38px;height:44px}
.pin[data-head="1"] i{background:var(--pay);width:2px}
.lg-get{display:grid;grid-template-columns:minmax(120px,170px) 1fr;gap:14px;align-items:end}
.tower{position:relative;height:210px;margin:0}
.stackbar{position:absolute;left:4px;bottom:0;width:24px;top:calc(100% - var(--head,55%));background:linear-gradient(90deg,#fff,#e0dccf);border-radius:2px 2px 0 0;box-shadow:0 0 0 1px rgba(255,255,255,.2);overflow:hidden}
.stackbar i{position:absolute;left:0;right:0;bottom:0;background:rgba(11,125,115,.55);border-top:1px dashed #0b7d73}
.tower .pin{left:0;width:100%;height:0}
.tower .pin i{left:4px;top:-.5px;width:46px;height:1px}
.tower .pin b{left:54px;right:auto;top:-8px;text-align:left}
.tower .pin[data-head="1"] i{background:var(--get);height:2px}
.lg-gettext{align-self:end}
.rate{margin:14px 0 6px;font:400 .95rem/1.4 var(--ui);color:var(--stage-muted)}
.rate b{color:var(--stage-ink);font-weight:600}
.lg-controls{display:grid;gap:10px;margin:0 0 4px}
.stepper{display:grid;grid-template-columns:48px 1fr 48px;gap:10px;align-items:center}
.stepper .btn{padding:0;justify-content:center;min-height:48px;width:48px;background:transparent;color:var(--stage-ink);border-color:var(--stage-line)}
.stepper .btn:hover{background:var(--stage-ink);color:var(--stage);border-color:var(--stage-ink)}
#n-out{font:600 1rem var(--ui);text-align:center;margin:0 0 2px}
input[type=range]{width:100%;accent-color:var(--pay);height:36px;background:transparent}
.jumps{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin:0 -14px;padding:0 14px 2px}
.jumps::-webkit-scrollbar{display:none}
.jumps button{flex:none;font:500 .84rem var(--ui);padding:8px 12px;min-height:40px;border-radius:99px;border:1px solid var(--stage-line);background:transparent;color:var(--stage-ink);cursor:pointer;text-align:left}
.jumps button:hover{border-color:var(--stage-ink)}
.jumps button[aria-current="true"]{background:var(--stage-ink);color:var(--stage);border-color:var(--stage-ink)}
.lg-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}
.ledger .btn{border-color:var(--stage-ink);background:var(--stage-ink);color:var(--stage)}
.ledger .btn:hover{background:var(--pay);border-color:var(--pay);color:#1a0d06}
.ledger .btn.alt{background:transparent;color:var(--stage-ink);border-color:var(--stage-line)}
.ledger .btn.alt:hover{border-color:var(--stage-ink);background:transparent;color:var(--stage-ink)}

/* prose */
main section.prose{padding:34px 0 6px}
h2{font:600 clamp(1.4rem,4.4vw,2rem)/1.2 var(--display);font-variation-settings:'opsz' 72;margin:0 0 12px;letter-spacing:-.008em;text-wrap:balance}
.prose p,.prose li{max-width:40rem}
.prose ul,.prose ol{padding-left:1.2em}
table.data{border-collapse:collapse;font:400 .92rem var(--ui);width:100%;max-width:44rem}
table.data th,table.data td{text-align:right;padding:6px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
table.data th:first-child,table.data td:first-child{text-align:left}
table.data thead th{font-weight:600;color:var(--muted);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.scroller{overflow-x:auto;max-width:100%}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:16px 0;max-width:42rem}
.card h3{font:600 1.15rem/1.25 var(--display);margin:0 0 6px}
.card p{margin:0 0 8px}
footer{border-top:1px solid var(--line);margin-top:44px;padding:22px 0 60px;font:400 .9rem/1.5 var(--ui);color:var(--muted)}
footer a{color:var(--muted)}
.share-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0}
.share-row .lbl{font:500 .85rem var(--ui);color:var(--muted);margin-right:4px}
.share-row a,.share-row button{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none}
.share-row a:hover,.share-row button:hover{border-color:var(--accent);color:var(--accent)}
.share-row svg{width:20px;height:20px;display:block}
.cite{font:400 .8rem/1.4 var(--ui);color:var(--muted)}
@media (max-width:420px){.hud dd{font-size:.92rem}.hud dt{font-size:.6rem}.btn{padding:0 18px}.loupe{grid-template-columns:104px 1fr}}
@media (prefers-reduced-motion:reduce){.packet{transition:none}.packet.refuse{animation:none}.packet.settle .base{animation:none}}

.fig{margin:14px 0;max-width:30rem;color:var(--ink)}
.fig svg{display:block;width:100%;height:auto;background:var(--bg2);border:1px solid var(--line);border-radius:12px}
.fig figcaption{font:400 .88rem/1.4 var(--ui);color:var(--muted);margin-top:6px}
.formula{display:inline-block;font:500 1.02rem/1.5 var(--ui);background:var(--bg2);padding:2px 10px;border-radius:8px;border:1px solid var(--line);white-space:normal}
.tryit{margin:14px 0 6px;max-width:42rem}
.try-l{font:600 1rem var(--ui);margin:0 0 8px}
.try-btns{display:flex;gap:8px;flex-wrap:wrap}
.try{font:600 1.05rem var(--ui);min-width:48px;min-height:48px;border-radius:14px;border:2px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer}
.try:hover{background:var(--ink);color:var(--bg)}
.try[aria-current="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.try-out{margin:10px 0 0;min-height:3.2em;font-weight:500}

.crease{position:absolute;width:0;border-left:2px dashed rgba(60,50,30,.55);pointer-events:none;transition:left .38s cubic-bezier(.3,.7,.2,1);z-index:2}
.crease[hidden]{display:none}
.crease b{position:absolute;top:50%;left:6px;transform:translateY(-50%);white-space:nowrap;font:600 .74rem var(--ui);color:#4a3d22;background:rgba(255,255,255,.82);padding:3px 8px;border-radius:99px;border:1px solid rgba(60,50,30,.25);letter-spacing:.02em}
.controls{margin:2px 0 4px}

.ruler::after{content:"";position:absolute;left:var(--head,55%);right:0;top:51px;height:0;border-top:2px dashed var(--stage-line)}
.tower::after{content:"";position:absolute;left:15px;top:0;height:calc(100% - var(--head,55%));border-left:2px dashed var(--stage-line)}
.pin[data-ahead="1"] i{background:var(--stage-muted);opacity:.55}
.pin[data-ahead="1"] b{color:var(--stage-muted)}
.pin[data-flip="1"] b{right:auto;left:3px;text-align:left}
.tower .pin[data-flip="1"] b{left:54px}
@media (min-width:900px){
  #sheet-scene{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);align-items:start}
  #sheet-scene .hud{grid-column:1/-1}
  #sheet-scene .sheet-body{padding:12px 18px 12px 6px}
  .ledger{padding:20px 24px 24px}
  .lg-get{grid-template-columns:minmax(150px,200px) 1fr}
  .tower{height:260px}
}

.linkbtn{font:500 .95rem var(--ui);background:none;border:0;color:var(--muted);text-decoration:underline;text-underline-offset:.2em;cursor:pointer;min-height:44px;padding:0 6px}
.linkbtn:hover{color:var(--accent)}
.mile{margin:12px 0 0;font:500 1rem/1.4 var(--serif);color:var(--stage-ink);border-left:3px solid var(--pay);padding:2px 0 2px 12px}
.mile[hidden]{display:none}
@media (min-width:900px){
  .hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:44px;align-items:end;padding-top:20px}
  .hero .kicker{grid-column:1/-1}
  .hero h1{margin:0;max-width:20ch}
  .hero .deck{margin:0 0 4px}
}

.topnav{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent);padding-right:18px}
.crease b{left:0;transform:translate(-50%,-50%)}
.mat-cap{background:rgba(10,30,24,.62);padding:2px 8px;border-radius:99px;left:8px;bottom:8px}
.lg-grid{grid-template-columns:minmax(0,1fr)}
.lg-grid>*,.lg-get>*{min-width:0}
.lg-big{overflow-wrap:anywhere}
@media(min-width:760px){.lg-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}}
.lg-sub{overflow-wrap:anywhere}
.tower .pin{top:auto}
.lg-get{grid-template-columns:minmax(112px,140px) minmax(0,1fr)}
.lg-get .lg-big{font-size:clamp(1.6rem,7vw,2.8rem)}
.lg-get .lg-sub{font-size:.88rem}
@media(min-width:900px){.lg-get{grid-template-columns:minmax(150px,200px) minmax(0,1fr)}}

html:not(.js) .controls,html:not(.js) #crease,html:not(.js) #budget,html:not(.js) .loupe,html:not(.js) .stage .hud,html:not(.js) .mat,html:not(.js) .tryit .try-btns{display:none}
html:not(.js) .tryit .try-l{display:none}
html:not(.js) .stage{display:none}
.tower .pin b{max-width:calc(100% - 58px);white-space:normal;line-height:1.1;top:-10px}
.modes{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 2px;font-family:var(--ui)}
.modes-l{font-size:.78rem;color:var(--muted);margin-right:4px}
.modes button{font:500 .88rem var(--ui);min-height:40px;padding:0 14px;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.modes button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.ledger .modes-l{color:var(--stage-muted)}
.ledger .modes button{border-color:var(--stage-line);color:var(--stage-ink)}
.ledger .modes button[aria-pressed="true"]{background:var(--stage-ink);color:var(--stage)}
.jumps[hidden]{display:none}
html:not(.js) .modes{display:none}
.packet[data-axis="y"] ~ .crease{display:none}


/* share row (standards/v2/tools/share_row.py) */
.share-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.share-row .lab{font-size:.95rem;opacity:.8;margin-right:.3rem}
.share-row a,.share-row button{display:inline-grid;place-items:center;flex:none;width:2.5rem;height:2.5rem;padding:0;border-radius:50%;border:1px solid var(--sr-line,color-mix(in srgb,currentColor 28%,transparent));background:transparent;color:var(--sr-ink,inherit);text-decoration:none;cursor:pointer;font:inherit;transition:color .15s,border-color .15s}
.share-row a:hover,.share-row button:hover,.share-row a:focus-visible,.share-row button:focus-visible{color:var(--sr-acc,inherit);border-color:var(--sr-acc,currentColor)}
.share-row [hidden]{display:none}
@media (pointer:coarse){.share-row a,.share-row button{width:2.75rem;height:2.75rem}}
@media (max-width:30rem){.share-row .lab{flex-basis:100%;margin:0 0 .15rem}}
.share-status{font-size:.92rem;color:var(--sr-ok,inherit);min-height:1.2em;margin:.4rem 0 0}
.share-field{display:block;width:100%;max-width:36rem;margin-top:.4rem;font:inherit;font-size:.9rem}
