:root{--brand:#6fb1c9;--brand-strong:#3d8eac;--bg:#f2f2f7;--card:#fff;--fill:#e5e5ea;--text:#000;--text-secondary:#3c3c4399;--green:#34c759;--orange:#ff9500;--red:#ff3b30;--icon-cut:#fff;--shadow:0 2px 4px #0000000d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--brand-strong:#6fb1c9;--bg:#000;--card:#1c1c1e;--fill:#2c2c2e;--text:#fff;--text-secondary:#ebebf599;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--icon-cut:#1c1c1e;--shadow:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,system-ui,sans-serif}button,input{font:inherit}.icon{flex:none;width:1em;height:1em}.button{cursor:pointer;border:none;border-radius:12px;padding:14px 16px;font-weight:600}.button:disabled{opacity:.5;cursor:default}.button--primary{background:var(--brand-strong);color:#fff}.button--secondary{background:var(--fill);color:var(--text)}.button--danger{color:var(--red)}.button--small{background:var(--fill);color:var(--text);border-radius:8px;padding:6px 12px;font-size:15px}.login{max-width:480px;padding:calc(env(safe-area-inset-top) + 64px) 24px calc(env(safe-area-inset-bottom) + 24px);margin:0 auto}.login__title{text-align:center;margin:0 0 32px;font-size:34px}.login__form{flex-direction:column;gap:12px;display:flex}.login__label{color:var(--text-secondary);font-size:13px}.login__input{border:1px solid var(--fill);background:var(--card);width:100%;color:var(--text);border-radius:12px;padding:14px;font-size:16px}.login__error{color:var(--red);margin:0;font-size:15px}.login__note{color:var(--text-secondary);margin:24px 0 0;font-size:13px;line-height:1.6}.list{max-width:640px;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 24px);margin:0 auto}.list__header{justify-content:space-between;align-items:baseline;margin:8px 4px 12px;display:flex}.list__title{margin:0;font-size:34px}.list__status,.list__placeholder{color:var(--text-secondary);font-size:13px}.list__placeholder{text-align:center;margin-top:48px}.list__items{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.notice{background:var(--card);color:var(--red);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;font-size:15px;display:flex}.notice .button{white-space:nowrap;flex:none}.notice p{margin:0}.empty{text-align:center;margin-top:96px}.empty__title{margin:0 0 8px;font-size:20px;font-weight:700}.empty__text{color:var(--text-secondary);margin:0;font-size:15px}.card{background:var(--card);box-shadow:var(--shadow);border:1.5px solid #0000;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.card--warning{border-color:color-mix(in srgb, var(--orange) 60%, transparent)}.card--expired{border-color:color-mix(in srgb, var(--red) 70%, transparent)}.card__head{align-items:baseline;gap:8px;display:flex}.card__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:17px;font-weight:600;overflow:hidden}.card__open{width:100%;color:inherit;font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:inherit;background:0 0;border:none;padding:0;display:block;overflow:hidden}.card__bar{align-items:flex-start;gap:8px;display:flex}.card__cancel{background:var(--fill);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;flex:none;font-size:17px}.choices{flex-direction:column;gap:10px;display:flex}.choices__prompt{color:var(--text-secondary);align-items:center;gap:4px;margin:0;font-size:15px;display:flex}.choices__prompt--danger{color:var(--red)}.choices__buttons{gap:12px;display:flex}.choices__buttons .button{flex:1;padding:10px 12px;font-size:15px}.badge{background:var(--fill);color:var(--text-secondary);border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:600}.expiry{color:var(--text-secondary);align-items:center;gap:4px;margin:0;font-size:12px;display:flex}.expiry--warning{color:var(--orange)}.expiry--expired{color:var(--red)}.amount{flex:1;min-width:0}.amount__hint{color:var(--text-secondary);margin:4px 0 0;font-size:11px}.amount-bar{background:var(--fill);border-radius:999px;height:38px;position:relative;overflow:hidden}.amount-bar--large{height:48px}.amount-bar--adjustable{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:ew-resize}.amount-bar__fill{position:absolute;inset:0 auto 0 0}.amount-bar__fill--high{background:linear-gradient(color-mix(in srgb, var(--green) 80%, #fff), var(--green))}.amount-bar__fill--mid{background:linear-gradient(color-mix(in srgb, var(--orange) 80%, #fff), var(--orange))}.amount-bar__fill--low{background:linear-gradient(color-mix(in srgb, var(--red) 80%, #fff), var(--red))}.amount-bar__text{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex;position:absolute;inset:0}.list__actions{align-items:center;gap:12px;display:flex}.add-button{background:var(--brand-strong);color:#fff;cursor:pointer;border:none;border-radius:50%;width:36px;height:36px;font-size:22px;line-height:1}.card{cursor:pointer}.card--saving{cursor:default;opacity:.6}.card__saving{color:var(--text-secondary);flex:none;font-size:12px}body.no-scroll{overflow:hidden}.overlay{z-index:10;overscroll-behavior:contain;background:var(--bg);animation:.2s ease-out overlay-in;position:fixed;inset:0;overflow-y:auto}@keyframes overlay-in{0%{opacity:0;transform:translateY(24px)}}.sheet{max-width:640px;padding-bottom:calc(env(safe-area-inset-bottom) + 32px);margin:0 auto}.sheet__bar{z-index:1;padding:calc(env(safe-area-inset-top) + 8px) 8px 8px;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0}.sheet__title{margin:0;font-size:17px;font-weight:600}.bar-button{color:var(--brand-strong);cursor:pointer;background:0 0;border:none;justify-self:start;padding:8px;font-size:17px}.bar-button:last-child{justify-self:end}.bar-button--strong{font-weight:600}.bar-button:disabled{opacity:.4;cursor:default}.sheet__body{padding:8px 16px 0}.group{margin-top:24px}.group__label{color:var(--text-secondary);margin:0 16px 6px;font-size:13px;display:block}.group__box{background:var(--card);border-radius:12px;overflow:hidden}.group__box--padded{padding:12px 16px}.group__footer--error{color:var(--red)}.group__footer{color:var(--text-secondary);margin:6px 16px 0;font-size:13px;line-height:1.5}.field{justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin:0;padding:6px 16px;display:flex}.field+.field{border-top:.5px solid var(--fill)}.field--note{justify-content:flex-start;gap:4px;min-height:36px;font-size:12px}.field__label{flex:none}.field__value{color:var(--text-secondary)}.field__control{min-width:0;color:var(--text-secondary);text-align:right;background:0 0;border:none;font-size:16px}.field__control--text{width:100%;color:var(--text);text-align:left;padding:14px 16px;display:block}.field__control:focus{outline:none}.stepper{align-items:center;gap:12px;display:flex}.stepper button{background:var(--fill);width:36px;height:32px;color:var(--text);cursor:pointer;border:none;border-radius:8px;font-size:18px}.stepper button:disabled{opacity:.4;cursor:default}.stepper__value{text-align:center;font-variant-numeric:tabular-nums;min-width:3em}.row-button{width:100%;min-height:48px;color:var(--brand-strong);cursor:pointer;background:0 0;border:none;font-size:17px;display:block}.row-button:disabled{color:var(--text-secondary);cursor:default}.row-button--bordered{border-top:.5px solid var(--fill)}.row-button--danger{color:var(--red)}.candidates{margin:0;padding:0;list-style:none}.candidates li+li{border-top:.5px solid var(--fill)}.candidate{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.candidate__name{font-size:17px;font-weight:500}.candidate__raw{color:var(--text-secondary);font-size:12px;line-height:1.4}.scan{color:#fff;background:#000;position:fixed;inset:0;overflow:hidden}.scan__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scan__guide{pointer-events:none;border:3px solid #fff;border-radius:12px;position:absolute;inset:37.5% 10%;box-shadow:0 0 0 1px #0000004d}.scan__hint{text-align:center;text-shadow:0 1px 3px #000c;pointer-events:none;margin:0;font-size:15px;position:absolute;top:calc(62.5% + 16px);left:16px;right:16px}.scan__status{justify-content:center;align-items:center;margin:0;font-size:15px;display:flex;position:absolute;inset:0}.scan__close{top:calc(env(safe-area-inset-top) + 16px);color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;width:44px;height:44px;font-size:20px;position:absolute;right:16px}.scan__torch{left:50%;bottom:calc(env(safe-area-inset-bottom) + 40px);color:#fff;white-space:nowrap;cursor:pointer;background:#00000080;border:none;border-radius:999px;padding:12px 20px;font-size:17px;font-weight:600;position:absolute;transform:translate(-50%)}.scan__fallback{text-align:center;flex-direction:column;justify-content:center;gap:12px;max-width:420px;margin:0 auto;padding:24px;display:flex;position:absolute;inset:0}.scan__fallback p{margin:0;font-size:15px;line-height:1.5}.scan__photo{display:block}.scan__photo input{display:none}.splash{transition:opacity .4s ease-out}.splash--fade{opacity:0;pointer-events:none}
