:root{--ink:#1d1d1f;--muted:#6e6e73;--line:#d2d2d7;--bg:#f5f5f7;--card:#fff;--accent:#0a7c4a;--accent-ink:#065f46;--accent-soft:#e6f4ec;--warn:#b45309;--warn-soft:#fff4dc;--err:#b91c1c;--err-soft:#fee2e2;--brand:#ffd60a;--tag-ink:#4a3d00;--card-muted:#e8e8ed;--switch-off:#a1a1a6;--ink-soft:#c7c7cc;--radius:14px;--radius-sm:10px;--space:16px;--space-sm:8px;--touch:48px;--touch-lg:58px;--fs-sm:13px;--fs:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:34px;--font:-apple-system, system-ui, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{height:100%}body{min-height:100%;font-family:var(--font);font-size:var(--fs);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%;margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.hidden{display:none!important}.screen{max-width:560px;padding:var(--space);padding-bottom:calc(var(--space) + env(safe-area-inset-bottom));margin:0 auto}.center{text-align:center;color:var(--muted);padding:48px 0}.topbar{min-height:var(--touch);margin-bottom:var(--space);align-items:center;gap:12px;display:flex}.topbar h1{font-size:var(--fs-xl);letter-spacing:-.01em;flex:auto;margin:0;font-weight:800}.topbar .back{width:var(--touch);height:var(--touch);color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-left:-8px;font-size:28px;text-decoration:none;display:flex}.topbar .back:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.tag{width:100%;min-height:var(--touch);margin:0 0 var(--space);border-radius:var(--radius);background:var(--brand);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:0;align-items:center;gap:10px;padding:6px 12px 6px 6px;display:flex}.tag .ini{background:var(--ink);width:36px;height:36px;color:var(--brand);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.tag .t{flex:auto;min-width:0}.tag .t b{font-size:var(--fs);white-space:nowrap;text-overflow:ellipsis;line-height:1.15;display:block;overflow:hidden}.tag .t span{font-size:var(--fs-sm);color:var(--tag-ink);white-space:nowrap;text-overflow:ellipsis;line-height:1.2;display:block;overflow:hidden}.tag .out{font-size:var(--fs-sm);color:var(--tag-ink);text-underline-offset:3px;flex:none;font-weight:700;text-decoration:underline}.tag:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.tag.off{background:var(--card-muted);color:var(--muted);cursor:default}.tag.off .ini{background:var(--muted);color:var(--card)}.tag.off .t b{white-space:normal;font-size:15px;font-weight:600;line-height:1.3}.lang{min-height:var(--touch);border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--card);color:var(--accent);cursor:pointer;flex:none;padding:8px 14px;font-size:15px;font-weight:700}.lang:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px}.card h2{font-size:var(--fs-lg);margin:0 0 6px}.card p{color:var(--muted);margin:6px 0 0;font-size:15px}.field{margin:12px 0;display:block}.field>span{font-size:var(--fs-sm);color:var(--muted);margin-bottom:4px;display:block}.field input,.field select,.field textarea{width:100%;min-height:var(--touch);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);padding:12px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field input.pin{font-size:var(--fs-2xl);letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--err)}.field .why{font-size:var(--fs-sm);color:var(--err);margin-top:4px;display:block}.hint{font-size:var(--fs-sm);color:var(--muted);margin-top:6px}.field .static{min-height:var(--touch);border:1px dashed var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);align-items:center;padding:12px;font-weight:600;display:flex}.check{min-height:var(--touch);font-size:var(--fs);color:var(--ink);cursor:pointer;align-items:flex-start;gap:12px;padding:8px 0;display:flex}.check input{width:24px;height:24px;min-height:24px;accent-color:var(--accent);flex:none;margin:1px 0 0}.check>span{flex:auto;min-width:0}.check .hint{margin-top:2px;display:block}.check input:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.check.warn{background:var(--warn-soft);padding:var(--space-sm) 12px;border-radius:var(--radius-sm)}.radios{gap:8px;display:flex}.radios label{flex:1 1 0;min-width:0;margin:0;position:relative}.radios input{opacity:0;width:1px;height:1px;position:absolute}.radios span{min-height:var(--touch);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);text-align:center;justify-content:center;align-items:center;padding:8px 4px;font-size:15px;display:flex}.radios input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.radios input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}.btn{width:100%;min-height:var(--touch-lg);border-radius:var(--radius);background:var(--accent);color:#fff;font-size:var(--fs-lg);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:14px 16px;font-weight:700;display:flex}.btn.secondary{background:var(--card);color:var(--ink);border:1px solid var(--line)}.btn.warn{background:var(--warn)}.btn.danger{background:var(--err)}.btn.small{min-height:var(--touch);font-size:var(--fs);width:auto;margin-top:0;padding:8px 14px}.btn:disabled{opacity:.45;cursor:default}.btn:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.linkbtn{min-height:var(--touch);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:15px;text-decoration:underline}a.linkbtn{text-underline-offset:3px;align-items:center;display:inline-flex}.actions{flex-direction:column;display:flex}.actions .btn+.btn{margin-top:10px}.actions .btn.danger{margin-top:20px}.chip{font-size:var(--fs-sm);color:#3a3a3c;white-space:nowrap;background:#e8e8ed;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.chip.ok{background:var(--accent-soft);color:var(--accent-ink)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.err{background:var(--err-soft);color:var(--err)}.chip.brand{background:var(--brand);color:#1d1d1f}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}button.chip{min-height:var(--touch);border:1px solid var(--accent);background:var(--card);color:var(--accent);font:inherit;font-size:var(--fs-sm);cursor:pointer;padding:4px 14px;font-weight:700}button.chip:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.chips:focus{outline:0}.tasks{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);min-height:68px;color:var(--ink);text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:12px 14px;text-decoration:none;display:flex}.task:active{background:var(--accent-soft);border-color:var(--accent)}.task .icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent-ink);font-weight:800;font-size:var(--fs-lg);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.task .text{flex:auto;min-width:0}.task .text b{font-size:var(--fs-lg);display:block}.task .text span{font-size:var(--fs-sm);color:var(--muted);margin-top:2px;display:block}.task .go{color:var(--muted);font-size:var(--fs-xl);flex:none}.rows{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.rows>li+li{border-top:1px solid var(--line)}.row{width:100%;min-height:64px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 14px;display:flex}.row:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}.row.open{background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent)}.row .text{flex:auto;min-width:0}.row .text b{font-size:var(--fs);display:block}.row .text>span{font-size:var(--fs-sm);color:var(--muted);margin-top:2px;display:block}.row .text>.chips{margin-top:6px;display:flex}.row .amt{font-weight:800;font-size:var(--fs-lg);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.row .go{color:var(--muted);font-size:var(--fs-xl);flex:none}.row.void .text b,.row.void .amt{color:var(--muted);text-decoration:line-through}.group{font-size:var(--fs-sm);color:var(--muted);margin:16px 0 6px;font-weight:700}.group:first-child,.list>.field:first-child{margin-top:0}.week{font-size:var(--fs-lg);margin:4px 0 0}.toggle{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:6px 0;display:flex;position:relative}.toggles>.toggle:first-child{border-top:0}.toggle .text{flex:auto;min-width:0}.toggle .text b{font-size:var(--fs);display:block}.toggle .text span{font-size:var(--fs-sm);color:var(--muted);margin-top:2px;display:block}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle .sw{background:var(--switch-off);border-radius:16px;flex:none;width:52px;height:32px;transition:background .15s;position:relative}.toggle .sw:after{content:"";background:var(--card);border-radius:50%;width:26px;height:26px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.toggle input:checked+.sw{background:var(--accent)}.toggle input:checked+.sw:after{left:23px}.toggle input:focus-visible+.sw{outline:3px solid var(--brand);outline-offset:2px}.toggle input:disabled+.sw{opacity:.45}.toggle.locked{cursor:default}.toggle.locked .text b{color:var(--muted)}.list>.field:first-child{margin-top:0}.list>.btn,.list>.hint{margin:0 0 12px}.pane h3{font-size:var(--fs);margin:16px 0 4px}.pane h3+.hint{margin:0 0 4px}.actions.spaced{margin-top:20px}.toggle .text .why{color:var(--err)}.card .list{margin:10px 0;padding-left:20px}.hint.centered{text-align:center}.note{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);margin:10px 0;padding:10px 12px;font-size:14px}.note.warn{background:var(--warn-soft);color:var(--warn)}.error{border-radius:var(--radius-sm);background:var(--err-soft);color:var(--err);white-space:pre-wrap;margin:10px 0;padding:10px 12px;font-size:14px}.result{text-align:center;padding:32px 16px}.result .mark{color:#fff;background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 16px;font-size:36px;font-weight:800;display:flex}.result.err .mark{background:var(--err)}.result h2{font-size:var(--fs-xl);margin:0 0 6px}.result p{color:var(--muted);margin:0}dialog.confirm{border-radius:var(--radius);background:var(--card);width:min(100% - 32px,420px);max-width:none;color:var(--ink);border:0;padding:20px}dialog.confirm::backdrop{background:#1d1d1f80}dialog.confirm h2{font-size:var(--fs-xl);margin:0 0 6px}dialog.confirm p{color:var(--muted);margin:0 0 4px;font-size:15px}dialog.confirm .field{margin-top:12px}.pinreveal{background:var(--ink);color:var(--card);border-radius:var(--radius);text-align:center;margin-bottom:12px;padding:20px}.pinreveal .digits{letter-spacing:.25em;font-variant-numeric:tabular-nums;color:var(--brand);-webkit-user-select:all;user-select:all;margin:8px 0 4px;font-size:44px;font-weight:800}.pinreveal p{color:var(--ink-soft);margin:0;font-size:15px}.pinreveal .once{background:var(--brand);color:var(--ink);font-size:var(--fs-sm);border-radius:999px;margin-top:10px;padding:4px 10px;font-weight:700;display:inline-block}.capture{flex-direction:column;gap:4px;display:flex}.capture .shoot{border:2px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);min-height:120px;color:var(--accent-ink);font-size:var(--fs-lg);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-weight:700;display:flex;position:relative}.capture .shoot small{font-size:var(--fs-sm);font-weight:400}.capture .alt{min-height:var(--touch);color:var(--accent);text-underline-offset:3px;cursor:pointer;justify-content:center;align-items:center;font-size:15px;text-decoration:underline;display:flex;position:relative}.capture input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.capture .shoot:focus-within,.capture .alt:focus-within{outline:3px solid var(--brand);outline-offset:2px}.capture .shot img{object-fit:contain;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card-muted);width:100%;max-height:320px;display:block}.capture .tools{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px;display:flex}.capture .tools .status{font-size:var(--fs-sm);color:var(--muted);margin-left:auto}.cmp{border-collapse:collapse;width:100%;margin-top:8px;font-size:15px}.cmp th,.cmp td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 6px}.cmp th{color:var(--muted);font-weight:600;font-size:var(--fs-sm)}.cmp td.st{width:28px;font-weight:800}.cmp tr.ok td.st{color:var(--accent-ink)}.cmp tr.bad td{background:var(--err-soft)}.cmp tr.bad td.st{color:var(--err)}.kv div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:15px;display:flex}.kv div:last-child{border-bottom:0}.kv b{text-align:right;font-variant-numeric:tabular-nums}.money{font-size:var(--fs-3xl);font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:4px 0;font-weight:800}.result .money{color:var(--ink)}.spinner{border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 12px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sticky{padding:10px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);z-index:3;background:#fffffff5;position:fixed;bottom:0;left:0;right:0}.sticky .btn{max-width:528px;margin-top:0;margin-left:auto;margin-right:auto}.screen.wide{max-width:960px}.only-mobile{display:block}@media (width>=1024px){.only-mobile{display:none!important}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.split>.pane{position:sticky;top:16px}}@media (width<=1023px){.split.detail>.list{display:none}}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
