:root{--bg: #ffffff;--text: #333333;--ink: #222222;--button: #3f3f3f;--button-text: #ffffff;--muted: #8a8a8a;--hover: #a1a1a1;--line: #d9d9d9;--soft: #f5f5f5;--warn: #7a5a00;--warn-line: #d8c48a;--err: #a0302a;--err-line: #e2b4b0;color-scheme:light only}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-weight:300;font-size:16px;line-height:1.9;letter-spacing:.04em;-webkit-font-smoothing:antialiased}.app{max-width:520px;margin:0 auto;padding:16px 16px calc(32px + env(safe-area-inset-bottom))}header{display:flex;justify-content:space-between;align-items:center;padding:4px 0 8px;min-height:44px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;border:0;padding:0}.brand img{height:30px;width:auto}.who{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center}a{color:var(--ink);text-decoration:none;border-bottom:1px dotted currentColor;padding-bottom:1px}a:hover,a:focus{color:var(--hover)}.error,.warn-box,.note{font-size:13px;line-height:1.8;padding:10px 14px;margin:0 0 16px;border:1px solid;border-radius:6px;background:transparent}.error{color:var(--err);border-color:var(--err-line)}.warn-box,.note{color:var(--warn);border-color:var(--warn-line)}.hint{font-size:12px;color:var(--muted);margin:2px 0 12px;line-height:1.8}.hint.warn{color:var(--warn)}.center{text-align:center}.muted{color:var(--muted)}button{font:inherit;font-weight:300;letter-spacing:.08em;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:999px;padding:12px 22px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}button:hover,button:focus-visible{border-color:var(--hover);color:var(--hover)}button.primary{background:var(--button);border-color:var(--button);color:var(--button-text)}button.primary:hover,button.primary:focus-visible{background:var(--hover);border-color:var(--hover);color:#fff}button:disabled{opacity:.35;pointer-events:none}button.link{border:0;border-radius:0;padding:0;font-size:12px;color:var(--muted);border-bottom:1px dotted currentColor}button.big{display:block;width:100%;padding:18px;font-size:16px;margin:0 0 14px}.home,.login{display:flex;flex-direction:column;min-height:calc(100vh - 92px - env(safe-area-inset-bottom));min-height:calc(100dvh - 92px - env(safe-area-inset-bottom))}.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 0}.hero img{width:96px;height:auto;display:block;margin:0 auto 32px}.tagline{font-size:17px;font-weight:400;line-height:1.6;letter-spacing:.16em;word-spacing:.5em;margin:0 -.16em 0 0;color:var(--ink)}.en{font-size:12px;letter-spacing:.24em;margin:0 0 20px}.home-actions{padding-bottom:4px}.status{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;justify-content:center;margin-top:22px;color:var(--muted)}.status .ok,.status .warn{color:var(--muted)}.status .ok:before{content:"●";color:var(--ink);margin-right:4px;font-size:8px;vertical-align:2px}.status .warn:before{content:"○";margin-right:4px;font-size:8px;vertical-align:2px}footer{text-align:center;font-size:10px;color:var(--muted);margin-top:18px;letter-spacing:.2em}.login{text-align:center}.login>p{font-size:13px;color:var(--muted);margin:0}.login .gbtn{margin-bottom:40px}.gbtn{display:flex;justify-content:center;margin-top:20px;min-height:44px}.progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;font-size:12px;color:var(--muted);letter-spacing:.16em}.progress .dots{display:flex;flex-wrap:wrap;align-items:center;gap:7px;justify-content:flex-end}.progress i{display:block;flex:none;width:7px;height:7px;border-radius:50%;border:1px solid var(--ink)}.progress i.st-done{background:var(--ink)}.progress i.st-skipped{border-color:var(--line);background:var(--line)}.progress i.st-error{border-color:var(--err)}.progress i.current{outline:1px solid var(--ink);outline-offset:2px}.thumb{max-width:55%;max-height:38vh;margin:28px auto 8px;display:block;border:8px solid var(--ink)}.spinner{width:28px;height:28px;border:1px solid var(--line);border-top-color:var(--ink);border-radius:50%;margin:20px auto 8px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section{border-top:1px solid var(--line);padding:16px 0 4px;margin-bottom:8px}details summary{cursor:pointer;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted);list-style:none}details summary::-webkit-details-marker{display:none}details summary:after{content:"＋";margin-left:auto;font-size:12px}details[open] summary:after{content:"－"}.mini{width:44px;height:44px;object-fit:cover;border:3px solid var(--ink)}.full{width:100%;margin:12px 0}.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink);border-radius:999px;padding:3px;margin:8px 0 18px}.seg button{border:0;padding:10px;font-size:15px}.seg button.on{background:var(--button);color:var(--button-text)}.fields label{display:block;font-size:11px;color:var(--muted);letter-spacing:.12em;line-height:1.6;margin-bottom:18px}.fields input,.fields select{display:block;width:100%;margin-top:2px;font:inherit;font-size:16px;font-weight:300;letter-spacing:.04em;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:6px 0;line-height:1.6;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.fields select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:24px}.fields input:focus,.fields select:focus{border-bottom-color:var(--ink)}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.items{list-style:none;padding:0;margin:12px 0 4px;font-size:13px}.items li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dotted var(--line)}.checks label{display:flex;gap:12px;align-items:center;padding:6px 0;font-size:14px}.checks input{width:20px;height:20px;accent-color:var(--button)}.checks .disabled{color:var(--muted)}.actions{display:grid;grid-template-columns:1fr 2fr;gap:12px;position:sticky;bottom:0;padding:14px 0 calc(8px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);margin-top:8px}.done{text-align:center;padding-top:28px}.done .big-text{font-weight:200;font-size:22px;margin:0 0 4px;color:var(--ink)}.done .amount{font-size:15px;margin:0 0 20px}.done p{margin:6px 0;font-size:14px}.done .big{margin-top:28px}.done-list{list-style:none;padding:0;margin:20px 0 8px;text-align:left;border-top:1px solid var(--line)}.done-list li{padding:12px 0;border-bottom:1px solid var(--line)}.done-list .line{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink)}.done-list .meta{font-size:12px;color:var(--muted)}.done-list li.st-skipped .line{color:var(--muted)}.done-list .error{margin:8px 0 0}
