:root{--ai: #1E3A5F;--ai-deep: #13253C;--washi: #FBFAF7;--paper: #FFFFFF;--shu: #C73E3A;--bg: var(--washi);--fg: #2B2B28;--muted: #6B6A63;--line: #E4E1D8;--accent: var(--ai);--err: var(--shu);--ok: #2F6B3F;--font-display: "Shippori Mincho", serif;--font-body: "Zen Kaku Gothic New", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:1.8}h1,h2,h3{font-family:var(--font-display);color:var(--ai);letter-spacing:.06em}h1{font-size:1.5rem;font-weight:800;margin:0 0 .4rem}h2{font-size:1.1rem;font-weight:800;margin:0 0 .6rem}.nav{display:flex;align-items:center;gap:1rem;padding:.7rem 1.4rem;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-display);font-weight:800;letter-spacing:.14em;color:var(--ai)}.brand .stamp{width:30px;height:30px;flex:none;border:2px solid var(--shu);border-radius:4px;color:var(--shu);display:grid;place-items:center;font-size:9.5px;line-height:1.1;letter-spacing:0;text-align:center;transform:rotate(-4deg)}.spacer{flex:1}.page{max-width:900px;margin:0 auto;padding:1.5rem 1.2rem 4rem}.page-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.page-head h1{flex:1}.center{min-height:100dvh;display:grid;place-items:center;padding:1.2rem}.card{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ai);border-radius:2px;padding:1.2rem 1.3rem;margin-bottom:1.2rem}.card.narrow{width:min(440px,100%)}label{display:block;margin-top:.9rem;font-size:.85rem;font-weight:700;color:var(--ai)}input[type=text],input[type=email],input:not([type]),textarea{width:100%;padding:.55rem .7rem;margin-top:.25rem;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--fg);font:inherit}input[type=file]{margin-top:.35rem;font-size:.85rem}textarea{resize:vertical}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--shu);outline-offset:2px}button,.button{display:inline-block;margin-top:1rem;padding:.5rem 1.2rem;border:1px solid var(--ai);border-radius:3px;background:var(--ai);color:#fff;font:inherit;letter-spacing:.06em;cursor:pointer;text-decoration:none;transition:background .2s}button:hover:not(:disabled),.button:hover{background:var(--ai-deep)}button:disabled{opacity:.45;cursor:not-allowed}button.link{background:none;border:none;color:var(--ai);padding:0;margin:.6rem 0 0;text-decoration:underline;text-underline-offset:3px}button.link:hover:not(:disabled){background:none;color:var(--shu)}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--err)}.ok{color:var(--ok)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.55rem .5rem;border-bottom:1px solid var(--line);font-size:.9rem}.table th{font-size:.78rem;color:#fff;background:var(--ai);font-weight:500;letter-spacing:.06em}.badge{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.75rem;border:1px solid var(--line);letter-spacing:.04em}.badge.approved{border-color:var(--ok);color:var(--ok)}.badge.reviewing{border-color:var(--shu);color:var(--shu)}.kv{display:grid;grid-template-columns:8rem 1fr;gap:.4rem 1rem;margin:0}.kv dt{color:var(--muted);font-size:.85rem}.kv dd{margin:0;overflow-wrap:anywhere}code{font-size:.8rem;overflow-wrap:anywhere;color:var(--ai)}.progress-row{margin-bottom:.8rem}.progress-label{display:flex;justify-content:space-between;font-size:.8rem;gap:1rem}.progress-label span:first-child{overflow-wrap:anywhere}progress{width:100%;height:.5rem;accent-color:var(--ai)}.badge.running,.badge.queued{border-color:var(--ai);color:var(--ai)}.badge.failed{border-color:var(--err);color:var(--err)}.badge.succeeded{border-color:var(--ok);color:var(--ok)}.viewer{display:flex;flex-direction:column;height:calc(100dvh - 3.4rem)}.viewer-bar{display:flex;align-items:center;gap:.9rem;padding:.5rem 1.4rem;background:var(--paper);border-bottom:1px solid var(--line);font-size:.85rem}.viewer-bar button.link,.viewer-bar a.link{margin:0}.viewer-bar .active{font-weight:700;text-decoration:none;color:var(--ai)}.viewer-frame{flex:1;width:100%;border:0;background:#fff}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.chip{margin:0;padding:.25rem .8rem;border-radius:999px;font-size:.8rem;background:var(--paper);color:var(--fg);border:1px solid var(--line)}.chip:hover:not(:disabled){background:var(--paper);border-color:var(--ai)}.chip.on{border-color:var(--ai);color:var(--ai);font-weight:700}.question{padding:.9rem 1.1rem}.q-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.q-prompt{margin:.2rem 0;white-space:pre-wrap}.q-sub{margin:.1rem 0}.q-options{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0;align-items:flex-start}.q-options .chip{text-align:left;white-space:normal}.badge.p-high{border-color:var(--shu);color:var(--shu)}.badge.p-medium{border-color:var(--ai);color:var(--ai)}.badge.p-low{border-color:var(--line);color:var(--muted)}select{width:100%;padding:.55rem .7rem;margin-top:.25rem;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--fg);font:inherit}.report{white-space:pre-wrap;font-size:.85rem;line-height:1.8;overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:1rem}.nav a{color:var(--ai);text-decoration:none;font-size:.85rem}.nav a:hover{color:var(--shu)}.viewer-bar a.link.strong{font-weight:700;color:var(--shu)}.viewer-note{margin:0;padding:.45rem 1.4rem;background:var(--paper);border-bottom:1px solid var(--line)}.viewer-note a{color:var(--ai)}.save-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem;margin-top:1rem;border:1px solid var(--line);border-left:3px solid var(--shu);border-radius:2px;background:var(--paper);font-size:.85rem}.save-bar button{margin:0}:root{--kin: #B98A2F;--kin-text: #8A6516;--wakaba-text: #446B34;--shu-text: #B7332F}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1.4rem}.kpi{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--ai);padding:.9rem 1rem}.kpi-label{font-size:.72rem;color:var(--muted);letter-spacing:.12em}.kpi-num{font-family:var(--font-display);font-size:1.9rem;font-weight:800;color:var(--ai);line-height:1.3}.kpi-num small{font-size:.8rem;font-weight:600;margin-left:.2rem}.kpi-foot{font-size:.72rem;color:var(--muted)}.kpi.alert{border-top-color:var(--kin)}.kpi.alert .kpi-num{color:var(--kin-text)}.kpi.band-good{border-top-color:var(--wakaba-text)}.kpi.band-good .kpi-num{color:var(--wakaba-text)}.kpi.band-mid{border-top-color:var(--kin)}.kpi.band-mid .kpi-num{color:var(--kin-text)}.kpi.band-low{border-top-color:var(--shu)}.kpi.band-low .kpi-num{color:var(--shu-text)}.cov-row{display:grid;grid-template-columns:6rem 1fr 5.6rem;align-items:center;gap:.7rem;margin:.45rem 0}.cov-label{font-size:.85rem}.cov-bar{display:block;height:.5rem;background:#efece3;border-radius:999px;overflow:hidden}.cov-fill{display:block;height:100%;background:var(--ai)}.cov-fill.band-good{background:var(--wakaba-text)}.cov-fill.band-mid{background:var(--kin)}.cov-fill.band-low{background:var(--shu)}.cov-num{font-size:.85rem;font-variant-numeric:tabular-nums;text-align:right}.focus-item{display:flex;gap:.8rem;padding:.7rem .1rem;border-bottom:1px dashed var(--line)}.focus-item:last-of-type{border-bottom:none}.focus-item .tag{flex:none;font-size:.7rem;color:#fff;background:var(--shu);padding:.1rem .5rem;border-radius:3px;height:fit-content;letter-spacing:.06em;margin-top:.3rem}.focus-item .tag.differs{background:var(--kin-text)}.focus-body{flex:1}.focus-body .why{display:block;font-size:.8rem;color:var(--muted)}.note-shu{border-top-color:var(--shu)}.plain-list{margin:.6rem 0 0;padding-left:1.1rem}.plain-list li{margin:.3rem 0}.plain-list .why{display:block;font-size:.8rem;color:var(--muted)}.cov-group{margin-top:.9rem}.cov-group h3{font-size:.9rem;margin:0 0 .3rem}.check-list{list-style:none;margin:0;padding:0}.check-list li{position:relative;padding-left:1.3rem;font-size:.88rem;margin:.18rem 0}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}@media(max-width:720px){.kpis{grid-template-columns:repeat(2,1fr)}.cov-row{grid-template-columns:5rem 1fr 4.6rem}}.score{font-weight:700;font-variant-numeric:tabular-nums}.score.band-good{color:var(--wakaba-text)}.score.band-mid{color:var(--kin-text)}.score.band-low{color:var(--shu-text)}.page.wide{max-width:1080px}.matrix-wrap{overflow-x:auto}.matrix{border-collapse:collapse;width:100%;min-width:680px}.matrix th,.matrix td{border-bottom:1px solid var(--line);padding:.6rem .7rem;text-align:center;font-size:.85rem}.matrix thead th{background:var(--washi);color:var(--ai);font-weight:700;font-size:.8rem;border-bottom:2px solid var(--ai)}.matrix tbody th.staff-col,.matrix thead th.staff-col{text-align:left;white-space:nowrap;background:var(--washi);font-weight:500}.matrix .trend{display:block;font-size:.68rem;color:var(--muted)}.matrix .cell-link,.matrix .hanko-link{text-decoration:none;color:inherit;display:inline-block}.matrix .cell-link:hover .score{text-decoration:underline;text-underline-offset:3px}.hanko{display:inline-grid;place-items:center;width:44px;height:44px;border:2.5px solid var(--shu);border-radius:50%;color:var(--shu);font-family:var(--font-display);font-weight:800;font-size:.62rem;line-height:1.15;transform:rotate(-6deg);background:radial-gradient(circle at 30% 30%,#c73e3a1a,#c73e3a08)}.legend{display:flex;gap:1.1rem;flex-wrap:wrap;padding:.7rem .2rem 0;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);margin-top:.7rem}.legend b{font-weight:700}.legend .b-good{color:var(--wakaba-text)}.legend .b-mid{color:var(--kin-text)}.legend .b-low{color:var(--shu-text)}.legend .b-shu{color:var(--shu)}.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:1.2rem;align-items:start}.chart-keys{display:flex;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin:.8rem 0 .3rem}.chart-keys .key{display:flex;align-items:center;gap:.35rem}.chart-keys .sw{width:14px;height:3px;border-radius:2px}.chart-keys .sw.dashed{height:0;border-top:1px dashed #8A8880}svg text{font-family:var(--font-body)}@media(max-width:820px){.grid2{grid-template-columns:1fr}}
