@media print{@page{size:A4 portrait;margin:18mm}html,body{background:#fff!important;color:#000!important;font-size:11pt}.no-print,.action-button,.app-header,.app-footer,.progress-steps,.update-history-button,.modal-backdrop{display:none!important}.compare-table,.condition-table,.report-table{border:1px solid #000!important;border-collapse:collapse}.compare-table th,.compare-table td,.condition-table th,.condition-table td,.report-table th,.report-table td{border:1px solid #000!important;color:#000!important;background:#fff!important}}:root{--color-bg: #f7f5ef;--color-surface: #ffffff;--color-surface-soft: #f1f3ee;--color-surface-blue: #edf3ff;--color-ink: #17233c;--color-ink-soft: #536074;--color-ink-faint: #687386;--color-primary: #2457c5;--color-primary-hover: #1b429a;--color-primary-ink: #ffffff;--color-accent: #e6a33c;--color-accent-ink: #4a2d08;--color-focus: #153c8f;--color-focus-soft: #dbe7ff;--color-success: #147d75;--color-success-bg: #e8f5f1;--color-warn: #8b4d11;--color-warn-bg: #fff3dc;--color-danger: #b4473f;--color-border: #d7d9d4;--color-border-strong: #aeb5b5;--color-grid: rgba(36, 87, 197, .06);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-sm: 0 2px 8px rgba(23, 35, 60, .06);--shadow-md: 0 12px 28px rgba(23, 35, 60, .09);--shadow-focus: 0 0 0 4px var(--color-focus-soft);--font-size-base: 17px;--line-height: 1.65;--touch-target: 44px;--content-max: 1120px}*{box-sizing:border-box}html{background:var(--color-bg);color-scheme:light;scroll-behavior:smooth}body{min-width:320px;margin:0;overflow-x:hidden;background:var(--color-bg);font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-ink);text-rendering:optimizeLegibility}button,input,textarea,select{font:inherit}button,a,label,summary{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;background-image:linear-gradient(var(--color-grid) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid) 1px,transparent 1px);background-size:32px 32px}.app-header{border-bottom:1px solid var(--color-border);background:#f7f5eff0}.app-header__inner,.app-main,.app-footer{width:min(100% - 32px,var(--content-max));margin-inline:auto}.app-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}.app-brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-primary);border-radius:50%;background:var(--color-surface-blue);color:var(--color-primary)}.app-kicker,.section-kicker,.step-eyebrow,.fact-label,.data-card__label{margin:0;color:var(--color-primary);font-size:.76rem;font-weight:800;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}.app-title{margin:2px 0 0;font-size:1.06rem;font-weight:800;letter-spacing:-.02em}.skip-link{position:absolute;z-index:60;top:8px;left:16px;transform:translateY(-160%);padding:10px 14px;border-radius:var(--radius-sm);background:var(--color-ink);color:#fff;font-weight:700;transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.app-main{padding:28px 0 52px}.app-footer{padding:18px 0 34px;border-top:1px solid var(--color-border);color:var(--color-ink-soft);font-size:.88rem}.app-footer p{margin:4px 0 0}h1,h2,h3,h4{color:var(--color-ink);line-height:1.25;text-wrap:balance}h1,h2,h3,h4,p{overflow-wrap:anywhere}h1{font-size:clamp(2.1rem,5vw,4.1rem);letter-spacing:-.06em}h2{margin:0;font-size:clamp(1.35rem,2.4vw,2rem);letter-spacing:-.04em}h3{margin:0;font-size:1.22rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1:focus,.step-title:focus{outline:3px solid var(--color-focus);outline-offset:8px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.entrance{display:grid;gap:40px}.entrance-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:stretch;gap:clamp(24px,5vw,64px)}.entrance-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.entrance-title{max-inline-size:8ch;margin:12px 0 20px}.entrance-goal{max-inline-size:45ch;margin:0;color:var(--color-ink-soft);font-size:1.08rem}.entrance-actions{display:grid;justify-items:start;gap:12px;margin-top:28px}.entrance-note,.entrance-caption,.model-note{margin:0;color:var(--color-ink-soft);font-size:.9rem}.entrance-visual{min-width:0;margin:0;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.entrance-image{display:block;width:100%;aspect-ratio:16 / 9;border-radius:15px;object-fit:cover}.entrance-caption{padding:10px 6px 2px;font-weight:700}.entrance-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:0;list-style:none}.fact-card{display:grid;gap:4px;min-width:0;padding:15px;border-top:3px solid var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-sm)}.fact-card strong{font-size:1.02rem}.fact-card>span:last-child{color:var(--color-ink-soft);font-size:.82rem;line-height:1.4}.mission-library,.decision-guide{display:grid;gap:18px;padding-top:28px;border-top:1px solid var(--color-border)}.mission-library-header,.decision-guide{grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);align-items:end}.mission-library-header>p{margin:0;color:var(--color-ink-soft)}.entrance-missions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:0;list-style:none}.mission-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#ffffffdb}.mission-number{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--color-ink);color:#fff;font-size:.78rem;font-weight:800}.mission-title,.mission-task{display:block}.mission-title{margin-bottom:3px}.mission-task{color:var(--color-ink-soft);font-size:.9rem}.entrance-decisions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:0;margin:0;list-style:none}.entrance-decisions li{padding:10px 12px;border:1px solid var(--color-accent);border-top-width:3px;background:var(--color-surface);font-size:.9rem}.progress-steps{display:grid;gap:10px;margin-bottom:26px;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.progress-topline{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.progress-mission,.progress-stage{margin:0}.progress-mission{display:flex;gap:8px;align-items:baseline;font-size:1.05rem}.progress-mission-label,.progress-stage{color:var(--color-ink-soft);font-size:.84rem}.progress-stage{font-variant-numeric:tabular-nums}.progress-track{height:6px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-surface-soft)}.progress-track span{display:block;height:100%;width:100%;border-radius:inherit;background:var(--color-primary);transform-origin:left center;transition:transform .22s ease}.progress-steps ol{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:0;margin:0;list-style:none}.progress-step{display:flex;min-width:0;flex-direction:column;gap:2px;padding:7px 8px;border-top:2px solid var(--color-border);color:var(--color-ink-faint);font-size:.78rem;line-height:1.25}.progress-number{color:var(--color-ink-faint);font-size:.68rem;font-weight:800;font-variant-numeric:tabular-nums}.progress-step[data-state=지난]{border-color:var(--color-success);color:var(--color-success)}.progress-step[data-state=현재]{border-color:var(--color-primary);background:var(--color-surface-blue);color:var(--color-primary);font-weight:800}.step-header{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:20px}.step-heading-copy{min-width:0}.step-title{max-inline-size:18ch;margin:8px 0 0;font-size:clamp(1.8rem,4vw,3rem)}.workbench-step,.learning-report{padding:clamp(18px,4vw,34px);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fffffff2;box-shadow:var(--shadow-md)}.step-lede{max-inline-size:70ch;margin:0 0 22px;color:var(--color-ink-soft);font-size:1.04rem}.step-split,.run-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:18px}.compare-split{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)}.data-card,.run-copy,.record-summary{padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft)}.data-card__label{margin-bottom:6px}.data-card p:last-child,.run-copy p:last-child,.record-summary p:last-child{margin-bottom:0}.action-button{position:relative;display:inline-flex;min-width:var(--touch-target);min-height:48px;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border:2px solid transparent;border-radius:10px;box-shadow:var(--shadow-sm);font-size:1rem;font-weight:800;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.action-button--primary{background:var(--color-primary);color:var(--color-primary-ink)}.action-button--primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.action-button--secondary{border-color:var(--color-primary);background:var(--color-surface);color:var(--color-primary)}.action-button--secondary:hover{background:var(--color-surface-blue)}.action-button--danger{background:var(--color-danger);color:#fff}.action-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.52}.required-badge{position:absolute;top:-12px;left:-4px;padding:2px 7px;border:2px solid var(--color-surface);border-radius:6px;background:var(--color-accent);color:var(--color-accent-ink);font-size:.7rem;font-weight:900;letter-spacing:.04em}.update-history-button{min-height:var(--touch-target);padding:8px 13px;border:1px solid var(--color-border-strong);border-radius:9px;background:var(--color-surface);color:var(--color-ink);font-size:.88rem;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.update-history-button:hover{border-color:var(--color-primary);background:var(--color-surface-blue)}.back-button{display:inline-flex;min-height:var(--touch-target);flex:0 0 auto;align-items:center;gap:5px;padding:8px 10px;border:1px solid var(--color-border-strong);border-radius:9px;background:transparent;color:var(--color-ink-soft);font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease}.back-button:hover{background:var(--color-surface);color:var(--color-primary)}.choice-list{padding:18px;margin:22px 0;border:1px solid var(--color-border);border-radius:var(--radius-md)}legend{max-width:100%;padding:0 8px;font-weight:800}.choice{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;min-height:58px;align-items:center;padding:10px 12px;margin:8px 0;border:2px solid var(--color-border);border-radius:10px;background:var(--color-surface);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.choice:hover{border-color:var(--color-primary)}.choice:has(input:checked){border-color:var(--color-primary);background:var(--color-surface-blue);box-shadow:inset 4px 0 0 var(--color-primary)}.choice input{width:22px;height:22px;margin:0;accent-color:var(--color-primary)}.choice-text{min-width:0}.condition-table,.compare-table,.report-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:10px 0 0;background:var(--color-surface);font-size:.94rem}.condition-table caption,.compare-table caption,.report-table caption{padding-bottom:8px;text-align:left;font-weight:800}.condition-table th,.condition-table td,.compare-table th,.compare-table td,.report-table th,.report-table td{overflow-wrap:anywhere;border:1px solid var(--color-border);padding:9px 10px;text-align:left;vertical-align:top}.condition-table th,.compare-table tbody th,.report-table tbody th{width:35%;background:var(--color-surface-soft);font-weight:800}.compare-table thead th,.condition-table thead th,.report-table thead th{background:var(--color-surface-blue);font-weight:800}.report-table th:nth-child(1){width:18%}.report-table th:nth-child(3){width:30%}.compare-keys{display:grid;gap:6px;padding:0;margin:14px 0 0;list-style:none}.compare-keys li{padding:9px 11px;border:1px solid var(--color-success);border-top-width:3px;background:var(--color-success-bg);font-size:.9rem}.syringe-figure{min-width:0;margin:0;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.syringe-figure svg{display:block;width:100%;height:auto}.syringe-barrel{fill:#f4f5f2;stroke:var(--color-border-strong);stroke-width:2}.syringe-air{fill:#e6efff}.syringe-marker{fill:var(--color-primary);stroke:#fff;stroke-width:1.5}.syringe-piston{fill:var(--color-accent);stroke:var(--color-accent-ink);stroke-width:1.5}.syringe-rod{fill:#9aa7ad}.syringe-cap{fill:var(--color-success);stroke:#fff;stroke-width:2}.syringe-opening line,.syringe-leaking path{fill:none;stroke:var(--color-danger);stroke-width:3;stroke-dasharray:6 4}.syringe-leaking circle:first-child{fill:var(--color-warn-bg);stroke:var(--color-warn);stroke-width:2;stroke-dasharray:4 3}.syringe-leaking circle:not(:first-child){fill:var(--color-danger)}.syringe-opening text,.syringe-leaking text,.syringe-tick-label{fill:var(--color-ink-soft);font-size:13px;font-weight:700}.syringe-tick{stroke:var(--color-border-strong);stroke-width:2}.syringe-figure figcaption{margin-top:8px;color:var(--color-ink-soft);font-size:.88rem;line-height:1.5}.step-actions,.secondary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.secondary-actions{margin-top:10px}.misconception-guard,.refresh-note{padding:12px 14px;border:1px solid var(--color-accent);border-top-width:4px;background:var(--color-warn-bg);color:var(--color-warn)}.misconception-guard{margin:0 0 18px}.feedback{padding:18px;margin:22px 0 0;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.feedback.accepted{border-color:var(--color-success);background:var(--color-success-bg)}.feedback.revise{border-color:var(--color-accent);background:var(--color-warn-bg)}.feedback-heading{display:flex;align-items:center;gap:10px}.feedback-status{padding:4px 7px;border-radius:6px;background:var(--color-ink);color:#fff;font-size:.72rem;font-weight:900}.feedback-choice{margin:10px 0}.feedback ul{padding-left:22px}.feedback-limit{padding-top:10px;border-top:1px solid currentColor;color:var(--color-ink-soft);font-size:.86rem}.empty-state{padding:16px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-soft)}.record-summary{margin-bottom:18px}.learning-report .report-lede{max-inline-size:68ch;color:var(--color-ink-soft)}.report-summary{display:flex;flex-wrap:wrap;gap:8px 18px;padding:12px 0;border-block:1px solid var(--color-border);color:var(--color-ink-soft);font-size:.9rem}.report-summary strong{margin-right:4px;color:var(--color-primary);font-variant-numeric:tabular-nums}.modal-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#17233c8f}.modal-dialog{width:min(100%,520px);max-height:min(680px,calc(100vh - 32px));overflow:auto;border:2px solid var(--color-focus);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{min-width:var(--touch-target);min-height:var(--touch-target);padding:6px 12px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-ink);cursor:pointer}.modal-body{padding:18px}.update-history-list{padding-left:22px;margin:0}.update-history-list li+li{margin-top:10px}.accessibility-toolbar{margin:0;color:var(--color-ink-soft);font-size:.86rem}@media (max-width: 780px){.entrance-hero,.step-split,.run-layout,.compare-split,.mission-library-header,.decision-guide{grid-template-columns:1fr}.entrance-title{max-inline-size:12ch}.entrance-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.app-header__inner{min-height:68px}.app-main{padding-top:20px}.app-header__inner,.app-main,.app-footer{width:min(100% - 24px,var(--content-max))}.app-title{font-size:.96rem}.update-history-button{padding-inline:9px;font-size:.78rem}.workbench-step,.learning-report{padding:18px 14px;border-radius:var(--radius-md)}.entrance{gap:28px}.entrance-facts,.entrance-missions,.entrance-decisions{grid-template-columns:1fr}.progress-steps{padding:12px}.progress-steps ol{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-step{padding-inline:5px;font-size:.72rem}.step-header{align-items:flex-start}.step-title{font-size:clamp(1.7rem,9vw,2.4rem)}.back-button{padding-inline:7px;font-size:.84rem}.step-actions,.secondary-actions,.entrance-actions{align-items:stretch}.action-button{width:100%}.condition-table,.compare-table,.report-table{font-size:.78rem}.condition-table th,.condition-table td,.compare-table th,.compare-table td,.report-table th,.report-table td{padding:7px 5px}.report-table th:nth-child(1),.report-table th:nth-child(3){width:auto}.choice-list{padding:12px}}@media (max-width: 390px){.app-brand{gap:7px}.brand-mark{width:34px;height:34px}.app-kicker{font-size:.65rem}.app-title{font-size:.88rem}.update-history-button{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-steps ol{grid-template-columns:repeat(4,minmax(0,1fr))}.step-header{display:grid;gap:10px}.back-button{justify-self:start}}.gi-pulse{animation:gi-pulse 1.6s ease-in-out infinite}@keyframes gi-pulse{0%,to{box-shadow:0 0 #2457c557}50%{box-shadow:0 0 0 8px #2457c500}}.syringe-piston{transition:x .4s ease,transform .4s ease}@media (prefers-reduced-motion: reduce){.gi-pulse{animation:none;outline:3px solid var(--color-focus);outline-offset:3px}.syringe-piston{transition:none}}
