@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Lora:wght@400;500;600&display=swap");:root{--surface-0:#fff;--surface-1:#faf8f5;--surface-2:#f1ece4;--ink:#201f1d;--muted:#605d5d;--accent:#7d5411;--accent-hover:#5a3b0a;--accent-soft:#b68235;--accent-bg:#f6efe3;--accent-line:#e4d3b3;--success:#2f7d4f;--success-bg:#e9f2ec;--warning:#8a5a00;--warning-bg:#f7edda;--danger:#9c2b23;--danger-bg:#f6e7e3;--line:#e4ded3;--input-line:#d7cfc2;--overlay:#2a201580;--shadow:0 1px 2px rgba(32,31,29,.05);--radius:8px;--radius-sm:6px;--s0:0px;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--f-xs:12px;--f-sm:14px;--f-md:16px;--f-lg:20px;--f-xl:24px;--f-xxl:32px;--w-normal:400;--w-medium:600;--w-bold:700;--font:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",system-ui,-apple-system,sans-serif;--font-heading:"Cormorant Garamond","Hiragino Mincho ProN","Yu Mincho",serif;--tracking:.08em}*{box-sizing:border-box}body{margin:0;background:var(--surface-0);color:var(--ink);font:var(--w-normal) var(--f-sm)/1.6 var(--font);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--w-medium);line-height:1.3;letter-spacing:.01em}h1{font-size:28px}h2{font-size:var(--f-lg)}h3{font-size:var(--f-md);font-weight:var(--w-medium)}:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,84,17,.18)}.wrap{width:1440px;max-width:100%;margin:0 auto;padding:0 clamp(var(--s3),2vw,48px) var(--s8)}.note,.small{font-size:var(--f-xs);line-height:1.6}.muted,.note,.small{color:var(--muted)}.hdr{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;padding:var(--s3) 0 var(--s2);margin-bottom:var(--s3);border-bottom:1px solid var(--line)}.hdr .t{font-family:var(--font-heading);font-size:var(--f-xl);font-weight:var(--w-medium);letter-spacing:.04em}.badge{display:inline-block;padding:2px var(--s1);font-size:var(--f-xs);font-weight:var(--w-medium);border-radius:999px}.badge,.badge.ok{background:var(--accent-bg);color:var(--accent)}.badge.mut{background:var(--surface-2);color:var(--muted)}.topnav{display:flex;gap:2px;margin-left:auto}.topnav button{background:transparent;color:var(--muted);padding:var(--s1) var(--s2);font-family:var(--font-heading);font-size:var(--f-md);font-weight:var(--w-medium);border:0;border-bottom:2px solid transparent;border-radius:0;cursor:pointer}.topnav button.on,.topnav button:hover{color:var(--accent)}.topnav button.on{border-bottom-color:var(--accent);background:transparent}.steps{display:flex;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s3);color:var(--muted);font-size:var(--f-sm)}.steps .s{display:flex;align-items:center;gap:var(--s1)}.steps .s .n{display:inline-grid;place-items:center;width:var(--s3);height:var(--s3);background:transparent;border:1px solid var(--input-line);color:var(--muted);font-size:var(--f-xs);font-weight:var(--w-bold);border-radius:50%}.steps .s.on{color:var(--accent);font-weight:var(--w-bold)}.steps .s.on .n{background:transparent;border-color:var(--accent);color:var(--accent)}.steps .s.done .n{background:var(--accent);color:#fff;border-color:var(--accent)}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:var(--s3);margin-bottom:var(--s3)}.panel h3{margin-bottom:var(--s2)}.sec{font-size:var(--f-xs);font-weight:var(--w-bold);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin:0 0 var(--s2)}.pagehdr{font-family:var(--font-heading);font-size:28px;margin:var(--s1) 0 var(--s3)}.btn,.pagehdr{font-weight:var(--w-medium)}.btn{background:#fff;color:var(--ink);border:1px solid var(--input-line);padding:var(--s1) var(--s2);min-height:var(--s5);font-size:var(--f-sm);border-radius:var(--radius-sm);cursor:pointer;transition:.12s}.btn:hover{border-color:var(--accent-soft);background:var(--surface-1)}.btn.brand{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.brand:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn.ghost:hover{background:var(--accent-bg);border-color:transparent}.btn.small{padding:6px var(--s1);min-height:auto;font-size:var(--f-xs)}.btn:disabled{opacity:.5;cursor:not-allowed}.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--input-line);border-radius:var(--radius-sm);overflow:hidden}.seg button{background:#fff;color:var(--muted);border:0;padding:var(--s1) var(--s3);font-weight:var(--w-medium);cursor:pointer;min-height:36px}.seg button.on{background:var(--accent);color:#fff}.seg button:disabled{color:var(--muted);opacity:.6;cursor:not-allowed}.chips{display:flex;flex-wrap:wrap}.chips,.chk{gap:var(--s1)}.chk{display:inline-flex;align-items:center;background:#fff;padding:6px var(--s2);font-size:var(--f-sm);cursor:pointer;border:1px solid var(--input-line);border-radius:var(--radius-sm);transition:.12s}.chk:hover{border-color:var(--accent-soft)}.chk input{accent-color:var(--accent);width:var(--s2);height:var(--s2)}.chk.on{background:var(--accent-bg);color:var(--accent);font-weight:var(--w-medium);border-color:var(--accent-line)}.f{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s2)}.f label{font-size:var(--f-xs);font-weight:var(--w-medium);color:var(--muted)}.f input,.f select,.f textarea{background:#fff;border:1px solid var(--input-line);border-radius:var(--radius-sm);padding:9px 11px;min-height:var(--s5);width:100%}.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(125,84,17,.14)}.search{width:100%;background:#fff;border:1px solid var(--input-line);border-radius:var(--radius-sm);padding:9px 11px;margin-bottom:var(--s2)}.stat{display:flex;gap:var(--s2);flex-wrap:wrap;margin:var(--s1) 0}.stat .b{flex:1 1;min-width:140px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s2)}.stat .b .k{font-size:var(--f-xs);color:var(--muted)}.stat .b .v{font-family:var(--font-heading);font-size:var(--f-xl);font-weight:var(--w-medium)}.stat .b .sub{font-size:var(--f-xs);color:var(--muted)}.stat .b.ok .v{color:var(--success)}.stat .b.warn .v{color:var(--warning)}.stat .b.danger .v{color:var(--danger)}.stat .b.brand .v{color:var(--accent)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--s2);gap:var(--s2)}@media(max-width:820px){.kpis{grid-template-columns:repeat(2,1fr)}}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:var(--s2) var(--s3)}.kpi .k{font-size:var(--f-xs);color:var(--muted);font-weight:var(--w-medium)}.kpi .v{font-family:var(--font-heading);font-size:40px;font-weight:var(--w-normal);line-height:1.1;margin-top:4px}.kpi .d{font-size:var(--f-xs);color:var(--muted);margin-top:2px}.alert{padding:var(--s2);margin:var(--s2) 0;font-size:var(--f-sm);border-radius:var(--radius-sm);border:1px solid transparent}.alert.ok{background:var(--success-bg);color:var(--success);border-color:#c3e0cd}.alert.warn{background:var(--warning-bg);color:var(--warning);border-color:#ecd6a8}.alert.danger{background:var(--danger-bg);color:var(--danger);border-color:#e6c3bd}.alert.info{background:var(--accent-bg);color:var(--accent-hover);border-color:var(--accent-line)}.summary{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:#fff;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;padding:var(--s2) var(--s3);margin-bottom:var(--s3)}.summary .metric{font-family:var(--font-heading);font-size:40px;font-weight:var(--w-normal);line-height:1.1;color:var(--ink)}.summary .metric .unit{font-family:var(--font);font-size:var(--f-md);font-weight:var(--w-medium);margin-left:4px;color:var(--ink)}.summary .col{display:flex;flex-direction:column;gap:2px}.summary .col .k{font-size:var(--f-xs);color:var(--muted)}.summary .col .v{font-size:var(--f-sm);font-weight:var(--w-medium)}.summary .act{margin-left:auto;display:flex;gap:var(--s2);align-items:center}@media(max-width:820px){.summary{position:static}.summary .act{margin-left:0;width:100%}}.pager{display:flex;align-items:center;justify-content:center;gap:var(--s2);margin-top:var(--s2)}.recon{display:grid;grid-template-columns:1fr auto;grid-gap:6px var(--s3);gap:6px var(--s3);max-width:420px;font-size:var(--f-sm)}.recon .op{color:var(--muted)}.recon .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recon .sum{font-family:var(--font-heading);font-size:var(--f-lg);font-weight:var(--w-medium);border-top:1.5px solid var(--ink);padding-top:6px;margin-top:2px}table.tbl th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}table.tbl th.sortable:hover{color:var(--ink)}table.tbl td.wrap{white-space:normal;max-width:240px}.tblwrap{max-height:60vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}table.tbl{width:100%;border-collapse:separate;border-spacing:0}table.tbl td,table.tbl th{text-align:left;padding:var(--s2) var(--s1);white-space:nowrap}table.tbl th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-1);font-size:var(--f-xs);font-weight:var(--w-bold);color:var(--muted);letter-spacing:.04em}table.tbl td,table.tbl th{border-bottom:1px solid var(--line)}table.tbl td{vertical-align:top}table.tbl tbody tr:hover{background:var(--surface-1)}tr.warnrow{background:var(--warning-bg)}tr.exrow{opacity:.55}tr.exrow td:not(.rowact){text-decoration:line-through}td.rowact{display:flex;gap:var(--s1)}.tag,td.rowact{white-space:nowrap}.tag{display:inline-block;font-size:var(--f-xs);font-weight:var(--w-bold);padding:2px var(--s1);background:var(--surface-2);color:var(--muted);border-radius:999px}.tag.ok{background:var(--success-bg);color:var(--success)}.tag.warn{background:var(--warning-bg);color:var(--warning)}.tag.danger{background:var(--danger-bg);color:var(--danger)}.tag.mut{background:var(--surface-2);color:var(--muted)}.tag.blue{background:var(--accent-bg);color:var(--accent)}.bar{height:10px;background:var(--surface-2);overflow:hidden;border-radius:999px;margin-top:var(--s1)}.bar>i{display:block;height:100%;background:var(--accent-soft)}.bar.warn>i{background:var(--warning)}.bar.danger>i{background:var(--danger)}.bar.brand>i{background:var(--accent)}.bar.ok>i{background:var(--accent-soft)}.hbar{display:grid;grid-template-columns:150px 1fr 52px;align-items:center;grid-gap:var(--s2);gap:var(--s2);font-size:var(--f-sm);margin:var(--s1) 0}.hbar .track{background:var(--surface-2);height:14px;overflow:hidden;border-radius:999px}.hbar .track>i{display:block;height:100%;background:var(--accent-soft)}.hbar .lab{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prev{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.prev .subj{background:var(--surface-1);padding:var(--s2);font-weight:var(--w-bold);border-bottom:1px solid var(--line)}.prev .body{padding:var(--s2);white-space:pre-wrap}.nav{display:flex;justify-content:flex-end;margin-top:var(--s3);flex-wrap:wrap}.nav,.two{gap:var(--s2)}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s2)}@media(max-width:820px){.two{grid-template-columns:1fr}}.sampleflag{font-size:var(--f-xs);color:var(--muted);background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s2);margin-bottom:var(--s2)}.modal-bg{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:var(--s3);z-index:50}.modal{background:#fff;border-radius:var(--radius);max-width:720px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 12px 40px rgba(42,32,21,.25)}.modal .mh{display:flex;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:#fff}.modal .mh .x{margin-left:auto;cursor:pointer;color:var(--muted);font-size:var(--f-lg);background:none;border:0}.modal .mb{padding:var(--s2) var(--s3)}pre.payload{background:#2b2117;color:#f0e6d6;border-radius:var(--radius-sm);padding:var(--s2);font-size:var(--f-xs);overflow:auto;white-space:pre-wrap;word-break:break-word;line-height:1.5;font-family:ui-monospace,monospace}