:root{--bg:#f6f7f9;--surface:#fff;--surface2:#eef1f4;--card:#fff;--text:#182026;--muted:#6d7880;--primary:#0f766e;--on-primary:#fff;--primary-soft:#e0f2f0;--border:#dfe4e7;--danger:#dc2626;--danger-bg:#fee2e2;--nav:#ffffffee;--shadow:0 1px 3px rgba(20,30,35,.09),0 1px 2px rgba(20,30,35,.06);--shadow-lg:0 8px 24px rgba(20,30,35,.16);color-scheme:light}
:root[data-theme=dark]{--bg:#0d1114;--surface:#171c20;--surface2:#22292e;--card:#171c20;--text:#edf2f4;--muted:#a6b0b7;--primary:#35b9aa;--on-primary:#06201d;--primary-soft:#173330;--border:#303940;--danger:#ff7b7b;--danger-bg:#402224;--nav:#171c20ee;--shadow:0 1px 3px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.5);color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg);overscroll-behavior-y:none}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;user-select:none}input,textarea{user-select:text}button,input,textarea{font:inherit;color:inherit}button{border:0;border-radius:14px;padding:11px 14px;cursor:pointer;min-height:44px;transition:transform .12s}button:active{transform:scale(.96)}button:disabled{opacity:.5;cursor:not-allowed}.app{max-width:720px;margin:auto;padding:calc(10px + env(safe-area-inset-top)) 14px 100px}.top{display:flex;justify-content:space-between;align-items:center;margin:3px 0 15px}.brand{font-size:22px;font-weight:850;letter-spacing:-.3px}.sub,.muted{color:var(--muted);font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap}.iconbtn{width:44px;padding:0;font-size:20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px;margin:12px 0;box-shadow:var(--shadow)}.hero{background:var(--primary);color:var(--on-primary);border:0}.hero .muted{color:inherit;opacity:.78}.hero-title{font-weight:750;font-size:14px}.hero-total{font-size:38px;font-weight:900;letter-spacing:-1px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.hero-actions{display:flex;gap:8px;margin-top:14px}.soft{background:rgba(255,255,255,.17);color:inherit;border:1px solid rgba(255,255,255,.12);flex:1}.danger-text{color:#fff}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:18px 2px 10px}.section-head h2{margin:0;font-size:17px}.small{min-height:38px;padding:8px 12px}.ghost{background:var(--surface);border:1px solid var(--border)}.primary{background:var(--primary);color:var(--on-primary);font-weight:750}.danger{background:var(--danger-bg);color:var(--danger)}.counter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.counter-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:14px;box-shadow:var(--shadow);min-height:150px;display:flex;flex-direction:column;justify-content:space-between}.counter-card.tap{width:100%;text-align:center;background:var(--surface);border:1px solid var(--border);padding:24px 18px;min-height:220px;justify-content:center;align-items:center;gap:10px;touch-action:manipulation}.counter-name{font-size:19px;font-weight:800;overflow-wrap:anywhere}.counter-number{font-size:64px;line-height:1;font-weight:900;letter-spacing:-1px;margin:8px 0}.tap-hint{font-size:14px;color:var(--muted)}.counter-tools{display:flex;gap:7px}.counter-tools button{min-height:36px;padding:7px 10px}.minus{background:var(--surface2);font-weight:850}.empty{text-align:center;padding:35px 14px;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:18px}.field{margin:11px 0}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--surface2);outline:none;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--primary)}.search{margin-top:4px}.history-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px;margin:10px 0;box-shadow:var(--shadow)}.history-title{font-weight:800;font-size:16px}.history-meta{font-size:12px;color:var(--muted);margin:2px 0 10px}.history-note{margin:0 0 10px;color:var(--text);overflow-wrap:anywhere}.history-counts{display:flex;gap:7px;flex-wrap:wrap}.pill{background:var(--primary-soft);color:var(--text);border-radius:999px;padding:6px 9px;font-size:12px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:0}.note{margin:12px 0 0}.fab{position:fixed;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));width:58px;height:58px;border-radius:19px;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;box-shadow:var(--shadow-lg);z-index:6}.fab svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}nav{position:fixed;bottom:0;left:0;right:0;background:var(--nav);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--border);padding:6px max(9px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));display:flex;justify-content:center;gap:4px;z-index:5}.navbtn{flex:1;max-width:130px;min-height:56px;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;padding:6px 4px 7px}.navicon{width:42px;height:26px;display:grid;place-items:center;border-radius:20px}.navicon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.navbtn.active{color:var(--primary)}.navbtn.active .navicon{background:var(--primary-soft)}dialog{border:0;border-radius:22px;padding:0;width:min(94%,430px);background:var(--surface);color:var(--text);box-shadow:0 24px 70px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(0,0,0,.58)}.modal{padding:20px}.modal h2{margin:0 0 14px}.save-preview{background:var(--surface2);border-radius:14px;padding:10px;margin:12px 0;font-size:12px}.preview-row{display:flex;justify-content:space-between;padding:4px 0}.counter-card.tap:active{transform:scale(.985);background:var(--primary-soft)}@media(min-width:600px){.counter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.counter-card.tap{min-height:240px}}
