:root{--color-bg: #faf8f3;--color-surface: #ffffff;--color-surface-sunken: #f2efe8;--color-text: #2a2e2c;--color-text-muted: #6b716e;--color-border: #e3dfd6;--color-primary: #3f7a6e;--color-primary-hover: #356558;--color-primary-subtle: #e4efec;--color-accent: #e8a23d;--color-accent-subtle: #fbefd9;--color-success: #4f9d6e;--color-warning: #c9892f;--color-danger: #b5524a;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6}header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.1) blur(6px);backdrop-filter:saturate(1.1) blur(6px);border-bottom:1px solid var(--color-border)}header nav[aria-label=メイン]{max-width:640px;margin:0 auto;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}header nav[aria-label=メイン] a,header nav[aria-label=メイン] button{white-space:nowrap;flex-shrink:0}header nav[aria-label=メイン] a{color:var(--color-text-muted);font-size:15px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}header nav[aria-label=メイン] a:first-child{margin-right:auto;color:var(--color-primary);font-weight:600;font-size:17px;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}@media (max-width: 360px){header nav[aria-label=メイン]{gap:var(--space-2)}header nav[aria-label=メイン] a:first-child{font-size:15px}header nav[aria-label=メイン] a{font-size:14px}}header nav[aria-label=メイン] a:hover{color:var(--color-text);background:var(--color-surface-sunken);text-decoration:none}header nav[aria-label=メイン] button[aria-label=これは何？]{min-height:32px;width:32px;height:32px;padding:0;border-radius:999px;color:var(--color-primary);font-weight:600}header p[data-testid=lead]{max-width:640px;margin:0 auto;padding:0 var(--space-4) var(--space-3);color:var(--color-text-muted);font-size:14px}aside[role=dialog]{max-width:640px;margin:0 auto var(--space-3);padding:var(--space-4);background:var(--color-primary-subtle);border-radius:var(--radius-md);color:var(--color-text)}main,article{display:block;max-width:640px;margin:0 auto;padding:var(--space-5) var(--space-4) var(--space-7)}main>*+*,article>*+*{margin-top:var(--space-4)}h1{font-size:26px;line-height:1.3;font-weight:600;letter-spacing:-.01em;margin:0}h2{font-size:18px;line-height:1.35;font-weight:600;margin:0 0 var(--space-2);color:var(--color-text)}p{margin:0;color:var(--color-text)}main>p,article>p{color:var(--color-text-muted)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover);text-decoration:underline}section{margin-top:var(--space-5)}section[aria-label]>h2{color:var(--color-text-muted);font-size:13px;letter-spacing:.02em}ul{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}li{display:flex;align-items:center;gap:var(--space-3)}section ul li>button[type=button]{flex:1;text-align:left;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);font-weight:500}section ul li>button[type=button]:hover{border-color:var(--color-primary);background:var(--color-surface)}ul[aria-label=アイテム一覧] li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}ul[aria-label=アイテム一覧] li>span{flex:1}form{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}input,select,textarea{font:inherit;color:var(--color-text);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);min-height:44px}form input,form select{flex:1;min-width:0}textarea{width:100%;min-height:88px;resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}button{font:inherit;cursor:pointer;min-height:44px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:var(--space-2) var(--space-4);font-weight:500;transition:background .12s ease,border-color .12s ease,color .12s ease}button:hover{background:var(--color-surface-sunken)}button:disabled{opacity:.55;cursor:default}button[aria-pressed=true]{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary-hover)}button[type=submit],.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}button[type=submit]:hover,.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff;text-decoration:none}a.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-5)}nav[aria-label=セット操作],nav[aria-label=実行後]{display:flex;flex-wrap:wrap;gap:var(--space-2);max-width:640px;margin:0 auto;padding:0 var(--space-4) var(--space-5)}nav[aria-label=セット操作] a,nav[aria-label=実行後] a{display:inline-flex;align-items:center;min-height:40px;padding:var(--space-2) var(--space-4);border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}nav[aria-label=セット操作] a:hover,nav[aria-label=実行後] a:hover{border-color:var(--color-primary);color:var(--color-primary-hover);text-decoration:none}section[aria-label=実行中]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);align-items:stretch}section[aria-label=実行中] [data-testid=current-item]{font-size:18px;font-weight:600;text-align:center}section[aria-label=実行中] [data-testid=elapsed]{font-variant-numeric:tabular-nums;font-size:44px;font-weight:600;text-align:center;color:var(--color-primary);letter-spacing:.02em}[role=group][aria-label=期間]{display:inline-flex;gap:var(--space-2)}[data-testid=streak]{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600;color:var(--color-primary)}[role=alert]{color:var(--color-danger);font-size:14px;width:100%}[role=status]{background:var(--color-primary-subtle);color:var(--color-primary-hover);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-weight:500}div[role=dialog][aria-label=フィードバック]{display:flex;flex-direction:column;gap:var(--space-3);max-width:640px;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-6)}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}legend{color:var(--color-text-muted);font-size:14px;padding:0 var(--space-2)}footer[aria-label=法務情報]{border-top:1px solid var(--color-border);margin-top:var(--space-7)}footer[aria-label=法務情報] nav{max-width:640px;margin:0 auto;display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-5) var(--space-4)}footer[aria-label=法務情報] a{color:var(--color-text-muted);font-size:13px}dl{margin:var(--space-3) 0 0}dl>div{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}dt{color:var(--color-text-muted);font-size:14px}dd{margin:0}.num{font-variant-numeric:tabular-nums}
