:root{--porcelain:#f7f4ef;--paper:#fffdf9;--ink:#2b2723;--ink-soft:#6f665d;--cassis:#7a4358;--cassis-deep:#5d3143;--sable:#e3dcd2;--celadon:#5f7a5f;--danger:#a04030;--serif:"EB Garamond","Garamond","Hiragino Mincho ProN","Yu Mincho",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}.site-header{justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:20px 28px 14px;border-bottom:1px solid var(--sable);background:var(--paper)}.brand,.site-header{display:flex;align-items:baseline}.brand{gap:14px}.brand-name{font-family:var(--serif);font-size:30px;letter-spacing:.06em;color:var(--ink);text-decoration:none}.brand-tagline{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--cassis);letter-spacing:.05em}.site-nav{display:flex;flex-wrap:wrap;gap:4px 18px}.site-nav a{color:var(--ink-soft);text-decoration:none;font-size:14px;padding:2px 0;border-bottom:2px solid transparent}.site-nav a:hover{color:var(--cassis-deep);border-bottom-color:var(--cassis)}.container{max-width:1040px;margin:0 auto;padding:28px 20px 64px}.site-footer{text-align:center;color:var(--ink-soft);font-size:12px;padding:24px 0 32px}h1{font-size:28px;letter-spacing:.04em;margin:0 0 4px}h1,h2{font-family:var(--serif);font-weight:500}h2{font-size:20px;letter-spacing:.03em;margin:36px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--sable)}.page-lede{color:var(--ink-soft);margin:0 0 24px;font-size:14px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;margin:20px 0}.stat-card{background:var(--paper);border:1px solid var(--sable);border-radius:10px;padding:14px 18px}.stat-card .label{font-size:12px;color:var(--ink-soft);letter-spacing:.05em}.stat-card .value{font-family:var(--serif);font-size:26px;margin-top:2px}.stat-card .value.negative{color:var(--danger)}.stat-card .value.positive{color:var(--celadon)}.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--sable);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:9px 14px;border-bottom:1px solid var(--sable);white-space:nowrap}td.wrap{white-space:normal;min-width:180px}th{font-weight:600;font-size:12px;color:var(--ink-soft);letter-spacing:.05em;background:#f2ede5}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty{color:var(--ink-soft);padding:20px;text-align:center}form.panel{background:var(--paper);border:1px solid var(--sable);border-radius:10px;padding:18px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px 16px;gap:12px 16px;align-items:end}form.panel .full{grid-column:1/-1}label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:3px;letter-spacing:.03em}input,select,textarea{width:100%;padding:8px 10px;border:1px solid var(--sable);border-radius:7px;background:#fff;font:inherit;color:var(--ink)}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid var(--cassis);outline-offset:1px}button{font:inherit;padding:9px 22px;border:none;border-radius:7px;background:var(--cassis);color:#fff;cursor:pointer;letter-spacing:.05em}button:hover{background:var(--cassis-deep)}button.ghost{background:transparent;color:var(--danger);border:1px solid var(--sable);padding:4px 12px;font-size:12px}button.ghost:hover{background:#f6e8e4}.badge{display:inline-block;font-size:12px;padding:1px 10px;border-radius:999px;border:1px solid var(--sable);color:var(--ink-soft);background:#fff}.badge.ok{color:var(--celadon);border-color:var(--celadon)}.badge.warn{color:var(--danger);border-color:var(--danger)}.badge.cassis{color:var(--cassis-deep);border-color:var(--cassis)}.alert{border:1px solid var(--danger);background:#faeeea;color:var(--danger);border-radius:8px}.alert,.notice{padding:10px 16px;margin-bottom:18px;font-size:14px}.notice{border:1px solid var(--celadon);background:#eef3ee;color:var(--celadon);border-radius:8px}a{color:var(--cassis-deep)}@media (max-width:600px){.site-header{padding:14px 16px 10px}.brand-name{font-size:24px}h1{font-size:23px}}