:root{--bg:#f3f7fc;--panel:#ffffff;--panel-2:#eef4fb;--border:#d4e1f0;--text:#0f172a;--muted:#5a6b80;--gold:#0284c7;--sales:#0284c7;--customer:#eef4fb;--mio:#d97706;--mio-soft:#fef3e2;--ao:#0284c7;--ao-soft:#e2f2fb}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;-webkit-font-smoothing:antialiased}.wrap{max-width:880px;margin:0 auto;padding:24px 16px 80px}.brand{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}.brand h1{font-size:20px;margin:0;letter-spacing:.02em}.brand .ver{color:var(--gold);font-size:12px;font-weight:600}.tagline{color:var(--muted);font-size:13px;margin:0 0 20px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 1px 3px rgba(15,23,42,.05)}.config-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.field input,.field select{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:9px 10px;font-size:14px}.btn{border:none;border-radius:9px;padding:11px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .05s}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-gold{background:var(--gold);color:#fff}.btn-blue{background:var(--sales);color:#fff}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn-rec{background:#dc2626;color:#fff}.btn-rec.on{background:#ef4444;animation:pulse 1.1s infinite}.btn-end{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.stepper{margin-bottom:12px}.step,.stepper{display:flex;gap:6px}.step{flex:1 1;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:8px 6px;font-size:12px;cursor:pointer}.step,.step .step-no{align-items:center;justify-content:center}.step .step-no{display:inline-flex;width:18px;height:18px;border-radius:999px;background:var(--border);color:var(--text);font-size:11px}.step.cur{border-color:var(--gold);color:var(--gold)}.step.cur .step-no{background:var(--gold);color:#fff}.step.done{color:var(--text)}.step.done .step-no{background:#16a34a;color:#fff}.phase-tip{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:11px 13px;margin-bottom:14px;font-size:13px}.phase-goal{margin-bottom:6px}.phase-tip ul{margin:6px 0 10px;padding-left:18px;color:var(--muted);font-size:12.5px}.phase-tip li{margin:2px 0}.phase-eval{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:12px 0}.pe{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px 6px}.pe-mark{font-size:22px;line-height:1}.pe-mark.q2{color:#16a34a}.pe-mark.q1{color:var(--gold)}.pe-label,.pe-mark.q0{color:var(--muted)}.pe-label{font-size:11.5px}.fit{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:11px 13px;margin:12px 0}.fit-head{font-size:14px}.fit-head b{font-size:20px;color:var(--gold)}.fit-max{color:var(--muted);font-size:12px}.fit-comment{font-size:13px;color:var(--text);margin-top:6px;line-height:1.6}.fit-miss{margin:8px 0 0;padding-left:16px;color:#b45309;font-size:12.5px}.fit-miss li{margin:2px 0}.cam{position:relative;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#000}.cam-video{width:100%;max-height:260px;object-fit:cover;display:block;transform:scaleX(-1)}.cam-note{position:absolute;left:10px;bottom:8px;font-size:11px;color:#fff;background:rgba(220,38,38,.9);padding:3px 9px;border-radius:999px}.chat{display:flex;flex-direction:column;gap:10px;min-height:120px}.msg{max-width:78%;padding:10px 13px;border-radius:12px;font-size:14px;line-height:1.55;white-space:pre-wrap}.msg.customer{align-self:flex-start;background:var(--customer);border:1px solid var(--border);border-bottom-left-radius:4px}.msg.sales{align-self:flex-end;background:var(--sales);color:#fff;border-bottom-right-radius:4px}.msg .who{display:block;font-size:11px;opacity:.7;margin-bottom:3px}.composer{display:flex;gap:8px;margin-top:14px;align-items:flex-end}.composer textarea{flex:1 1;resize:none;min-height:46px;max-height:140px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit}.row{display:flex;gap:8px;flex-wrap:wrap}.spacer{flex:1 1}.hint{color:var(--muted);font-size:12px}.err,.hint{margin-top:8px}.err{color:#dc2626;font-size:13px}.mode-toggle{display:flex;gap:8px;flex-wrap:wrap}.mode-btn{flex:1 1;min-width:200px;cursor:pointer;font-size:13.5px;font-weight:700;padding:11px 12px;border-radius:10px;color:var(--text);background:var(--panel-2);border:1px solid var(--border);transition:.15s}.mode-btn.on,.mode-btn:hover{border-color:var(--gold)}.mode-btn.on{background:var(--gold);color:#fff}.mode-btn:disabled{opacity:.45;cursor:not-allowed}.mode-btn:disabled:hover{border-color:var(--border)}.deck-pick{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:10px;background:var(--panel-2)}.deck-label{display:block;font-size:12px;color:var(--gold);margin-bottom:6px}.deck-pick select{width:100%}.msg.note{align-self:stretch;max-width:100%;background:var(--panel-2);border:1px dashed var(--border);color:var(--muted)}.deck-outline{margin:8px 0 0;padding-left:20px;color:var(--text);font-size:13px;line-height:1.7}.deck-outline li{margin:3px 0}.session-foot{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;margin:14px -18px -18px;padding:12px 18px;background:linear-gradient(180deg,rgba(255,255,255,0) 0,var(--panel) 14%);border-top:1px solid var(--border)}.cam-mini{position:relative;width:132px;margin-bottom:8px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#000}.cam-mini-video{width:100%;height:88px;object-fit:cover;display:block;transform:scaleX(-1)}.cam-mini-tag{position:absolute;left:6px;bottom:5px;font-size:9.5px;color:#fff;background:rgba(220,38,38,.92);padding:2px 7px;border-radius:999px}.composer-input{flex:1 1;display:flex;flex-direction:column;gap:3px}.composer-label{font-size:11px;color:var(--muted)}.composer-input textarea{width:100%;box-sizing:border-box}.foot-row{margin-top:10px}.hist-row{cursor:pointer}.detail,.hist-row:hover td{background:var(--panel-2)}.detail{margin-top:14px;border:1px solid var(--border);border-radius:12px;padding:14px}.detail-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.score-num-sm{font-size:26px;font-weight:800;line-height:1;color:var(--gold)}.result.mio{border-color:var(--mio)}.result.ao{border-color:var(--ao)}.score-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.score-num{font-size:40px;font-weight:800;line-height:1;color:var(--gold)}.rank-badge{font-size:13px;padding:3px 9px;background:var(--gold);color:#fff}.rank-badge,.teacher-badge{font-weight:700;border-radius:999px}.teacher-badge{margin-left:auto;padding:6px 12px}.teacher-badge.mio{background:var(--mio-soft);color:var(--mio);border:1px solid var(--mio)}.teacher-badge.ao{background:var(--ao-soft);color:var(--ao);border:1px solid var(--ao)}.bars{display:grid;grid-gap:7px;gap:7px;margin:12px 0}.bar-row{display:grid;grid-template-columns:96px 1fr 52px;align-items:center;grid-gap:10px;gap:10px;font-size:13px}.bar-track{height:9px;background:var(--panel-2);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--gold);border-radius:999px}.feedback{white-space:pre-wrap;font-size:14px;line-height:1.7;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px;margin-top:8px}.awaken{margin:8px 0}.awaken,.navlink{font-size:13px;color:var(--gold)}.navlink{text-decoration:none}.navlink:hover{text-decoration:underline}.banner{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--muted);margin-bottom:16px}.banner.ok{border-left-color:#16a34a;color:#15803d}.banner.warn{border-left-color:#d97706;color:#b45309}.banner code{background:#e2e8f0;color:#0f172a;padding:1px 5px;border-radius:4px;font-size:12px}.btn-sm{padding:5px 10px;font-size:12px;margin-left:8px}.digram{margin-top:14px;background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:14px}.digram-head{display:flex;align-items:baseline;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:10px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.chip{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:5px 11px;font-size:11.5px;cursor:pointer}.chip:hover{border-color:var(--gold);color:var(--gold)}.axis{display:grid;grid-template-columns:150px 1fr 34px;align-items:center;grid-gap:10px;gap:10px;margin-bottom:8px}.axis-label{font-size:12px;line-height:1.2}.axis-label small{display:block;color:var(--muted);font-size:10.5px}.axis input[type=range]{width:100%;accent-color:var(--gold)}.axis-val{text-align:right;font-size:12px;color:var(--gold);font-weight:700}.derived{margin-top:8px;font-size:13px;color:var(--muted)}.derived b{color:var(--text)}@media (max-width:560px){.axis{grid-template-columns:110px 1fr 30px}}.panel-h{margin:0 0 12px;font-size:14px;color:var(--text)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.kpi-sub{font-size:13px;color:var(--muted);font-weight:600}.kpi{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 3px rgba(15,23,42,.05)}.kpi-num{font-size:30px;font-weight:800;color:var(--gold);line-height:1}.chart-legend,.kpi-label{font-size:12px;color:var(--muted)}.chart-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.chart-legend .dot{display:inline-block;width:9px;height:9px;border-radius:999px;margin-right:4px}.dot.mio{background:var(--mio)}.dot.ao{background:var(--ao)}.chart-panel{background:#ffffff;border-color:var(--border)}.chart-panel .panel-h{color:#0f172a}.chart2{width:100%;height:auto;display:block;margin:4px 0 2px;font-family:inherit}.chart2 .grid{stroke:#eef2f7;stroke-width:1}.chart2 .ylab{fill:#64748b;font-size:12px;text-anchor:end}.chart2 .xlab{fill:#64748b;font-size:11px;text-anchor:middle}.chart2 .vlab{fill:#0f172a;font-size:12px;font-weight:700;text-anchor:middle}.chart2 .line2{fill:none;stroke:#0284c7;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart2 .passline2{stroke:#f5b301;stroke-width:1.6;stroke-dasharray:5 4}.chart2 .passlab{fill:#b45309;font-size:11px;font-weight:700;text-anchor:end}.chart2 .dot2{stroke:#ffffff;stroke-width:2}.chart2 .dot2.ao{fill:#0284c7}.chart2 .dot2.mio{fill:#f5b301}.chart-panel .chart-legend{color:#475569}.chart-panel .chart-legend .muted{color:#94a3b8}.chart-panel .chart-legend .dot.ao{background:#0284c7}.chart-panel .chart-legend .dot.mio{background:#f5b301}.hist-table{width:100%;border-collapse:collapse;font-size:13px}.hist-table th{text-align:left;color:var(--muted);font-weight:600;padding:6px 8px}.hist-table td,.hist-table th{border-bottom:1px solid var(--border)}.hist-table td{padding:8px}.hist-table .teacher-badge{font-size:11px;padding:2px 8px}@media (max-width:560px){.hist-table thead{display:none}.hist-table,.hist-table tbody{display:block;width:100%}.hist-table tr.hist-row{display:block;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);padding:8px 12px;margin-bottom:10px}.hist-table tr.hist-row:hover td{background:transparent}.hist-table td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;border:none;border-bottom:1px solid var(--border);font-size:13.5px}.hist-table td:last-child{border-bottom:none}.hist-table td:before{content:attr(data-label);color:var(--muted);font-size:12px;font-weight:600}.hist-table td[data-label="合計"]{font-size:16px;font-weight:800;color:var(--gold)}}.rec-list{display:grid;grid-gap:12px;gap:12px}.rec-item{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px}.rec-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin-bottom:8px}.rec-meta .muted{color:var(--muted)}.rec-media{width:100%;max-height:320px;border-radius:8px;background:#000;display:block}.rec-audio{width:100%}.rec-indicator{font-size:12px;color:#b91c1c;background:var(--panel-2);border:1px solid var(--border);border-left:3px solid #dc2626;border-radius:8px;padding:8px 12px;margin-bottom:14px}.weak-note{font-size:13px;color:var(--text);margin:0 0 12px}.weak-note b{color:#dc2626}.weak-bars .bar-row{grid-template-columns:92px 1fr 86px}.weak-bars .bar-row span small{color:var(--muted)}.bar-fill.weak{background:#ef4444}.weak-note .btn-sm{display:inline-block;margin-left:10px}.type-link{text-decoration:none;color:inherit;cursor:pointer;padding:4px 6px;border-radius:7px;border:1px solid transparent}.type-link:hover{border-color:var(--gold);background:rgba(2,132,199,.08)}.check-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);cursor:pointer}.check-label input{width:16px;height:16px;accent-color:var(--gold)}.diag-card{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:12px;padding:13px 14px;margin-bottom:14px}.diag-card-h{font-size:13px;font-weight:600;margin-bottom:10px}.diag-card-h small{display:block;color:var(--muted);font-weight:400;margin-top:2px}.diag-cats{display:grid;grid-gap:6px;gap:6px;margin-bottom:10px}.diag-cat{display:grid;grid-template-columns:56px 1fr 30px;align-items:center;grid-gap:8px;gap:8px;font-size:12px}.diag-cat-track{height:8px;background:#dde8f4;border-radius:999px;overflow:hidden}.diag-cat-fill{height:100%;background:var(--gold);border-radius:999px}.diag-cat-fill.low{background:#ef4444}.diag-cat-val{text-align:right;color:var(--muted)}.diag-risks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.risk-badge{font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid var(--border)}.risk-badge.r-high{color:#dc2626;border-color:#dc2626}.risk-badge.r-mid{color:var(--gold);border-color:var(--gold)}.risk-badge.r-low{color:var(--muted)}.diag-asset{font-size:12.5px;color:var(--text)}.diag-dep{color:#dc2626}.diag-eval{background:var(--panel-2);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:10px;padding:11px 13px;margin:12px 0}.diag-eval-h{font-size:13px;font-weight:600;margin-bottom:6px}.diag-eval-row{font-size:12.5px;color:var(--text);margin-top:4px}.diag-eval-row.miss{color:#b45309}@media (max-width:560px){.config-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-num{font-size:26px}.msg{max-width:88%}}