:root{--bg: #f6f6f4;--fg: #1a1a1a;--muted: #6b6b6b;--card: #ffffff;--line: #e2e2de;--accent: #1f5fbf;--accent-fg: #ffffff;--danger: #b4231f;--pr: #b8860b;--radius: 14px;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #111214;--fg: #ececec;--muted: #9a9a9a;--card: #1c1d20;--line: #2c2d31;--accent: #6ea0ff;--accent-fg: #0b1020;--danger: #ff6b66;--pr: #e2b33c}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;font-size:17px;line-height:1.45;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}h1{font-size:1.4rem;margin:0 0 12px}h2{font-size:1.1rem;margin:20px 0 8px}p{margin:6px 0}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.app{min-height:100dvh;display:flex;flex-direction:column}main{flex:1;padding:12px 16px calc(72px + env(safe-area-inset-bottom));max-width:560px;width:100%;margin:0 auto}.screen{display:flex;flex-direction:column;gap:12px}.center{min-height:60dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px}.login h1{font-size:2.2rem;letter-spacing:.02em}.banner{background:var(--pr);color:#1a1a1a;font-size:.8rem;padding:6px 16px;text-align:center}.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;text-align:center;padding:14px 0;font-size:.9rem;color:var(--muted)}.tab.active{color:var(--accent);font-weight:600}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px}.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.card-title{font-weight:600;font-size:1.05rem}.btn{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:12px;padding:12px 16px;font-size:1rem;min-height:48px;cursor:pointer;text-align:center}.btn:disabled{opacity:.5}.btn.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.btn.big{min-height:60px;font-size:1.1rem}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.small{min-height:36px;padding:6px 10px;font-size:.85rem}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.round{width:52px;min-height:52px;border-radius:50%;font-size:1.4rem;padding:0;flex:none}.btn.confirm{min-height:56px;font-size:1.1rem;margin-top:4px}.btn.list-item{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;text-align:left}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list.plain{gap:4px}.sets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.set-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line)}.set-no{width:1.6em;color:var(--muted);font-variant-numeric:tabular-nums}.set-val{flex:1;font-size:1.15rem;font-variant-numeric:tabular-nums;font-weight:600}.pr{color:var(--pr);font-size:.8rem;font-weight:600}.pending{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.stepper{display:flex;align-items:center;gap:8px}.stepper-label{width:2.6em;color:var(--muted);font-size:.9rem}.stepper-input{flex:1;min-width:0;text-align:center;font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--fg);padding:8px 4px;min-height:52px}.stepper-unit{color:var(--muted);width:1.6em;font-size:.9rem}.field{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--muted)}.field input,.field select{font-size:1rem;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:46px}.stats{display:flex;gap:8px}.stat{flex:1;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.stat-label{color:var(--muted);font-size:.8rem}.stat-val{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-val.small{font-size:1rem}.hist-row{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);align-items:baseline}.hist-date{color:var(--muted);font-size:.9rem;width:6.5em;flex:none}.hist-sets{font-variant-numeric:tabular-nums}
