:root{--bg:#f3f4f1;--paper:#fdfdfb;--ink:#23262a;--muted:#646a70;--line:#d9dcd6;--ai:#24476b;--ai-soft:#e3eaf2;--sugi:#8b4a2b;--kari:#fbefc4;--kari-ink:#6b5410;--good:#2e6b46;--bad:#a33a2a;--f-disp:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--f-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#16191c;--paper:#1e2226;--ink:#e7e9e6;--muted:#9aa1a7;--line:#343a40;--ai:#8fb3d9;--ai-soft:#22303f;--sugi:#d79a76;--kari:#3d3415;--kari-ink:#f0d98a;--good:#7cc49a;--bad:#e58b7c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);margin:0;font-size:14px;line-height:1.6}[hidden]{display:none!important}.wrap{flex-direction:column;gap:16px;max-width:1180px;margin:0 auto;padding-block:20px 48px;padding-inline:16px;display:flex}.wrap.login{max-width:440px;padding-top:12vh}header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}h1{font-family:var(--f-disp);letter-spacing:.04em;text-wrap:balance;margin:0;font-size:1.6rem;font-weight:800}h1 small{font-family:var(--f-body);color:var(--muted);letter-spacing:.08em;margin-left:.6em;font-size:.8rem;font-weight:500}h2{font-family:var(--f-disp);margin:0;font-size:1.15rem;font-weight:600}h3{letter-spacing:.12em;color:var(--muted);margin:0;font-size:.8rem;font-weight:700}p{margin:0}.note{color:var(--muted);font-size:.8rem}.hd-right{align-items:center;gap:12px;display:flex}.kari-chip{background:var(--kari);color:var(--kari-ink);border-radius:3px;padding:0 .4em;font-size:.75rem;font-weight:700;display:inline-block}.demo{background:var(--kari);color:var(--kari-ink);border-radius:6px;padding:8px 12px;font-size:.85rem}nav{border-bottom:2px solid var(--ai);flex-wrap:wrap;gap:4px;display:flex}nav button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px 6px 0 0;padding:8px 14px;font-weight:700}nav button[aria-selected=true]{background:var(--ai);color:var(--paper)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--sugi);outline-offset:2px}.grid{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:820px){.grid{grid-template-columns:minmax(0,1fr)}}.panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}fieldset{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}legend{letter-spacing:.12em;color:var(--muted);margin-bottom:6px;padding:0;font-size:.8rem;font-weight:700}.f{grid-template-columns:8.5em minmax(0,1fr);align-items:center;gap:8px;display:grid}.f label{font-size:.85rem}input,select{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:5px;width:100%;min-width:0;padding:5px 8px}input[type=number]{text-align:right}.unit{position:relative}.unit input{padding-right:3em}.unit span{color:var(--muted);pointer-events:none;font-size:.75rem;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.grades{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.grades label{border:1px solid var(--line);cursor:pointer;border-radius:6px;flex-direction:column;gap:2px;padding:6px;font-size:.8rem;line-height:1.35;display:flex}.grades label:has(input:checked){border-color:var(--ai);background:var(--ai-soft)}.grades input{opacity:0;width:1px;height:1px;position:absolute}.grades b{font-size:.95rem}.check{align-items:center;gap:8px;font-size:.9rem;display:flex}.check input{width:auto}.btns{flex-wrap:wrap;gap:8px;display:flex}button.b{font:inherit;cursor:pointer;border:1px solid var(--ai);background:var(--ai);color:var(--paper);border-radius:6px;padding:7px 14px;font-weight:700}button.b.ghost{color:var(--ai);background:0 0}button.b.warn{border-color:var(--sugi);color:var(--sugi);background:0 0}button.b:disabled{opacity:.5;cursor:default}button.link{font:inherit;color:var(--ai);cursor:pointer;background:0 0;border:0;padding:0;font-size:.8rem;text-decoration:underline}.status{color:var(--good);min-height:1.2em;font-size:.8rem}.status.err{color:var(--bad)}.sum{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.sum div{border-left:3px solid var(--line);flex-direction:column;gap:2px;padding-left:10px;display:flex}.sum div.main{border-left-color:var(--sugi)}.sum span{color:var(--muted);letter-spacing:.06em;font-size:.75rem}.sum strong{font-family:var(--f-disp);font-variant-numeric:tabular-nums;font-size:1.45rem;line-height:1.2}.sum em{color:var(--muted);font-size:.75rem;font-style:normal}.tbl{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}th,td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;padding:5px 8px}th{color:var(--muted);letter-spacing:.04em;background:var(--paper);font-size:.75rem;font-weight:700;position:sticky;top:0}td.l,th.l{text-align:left;white-space:normal}tr.grp td{background:var(--bg);text-align:left;letter-spacing:.1em;color:var(--muted);font-size:.75rem;font-weight:700}tr.tot td{border-top:2px solid var(--ink);font-weight:700}tr.kari td{background:var(--kari);color:var(--kari-ink)}.cls{text-align:center;background:var(--ai-soft);width:1.5em;color:var(--ai);border-radius:3px;font-size:.75rem;font-weight:700;display:inline-block}td input{width:7.5em;padding:3px 6px}td input.kari{background:var(--kari);color:var(--kari-ink)}.cmp td.best{color:var(--sugi);font-weight:700}.docpane{flex-direction:column;gap:12px;display:flex}.doc{background:var(--paper);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:18px;max-width:820px;padding:28px clamp(16px,4vw,40px);display:flex}.doc .ttl{font-family:var(--f-disp);letter-spacing:.6em;text-align:center;border-bottom:3px double var(--ink);padding-bottom:8px;font-size:1.9rem;font-weight:800}.doc .row{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}.doc .to{border-bottom:1px solid var(--ink);min-width:14em;padding-bottom:2px;font-size:1.15rem}.doc .total{border-bottom:2px solid var(--ink);align-items:baseline;gap:16px;padding-bottom:6px;display:flex}.doc .total strong{font-family:var(--f-disp);font-variant-numeric:tabular-nums;font-size:1.9rem}.doc .co{text-align:right;font-size:.85rem;line-height:1.6}.doc .co b{font-family:var(--f-disp);font-size:1.05rem}.list{flex-direction:column;display:flex}.list .it{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:10px 0;display:flex}.list .it .nm{flex:14em;min-width:0}.list .it .nm b{display:block}.list .num{font-variant-numeric:tabular-nums;font-weight:700}.empty{color:var(--muted);text-align:center;padding:24px 0}@media (prefers-reduced-motion:no-preference){nav button{transition:background .15s}}@page{size:A4;margin:15mm}@media print{:root{--bg:#fff;--paper:#fff;--ink:#222;--muted:#555;--line:#ccc;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:#fff;font-size:13px}.wrap{max-width:none;padding:0}.noprint{display:none!important}.docpane{display:flex!important}.doc{border:0;max-width:none;padding:0}th{position:static}}
