:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--parchment:#f4ecdb;--parchment-deep:#eadfc6;--parchment-sunk:#ded0af;--ink:#191309;--ink-soft:#574835;--ink-faint:#85715a;--rule:#c3ae86;--rule-hair:#d9cbab;--gold:#96671a;--gold-bright:#b8873a;--gain:#2f6430;--loss:#9a3320;--raw:#8a5a24;--crafted:#6f3355;--region-greenmarch:#46662f;--region-saltmarch:#245f75;--region-unknown:#6b5a44;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "URW Palladio L", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter:1rem}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--parchment:#15120c;--parchment-deep:#1f1b13;--parchment-sunk:#2a251b;--ink:#f2e9d6;--ink-soft:#b1a087;--ink-faint:#8a7a63;--rule:#43392b;--rule-hair:#322b20;--gold:#d9a95a;--gold-bright:#f0c47c;--gain:#86c184;--loss:#e58f78;--raw:#cf9c5c;--crafted:#d295b8;--region-greenmarch:#8fbb69;--region-saltmarch:#74b6cd;--region-unknown:#a8957a}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--parchment);color:var(--ink);font-family:var(--sans);font-variant-numeric:tabular-nums;padding-bottom:calc(4.2rem + env(safe-area-inset-bottom));margin:0;font-size:16px;line-height:1.4}@media (min-width:56rem){body{padding-bottom:0}}.ledger{max-width:64rem;padding:0 var(--gutter) calc(2.5rem + env(safe-area-inset-bottom));margin:0 auto}body[data-busy] .columns{opacity:.55}body[data-busy] button{pointer-events:none}.masthead{z-index:3;margin:0 calc(var(--gutter) * -1);padding:max(.7rem, env(safe-area-inset-top)) var(--gutter) 0;background:var(--parchment);border-bottom:2px solid var(--rule);position:sticky;top:0}.masthead__place{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.masthead__aside{align-items:center;gap:.5rem;display:flex}.iconbtn{border:1px solid var(--rule);width:2.25rem;height:2.25rem;color:var(--ink-soft);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:999px;place-items:center;padding:0;transition:color .16s,border-color .16s,background .16s;display:grid}.iconbtn svg{width:1.15rem;height:1.15rem}.iconbtn:hover{color:var(--gold);border-color:var(--gold)}.iconbtn.is-active{background:var(--gold);border-color:var(--gold);color:var(--parchment)}.masthead__town{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-size:1.65rem;font-weight:600;line-height:1.05}.region{letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;color:var(--region-unknown);border:1px solid;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.63rem;font-weight:700;display:inline-flex}.region:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem}[data-region=reg_greenmarch]{color:var(--region-greenmarch)}[data-region=reg_saltmarch]{color:var(--region-saltmarch)}.tally{grid-template-columns:repeat(4,1fr);gap:.4rem;margin-top:.55rem;display:grid}.tally__cell{background:var(--parchment-deep);border-top:2px solid var(--rule-hair);padding:.3rem .5rem .45rem}.tally__cell--coins{border-top-color:var(--gold)}.tally__cell--low,.tally__cell--full{border-top-color:var(--loss)}.tally__value{font-family:var(--serif);font-size:1.3rem;line-height:1.1;display:block}.tally__cell--coins .tally__value{color:var(--gold)}.tally__cell--low .tally__value,.tally__cell--full .tally__value{color:var(--loss)}.tally__value small{color:var(--ink-faint);font-size:.72em}.tally__label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.6rem;font-weight:600;display:block;overflow:hidden}.tabs{z-index:4;padding:.3rem .4rem calc(.3rem + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--parchment) 88%, transparent);-webkit-backdrop-filter:blur(12px)saturate(1.3);border-top:1px solid var(--rule);scrollbar-width:none;gap:.15rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs__thumb{height:calc(100% - .6rem - env(safe-area-inset-bottom));background:var(--parchment-sunk);box-shadow:inset 0 0 0 1px var(--rule);opacity:0;pointer-events:none;border-radius:10px;transition:transform .28s cubic-bezier(.32,.72,0,1),width .28s cubic-bezier(.32,.72,0,1),opacity .16s;position:absolute;top:.3rem;left:0}.tab{z-index:1;min-width:0;min-height:3rem;color:var(--ink-soft);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:10px;flex:1 1 0;place-items:center;padding:.35rem;transition:color .18s,transform .12s;display:grid;position:relative}.tab svg{width:1.45rem;height:1.45rem;transition:transform .2s cubic-bezier(.32,.72,0,1)}.tab[aria-selected=true]{color:var(--gold)}.tab[aria-selected=true] svg{transform:translateY(-1px)scale(1.06)}.tab:active{transform:scale(.94)}.tab__count{background:var(--gold);border:1.5px solid var(--parchment);min-width:1.05rem;color:var(--parchment);text-align:center;border-radius:999px;padding:0 .24rem;font-size:.62rem;font-weight:700;line-height:1.45;position:absolute;top:.35rem;right:50%;transform:translate(1.5rem)}@media (min-width:56rem){.tabs{margin:.5rem calc(var(--gutter) * -.4) 0;background:var(--parchment-deep);border:1px solid var(--rule);-webkit-backdrop-filter:none;border-radius:12px;padding:.25rem;position:static}.tabs__thumb{background:var(--parchment);height:calc(100% - .5rem);top:.25rem}.tab{min-height:2.8rem}.tab__count{border-color:var(--parchment-deep)}}.sheet-head{border-bottom:2px solid var(--rule);align-items:center;gap:.7rem;margin-bottom:1.1rem;padding-bottom:.7rem;display:flex}.sheet-head__icon{background:color-mix(in srgb, var(--gold) 16%, transparent);width:2.6rem;height:2.6rem;color:var(--gold);border-radius:12px;flex:none;place-items:center;display:grid}.sheet-head__icon svg{width:1.4rem;height:1.4rem}.sheet-head__text{min-width:0}.sheet-head__title{font-family:var(--serif);margin:0;font-size:1.28rem;font-weight:600;line-height:1.15}.sheet-head__sub{color:var(--ink-soft);margin:.1rem 0 0;font-size:.82rem;line-height:1.35}.columns{flex-direction:column;padding-top:.9rem;display:flex}.rail{order:-1}@media (min-width:56rem){.columns{grid-template-columns:minmax(0,1fr) 17rem;align-items:start;gap:2rem;padding-top:1.25rem;display:grid}.rail{order:0;position:sticky;top:13rem}}.sheet>*{animation:.26s cubic-bezier(.32,.72,0,1) both rise}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.block{margin-bottom:1.5rem}.block__head{border-bottom:2px solid var(--gold);justify-content:space-between;align-items:baseline;gap:.75rem;padding-bottom:.3rem;display:flex}.block__title{font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.78rem;font-weight:700}.block__meta{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem;font-weight:600}.block__meta--full{color:var(--loss)}.sheet__intro{font-family:var(--serif);color:var(--ink-soft);margin:0 0 1rem;font-size:.92rem;font-style:italic;line-height:1.5}.entry{border-left:3px solid var(--rule);border-bottom:1px solid var(--rule-hair);padding:.5rem 0 .5rem .65rem}.entry:last-child{border-bottom:0}.entry[data-kind=raw]{border-left-color:var(--raw)}.entry[data-kind=crafted]{border-left-color:var(--crafted)}.entry[data-kind=gold]{border-left-color:var(--gold)}.entry[data-kind=gain]{border-left-color:var(--gain)}.entry[data-kind=loss]{border-left-color:var(--loss)}.entry[data-region=reg_greenmarch]{border-left-color:var(--region-greenmarch)}.entry[data-region=reg_saltmarch]{border-left-color:var(--region-saltmarch)}.entry.is-locked{opacity:.5}.entry__head{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.entry__name{font-size:.98rem;font-weight:700}.prices{white-space:nowrap;gap:.7rem;display:flex}.price{text-align:right}.price__label{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:.56rem;font-weight:700;display:block}.price__value{font-family:var(--serif);font-size:1.02rem;line-height:1.1;display:block}.price--buy .price__value{color:var(--ink)}.price--sell .price__value{color:var(--gold)}.entry__note{color:var(--ink-soft);margin:.25rem 0 0;font-size:.79rem}.entry__note--warn{color:var(--loss);font-weight:500}.line{border-bottom:1px solid var(--rule-hair);justify-content:space-between;gap:.75rem;padding:.3rem 0;font-size:.88rem;display:flex}.line:last-child{border-bottom:0}.line__value{color:var(--ink-soft);font-weight:600}.line__value--gain{color:var(--gain)}.tag{letter-spacing:.09em;text-transform:uppercase;vertical-align:.12em;background:var(--parchment-sunk);color:var(--ink-faint);border-radius:2px;margin-left:.4rem;padding:.05rem .34rem;font-size:.58rem;font-weight:700;display:inline-block}.tag--raw{background:color-mix(in srgb, var(--raw) 20%, transparent);color:var(--raw)}.tag--crafted{background:color-mix(in srgb, var(--crafted) 20%, transparent);color:var(--crafted)}.tag--keen{background:color-mix(in srgb, var(--gain) 20%, transparent);color:var(--gain)}.tag--glut,.tag--spoils{background:color-mix(in srgb, var(--loss) 20%, transparent);color:var(--loss)}.tag--rank{background:color-mix(in srgb, var(--gold) 22%, transparent);color:var(--gold)}.controls{flex-wrap:wrap;gap:.3rem;margin-top:.45rem;display:flex}button.act{background:var(--parchment-deep);min-height:2.6rem;color:var(--ink);border:1px solid var(--rule);font:inherit;cursor:pointer;border-radius:2px;padding:.35rem .85rem;font-size:.88rem;font-weight:700}button.act--buy:not(:disabled){border-color:var(--ink-faint)}button.act--sell:not(:disabled){border-color:var(--gold);color:var(--gold)}button.act--go:not(:disabled){background:var(--gold);border-color:var(--gold);color:var(--parchment)}button.act--grow{flex:auto}button.act--wide{flex-basis:100%}button.act{-webkit-tap-highlight-color:transparent;border-radius:8px;transition:filter .15s,transform .12s}button.act:hover:not(:disabled){filter:brightness(1.08)}button.act:active:not(:disabled){transform:scale(.975)}button.act:disabled{opacity:.32;cursor:default}.stepper{border:1px solid var(--rule);border-radius:8px;align-items:stretch;display:flex;overflow:hidden}.stepper__key{background:var(--parchment-deep);width:2.4rem;color:var(--ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;font-size:1.15rem;font-weight:700;line-height:1}.stepper__key:active{background:var(--parchment-sunk)}.qty{background:var(--parchment);width:3rem;min-height:2.5rem;color:var(--ink);border:0;border-left:1px solid var(--rule);border-right:1px solid var(--rule);font:inherit;text-align:center;-moz-appearance:textfield;padding:.35rem .15rem;font-weight:700}.qty::-webkit-outer-spin-button{appearance:none;margin:0}.qty::-webkit-inner-spin-button{appearance:none;margin:0}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:1px}.savekey{background:var(--parchment-sunk);letter-spacing:.02em;word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;margin:.1rem 0 .6rem;padding:.55rem .7rem;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem}button.act--danger:not(:disabled){background:var(--loss);border-color:var(--loss);color:#fff}.notice{left:50%;bottom:calc(4.6rem + env(safe-area-inset-bottom));z-index:5;background:var(--ink);width:min(30rem,100vw - 2rem);color:var(--parchment);opacity:0;border-radius:10px;margin:0;padding:.6rem .85rem;font-size:.87rem;font-weight:500;transition:opacity .2s,transform .22s cubic-bezier(.32,.72,0,1);position:fixed;transform:translate(-50%,.6rem);box-shadow:0 8px 28px #00000047}.notice.is-shown{opacity:1;transform:translate(-50%)}.notice[data-kind=bad]{background:var(--loss);color:#fff}@media (min-width:56rem){.notice{bottom:1.5rem}}.banner{margin:0 calc(var(--gutter) * -1);padding:.4rem var(--gutter);background:var(--loss);color:var(--parchment);text-align:center;font-size:.79rem;font-weight:600}.guide h3{font-family:var(--serif);color:var(--gold);margin:1.4rem 0 .35rem;font-size:1.05rem}.guide p{margin:.4rem 0;font-size:.9rem;line-height:1.55}.guide ul{margin:.4rem 0;padding-left:1.1rem;font-size:.9rem;line-height:1.55}.guide li{margin:.25rem 0}.guide strong{color:var(--ink)}.guide kbd{background:var(--parchment-sunk);font:inherit;border-radius:2px;padding:.1rem .3rem;font-size:.85em;font-weight:700}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}button.act:active:not(:disabled),.tab:active{transform:none}.notice{opacity:1;transform:translate(-50%)}}
