@charset "UTF-8";
:root{font-family:system-ui,"Segoe UI",sans-serif;font-synthesis:none;color:#f4f6fd;background:#0a1730;--ink:#f4f6fd;--muted:#c9d5ec;--gold:#f4dba0;--hp:#89e6c0;--line:#d9e5f333;--digits:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;isolation:isolate}
#landscape{position:fixed;inset:0;z-index:-1;background:#233c70 url('/backgrounds/plains.jpg') center/cover no-repeat;filter:brightness(.5) blur(6px);transform:scale(1.05);pointer-events:none}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{opacity:.5;cursor:wait}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
input{min-width:0}
.icon{width:17px;height:17px;flex:none;vertical-align:middle}
.shell{width:min(calc(100% - 32px),420px);margin:48px auto 64px;padding:25px 23px 18px;border:1px solid #d6e2f0d9;border-radius:9px;background:rgb(16 34 78 / 85%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 0 0 0 3px #d3e2fc1f,0 8px 30px #08152c44;text-shadow:0 1px 3px #06142b80}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:25px}
.brand{display:flex;gap:8px;align-items:center;font-size:11px;letter-spacing:.12em}
#brand-icon{color:var(--gold)}
.local-label{font-size:10px;color:var(--muted);white-space:nowrap}
main{min-width:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.balance-label{display:flex;align-items:center;gap:8px;color:var(--gold);font-size:13px}
.balance-value{margin:5px 0 29px;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font:500 46px/1.2 var(--digits);font-variant-numeric:tabular-nums lining-nums;overflow-wrap:anywhere}
.balance-value small{color:var(--muted);font:13px/1.5 system-ui,sans-serif}
.hp-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.hp-label{font:500 22px/1.3 var(--digits);color:var(--hp)}
.hp-fraction{font:500 23px/1.3 var(--digits);font-variant-numeric:tabular-nums lining-nums}
.hp-fraction small{color:var(--muted);font:500 14px/1.3 var(--digits);margin-left:5px}
.gauge-track{height:46px;background:#05102b66;border-radius:5px;overflow:hidden}
.gauge-fill{height:100%;width:0;background:linear-gradient(0deg,color-mix(in srgb,var(--hp),#205b73 30%),var(--hp) 49%,color-mix(in srgb,var(--hp),#fff 17%) 51%,var(--hp));box-shadow:inset 0 1px #edfff5aa}
.gauge-scale{display:flex;justify-content:space-between;gap:8px;margin-top:9px;color:var(--muted);font:12px/1.5 var(--digits)}
.stock-row{display:flex;align-items:center;gap:10px;padding:17px 0;margin-top:18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--gold)}
.stock-label{display:flex;align-items:center;gap:8px;font-size:12px;margin-right:auto;white-space:nowrap}
.stock-label .icon,.stock-icons .icon{fill:#f4dba025}
.stock-icons{display:flex;gap:4px;align-items:center}
.stack-count{font:500 28px/1.2 var(--digits);font-variant-numeric:tabular-nums;white-space:nowrap}
.charge-info{display:flex;justify-content:space-between;gap:8px;align-items:center;color:var(--muted);font-size:11px;margin-top:17px}
.charge-info>span:first-child{display:flex;gap:5px;align-items:center}
.charge-info .icon{color:var(--hp);width:14px;height:14px}
.charge-info strong{font:500 14px/1.3 var(--digits);color:var(--ink)}
.charge-info>span:last-child,.next-charge{font:12px/1.5 var(--digits)}
.next-charge{text-align:right;margin:5px 0 0;color:var(--muted);font-size:10px}
.negative{--hp:#ffa0ad;--gold:#f7b6c3}
.negative .balance-value{color:#ffd4dd}
.amount-card{margin-top:28px}
.amount-card>label{font-size:12px;color:var(--muted)}
.money-field{display:flex;align-items:center;gap:10px;padding:10px 0 11px;border-bottom:1px solid #d8e4f65c;color:var(--muted)}
.money-field input{width:100%;border:0;background:transparent;color:var(--ink);padding:4px;text-align:right;font:500 32px/1.3 var(--digits);font-variant-numeric:tabular-nums lining-nums;text-shadow:0 1px 3px #06142b80}
.money-field input::placeholder{color:#c9d5ec77}
.entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:17px}
.primary,.charge-button{display:flex;justify-content:center;align-items:center;gap:8px;min-height:49px;width:100%;border-radius:5px;padding:12px 8px;font-size:14px;font-weight:500}
.primary{color:#162c52;border:1px solid #edf5ff;background:linear-gradient(#e9f1fe,#bfd3ee);box-shadow:inset 0 1px #ffffffb0;text-shadow:none}
.primary:hover{background:#e9f2ff}
.charge-button{color:var(--gold);border:1px solid #ead39c8c;background:#172a4b88}
.charge-button .icon{fill:#f4dba033}
.below-main{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px;padding-top:15px;border-top:1px solid var(--line)}
.nav-links{display:flex;align-items:center;gap:17px}
.nav-links a,.undo-toggle{display:flex;gap:5px;align-items:center;color:var(--muted);font:11px/1.5 system-ui,sans-serif;background:transparent;border:0;min-height:36px;padding:5px 0}
.nav-links .icon,.undo-toggle .icon{width:14px;height:14px}
.undo-panel{margin-top:12px;padding:16px;background:#0a173877;border:1px solid var(--line);border-radius:6px;font-size:12px}
.undo-action{padding:10px 12px;margin-top:8px;color:var(--ink);background:#234575;border:1px solid var(--line);border-radius:5px}
footer{display:flex;flex-wrap:wrap;gap:5px 12px;justify-content:space-between;margin-top:21px;padding-top:13px;border-top:1px solid var(--line);color:#b3c5e0;font-size:9px}
footer button{background:transparent;color:var(--muted);border:0;padding:4px 0;text-decoration:underline}
.notice{color:#cce6ba;font-size:11px;min-height:0;margin:9px 0 0}
.notice:empty{display:none}
#error{background:#381c3f;color:#ffd1d9;padding:13px;border:1px solid #cc809266;border-radius:6px;font-size:12px;line-height:1.8;margin-top:15px}
h1{font-size:23px;font-weight:500;margin:8px 0 14px}
h2{font-size:17px;font-weight:500;margin:0 0 18px}
.eyebrow{font-size:10px;letter-spacing:.13em;color:var(--muted)}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.page-heading h1{margin-bottom:0}
.text-button{padding:10px 0;color:var(--muted);font-size:11px;white-space:nowrap}
.intro{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:25px}
.card{border:1px solid #aec7ec55;border-radius:7px;background:#11265077;padding:19px}
.field{margin:18px 0}
.field label{display:block;font-size:12px;margin-bottom:9px}
.field input{display:block;width:100%;border:1px solid #bad1ee66;border-radius:5px;background:#0a173855;padding:12px;color:var(--ink);font:500 23px/1.4 var(--digits);font-variant-numeric:tabular-nums}
.hint{font-size:11px;color:var(--muted);line-height:1.8;margin-top:12px}
.preview{background:#081a4288;padding:14px;border-radius:5px;font-size:12px;line-height:1.8;margin:18px 0;color:var(--muted)}
.preview strong{font:500 25px/1.5 var(--digits);color:var(--gold)}
.section-gap{margin-top:19px}
.danger-zone{margin-top:25px;padding-top:23px;border-top:1px solid var(--line)}
.danger-zone p{color:var(--muted);font-size:12px;line-height:1.9}
.danger{color:#ffd0d4;background:#58334988;border:1px solid #ffb1b555;border-radius:5px;padding:12px 14px;font-size:12px}
.history-list{padding:0 15px;border:1px solid #aec7ec55;border-radius:7px;background:#11265077}
.history-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}
.history-row:last-child{border-bottom:0}
.history-row strong{font-size:12px;font-weight:500;display:block}
.history-row time{font:11px/1.5 var(--digits);color:var(--muted);display:block;margin-top:5px}
.history-amount{font:500 21px/1.4 var(--digits);white-space:nowrap}
.history-amount small{font-size:12px}
.history-amount.positive{color:var(--gold)}
.reset-info{text-align:right;font:12px/1.7 var(--digits);color:var(--muted)}
.history-note{color:var(--muted);font-size:10px;line-height:1.8;margin:0 0 14px}
.empty{text-align:center;padding:26px 5px;font-size:12px;color:var(--muted);line-height:1.9}
.edit-actions{display:flex;gap:12px;margin-top:20px}
.loading{color:var(--muted);text-align:center;padding:50px 0;font-size:12px}
dialog{color:var(--ink);background:#172d57;border:1px solid #c9dcf5cc;border-radius:8px;padding:24px;max-width:365px;width:calc(100% - 32px)}
dialog::backdrop{background:#05102588;backdrop-filter:blur(3px)}
dialog p{color:var(--muted);font-size:12px;line-height:1.9}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.dialog-actions button{border-radius:5px;padding:11px 14px}
.cancel{color:var(--ink);background:#29477b;border:1px solid var(--line)}
@media(max-width:480px){.shell{margin:27px auto 42px;width:calc(100% - 28px);padding:22px 19px 17px}.balance-value{font-size:43px}.topbar{gap:8px}.brand{font-size:10px;letter-spacing:.08em}.local-label{font-size:9px}}
@media(max-width:350px){.shell{padding:20px 15px 16px;width:calc(100% - 22px)}.balance-value{font-size:39px}.stock-row{gap:6px}.stock-label{font-size:11px;gap:5px}.stock-icons .icon{width:14px}.stack-count{font-size:24px}.charge-info{font-size:10px;gap:4px}.charge-info>span:first-child{gap:3px}}
@media(max-height:600px) and (max-width:480px){.shell{margin-top:12px;padding-top:17px}.topbar{margin-bottom:18px;padding-bottom:12px}.balance-value{margin-bottom:18px;font-size:37px}.stock-row{margin-top:13px;padding:12px 0}.amount-card{margin-top:19px}.below-main{margin-top:17px;padding-top:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
