:root{--bg:#f4f7f2;--surface:#fff;--surface-2:#eaf0e6;--text:#13201a;--muted:#5d6d63;--line:#d7e0d2;--accent:#3f9b2f;--accent-ink:#fff;--gold:#c99412;--good:#2f8f46;--warn:#c27c0e;--bad:#c43d3d;--radius:16px;--shadow:0 1px 2px #0000000f, 0 4px 16px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1a14;--surface:#17251d;--surface-2:#1f3127;--text:#e8f0ea;--muted:#93a79a;--line:#2a3d32;--accent:#6cc04a;--accent-ink:#0f1a14;--gold:#e8b92f;--good:#6cc04a;--warn:#e8a93a;--bad:#f06b6b;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.app{min-height:100dvh;display:flex}.main{--main-top:calc(env(safe-area-inset-top) + 16px);--main-side:16px;min-width:0;max-width:980px;padding:var(--main-top) var(--main-side) calc(env(safe-area-inset-bottom) + 88px);flex:1;margin:0 auto}.nav{z-index:10;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 4px calc(env(safe-area-inset-bottom) + 6px);justify-content:space-around;display:flex;position:fixed;inset:auto 0 0}.nav a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;padding:4px 0;font-size:11px;display:flex;position:relative}.nav a .ico{font-size:20px;line-height:1}.nav .brand{display:none}.nav .dot{background:var(--bad);color:#fff;text-align:center;border-radius:99px;min-width:16px;margin-left:6px;padding:0 5px;font-size:10px;position:absolute;top:0;left:50%}@media (width>=900px){.nav{border-top:0;border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;justify-content:flex-start;align-self:flex-start;gap:4px;width:220px;height:100dvh;padding:20px 12px;position:sticky;inset:0 auto auto;overflow-y:auto}.nav .brand{align-items:center;gap:10px;padding:0 10px 18px;font-size:18px;font-weight:700;display:flex}.nav a{border-radius:10px;flex-direction:row;flex:none;gap:12px;padding:10px 12px;font-size:15px}.nav a.active{background:var(--surface-2)}.nav .dot{margin-left:auto;position:static}.main{--main-top:28px;--main-side:32px;padding:var(--main-top) var(--main-side) 40px}}h1{letter-spacing:-.01em;margin:4px 0 16px;font-size:24px}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 10px;font-size:15px;font-weight:600}.muted{color:var(--muted)}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pos{color:var(--good)}.neg{color:var(--text)}.bad{color:var(--bad)}.warn{color:var(--warn)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card+.card{margin-top:12px}.grid>.card+.card{margin-top:0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=700px){.grid.g4{grid-template-columns:repeat(4,minmax(0,1fr))}}.hero{color:#f2f7ef;background:linear-gradient(135deg,#1d3a27,#0f1a14);border:0;padding:20px}.hero .label{opacity:.75;font-size:13px}.hero .big{letter-spacing:-.02em;margin:2px 0 6px;font-size:40px;font-weight:750}.hero .sub{opacity:.9;flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.hero .spend-money{background:#ffffff12;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:10px;margin:4px 0 10px;padding:10px 12px;display:flex}.hero .spend-money .small{opacity:.75;margin-left:auto}.hero details.sum{margin-top:14px;font-size:13px}.hero details.sum summary{cursor:pointer;opacity:.8;list-style:none}.hero details.sum summary:after{content:" ›"}.hero details.sum[open] summary:after{content:" ⌄"}.hero .sum-row{border-bottom:1px solid #ffffff1a;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.hero .sum-row.total{border-bottom:0;font-weight:700}.hero .sum-note{opacity:.85;margin:8px 0 0;line-height:1.4}.hero .sum-note a{color:#e8b92f;font-weight:600}.stat .label{color:var(--muted);font-size:12px}.tappable{cursor:pointer;-webkit-user-select:none;user-select:none;display:block}.tappable:active{transform:scale(.98)}.stat .value{margin-top:2px;font-size:20px;font-weight:650}.bar{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.bar>span{background:var(--accent);border-radius:99px;height:100%;display:block}.pot-left{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:8px;display:flex}.list{flex-direction:column;display:flex}.item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}button.item{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;width:100%}.avatar{background:var(--surface-2);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;font-size:20px;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 14px;font-weight:550;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--bad)}.btn.block{width:100%}.chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:99px;min-height:40px;padding:8px 12px;font-size:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.scroll-x{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.input,select.input,textarea.input{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-height:44px;padding:10px 12px}label.field,div.field{margin-bottom:12px;display:block}label.field>span,div.field>span:first-child{color:var(--muted);margin-bottom:4px;font-size:13px;display:block}.banner{border-radius:var(--radius);background:color-mix(in srgb, var(--gold) 18%, var(--surface));border:1px solid color-mix(in srgb, var(--gold) 40%, var(--line));align-items:center;gap:12px;margin-bottom:12px;padding:14px 16px;display:flex}.error{background:color-mix(in srgb, var(--bad) 14%, var(--surface));border:1px solid var(--bad);border-radius:12px;margin:10px 0;padding:10px 12px}.sheet-back{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:560px;height:calc(100dvh - env(safe-area-inset-top) - 24px);overscroll-behavior:contain;padding:0 16px calc(env(safe-area-inset-bottom) + 24px);border-radius:20px 20px 0 0;overflow-y:auto}.sheet-head{z-index:1;background:var(--bg);justify-content:center;align-items:center;height:44px;margin:0 -16px 4px;display:flex;position:sticky;top:0}.sheet{transition:transform .2s ease-out}.sheet.dragging{transition:none}.sheet-head{touch-action:none;cursor:grab}.sheet-grip{background:var(--line);border-radius:99px;width:40px;height:5px}.sheet-close{background:var(--surface-2);width:36px;height:36px;color:var(--muted);cursor:pointer;border:0;border-radius:50%;font-size:15px;position:absolute;top:4px;right:8px}@media (width>=700px){.sheet{height:auto;max-height:88dvh}.sheet-back{align-items:center}.sheet{border-radius:20px}}pre.raw{background:var(--surface-2);white-space:pre-wrap;word-break:break-all;border-radius:12px;max-height:60vh;padding:12px;font-size:12px;overflow:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}table.data th{color:var(--muted);background:var(--surface);font-weight:600;position:sticky;top:0}.table-wrap{overflow-x:auto}.login{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.login .card{width:100%;max-width:380px}.pin{letter-spacing:.3em;text-align:center;font-size:24px}.toggle{background:var(--line);cursor:pointer;border:0;border-radius:99px;flex:none;width:48px;height:28px;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:left .15s;position:absolute;top:3px;left:3px}.toggle.on:after{left:23px}:root:not([data-theme=never]){--ink-950:#100e0a;--ink-900:#15130e;--ink-850:#191710;--ink-800:#211f18;--ink-700:#2c2920;--ink-600:#4a4434;--ink-500:#736c57;--ink-300:#a99f85;--ink-100:#eee6cf;--goblin-300:#b4e07a;--goblin-400:#96cb5e;--goblin-500:#7db34a;--goblin-600:#5e9636;--goblin-700:#3d6624;--goblin-900:#0e1709;--gold-100:#f6e9c2;--gold-200:#e3cf98;--gold-300:#f1d77e;--gold-500:#c9a227;--gold-700:#8a6417;--bronze-500:#5a3d17;--bronze-700:#3a2610;--crimson-300:#f2a08f;--crimson-400:#ec7b82;--crimson-500:#c23b44;--crimson-800:#8e2028;--amber-400:#e2a643;--loot-common:#d9d2be;--loot-uncommon:#5bd36a;--loot-rare:#4da3ff;--loot-epic:#b983ff;--loot-legendary:#ff9a3c;--font-display:"Cinzel", "Trajan Pro", Georgia, serif;--font-text:"EB Garamond", Garamond, Georgia, serif;--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--text-hero:46px;--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--ease-out:cubic-bezier(.2, .7, .1, 1);--dur-press:.1s;--dur-hover:.15s;--bg:var(--ink-900);--surface:var(--ink-800);--surface-2:var(--ink-700);--surface-sunken:var(--ink-850);--text:var(--ink-100);--muted:var(--ink-300);--line:var(--ink-600);--line-strong:var(--ink-500);--accent:var(--goblin-500);--accent-hover:var(--goblin-400);--accent-pressed:var(--goblin-600);--accent-text:var(--goblin-300);--accent-ink:var(--goblin-900);--good:var(--goblin-500);--warn:var(--amber-400);--bad:var(--crimson-400);--attention:var(--crimson-500);--money:var(--gold-300);--ring:var(--goblin-500);--radius:var(--radius-md);--shadow:0 1px 0 #0006, 0 6px 18px #00000040;--ebony:var(--ink-900);--parchment:var(--ink-100);--gold:var(--gold-500);--gold-hi:var(--gold-300);--gold-lo:var(--gold-700);--goblin:var(--goblin-500);--goblin-hi:var(--goblin-300);--goblin-lo:var(--goblin-700);--crimson:var(--crimson-800);--bronze:var(--bronze-500);--display:var(--font-display);--text-face:var(--font-text);--btn-bg:var(--surface-2);--btn-bg-hover:var(--ink-600);--btn-fg:var(--text);--btn-primary-bg:var(--accent);--btn-primary-bg-hover:var(--accent-hover);--btn-primary-bg-pressed:var(--accent-pressed);--btn-primary-fg:var(--ink-100);--btn-primary-plate:#33501d;--chip-bg:var(--surface);--chip-bg-hover:var(--surface-2);--chip-on-bg:var(--accent);--chip-on-fg:var(--accent-ink);--input-bg:var(--surface-sunken);--toggle-off:var(--ink-600);--toggle-on:var(--accent-pressed);--track-bg:var(--ink-950);--track-edge:var(--line-strong);--nav-bg:var(--ink-950);--nav-fg:var(--ink-300);--nav-fg-active:var(--accent-text);--row-hover:#eee6cf0a;--gold-metal:linear-gradient(125deg, #5e3e08 0%, #b88a2a 9%, #f6de8d 17%, #fffbe6 21%, #e3bc55 28%, #7e5a12 42%, #c99a2e 55%, #f4dc86 65%, #fff7d6 69%, #cfa03a 78%, #6e4a0e 91%, #a57a22 100%);--gold-grain:repeating-linear-gradient(98deg, #fffadc24 0 1px, #3c23001f 1px 2px, transparent 2px 3.5px);--gold-bevel:linear-gradient(180deg, #fffae180 0%, transparent 18%, transparent 78%, #140c0080 100%);--gold-leaf:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.30  0 0 0 0 0.20  0 0 0 0 0.02  0 0 0 0.55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--tex-grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g' x='0' y='0' width='100%' height='100%'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feDiffuseLighting surfaceScale='0.9' lighting-color='%23a0a0a0'><feDistantLight azimuth='235' elevation='55'/></feDiffuseLighting></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);font-family:var(--font-text);font-size:var(--text-md);font-feature-settings:"lnum", "tnum";line-height:1.5}.num{font-variant-numeric:lining-nums tabular-nums}:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:4px}a,button,.chip,.tappable{cursor:pointer}label:has(>input[type=checkbox]){cursor:pointer}h1{font-family:var(--font-display);font-weight:600;font-size:var(--text-xl);letter-spacing:.04em;text-shadow:0 2px 6px #0009}.main>h1,.sheet>h1,.window>h1{margin:0 calc(-1 * var(--space-4)) var(--space-6);padding:var(--space-4) var(--space-4);background:url(/ui/rule-side.png) left bottom / calc(50% - 60px) 4px no-repeat, url(/ui/rule-side.png) right bottom / calc(50% - 60px) 4px no-repeat, url(/ui/swirl-left.png) left -8px center / min(40%, 190px) auto no-repeat, url(/ui/swirl-right.png) right -8px center / min(40%, 190px) auto no-repeat, linear-gradient(160deg, #ebffe11a 0%, #ebffe108 30%, transparent 55%), var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);position:relative}.main>.row:has(>h1){margin:0 calc(-1 * var(--space-4)) var(--space-6);padding:var(--space-4) var(--space-4);background:url(/ui/rule-side.png) left bottom / calc(50% - 60px) 4px no-repeat, url(/ui/rule-side.png) right bottom / calc(50% - 60px) 4px no-repeat, url(/ui/swirl-left.png) left -8px center / min(40%, 190px) auto no-repeat, url(/ui/swirl-right.png) right -8px center / min(40%, 190px) auto no-repeat, linear-gradient(160deg, #ebffe11a 0%, #ebffe108 30%, transparent 55%), var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);position:relative}.main>h1,.sheet>h1,.window>h1{text-align:center}.main>h1:first-child{margin-top:calc(-1 * var(--main-top));margin-left:calc(-1 * var(--main-side));margin-right:calc(-1 * var(--main-side));padding-top:calc(env(safe-area-inset-top) + var(--space-3));padding-left:var(--main-side);padding-right:var(--main-side)}.main>.row:first-child:has(>h1){margin-top:calc(-1 * var(--main-top));margin-left:calc(-1 * var(--main-side));margin-right:calc(-1 * var(--main-side));padding-top:calc(env(safe-area-inset-top) + var(--space-3));padding-left:var(--main-side);padding-right:var(--main-side)}:root{--window-body:#030804d1;--sheet-body:#080b07}.sheet>h1{-webkit-backdrop-filter:none;backdrop-filter:none;background:url(/ui/rule-side.png) left bottom / calc(50% - 60px) 4px no-repeat, url(/ui/rule-side.png) right bottom / calc(50% - 60px) 4px no-repeat, url(/ui/swirl-left.png) left -8px center / min(40%, 190px) auto no-repeat, url(/ui/swirl-right.png) right -8px center / min(40%, 190px) auto no-repeat, linear-gradient(180deg, #ebffe10b 0%, transparent 70%), color-mix(in srgb, var(--glass-tint) var(--glass-opacity), var(--sheet-body))}.card.window{background:var(--window-body);overflow:hidden}.window>h1:first-child{margin-top:calc(-1 * var(--space-4))}.main>.row:has(>h1)>h1{text-align:center;flex:1;margin:0}.main>h1:after,.sheet>h1:after,.window>h1:after{content:"";pointer-events:none;background:url(/ui/rule-notch.png) 0 0/128px 28px no-repeat;width:128px;height:28px;margin-left:-64px;position:absolute;top:calc(100% - 6px);left:50%}.main>.row:has(>h1):after{content:"";pointer-events:none;background:url(/ui/rule-notch.png) 0 0/128px 28px no-repeat;width:128px;height:28px;margin-left:-64px;position:absolute;top:calc(100% - 6px);left:50%}h2{font-family:var(--font-text);font-variant-caps:all-small-caps;font-weight:600;font-size:var(--text-md);letter-spacing:.08em;color:var(--muted);text-transform:none;text-shadow:0 1px 4px #000000b3;align-items:center;gap:var(--space-3);display:flex}h2:after{content:"";background:linear-gradient(90deg,#c9a2328c,#0000);flex:1;height:1px}h2.row.between:after{display:none}h2.row.between{padding-bottom:var(--space-2);border-bottom:1px solid;border-image:linear-gradient(90deg,#c9a2328c,#0000) 1}.small{font-size:var(--text-sm)}.label-caps,.stat .label,.hero .label{letter-spacing:.07em;font-style:normal;font-variant-caps:all-small-caps;font-weight:600}:root{--glass-tint:#0c2412;--glass-opacity:42%;--glass:color-mix(in srgb, var(--glass-tint) var(--glass-opacity), transparent)}.card{background:linear-gradient(160deg, #ebffe11a 0%, #ebffe108 22%, transparent 45%), radial-gradient(120% 60% at 50% 120%, #aaf0960f, transparent 70%), var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.4)url(#glass-warp);backdrop-filter:blur(20px)saturate(1.4)url(#glass-warp);border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #ffffff29, inset 0 -1px 0 #00000040, inset 0 0 22px #aaf0960d, var(--shadow);border:1px solid #d2ffc829}.item,button.item{border-bottom:1px solid color-mix(in srgb, var(--line) 75%, transparent)}.item:last-child{border-bottom:0}.stat .label{font-size:var(--text-md);color:var(--muted)}.stat .value{font-size:var(--text-xl);letter-spacing:-.01em;font-weight:600}.stat .small{line-height:1.3}.hero{isolation:isolate;color:var(--gold-100);padding:26px var(--space-6) 22px;border-radius:var(--radius-lg);background:radial-gradient(circle at 14px 14px, #fff6d2 0 1.5px, var(--gold-500) 2.5px, var(--bronze-500) 4px, transparent 4.8px) padding-box, radial-gradient(circle at calc(100% - 14px) 14px, #fff6d2 0 1.5px, var(--gold-500) 2.5px, var(--bronze-500) 4px, transparent 4.8px) padding-box, radial-gradient(circle at 14px calc(100% - 14px), #fff6d2 0 1.5px, var(--gold-500) 2.5px, var(--bronze-500) 4px, transparent 4.8px) padding-box, radial-gradient(circle at calc(100% - 14px) calc(100% - 14px), #fff6d2 0 1.5px, var(--gold-500) 2.5px, var(--bronze-500) 4px, transparent 4.8px) padding-box, var(--tex-grain) padding-box, radial-gradient(140% 120% at 25% 0%, #6b4a1c 0%, var(--bronze-700) 50%, #1a1007 100%) padding-box, var(--gold-bevel) border-box, var(--gold-leaf) border-box, var(--gold-grain) border-box, var(--gold-metal) border-box;background-blend-mode:normal, normal, normal, normal, soft-light, normal, normal, normal, normal, normal;background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0;background-size:auto,auto,auto,auto,180px 180px,auto,auto,140px 140px,auto,220% 220%;border:7px solid #0000;animation:2.2s cubic-bezier(.3,.6,.2,1) .3s both gold-catch;position:relative;overflow:hidden;box-shadow:0 0 0 1px #4a3208,inset 0 0 0 1px #281804e6,inset 0 1px 0 1px #fff0be40,inset 0 0 48px #0000008c,0 14px 36px #0000008c}@keyframes gold-catch{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,100% 100%}to{background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0}}@supports (animation-timeline:view()){.hero{animation:linear both gold-catch;animation-timeline:view();animation-range:cover}}.hero:before{content:"";z-index:-1;transform-origin:50%;background:radial-gradient(circle closest-side, transparent 0 145px, #f1d77e38 145px 148px, transparent 149.5px 181px, #f1d77e24 181px 184px, transparent 185.5px), radial-gradient(circle closest-side, #f1d77e1a 0 33px, transparent 34.5px), repeating-conic-gradient(#f1d77e12 0 .6deg, transparent .6deg 12deg);width:1600px;height:1600px;animation:vault-unlock 1.4s var(--ease-out) both;border-radius:50%;margin:-800px 0 0 -800px;position:absolute;top:100%;left:50%}.hero>*{position:relative}.hero .label{font-size:var(--text-md);color:var(--gold-200);opacity:1}.hero .big{font-family:var(--font-display);font-weight:700;font-size:var(--text-hero);letter-spacing:.01em;filter:drop-shadow(0 2px 1px #00000080);margin:2px 0 10px}.hero .big .roll-strip>span,.hero .big .roll-char{background:linear-gradient(#fff4c8 0%,#f1d77e 35%,#e0b444 60%,#b88a2a 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero .spend-money{border-radius:var(--radius-md);background:#00000047;border:1px solid #7db34a73}.hero .spend-money strong{color:var(--accent-text);font-size:var(--text-lg)}.hero .spend-money strong.bad{color:var(--crimson-300)}.hero .sub{opacity:1;color:var(--gold-200)}.hero .gold{color:var(--money)}.hero .sum-row{border-bottom-color:#f1d77e29}.hero .sum-note a{color:var(--accent-text)}@keyframes vault-unlock{0%{opacity:0;transform:rotate(-70deg)scale(.92)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes gold-sheen{0%{background-position:100% 0}to{background-position:0 0}}.bar{background:var(--track-bg);height:6px;box-shadow:0 0 0 1px var(--track-edge);border-radius:1px}.bar>span{background:var(--accent);border-radius:1px}.bar.warn>span{background:var(--warn)}.bar.bad>span{background:var(--bad)}.bar.good>span{background:var(--good)}.bar.has-used{position:relative}.bar.has-used>span:first-child{opacity:.4}.bar>.bar-used{position:absolute;inset:0 auto 0 0}.btn{font-family:var(--font-display);font-weight:600;font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--btn-fg);text-shadow:0 1px 2px #000000b3;white-space:nowrap;transition:filter var(--dur-hover) ease-out;background:0 0;border:0 solid #0000;border-image:url(/ui/btn-plain.png) 8 fill/4px;padding:10px 16px}.btn.primary,.btn.danger{font-size:var(--text-md);color:var(--btn-primary-fg);background:0 0;border-image:url(/ui/btn-primary.png) 35 75 fill/16px 34px;padding:10px 28px}.btn.danger{border-image-source:url(/ui/btn-danger.png)}.chip{border-radius:var(--radius-pill);font-size:var(--text-md);background:var(--chip-bg);border:1px solid var(--line);min-height:44px;color:var(--text);transition:background-color var(--dur-hover) ease-out, border-color var(--dur-hover) ease-out}.chip.on{background:var(--chip-on-bg);border-color:var(--chip-on-bg);color:var(--chip-on-fg)}.chip-note{color:var(--muted);font-size:var(--text-sm);margin-left:var(--space-1)}.chip.on .chip-note{color:inherit}@media (hover:hover){.btn:hover:not(:disabled){filter:brightness(1.15)}.chip:hover{background:var(--chip-bg-hover);border-color:var(--line-strong)}.chip.on:hover{background:var(--accent-hover)}a.item:hover,button.item:hover,.tappable:hover{background-color:var(--row-hover)}}.btn:active:not(:disabled){filter:brightness(.82);transition-duration:var(--dur-press)}.chip.on:active{background:var(--btn-primary-bg-pressed)}.chip:active{background:var(--surface-sunken)}.btn:disabled{opacity:.45;cursor:not-allowed}.input,select.input,textarea.input{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--input-bg)}.input:focus-visible{border-color:var(--ring)}.toggle{background:var(--toggle-off)}.toggle.on{background:var(--toggle-on)}.toggle:after{background:var(--ink-100)}.avatar{background:var(--surface-2);border:1px solid var(--line);border-radius:50%}.cat-icon{vertical-align:-.38em;object-fit:contain;filter:drop-shadow(0 1px 1px #0009);width:1.45em;height:1.45em;display:inline-block}h1 .cat-icon{vertical-align:-.18em;width:1.15em;height:1.15em}.avatar img.avatar-icon{object-fit:contain;width:78%;height:78%}.quest-emoji .cat-icon{vertical-align:0;width:20px;height:20px}.icon-choice{align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-2) var(--space-3);background:var(--input-bg);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);text-align:left;display:flex}.icon-choice .cat-icon{vertical-align:0;width:32px;height:32px}.icon-picker{margin-top:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:#00000059;border:1px solid #c9a23273}.icon-picker-group{margin:var(--space-2) 0 var(--space-1)}.icon-grid{gap:var(--space-1);grid-template-columns:repeat(auto-fill,minmax(48px,1fr));display:grid}.icon-cell{border-radius:var(--radius-sm);background:#ffffff08;border:1px solid #0000;place-items:center;height:48px;padding:0;display:grid}.icon-cell img{object-fit:contain;width:40px;height:40px}.icon-cell.on{border-color:var(--gold-300);box-shadow:inset 0 0 10px #f2c94c4d}@media (hover:hover){.icon-cell:hover{background:#ffffff14}}.icon-picker-emoji{margin:var(--space-3) 0 0}.banner{border-radius:var(--radius-md);border:1px solid var(--line);border-left:5px solid var(--attention);background:var(--surface);box-shadow:var(--shadow)}.nav{background:var(--nav-bg);border-top:1px solid var(--ink-700)}.nav a{color:var(--nav-fg);font-size:var(--text-xs);transition:color var(--dur-hover) ease-out}.nav a.active{color:var(--nav-fg-active)}.nav a .ico{border:0 solid #0000;border-image:url(/ui/slot.png) 8 fill/4px;place-items:center;width:40px;height:40px;display:grid}.nav a.active .ico{box-shadow:0 0 10px #f2c94c59}.nav-icon{filter:saturate(.8)brightness(.85);width:32px;height:32px;transition:filter var(--dur-hover) ease-out, transform var(--dur-hover) ease-out;display:block}.nav a.active .nav-icon{filter:drop-shadow(0 0 4px #b4e07ad9)drop-shadow(0 0 10px #7db34a80);transform:scale(1.06)}.nav .dot{background:var(--crimson-800);box-shadow:0 0 0 1.5px var(--nav-bg)}@media (hover:hover){.nav a:hover{color:var(--text)}.nav a:hover .nav-icon{filter:none}}@media (width>=900px){.nav{border-top:0;border-right:1px solid var(--ink-700)}.nav .brand{font-family:var(--font-display);font-weight:600;font-size:var(--text-lg);letter-spacing:.06em;color:var(--money)}.nav a{font-size:var(--text-md)}.nav a.active{box-shadow:inset 2px 0 0 var(--accent);background:#7db34a1a}}.sheet{background:var(--sheet-body);border-top:1px solid #c9a232b3}.sheet:focus{outline:none}.sheet-head{background:linear-gradient(180deg, #ebffe11a 0%, #ebffe10b 100%), color-mix(in srgb, var(--glass-tint) var(--glass-opacity), var(--sheet-body));height:24px;margin-bottom:0}.sheet>h1{padding:0 52px var(--space-3)}.sheet-close{top:26px}.sheet-grip{background:var(--line)}.sheet-close{color:#0000;background:url(/ui/icon-close.png) 50%/14px no-repeat,#1f2124;border:0 solid #0000;border-image:url(/ui/btn-plain.png) 8/4px}.pot-left-total{color:var(--accent-text);font-weight:600}.burn-label{font-family:var(--font-text);fill:var(--text);paint-order:stroke;stroke:var(--sheet-body);stroke-width:3px;stroke-linejoin:round}.burn-label.due{fill:var(--muted);font-style:italic}.burn-key{font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;margin-top:6px;display:flex}.burn-figures,.burn-legend{gap:10px;display:flex}.burn-figures strong{color:var(--text);font-weight:600}.burn-legend>span{align-items:center;gap:4px;display:inline-flex}.burn-legend i{border-top:2px solid var(--accent);width:14px;display:inline-block}.burn-legend i.dotted{opacity:.8;border-top-style:dotted}.burn-legend i.dashed{border-top:2px dashed var(--line)}.loot{font-weight:600}.loot-common{color:var(--loot-common)}.loot-uncommon{color:var(--loot-uncommon)}.loot-rare{color:var(--loot-rare)}.loot-epic{color:var(--loot-epic)}.loot-legendary{color:var(--loot-legendary);text-shadow:0 0 10px #ff9a3c59}.xp{position:absolute;top:-7px;left:0;right:0}.xp-bar{background:var(--track-bg);border-top:1px solid var(--line-strong);height:7px;position:relative;overflow:hidden}.xp-fill{background:var(--accent);height:100%;display:block;box-shadow:0 0 8px #7db34a80}.xp-bar:after{content:"";background:repeating-linear-gradient(90deg,#0000 0 calc(5% - 1px),#000000bf calc(5% - 1px) 5%);position:absolute;inset:0}.xp-label{display:none}@media (width>=900px){.xp{margin:0 10px 14px;position:static}.xp-bar{border:1px solid var(--line-strong);border-radius:1px;height:8px}.xp-label{margin-top:var(--space-1);font-size:var(--text-xs);color:var(--muted);text-align:center;display:block}}.quest-marker{flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.quest-bang{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);color:var(--gold-300);text-shadow:0 0 1px #000,0 2px #3a2610,0 0 2px #000;line-height:1}.quest-emoji{font-size:var(--text-sm);position:absolute;bottom:0;right:0}.quest-marker.soon .quest-bang{animation:1.8s ease-in-out infinite quest-glow}.quest-marker.overdue .quest-bang{color:var(--bad)}@keyframes quest-glow{0%,to{text-shadow:0 0 1px #000,0 2px #3a2610,0 0 6px #f1d77e66}50%{text-shadow:0 0 1px #000,0 2px #3a2610,0 0 16px #f1d77ef2}}.achievement{z-index:60;left:50%;top:calc(env(safe-area-inset-top) + 12px);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:2px solid var(--gold-500);border-radius:var(--radius-md);width:max-content;max-width:calc(100% - 32px);box-shadow:inset 0 0 0 3px var(--surface), inset 0 0 0 4px var(--gold-700), 0 12px 32px #0009, 0 0 24px #f1d77e40;animation:achievement-in .5s var(--ease-out) both;cursor:pointer;display:flex;position:fixed;transform:translate(-50%)}.achievement.leaving{animation:.45s ease-in both achievement-out}.sigil{filter:drop-shadow(0 0 6px #b4e07a73);flex:none;place-items:center;width:40px;height:44px;display:grid;position:relative}.sigil svg{position:absolute;inset:0}.sigil-icon{font-size:var(--text-lg);margin-top:-2px;line-height:1;position:relative}.sigil.dim{filter:grayscale()brightness(.55);opacity:.7}.achievement-grid{gap:var(--space-3);display:grid}@media (width>=700px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.achievement-grid .card+.card{margin-top:0}.achievement-card{gap:var(--space-3);align-items:flex-start;display:flex}.achievement-card.earned{border-color:var(--gold-700);box-shadow:var(--shadow), inset 0 0 0 1px #f1d77e2e}.achievement-card-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-md);letter-spacing:.02em}.achievement-card.locked .achievement-card-title{color:var(--muted)}.achievement-count{color:var(--gold-300);font-weight:600}.achievement-date{color:var(--gold-200);margin-top:2px}.achievement-card.locked .achievement-date{color:var(--muted)}.achievement-kicker{letter-spacing:.08em;font-variant-caps:all-small-caps;font-weight:600;font-size:var(--text-sm);color:var(--gold-300)}.achievement-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);line-height:1.2}.achievement-text{font-size:var(--text-sm);color:var(--muted)}@keyframes achievement-in{0%{opacity:0;transform:translate(-50%,-24px)scale(.96)}to{opacity:1;transform:translate(-50%)}}@keyframes achievement-out{to{opacity:0;transform:translate(-50%,-16px)}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.roll{align-items:flex-start;line-height:1.15;display:inline-flex}.roll-char{height:1.15em;display:block}.roll-col{height:1.15em;display:block;overflow:hidden}.roll-strip{transition:transform .9s var(--ease-out);flex-direction:column;display:flex}.roll-strip>span{text-align:center;height:1.15em;display:block}.bar>span{transition:width .8s var(--ease-out)}.main>.card,.main>.grid>.card,.main>div>.card{animation:card-rise .4s var(--ease-out) both}.main>.grid>.card:nth-child(2){animation-delay:40ms}.main>.grid>.card:nth-child(3){animation-delay:80ms}.main>.grid>.card:nth-child(4){animation-delay:.12s}@keyframes card-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.month-bar,.sticky-day{z-index:2;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.month-bar{margin:calc(-1 * var(--main-top)) calc(-1 * var(--main-side)) 0;padding:calc(env(safe-area-inset-top) + var(--space-2)) var(--main-side) var(--space-3);background:url(/ui/rule-side.png) left bottom / 100% 4px no-repeat, linear-gradient(160deg, #ebffe11a 0%, #ebffe108 30%, transparent 55%), var(--glass);-webkit-backdrop-filter:blur(20px)saturate(1.4);backdrop-filter:blur(20px)saturate(1.4);transition:box-shadow .25s ease-out}.month-bar.stuck{box-shadow:0 1px 0 var(--line), 0 8px 18px #00000073}.month-bar-figures{animation:figures-in .3s var(--ease-out) both}.month-bar-figures .gold{color:var(--money);font-weight:700}.month-bar-figures .fel{color:var(--accent-text);font-weight:700}@keyframes figures-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.sticky-day{top:env(safe-area-inset-top);margin-left:calc(-1 * var(--space-4));margin-right:calc(-1 * var(--space-4));padding:var(--space-2) var(--space-4)}@media (prefers-reduced-motion:reduce){.quest-marker.soon .quest-bang,.achievement,.achievement.leaving,.hero,.hero:before,.hero .big{animation:none}.hero .big{background-position:0 0}.btn,.chip,.nav a,.nav-icon,.roll-strip,.bar>span,.month-bar{transition:none}.main>.card,.main>.grid>.card,.main>div>.card,.month-bar-figures,.login-logo,.login-window{animation:none}}.sigil.art{border:2px solid var(--gold-300);border-radius:var(--radius-sm);filter:none;background:#0000008c;width:46px;height:46px;overflow:hidden;box-shadow:inset 0 0 0 1px #000,0 0 10px #f2c94c59}.sigil.art img{object-fit:contain;width:100%;height:100%;padding:3px;display:block}.sigil.art.dim{filter:grayscale()brightness(.55);border-color:var(--line-strong);box-shadow:inset 0 0 0 1px #000}.login-crest{text-align:center;max-width:380px}.login-logo{width:120px;height:120px;margin:0 auto var(--space-3);clip-path:inset(2% round 16%);filter:drop-shadow(0 6px 14px #000000b3)drop-shadow(0 0 22px #f2c94c47);display:block}@keyframes login-float{50%{transform:translateY(-5px)}}.login-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:.08em;background:linear-gradient(#fff4c8 0%,#f1d77e 40%,#e0b444 65%,#b88a2a 100%);color:#0000;filter:drop-shadow(0 2px 1px #000c);-webkit-background-clip:text;background-clip:text;line-height:1.2}.login-tagline{margin:var(--space-2) auto 0;max-width:300px;color:var(--muted);font-size:var(--text-sm);text-shadow:0 1px 4px #000000e6}.login-wares{justify-content:center;gap:var(--space-3);margin:var(--space-4) 0 0;padding:0;list-style:none;display:flex}.login-wares li{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--muted);flex-direction:column;display:flex}.login-wares img{object-fit:contain;border:0 solid #0000;border-image:url(/ui/slot.png) 8 fill/4px;width:48px;height:48px;padding:4px}@media (prefers-reduced-motion:no-preference){.login-logo{animation:5s ease-in-out infinite login-float}.login-window{animation:card-rise .5s .1s var(--ease-out) both}}.login-wait{text-align:center}.login-providers{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.login-provider{justify-content:flex-start;gap:var(--space-3);text-transform:none;letter-spacing:.02em;font-size:var(--text-md)}.login-provider-badge{place-items:center;display:grid}.login-or{align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-3);color:var(--muted);letter-spacing:.1em;font-variant-caps:all-small-caps;display:flex}.login-or:before,.login-or:after{content:"";background:url(/ui/rule-side.png) 0 0/100% 4px no-repeat;flex:1;height:4px}.login-passcode .pin{background:#00000073;border-color:#c9a2328c}.login-passcode .btn{margin-top:var(--space-2)}.login-foot{text-align:center;max-width:320px;color:var(--muted);text-shadow:0 1px 4px #000000e6}.tiles{margin-top:var(--space-4);-webkit-touch-callout:none}.tile+.tile{margin-top:var(--space-3)}.tile>h2:first-child{margin-top:var(--space-6)}.tiles-edit-link{margin:var(--space-6) auto 0;padding:var(--space-2) var(--space-4);color:var(--muted);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline;display:block}.tiles-edit-bar{top:calc(env(safe-area-inset-top) + 64px);z-index:3;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--sheet-body);border:1px solid #c9a23299;display:flex;position:sticky;box-shadow:0 8px 18px #00000080}.tiles-edit-bar .btn{min-height:40px}.tile.editing{padding:var(--space-2);border-radius:var(--radius-md);background:#00000040;border:1px dashed #c9a232b3}.tile.editing.is-hidden{opacity:.55;border-style:dotted}.tile-tools{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.tile-title{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.04em;color:var(--gold-200);flex:1}.tile-btn{min-width:44px;min-height:44px;padding:0 var(--space-2);color:var(--text);font-size:var(--text-md);background:#1f2124;border:0 solid #0000;border-image:url(/ui/btn-plain.png) 8/4px}.tile-btn.wide{min-width:64px;font-size:var(--text-sm)}.tile-btn:disabled{opacity:.35}.tile-preview{opacity:.6;pointer-events:none;max-height:180px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}.tile-preview h2:first-child{margin-top:0}.heatmap-row{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.heatmap-head span{text-align:center;font-size:var(--text-xs);color:var(--muted)}.heat{aspect-ratio:1;border-radius:var(--radius-sm);font-size:var(--text-xs);color:#eee6cfbf;place-items:center;display:grid}.heat.l0{background:#ffffff0d}.heat.l1{background:#24461a}.heat.l2{background:#3f7a2a}.heat.l3{color:#12100b;background:#a68b2c}.heat.l4{color:#12100b;background:#f1c24e;font-weight:700}.heat.future{color:var(--muted);background:0 0;border:1px dashed #ffffff1f}.heat.today{box-shadow:0 0 0 2px var(--gold-300)}.heat.empty{background:0 0}.heatmap-legend{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.heatmap-scale{align-items:center;gap:3px;display:inline-flex}.heatmap-scale .heat{border-radius:var(--radius-sm);width:12px;height:12px}.pace-row{justify-content:space-between;margin-bottom:4px;display:flex}.achievements-tile-row{gap:var(--space-2);margin-top:var(--space-3);display:flex}.day-filter{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--glass);border:1px solid #c9a2328c;display:flex}.day-filter .btn{min-height:40px}.heatmap-switch{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.heatmap-switch .chip{min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}a.heat{text-decoration:none}@media (hover:hover){a.heat:hover{outline:1px solid var(--gold-300)}}.heatmap-year{gap:var(--space-3) var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}@media (width>=700px){.heatmap-year{grid-template-columns:repeat(4,1fr)}}.heatmap-month .heatmap-row{gap:2px;margin-bottom:2px}.heatmap-month-label{color:var(--muted);margin-bottom:var(--space-1)}.heat.compact{border-radius:var(--radius-sm)}.heat.compact.today{box-shadow:0 0 0 1px var(--gold-300)}.tiles:not(.editing){-webkit-user-select:none;user-select:none}.kind-hint{margin-top:var(--space-1);display:block}.group-head{padding-bottom:0}.group-toggle{align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:var(--space-1) 0;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;-webkit-user-select:none;user-select:none;cursor:pointer;background:0 0;border:0;display:flex}.group-chevron{border-right:2px solid var(--gold-300);border-bottom:2px solid var(--gold-300);width:8px;height:8px;transition:transform var(--dur-hover) ease-out;flex:none;transform:rotate(45deg)translate(-2px,-2px)}.group-toggle[aria-expanded=false] .group-chevron{transform:rotate(-45deg)}.group-count{color:var(--muted)}.card[hidden]{display:none}.ledger-range{gap:var(--space-1);display:flex}.ledger-range .chip{min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.ledger-intro{margin:0 0 var(--space-2)}.ledger-link{margin-top:var(--space-2);color:var(--accent-text);display:inline-block}.ledger-legend{gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ledger-legend li{align-items:center;gap:var(--space-1);display:inline-flex}.ledger-legend .sym{border-radius:var(--radius-sm);place-items:center;width:18px;height:18px;font-weight:700;display:inline-grid}.ledger-scroll{max-height:calc(100dvh - env(safe-area-inset-top) - 260px);margin:0 calc(-1 * var(--main-side));background:var(--window-body);overscroll-behavior:contain;border-top:1px solid #c9a23273;border-bottom:1px solid #c9a23273;overflow:auto}@media (width>=900px){.ledger-scroll{border-radius:var(--radius-md);border:1px solid #c9a23273;max-height:calc(100dvh - 240px);margin:0}}.ledger{border-collapse:separate;border-spacing:0;font-size:var(--text-xs)}.ledger th,.ledger td{padding:0}.ledger thead th{z-index:2;background:color-mix(in srgb, var(--glass-tint) 55%, var(--sheet-body));position:sticky;top:0}.ledger .ledger-name{z-index:1;min-width:118px;max-width:118px;padding:0 var(--space-2);text-align:left;background:var(--sheet-body);font-weight:400;position:sticky;left:0;box-shadow:1px 0 #c9a23259}.ledger thead .ledger-name{z-index:3}.ledger-name-in{align-items:center;gap:var(--space-1);min-width:0;display:flex}.ledger-name-in .cat-icon{vertical-align:0;flex:none;width:20px;height:20px}.ledger-month{text-align:center;min-width:54px;height:36px;font-family:var(--font-display);letter-spacing:.04em;color:var(--gold-200);font-weight:600}.ledger-month-year{font-size:var(--text-xs);color:var(--muted);font-family:var(--font-text);margin-left:2px}.ledger-month.is-current{color:var(--gold-300);box-shadow:inset 0 -2px 0 var(--gold-300)}.ledger-month.is-future{color:var(--muted)}.ledger-group th{padding:var(--space-2) var(--space-2) var(--space-1);text-align:left;letter-spacing:.08em;color:var(--muted);font-variant-caps:all-small-caps;font-weight:600;font-size:var(--text-sm)}.ledger-group th span{left:var(--space-2);position:sticky}.ledger-total td,.ledger-total th{text-align:center;height:30px;color:var(--text);border-bottom:1px solid #ffffff0d}.ledger-total th{text-align:left;color:var(--muted)}.ledger tbody tr:not(.ledger-group):not(.ledger-total)>*{border-bottom:1px solid #ffffff0a}.ledger tbody th.ledger-name{height:40px}.is-current:not(th){background-color:#f2c94c0d}.ledger-cell{min-width:54px;height:40px;padding:2px!important}.ledger-cell button{border-radius:var(--radius-sm);width:100%;height:100%;min-height:36px;color:var(--text);font:inherit;text-align:right;cursor:pointer;border:1px solid #0000;grid-template-columns:auto 1fr;align-items:center;column-gap:3px;padding:0 4px;display:grid}.ledger-cell .sym{text-align:left;font-weight:700}.ledger-cell .of{font-size:var(--text-xs);color:var(--muted);grid-column:1/-1;display:none}.tone-good button,.ledger-legend .tone-good .sym{background:#7db34a2e}.tone-good .sym{color:var(--accent-text)}.tone-warn button,.ledger-legend .tone-warn .sym{background:#e2a64333}.tone-warn .sym{color:var(--warn)}.tone-bad button,.ledger-legend .tone-bad .sym{background:#c23b4447}.tone-bad .sym{color:var(--bad)}.tone-gold button,.ledger-legend .tone-gold .sym{background:#f2c94c33}.tone-gold .sym{color:var(--gold-300)}.tone-quiet button{color:var(--muted);background:0 0;border:1px dashed #ffffff24}.tone-quiet .sym{color:var(--muted)}.ledger-legend .tone-quiet .sym{border:1px dashed #fff3}.ledger-cell.is-current button{box-shadow:0 0 0 1px #f2c94c73}@media (hover:hover){.ledger-cell button:hover{border-color:var(--gold-300)}}@media (width>=900px){.ledger{font-size:var(--text-sm)}.ledger .ledger-name{min-width:200px;max-width:200px}.ledger-month,.ledger-cell{min-width:96px}.ledger-cell{height:48px}.ledger-cell .of{text-align:right;display:block}}.ledger-detail{gap:var(--space-2);display:grid}.ledger-detail-status{font-weight:700}.ledger-detail .sym{border-radius:var(--radius-sm);place-items:center;width:24px;height:24px;display:inline-grid}.ledger-key{margin:0 0 var(--space-2)}.ledger-key summary{color:var(--accent-text);cursor:pointer}.ledger-key[open] .ledger-legend{margin-top:var(--space-2)}.item.needs-review{box-shadow:inset 3px 0 0 var(--warn);background-color:#e2a6430f}.chip-count{min-width:20px;height:20px;margin-left:var(--space-1);border-radius:var(--radius-pill);background:var(--crimson-800);color:var(--text);font-size:var(--text-xs);place-items:center;padding:0 5px;font-weight:700;display:inline-grid}.chip.on .chip-count{background:var(--accent-ink);color:var(--accent-text)}.to-sort-bar{margin:0 0 var(--space-3)}.to-sort-bar .btn{font-size:var(--text-sm);flex:none;min-height:40px;padding:8px 22px}.all-sorted{text-align:center;padding:var(--space-6)}.all-sorted div{font-size:var(--text-xl)}:root{--vault-floor:#070c06;--status-bar:#172211}.app,.login{isolation:isolate;background:var(--vault-floor);position:relative}.app:before,.login:before{content:"";pointer-events:none;z-index:-1;background:url(/bg/vault-tall.jpg) center top / 100% auto no-repeat, var(--vault-floor);position:fixed;inset:0}@media (aspect-ratio>=1){.app:before,.login:before{background:url(/bg/vault-wide.jpg) center top / 100% auto no-repeat, var(--vault-floor)}}.nav{border-top:1px solid #000;box-shadow:inset 0 1px #fff0c814,0 -6px 18px #00000080}.nav a{z-index:0;position:relative}.nav a.active:before{content:"";z-index:-1;background:radial-gradient(60% 70% at 50% 40%,#7db34a4d,#0000 75%);border-radius:12px;position:absolute;inset:-2px 8%}@media (width>=900px){.nav{border-top:0;border-right:1px solid #000;box-shadow:inset -1px 0 #fff0c80f,6px 0 18px #00000080}.nav a.active:before{background:radial-gradient(70% 90% at 0%,#7db34a47,#0000 75%);border-radius:10px;inset:0}}
