:root{--bg: #ffffff;--fg: #111111;--sub: #4a4a4a;--card: #f1f3f5;--line: #8a8f98;--accent: #0b4fd6;--accent-fg: #ffffff;--warn-bg: #fff1c2;--warn-fg: #5a3b00;--ok: #0a6b2b;--owner: #5b2bb5;--red: #c3081f;--yellow: #a86400;--green: #1a7f37;--err-bg: #ffd9d9}@media(prefers-color-scheme:dark){:root{--bg: #0d0f12;--fg: #f4f5f7;--sub: #c3c7ce;--card: #1d2127;--line: #6b7280;--accent: #7aa7ff;--accent-fg: #07122b;--warn-bg: #4a3600;--warn-fg: #ffe28a;--ok: #6fe39a;--owner: #c5a8ff;--red: #ff7a87;--yellow: #ffc15e;--green: #6fe39a;--err-bg: #5a1a1a}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.5 system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}#app{display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto}.top{padding:8px 12px 0}.top select{width:100%;min-height:48px;font-size:16px;background:var(--card);color:var(--fg);border:2px solid var(--line);border-radius:10px;padding:0 8px}.notice{margin:8px 12px 0;padding:8px 12px;border-radius:10px;background:var(--err-bg);font-weight:700;font-size:16px}.notice ul{margin:4px 0 0;padding-left:1.2em;font-weight:400;font-size:14px}.screen{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px;overflow-y:auto;gap:10px}h1,h2{margin:0;font-size:20px;line-height:1.3}h3{margin:0 0 4px;font-size:15px;color:var(--sub)}.spacer{margin-top:auto}.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:8px 12px;font:inherit;font-weight:700;color:var(--fg);background:var(--card);border:2px solid var(--line);border-radius:12px;text-align:center;touch-action:manipulation}.btn:active{filter:brightness(.9)}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn.sub{font-weight:400;min-height:48px}.btn:focus-visible,.tab:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.stack{display:flex;flex-direction:column;gap:10px}.box{background:var(--card);border-radius:12px;padding:10px 12px}.box ul{margin:0;padding-left:1.2em}.tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--line);background:var(--bg);padding-bottom:env(safe-area-inset-bottom)}.tab{min-height:60px;font:inherit;font-size:13px;font-weight:700;color:var(--sub);background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;touch-action:manipulation}.tab[aria-current=page]{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:14px;font-weight:700;border:2px solid currentColor}.conf-check{background:var(--warn-bg);color:var(--warn-fg);border-style:dashed}.conf-ok{color:var(--ok)}.conf-owner{color:var(--owner)}.dot{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-1px}.dot.red{background:var(--red);border-radius:50%}.dot.yellow{background:var(--yellow);clip-path:polygon(50% 0,100% 100%,0 100%)}.dot.green{background:var(--green);border-radius:2px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muted{color:var(--sub);font-size:14px}.counter{display:grid;grid-template-columns:1fr 72px;align-items:center;gap:8px}.counter .btn{min-height:72px;justify-content:space-between;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.counter .btn.undo{min-height:72px;width:72px;justify-content:center;font-size:24px;font-weight:700}.counter .num{font-size:32px;font-variant-numeric:tabular-nums}.pressing{outline:3px solid var(--red)}.summary{font-size:16px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cols .box{font-size:15px;padding:8px 10px}.cols .box ul{padding-left:1.1em}.fold>summary{min-height:40px;display:flex;align-items:center;font-weight:700;cursor:pointer}.fold[open]>summary{margin-bottom:4px}.limit{padding:10px 12px;border-radius:12px;border:3px solid var(--line);background:var(--card);font-size:16px}.limit .limit-head{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.limit.warn{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--yellow)}.limit.over{background:#c3081f;color:#fff;border-color:#7a0010;font-weight:700}.field{display:flex;flex-direction:column;gap:2px;font-size:14px;color:var(--sub)}.field input{min-height:48px;font:inherit;font-size:18px;color:var(--fg);background:var(--bg);border:2px solid var(--line);border-radius:10px;padding:0 10px;width:100%}.limit.band{margin:8px 12px 0;padding:6px 12px;font-size:15px;font-weight:700}.limit.band .limit-head{font-size:18px}.notice.stale{background:var(--warn-bg);color:var(--warn-fg);margin:0}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:44px;padding:4px 12px;font:inherit;font-size:15px;color:var(--fg);background:var(--card);border:2px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;gap:6px;touch-action:manipulation}.chip.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:700}.chip .n{font-size:12px;opacity:.75;font-variant-numeric:tabular-nums}.axis-name{font-size:13px;color:var(--sub);font-weight:700;margin-bottom:2px}.btn.small{width:auto;min-height:44px;padding:4px 14px;font-size:14px}.result-head{justify-content:space-between;font-size:18px}textarea{font:inherit;font-size:16px;color:var(--fg);background:var(--bg);border:2px solid var(--line);border-radius:10px;padding:8px;width:100%;box-sizing:border-box}select{min-height:48px;font:inherit;font-size:16px;color:var(--fg);background:var(--bg);border:2px solid var(--line);border-radius:10px;padding:0 8px;width:100%}
