.app-shell{padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px))}.update-history-trigger{right:max(1rem, env(safe-area-inset-right,0px));bottom:max(1rem, env(safe-area-inset-bottom,0px));z-index:20;border-color:var(--color-accent);background:var(--color-surface);min-width:44px;min-height:44px;box-shadow:var(--shadow-soft);font-size:.85rem;position:fixed}.update-history-dialog{border:2px solid var(--color-accent);border-radius:var(--radius);background:var(--color-surface);width:min(100vw - 2rem,36rem);max-height:min(80vh,42rem);color:var(--color-ink);margin:auto;padding:0;box-shadow:0 1rem 3rem #26323840}.update-history-dialog::backdrop{background:#26323873}.update-history-dialog-content{max-height:min(80vh,42rem);padding:var(--space-4);overflow-y:auto}.update-history-dialog-content h2{margin-top:0}.update-history-dialog-content>button{float:right;margin-top:-3.25rem}.update-history-dialog-content ol{clear:both;padding-left:1.5rem}.update-history-dialog-content ol>li{margin:var(--space-4) 0}.update-history-dialog-content p{margin-bottom:var(--space-1)}.update-history-dialog-content ul{margin-top:var(--space-1)}@media (width<=600px){.app-shell{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px))}.update-history-trigger{width:fit-content;margin:var(--space-4) auto 0;right:max(.5rem, env(safe-area-inset-right,0px));bottom:max(.5rem, env(safe-area-inset-bottom,0px));display:block;position:static}.update-history-dialog{width:calc(100vw - 1rem);max-width:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-ink:#263238;--color-muted:#52636b;--color-paper:#fffdf7;--color-surface:#fff;--color-surface-soft:#f2f7f4;--color-border:#b8c9c2;--color-accent:#176b87;--color-accent-soft:#dff2f3;--color-focus:#b44800;--color-risk:#7c3f00;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--radius:.75rem;--shadow-soft:0 .2rem .7rem #2632381a}*{box-sizing:border-box}html{min-width:0;scroll-padding-bottom:1rem}body{background:var(--color-paper);min-width:0;color:var(--color-ink);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button,input,select{min-width:44px;min-height:44px}textarea{min-height:44px}button{border:2px solid var(--color-accent);border-radius:var(--radius);background:var(--color-surface);color:var(--color-ink);cursor:pointer;padding:var(--space-2) var(--space-3)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=grid]:focus-visible,[role=gridcell]:focus-visible{outline:4px solid var(--color-focus);outline-offset:3px}main{width:min(100% - 2rem,72rem);padding:var(--space-6) 0 4rem;margin:0 auto}fieldset,.city-data-views,.city-grid,.city-table-wrap{margin:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft)}fieldset{padding:var(--space-4)}fieldset label{margin:var(--space-2) 0;display:block}fieldset input{vertical-align:middle;margin-right:var(--space-2)}.city-data-views{padding:var(--space-4)}.view-tabs{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.view-tabs button[aria-selected=true]{background:var(--color-accent-soft);font-weight:700}.selected-coordinate,.grid-coordinate-status{font-weight:700}.city-grid{min-width:34rem;padding:var(--space-2);box-shadow:none;display:grid;overflow:auto}.grid-row{grid-template-columns:repeat(5,minmax(8rem,1fr));display:grid}.grid-cell{gap:var(--space-1);overflow-wrap:anywhere;border:1px solid var(--color-border);min-height:8rem;padding:var(--space-2);background-color:var(--color-surface);flex-direction:column;display:flex}.grid-cell.is-active{box-shadow:inset 0 0 0 4px var(--color-focus)}.grid-cell.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.grid-cell[role=gridcell]{cursor:pointer}.grid-marker{font-size:.82rem;display:block}.pattern-dots{letter-spacing:.08em}.pattern-lines{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.pattern-waves{border-bottom:3px double var(--color-risk);color:var(--color-risk)}.pattern-crosshatch{color:var(--color-risk);background:repeating-linear-gradient(45deg,#0000 0 5px,#7c3f004d 5px 7px)}.pattern-ring{padding:0 var(--space-1);border:2px solid;border-radius:999px}.selected-marker{color:var(--color-accent);font-weight:700}.grid-help,.grid-active-details,.table-note{color:var(--color-muted);font-size:.9rem}.table-scroll-hint{color:var(--color-accent);font-size:.9rem;font-weight:700}.grid-active-details{max-width:60rem}.city-table-wrap{padding:var(--space-2);box-shadow:none}.city-table-scroll{max-width:100%;overflow-x:auto}.city-data-table{border-collapse:collapse;width:100%;min-width:62rem}.city-data-table caption{padding:var(--space-3);text-align:left;font-weight:700}.city-data-table th,.city-data-table td{border:1px solid var(--color-border);padding:var(--space-3);vertical-align:top;text-align:left}.city-data-table thead th{background:var(--color-surface-soft)}.city-data-table tbody th{white-space:nowrap}.candidate-choice{align-items:center;gap:var(--space-2);min-width:12rem;display:flex}.candidate-choice input{flex:0 0 44px}.table-risk{min-width:12rem;display:block}.candidate-card{align-items:flex-start;gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);display:flex}.candidate-card input{margin-top:var(--space-1);flex:0 0 44px}.candidate-card-content{gap:var(--space-1);display:grid}.candidate-card-content>span,.placement-slot p{color:var(--color-muted)}.placement-slots{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.placement-slot{margin:0}.impact-tabs{gap:var(--space-2);margin:var(--space-4) 0 var(--space-3);display:flex}.impact-tabs button[aria-selected=true]{background:var(--color-accent-soft);font-weight:700}.impact-panels{gap:var(--space-4);grid-template-columns:minmax(14rem,.8fr) minmax(0,2fr);display:grid}.impact-panels>[role=tabpanel]{min-width:0}.impact-selection-panel-content,.impact-access-metrics,.impact-constraint,.calculation-basis,.impact-role-results{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft)}.impact-metric-cards{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.impact-evidence-card{align-items:flex-start;gap:var(--space-1);text-align:left;flex-direction:column;min-height:7rem;display:flex}.impact-evidence-card strong{font-size:1.2rem}.impact-metric-label{font-weight:700}.impact-metric-detail{color:var(--color-muted);font-size:.9rem}.impact-high-visibility{padding:var(--space-3);border:3px solid var(--color-risk);background:#fff3df;font-weight:700}.impact-constraint-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.impact-constraint{margin:0}.impact-constraint .impact-evidence-card{width:100%}.calculation-definitions{margin:0}.calculation-row{border-top:1px solid var(--color-border);padding:var(--space-3) 0;gap:var(--space-3);grid-template-columns:minmax(9rem,.4fr) minmax(0,1fr);display:grid}.calculation-row dt{font-weight:700}.calculation-row dd{gap:var(--space-1);margin:0;display:grid}.calculation-row dd span{color:var(--color-muted)}.impact-path-disclosure{margin-top:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3)}.impact-path-disclosure summary{cursor:pointer;min-height:44px;font-weight:700}.impact-table-scroll{overflow-x:auto}.impact-path-table{border-collapse:collapse;width:100%;min-width:36rem}.impact-path-table caption{padding:var(--space-3);text-align:left;font-weight:700}.impact-path-table th,.impact-path-table td{border:1px solid var(--color-border);padding:var(--space-2);text-align:left;vertical-align:top}.impact-path-table thead th{background:var(--color-surface-soft)}.model-limit-notice{color:var(--color-muted)}.opinion-field textarea.opinion-textarea{resize:vertical;width:100%;min-height:10rem}.sentence-frame-help,.opinion-term-help{color:var(--color-muted);font-size:.9rem}.perspective-table-wrap{max-width:100%;margin:var(--space-4) 0;overflow-x:auto}.perspective-table{border-collapse:collapse;width:100%;min-width:68rem}.perspective-table caption{padding:var(--space-3);text-align:left;font-weight:700}.perspective-table th,.perspective-table td{border:1px solid var(--color-border);padding:var(--space-2);text-align:left;vertical-align:top}.perspective-table thead th{background:var(--color-surface-soft)}.perspective-table tbody tr.is-selected{outline:3px solid var(--color-focus);outline-offset:-3px}.alternative-comparison,.proposal-column,.comparison-deltas{margin:var(--space-4) 0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft)}.proposal-columns{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.proposal-column{box-shadow:none;margin:0}.proposal-column dl{gap:var(--space-2);display:grid}.proposal-column dl div{justify-content:space-between;gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-2);display:flex}.proposal-column dt{font-weight:700}.proposal-column dd{margin:0}.perspective-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.comparison-sentence-prompt{border-left:4px solid var(--color-accent);padding:var(--space-3);font-weight:700}nav[aria-label=학습\ 단계] ol{gap:var(--space-2);padding-left:1.5rem;display:grid}nav[aria-label=학습\ 단계] li{padding:var(--space-1) var(--space-2);border-left:4px solid var(--color-border);gap:.1rem;display:grid}nav[aria-label=학습\ 단계] li[data-state=complete]{border-color:var(--color-success,#287a42)}nav[aria-label=학습\ 단계] li[data-state=current]{border-color:var(--color-accent);background:var(--color-accent-soft);font-weight:700}nav[aria-label=학습\ 단계] li[data-state=next]{border-color:var(--color-focus)}nav[aria-label=학습\ 단계] li small{color:var(--color-muted);font-weight:400}@media (width<=600px){.impact-panels{display:block}.impact-panels>[role=tabpanel][aria-hidden=true]{display:none}.impact-metric-cards,.impact-constraint-grid{grid-template-columns:1fr}.impact-tabs{z-index:1;padding:var(--space-2) 0;background:var(--color-paper);position:sticky;top:0}.proposal-columns{grid-template-columns:1fr}main{width:min(100% - 1rem,72rem);padding-top:var(--space-4)}.city-data-views{max-width:100%;padding:var(--space-2)}.view-tabs{z-index:1;background:var(--color-surface);position:sticky;top:0}.view-tabs button{flex:1}.city-grid{width:100%;min-width:0;overflow-x:auto}.grid-row{grid-template-columns:repeat(5,minmax(4.5rem,1fr));min-width:23rem}.grid-cell{min-height:6rem;padding:var(--space-1);font-size:.86rem}.grid-marker{font-size:.72rem}.city-data-table{min-width:58rem}}@media (width>=601px){.view-tabs button{min-width:8rem}}@media (width<=600px){.impact-panels,.impact-results-panel,.impact-selection-panel,.calculation-basis{min-width:0;max-width:100%}.calculation-row{grid-template-columns:minmax(0,.4fr) minmax(0,1fr)}.calculation-row dd{overflow-wrap:anywhere;min-width:0}}:root{--focus-strong:var(--color-focus)}.gi-pulse{animation:2s ease-in-out infinite gi-pulse}.guided-action-badge{margin-left:var(--space-2);background:var(--color-accent-soft);color:var(--color-ink);padding:0 var(--space-2);white-space:nowrap;border-radius:999px;font-size:.8em;font-weight:700;display:inline-block}@keyframes gi-pulse{0%,to{outline-color:#b4480059;box-shadow:0 0 #b4480000}50%{outline-offset:3px;outline:3px solid #b4480073;box-shadow:0 0 0 .55rem #b4480033}}.facility-range{gap:var(--space-1);margin:var(--space-2) 0;border:2px dashed var(--color-accent);border-radius:var(--radius);padding:var(--space-2);background:var(--color-accent-soft);display:grid}.facility-range--spread{animation:.7s ease-out both range-spread}@keyframes range-spread{0%{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion:reduce){.gi-pulse,.facility-range{transition:none;animation:none}[data-guided=true],.facility-range{outline:3px solid var(--focus-strong);outline-offset:3px}}
