:root{font-family:"Pretendard","Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203e39;background:#f6f8f5;font-synthesis:none;line-height:1.65}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #539e87;outline-offset:3px}a{color:#216b56;text-underline-offset:4px}.masthead{max-width:1200px;margin:auto;padding:27px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce5dd}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;text-decoration:none;color:#183f33}.brand span{font-size:12px;font-weight:500;letter-spacing:0;margin-left:16px;color:#64776e}.admin{font-size:13px;color:#64776e;text-decoration:none}main{max-width:1120px;margin:auto;padding:0 40px}.intro{padding:55px 0 34px}.eyebrow{font-size:13px;font-weight:650;color:#4e7b61;margin:0 0 14px}h1{font-size:clamp(30px,4vw,44px);line-height:1.3;letter-spacing:-1.8px;margin:0 0 18px;font-weight:750}.intro>p:last-child{color:#65766b;font-size:15px;margin:0}.selector{padding:24px 28px;background:#fff;border:1px solid #dce5dd;border-radius:18px}.step{font-size:12px;color:#68826f;font-weight:700;letter-spacing:.5px}.step span{font-size:14px;margin-left:12px;color:#344d40;letter-spacing:0}.search-row{display:flex;gap:14px;margin-top:20px}label{display:block;font-size:12px;color:#627567}input,select,textarea{border:1px solid #cfdcd1;border-radius:9px;background:#fff;color:#263f30;padding:11px 12px;width:100%}.search-row select,.search-row input{display:block;margin-top:6px}.search-label{flex:1}.school-label{flex:1.2}.search-row label:first-child{width:120px}.muted{color:#69796e;font-size:13px}#search-status{margin:8px 0}.resource-row{display:flex;align-items:center;gap:18px;padding-top:13px;border-top:1px solid #edf0e9}.resource-row select{width:180px;padding:7px 10px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.observation-section{margin-top:32px}.text-button{border:0;background:none;color:#42674e;font-size:12px;padding:8px}.empty{padding:42px 20px;text-align:center;border:1px dashed #cbd8c8;border-radius:16px;color:#6b7d6e}.empty-symbol{font-size:35px}.empty h2{font-size:18px;color:#405c47;margin:6px 0}.empty p{font-size:13px}.school-heading{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:15px}.school-heading h2{font-size:22px;margin:0;letter-spacing:-.8px}.badge{background:#f0eee1;color:#70672c;font-size:11px;border-radius:30px;padding:4px 10px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{padding:23px;background:#fff;border:1px solid #dce5dd;border-radius:14px;min-width:0}.card h3{font-size:15px;margin:0 0 18px}.card:first-child{border-top:3px solid #4b8b6e}.card:nth-child(2){border-top:3px solid #b0a25f}.card:nth-child(3){border-top:3px solid #8d9ca1}.fact{margin-bottom:17px}.fact:last-child{margin-bottom:0}.fact-label{font-size:12px;color:#69806b}.fact strong{display:block;font-size:24px;letter-spacing:-.5px;color:#284d36}.fact small{font-size:11px;display:block;color:#778275}.condition{font-size:13px;color:#576754;margin:0 0 13px}.option{font-size:13px;margin:0 0 18px}.option b{font-weight:650}.option p{margin:4px 0;font-size:12px;color:#6c7865}.fine{font-size:11px;color:#6e7c6c}.chat-section{margin:36px 0 48px;background:#edf2eb;border-radius:18px;padding:28px}.chat-section h2{font-size:23px;letter-spacing:-.8px;margin:12px 0 4px}.chat-section .muted{margin-top:0}.prompts{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.prompts button{border:1px solid #cbd8c8;background:#f8faf5;border-radius:30px;padding:7px 13px;font-size:12px;color:#496447}#chat-form{display:flex;align-items:stretch;gap:12px;background:white;border:1px solid #c9d6c8;border-radius:12px;padding:10px}textarea{border:0;resize:vertical;min-height:55px;max-height:160px;font-size:14px}#send{align-self:flex-end;white-space:nowrap;border:0;border-radius:8px;background:#315e43;color:white;padding:11px 17px;font-size:13px}footer{text-align:center;padding:22px;font-size:11px;border-top:1px solid #dce5dd;color:#70806e}.error{font-size:14px;color:#a34031}.error:empty{display:none}.message{background:#fff;border:1px solid #d8e3d4;border-radius:12px;padding:18px;margin:14px 0;font-size:14px;overflow-wrap:anywhere}.message h3{font-size:14px;margin:0 0 12px;color:#315e43}.message p{white-space:pre-wrap}.message details{margin:10px 0;font-size:12px}.message pre{white-space:pre-wrap;font-size:12px;max-height:350px;overflow:auto;background:#f6f8f4;padding:10px}.message table{font-size:12px;border-collapse:collapse;width:100%}.message th,.message td{padding:8px;text-align:left;border-bottom:1px solid #e0e8dd}.table-scroll{overflow:auto}summary{cursor:pointer;color:#4e6a4b}#summary>details{font-size:12px;margin-top:15px}#messages:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:720px){.masthead{padding:19px 20px}.brand span{display:none}main{padding:0 18px}.intro{padding:32px 0 25px}.selector{padding:20px}.search-row{flex-wrap:wrap;gap:10px}.search-row label:first-child{width:105px}.search-label{min-width:135px}.school-label{flex-basis:100%}.cards{grid-template-columns:1fr}.card{padding:20px}.chat-section{padding:20px;margin-top:28px}.school-heading h2{font-size:20px}.message{padding:14px}#chat-form{gap:2px}#send{padding:10px}.resource-row{gap:12px}}
main{max-width:1400px}.chat-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}.conversation{min-width:0}#messages{max-height:700px;overflow:auto}#evidence-panel{background:white;border:1px solid #d8e3d4;border-radius:14px;padding:22px;min-width:0;max-height:820px;overflow:auto}#evidence-panel h3{margin:0;font-size:20px}#evidence-panel h4{margin-bottom:8px}.panel-question{font-size:12px;color:#6c7e72;border-bottom:1px solid #e3e9e2;padding-bottom:12px}#answer-map{height:320px;border-radius:10px;background:#e7eeea;z-index:0}#evidence-panel table{font-size:12px;border-collapse:collapse;width:100%;white-space:normal}#evidence-panel th,#evidence-panel td{padding:9px;text-align:left;border-bottom:1px solid #e0e8dd;min-width:75px}#evidence-panel th{position:sticky;top:0;background:#f0f5ef}#evidence-panel .table-scroll{max-height:360px}#evidence-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.panel-sources{border-top:1px solid #d8e3d4;margin-top:20px;font-size:12px}.source-item{border-bottom:1px solid #edf0ea;padding-bottom:10px;overflow-wrap:anywhere}.source-item small{font-size:10px}figure{margin:18px 0}figure svg{width:100%;display:block}figure text{font-size:11px;fill:#526a5d}figcaption{font-size:11px;color:#68796b}.bar-chart>div{display:flex;gap:10px;align-items:center;margin:10px 0;font-size:12px}.bar-chart i{display:block;height:18px;background:#558c73;border-radius:3px}.bar-chart b{white-space:nowrap}.bar-chart span{min-width:60px}@media(max-width:850px){.chat-workspace{grid-template-columns:1fr}#evidence-panel{max-height:none;padding:17px}#messages{max-height:450px}#answer-map{height:290px}} 

.export-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.export-actions button{border:1px solid #bdcfbf;background:#f5f8f3;border-radius:8px;color:#315e43;font-size:12px;padding:8px 12px}.export-actions p{flex-basis:100%;margin:0}

.upload-box{margin:12px 0;padding:12px;border:1px solid #d5dfd7;border-radius:12px}.upload-box summary{cursor:pointer}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.upload-grid label{display:flex;flex-direction:column;gap:5px;font-size:13px}.upload-grid select,.upload-grid input{width:100%;min-width:0;padding:8px}.chat-scope-label{display:flex;align-items:center;gap:10px;margin:15px 0}.upload-box table{font-size:12px}.upload-box [hidden]{display:none}@media(max-width:600px){.upload-grid{grid-template-columns:1fr}}

.upload-box input[type=file]{max-width:100%;display:block;margin:8px 0}
/* Task-focused workspace: keep one working surface visible. */
[hidden]{display:none!important}
main{max-width:1240px}
.intro{padding:36px 0 26px}
h1{font-size:clamp(28px,3.4vw,38px);line-height:1.4}
.workspace-nav{display:flex;gap:6px;border-bottom:1px solid #cfdcd1}
.workspace-nav button{border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:#65766b;padding:14px 22px;font-size:14px}
.workspace-nav button[aria-current]{border-color:#315e43;background:#eaf0e8;color:#234d35;font-weight:700}
.workspace-context{padding:16px 0;font-size:13px;color:#526959}
.workspace-page{min-height:360px}
.next-actions{display:flex;justify-content:flex-end;gap:10px;margin:20px 0 30px}
.next-actions button,#save-review{border:1px solid #315e43;border-radius:9px;background:#315e43;color:#fff;padding:11px 17px;font-size:13px}
.next-actions button:first-child{background:#fff;color:#315e43}
.chat-section{margin:0 0 30px;padding:24px}
.question-examples{font-size:13px;margin:14px 0}
.chat-scope-label select{max-width:220px}
.review-section{padding:24px 28px;background:white;border:1px solid #dce5dd;border-radius:16px;margin-bottom:30px}
.review-section h2{font-size:24px;letter-spacing:-.8px;margin:0 0 10px}
.review-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;margin:20px 0}
.review-grid label{margin-bottom:16px;font-size:13px}
.review-grid label input,.review-grid label select,.review-grid label textarea{margin-top:6px}
.review-grid textarea{border:1px solid #cfdcd1;max-height:none}
.review-help{background:#f5f7f2;border-radius:12px;padding:22px;align-self:start;font-size:13px;color:#586c5a}
.review-help h3{font-size:15px;margin:0 0 14px;color:#284d36}
.review-help ul{padding-left:19px}.review-help li{margin:10px 0}
.capability-details{margin:24px 0 40px;border-top:1px solid #dce5dd;padding-top:18px;font-size:13px}
.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:12px 0}
.capability-grid h3{font-size:14px}.capability-grid p{font-size:12px;color:#586c5a;line-height:2}
@media(max-width:720px){.workspace-nav{gap:0}.workspace-nav button{flex:1;font-size:12px;padding:12px 6px}.review-grid,.capability-grid{grid-template-columns:1fr;gap:14px}.review-section{padding:20px}.review-section h2{font-size:21px}.workspace-context{font-size:12px}.next-actions{justify-content:stretch}.next-actions button{flex:1}.chat-section{padding:18px}.brand{font-size:21px}}
/* Map-first exploration, with independent school-level filters. */
.intro{padding:25px 0 22px}.intro .eyebrow{margin-bottom:8px}h1{font-size:clamp(25px,3vw,34px);margin-bottom:8px}
.map-workspace{display:grid;grid-template-columns:285px minmax(0,1fr);background:#fff;border:1px solid #dce5dd;border-radius:16px;overflow:hidden}
.map-workspace .selector{border:0;border-right:1px solid #dce5dd;border-radius:0;padding:22px}
.map-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:4px}.map-filter-heading h2{font-size:16px;margin:0;letter-spacing:-.5px}.map-filter-heading button{padding:5px;font-size:11px;white-space:nowrap}
.map-workspace .muted{font-size:12px;margin:5px 0 15px}.school-levels{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.school-levels label{position:relative;cursor:pointer}.school-levels input{position:absolute;opacity:0;width:1px;height:1px}
.school-levels span{display:flex;align-items:center;gap:8px;border:1px solid #d6dfd7;border-radius:9px;padding:10px;font-size:13px;background:#fff;color:#68726c}
.school-levels input:checked+span{background:#eff5ee;border-color:#688775;color:#203e39;font-weight:700;box-shadow:inset 0 0 0 1px #688775}
.school-levels input:checked+span:after{content:'✓';margin-left:auto;font-size:11px}.school-levels input:focus-visible+span{outline:3px solid #539e87;outline-offset:2px}
.school-levels i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--school-color);flex-shrink:0}
.map-workspace .search-row{display:block;margin-top:20px}.map-workspace .search-row label{width:100%;margin:12px 0}.map-workspace .search-row input,.map-workspace .search-row select{font-size:13px;padding:9px}
.map-workspace .resource-row{display:block}.map-workspace .resource-row select{margin-top:6px;width:100%;font-size:13px}
.map-boundary-controls{border-top:1px solid #e4eae3;margin-top:18px;padding-top:10px}.map-boundary-controls h3{font-size:13px;margin:0 0 10px}.map-boundary-controls label{display:flex;align-items:center;gap:7px;margin:10px 0;font-size:12px;color:#354f40}.map-boundary-controls input{width:15px;height:15px;accent-color:#315e43}
.boundary-key{display:inline-block;width:17px;height:12px;flex-shrink:0}.radius-key{border:2px dashed #277f88;border-radius:50%}.zone-key{border:2px solid #8560ad;background:#eee7f5}
.map-canvas{min-width:0}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;font-size:12px;min-height:45px}#school-map{height:490px;background:#e8efe9;isolation:isolate}.map-notes{padding:10px 16px}.map-notes p{font-size:12px;margin:3px 0;color:#526959}.map-source{font-size:11px;padding:0 16px 14px}.map-source p{font-size:11px;margin:6px 0}.leaflet-tooltip{font:12px/1.5 "Noto Sans KR",sans-serif}.leaflet-popup-content{font:12px/1.6 "Noto Sans KR",sans-serif}.leaflet-popup-content button{display:block;text-align:left}.leaflet-interactive:focus-visible{outline:3px solid #183f33}
@media(min-width:1300px){main{max-width:1420px}#school-map{height:510px}}
@media(max-width:850px){.map-workspace{grid-template-columns:1fr}.map-workspace .selector{border-right:0;border-bottom:1px solid #dce5dd;padding:16px}.school-levels{grid-template-columns:repeat(4,1fr);gap:6px}.school-levels span{justify-content:center;padding:9px 5px;font-size:12px;gap:5px}.school-levels input:checked+span:after{display:none}.map-workspace .search-row{display:flex;margin-top:6px;gap:10px}.map-workspace .search-row label{margin:6px 0;flex:1;min-width:0}.map-workspace .resource-row{display:flex;padding-top:8px}.map-workspace .resource-row select{width:160px;margin:0}.map-boundary-controls{margin-top:10px;padding-top:8px;display:flex;flex-wrap:wrap;gap:0 12px}.map-boundary-controls h3{width:100%;margin-bottom:0}.map-boundary-controls label{margin:6px 0}.map-boundary-controls p{margin:4px 0}.map-toolbar{padding:8px 12px;align-items:start}.map-toolbar button{padding:0;font-size:10px;white-space:nowrap}#school-map{height:390px}.map-filter-heading h2{font-size:15px}}
@media(max-width:400px){.school-levels span{font-size:11px;gap:4px}.map-toolbar{flex-wrap:wrap}.map-workspace .search-row{flex-wrap:wrap}.map-workspace .school-label{flex-basis:100%!important}}
.masthead{max-width:1420px}
.map-options>summary{display:none}
@media(max-width:850px){.map-options>summary{display:block;font-size:12px;margin-top:12px;padding:7px 0}.intro{padding:18px 0 16px}.intro .eyebrow{font-size:11px}h1{font-size:25px}.workspace-context{padding:10px 0}.map-workspace .selector>.muted{margin-bottom:10px}}
.chat-save-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:12px 14px;background:#fff;border:1px dashed #b9cbbd;border-radius:12px}.chat-save-bar .chat-save-status{flex:1 1 220px;font-size:12px;color:#5b7164;margin:0}.chat-save-bar input{flex:1 1 200px;padding:8px 10px}.chat-save-bar .chat-save{border:1px solid #315e43;background:#315e43;color:#fff;border-radius:8px;padding:9px 14px;font-size:13px}.chat-save-bar .chat-save:disabled{background:#8fa799;border-color:#8fa799}.saved-section{padding:8px 0 30px}.saved-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:12px 0 18px}.saved-import{font-size:13px;color:#345445}.saved-import input{width:auto;margin-left:8px}.saved-list article{background:#fff;border:1px solid #d8e3d4;border-radius:12px;padding:16px 18px;margin:0 0 12px}.saved-list h3{font-size:15px;margin:0 0 4px}.saved-list .saved-meta{font-size:12px;color:#69796e;margin:0 0 10px}.saved-list .saved-actions{display:flex;flex-wrap:wrap;gap:6px}.saved-list .saved-actions button{border:1px solid #b6cbbd;border-radius:8px;background:#f7faf8;padding:7px 11px;font-size:12px;color:#28553f}.saved-list .saved-actions button.danger{color:#8f3a2c;border-color:#d9b6ae}.saved-entry{border-top:1px solid #e3ebe4;padding:10px 0}.saved-entry h4{font-size:13px;margin:0 0 4px}.saved-entry p{font-size:12px;color:#4f6356;margin:4px 0;white-space:pre-wrap}.saved-entry small{color:#7a8a7d}.saved-empty{padding:32px 20px;text-align:center;border:1px dashed #cbd8c8;border-radius:14px;color:#6b7d6e;font-size:13px}

/* 지표 프로필 패널 · 영역별 통계 (2026-09-13) */
.profile-scope{margin:.2rem 0 1rem}
.radar-section{margin:0 0 1.25rem;padding:1rem;border:1px solid var(--line,#d9dee6);border-radius:12px;background:var(--card,#fff)}
.radar-basis{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem}
.radar-basis button{padding:.35rem .8rem;border:1px solid var(--line,#d9dee6);border-radius:999px;background:transparent;cursor:pointer;font:inherit;font-size:.86rem}
.radar-basis button.on{background:#21875a;color:#fff;border-color:#21875a}
.radar-holder{max-width:420px;margin:0 auto}
.radar-note{margin:.4rem 0 0}
svg.radar .ring{fill:none;stroke:var(--line,#d9dee6);stroke-width:1}
svg.radar .spoke{stroke:var(--line,#c7cedb);stroke-width:1}
svg.radar .spoke.broken{stroke:#b0b7c3}
svg.radar .area{fill:rgba(33,135,90,.18);stroke:#21875a;stroke-width:1.5}
svg.radar .area-line{fill:none;stroke:#21875a;stroke-width:1.5}
svg.radar .dot{fill:#21875a}
svg.radar .axis-name{font-size:10px;fill:currentColor;font-weight:600}
svg.radar .axis-sub{font-size:9px;fill:#6b7280}
svg.radar .radar-empty{font-size:12px;fill:#6b7280}
.domain-tablist{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .6rem}
.domain-tablist button{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;border:1px solid var(--line,#d9dee6);border-radius:9px;background:var(--card,#fff);color:#4a5a52;padding:.4rem .7rem;font:inherit;font-size:.86rem;line-height:1.35;text-align:left}
.domain-tablist button:hover{border-color:#8fb6a2}
.domain-tablist .domain-name{font-weight:600}
.domain-tablist .domain-count{font-size:.72rem;color:#6b7280}
.domain-tablist button[aria-selected="true"]{background:#21875a;border-color:#21875a;color:#fff}
.domain-tablist button[aria-selected="true"] .domain-count{color:#dcefe4}
.domain-cards{display:grid;gap:.6rem}
.domain-card{border:1px solid var(--line,#d9dee6);border-radius:10px;padding:.2rem .8rem .6rem;background:var(--card,#fff)}
.domain-card>.text-button{padding-left:0}
.domain-card>.indicator:first-of-type{border-top:0}
.indicator{padding:.55rem 0;border-top:1px solid #eef1f5}
.indicator-label{display:block;font-size:.9rem;font-weight:600}
.indicator-label small{display:block;font-weight:400;font-size:.76rem;color:#6b7280}
.indicator-dir{font-size:.76rem;color:#6b7280}
.indicator-spread,.indicator-gu,.indicator-why{margin:.15rem 0 0;font-size:.78rem;color:#6b7280}
.indicator.missing .indicator-value{display:inline-block;font-weight:600;color:#9aa2af;margin-right:.4rem}
.indicator.text .indicator-value{display:block;font-weight:600}
svg.pct-bar .track{fill:#eef1f5}
svg.pct-bar .fill{fill:#21875a}
svg.pct-bar .gu-mark{stroke:#c2410c;stroke-width:2}
svg.pct-bar .pct-value{font-size:11px;font-weight:600;fill:currentColor}
svg.pct-bar .pct-meta{font-size:10px;fill:#6b7280}
svg.histogram .bar{fill:#b9c6d6}
svg.histogram .bar.selected{fill:#c2410c}
svg.histogram .axis{stroke:var(--line,#d9dee6)}
svg.histogram .axis-label{font-size:9px;fill:#6b7280}
.stats-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:end;margin:.8rem 0}
.stat-indicator{border:1px solid var(--line,#d9dee6);border-radius:10px;padding:.8rem 1rem;margin-bottom:.8rem;background:var(--card,#fff)}
.stat-indicator h3{margin:0 0 .3rem;font-size:.98rem}
.stat-dir{font-size:.76rem;font-weight:400;color:#6b7280}
.stat-summary,.stat-selected,.stat-island,.stat-coverage,.stat-empty{margin:.25rem 0;font-size:.85rem}
.stat-selected{color:#c2410c;font-weight:600}
.stat-island,.stat-coverage{color:#6b7280}
.stat-empty{color:#9aa2af}
.stat-missing{margin:.1rem 0 0 1rem;padding:0;font-size:.8rem;color:#6b7280}
@media (max-width:640px){.radar-holder{max-width:100%}.domain-tablist{gap:.3rem}.domain-tablist button{padding:.38rem .6rem;font-size:.82rem}.domain-tablist .domain-count{display:none}}
