:root{--bg:#f3efe6;--ink:#1c1915;--muted:#6d685c;--paper:#fffcf6;--line:#e4ddd0;--accent:#1e4a3a;--accent-soft:#e4efe8;--warn:#7a5c12;--warn-bg:#f4ead0;--danger:#8c2f2f}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,ui-sans-serif,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}a{color:var(--accent)}.topbar{align-items:center;padding:0 28px;height:56px;background:var(--paper);border-bottom:1px solid var(--line)}.topbar,.wordmark{display:flex;gap:8px}.wordmark{align-items:baseline;margin-right:16px;color:inherit;text-decoration:none}.wordmark-name{font-weight:700;letter-spacing:-.03em;font-size:17px}.wordmark-kana{font-size:11px;color:var(--muted)}.nav{display:flex;gap:4px;flex:1 1}.nav a{color:var(--muted);text-decoration:none;font-size:13px;padding:6px 10px;border-radius:4px}.nav a.is-active,.nav a:hover{color:var(--ink);background:var(--accent-soft)}.role-tag{font-size:11px;color:var(--muted);border:1px solid var(--line);padding:3px 8px;border-radius:99px}.page{max-width:980px;margin:0 auto;padding:32px 28px 64px}.kicker{margin:0 0 6px;font-size:12px;letter-spacing:.08em;color:var(--muted)}h1{margin:0 0 8px;font-size:26px;font-weight:650;letter-spacing:-.03em}.lede{color:var(--muted);font-size:14px;max-width:42em}.alerts,.lede{margin:0 0 24px}.alerts{display:grid;grid-gap:8px;gap:8px}.alert{background:var(--warn-bg);border:1px solid #e4d5a6;color:var(--warn);padding:10px 12px;font-size:13px}.panel{background:var(--paper);border:1px solid var(--line);margin-bottom:20px}.panel-pad{padding:20px 22px}.panel h2{margin:0 0 6px;font-size:16px}.panel h3{margin:16px 0 8px;font-size:13px;color:var(--muted);font-weight:600}.panel p{margin:0;font-size:14px}.hint{color:var(--muted);font-size:12px!important;margin-top:6px!important}table.data{width:100%;border-collapse:collapse;background:var(--paper);font-size:14px}table.data td,table.data th{padding:10px 12px;border-bottom:1px solid var(--line)}table.data th{text-align:left;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.04em}table.data td.num,table.data th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.data a{color:inherit;font-weight:600;text-decoration:none}table.data a:hover{color:var(--accent)}.empty{color:var(--muted)}.pill{border-radius:99px;background:var(--accent-soft);color:var(--accent)}.badge,.pill{display:inline-block;margin-left:8px;font-size:11px;padding:1px 7px}.badge{border-radius:4px;background:var(--warn-bg);color:var(--warn)}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:16px 0 8px}.stat{border:1px solid var(--line);padding:14px 16px}.stat .label{font-size:12px;color:var(--muted)}.stat .value{font-size:28px;font-weight:650;letter-spacing:-.04em;margin-top:4px}.stat .unit{font-size:13px;font-weight:500;color:var(--muted);margin-left:4px}.action{margin-top:16px;padding:14px 16px;background:var(--accent-soft);font-size:15px}.status-row{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}.status{background:var(--paper);border:1px solid var(--line);padding:12px 14px;min-width:200px;flex:1 1}.status strong{display:block;font-size:13px}.status .meta{font-size:12px;color:var(--muted);margin-top:6px}.status .err{font-size:12px;color:var(--danger);margin-top:4px}button,select{font:inherit;font-size:13px}button{background:var(--accent);color:#fff;border:0;padding:6px 10px;cursor:pointer}button:hover{filter:brightness(1.08)}select{border:1px solid var(--line);background:var(--paper);padding:5px 8px}.btn-row,.link-form{display:flex;gap:8px;align-items:center}.btn-row{flex-wrap:wrap;margin-top:12px}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.review{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.login{max-width:420px;margin:80px auto;padding:24px}.stack-form{display:grid;grid-gap:10px;gap:10px;max-width:480px;margin-top:12px}.field{display:grid;grid-gap:4px;gap:4px}.field label{font-size:12px;color:var(--muted)}.field input{font:inherit;font-size:13px;background:var(--paper);padding:6px 8px}.field input,.subcard{border:1px solid var(--line)}.subcard{padding:12px 14px;margin:12px 0}