@media print{@page{size:A4 portrait;margin:14mm}body{background:#fff;color:#000;font-size:12pt}.app-header,.app-footer,.skip-link,.no-print{display:none!important}.card,.bubble{box-shadow:none;border-color:#000;background:#fff;color:#000}.bubble--me{background:#fff;color:#000}.report-first,.bubble__who,.feedback,.compare-note{color:#000}a{color:#000;text-decoration:none}}:root{color-scheme:light;--color-bg: #fbf7ef;--color-surface: #ffffff;--color-surface-soft: #f4f0e6;--color-ink: #21313d;--color-ink-soft: #4f5f6b;--color-brand: #1d4ed8;--color-brand-strong: #1e3a8a;--color-brand-soft: #dbeafe;--color-good: #166534;--color-good-soft: #dcfce7;--color-think: #92400e;--color-think-soft: #fef3c7;--color-revise: #b91c1c;--color-revise-soft: #fee2e2;--color-border: #c9c2b4;--focus-ring: 3px solid #1d4ed8;--radius: 14px;--radius-small: 9px;--shadow: 0 10px 24px rgba(33, 49, 61, .1);--font-body: system-ui, -apple-system, "Segoe UI", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif}html{font-size:100%}html[data-font-scale=large]{font-size:125%}html[data-font-scale=xlarge]{font-size:200%}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);font-size:1rem;line-height:1.6}.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-brand-strong);color:#fff;padding:10px 16px;border-radius:0 0 10px;z-index:20}.skip-link:focus{left:0}.app-header{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:12px clamp(12px,4vw,28px);background:var(--color-surface);border-bottom:2px solid var(--color-border)}.app-header__title{margin:0;font-weight:800;font-size:1.05rem;color:var(--color-brand-strong)}.app-header__tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.font-scale{display:flex;align-items:center;gap:4px}.font-scale__label{font-size:.85rem;color:var(--color-ink-soft);margin-right:2px}.header-chip{min-height:44px;padding:8px 12px;border-radius:999px;border:2px solid var(--color-border);background:var(--color-surface);font:inherit;font-size:.9rem;font-weight:600;color:var(--color-ink);cursor:pointer}.header-chip[aria-pressed=true]{border-color:var(--color-brand);color:var(--color-brand-strong);background:var(--color-brand-soft)}.app-main{max-width:880px;margin:0 auto;padding:clamp(16px,4vw,32px) clamp(12px,4vw,28px) 64px}.app-footer{border-top:2px solid var(--color-border);background:var(--color-surface);padding:16px clamp(12px,4vw,28px);color:var(--color-ink-soft);font-size:.9rem}.app-footer p{margin:0 auto;max-width:880px}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:12px;border:2px solid transparent;font:inherit;font-weight:700;cursor:pointer}.action-button--primary{background:var(--color-brand);color:#fff}.action-button--primary:hover:enabled{background:var(--color-brand-strong)}.action-button--secondary{background:var(--color-surface);color:var(--color-brand-strong);border-color:var(--color-brand)}.action-button--secondary:hover:enabled{background:var(--color-brand-soft)}.action-button--ghost{background:transparent;color:var(--color-ink-soft);border-color:transparent;text-decoration:underline}.action-button--block{width:100%}.action-button:disabled{opacity:.45;cursor:not-allowed}.action-button:focus-visible,.header-chip:focus-visible,.option-button:focus-visible,.level-option:focus-visible,.modal__close:focus-visible{outline:var(--focus-ring);outline-offset:2px}.entrance{display:flex;flex-direction:column;gap:18px}.entrance h1{margin:0;font-size:clamp(1.6rem,5vw,2.2rem);line-height:1.3;color:var(--color-brand-strong)}.entrance__lead{margin:0;font-size:1.05rem}.entrance__level{border:2px solid var(--color-border);border-radius:var(--radius);padding:12px 14px;margin:0;background:var(--color-surface)}.entrance__level legend{font-weight:700;padding:0 6px}.level-options{display:flex;gap:10px;flex-wrap:wrap}.level-option{min-height:44px;padding:10px 18px;border-radius:12px;border:2px solid var(--color-border);background:var(--color-surface-soft);font:inherit;font-weight:700;cursor:pointer}.level-option[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.entrance__time{margin:0;color:var(--color-ink-soft);font-weight:600}.entrance section h2{font-size:1.1rem;margin:0 0 6px}.entrance ul,.entrance ol{margin:0;padding-left:22px;display:grid;gap:6px}.entrance__privacy{margin:0;padding:12px 14px;border-radius:var(--radius-small);background:var(--color-think-soft);color:var(--color-think);font-weight:600}.entrance-hero{display:block;width:100%;height:auto;border-radius:var(--radius);border:2px solid var(--color-border);background:var(--color-surface)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#21313d73;display:flex;align-items:flex-start;justify-content:center;padding:clamp(12px,5vw,48px);z-index:30}.modal{background:var(--color-surface);border-radius:var(--radius);border:2px solid var(--color-border);max-width:560px;width:100%;max-height:82vh;overflow:auto;box-shadow:var(--shadow)}.modal__header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:2px solid var(--color-border);position:sticky;top:0;background:var(--color-surface)}.modal__title{margin:0;font-size:1.1rem}.modal__close{min-height:44px;min-width:44px;border:2px solid var(--color-border);background:var(--color-surface);border-radius:10px;font:inherit;font-weight:700;cursor:pointer}.modal__body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.modal__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.update-list{margin:0;padding-left:20px;display:grid;gap:6px}.error-screen{max-width:640px;margin:0 auto;padding:48px 20px;display:flex;flex-direction:column;gap:14px;text-align:center;align-items:center}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width: 480px){.app-header{justify-content:center}.card__actions{justify-content:stretch;flex-direction:column}.card__actions .action-button{width:100%}.bubble{max-width:95%}}.progress{display:flex;flex-direction:column;gap:6px;margin:14px 0 4px}.progress__mission{margin:0;font-weight:800;color:var(--color-brand-strong)}.progress__steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.progress__steps li{padding:6px 12px;border-radius:999px;border:2px solid var(--color-border);background:var(--color-surface);font-size:.9rem;font-weight:600;color:var(--color-ink-soft);min-height:36px;display:inline-flex;align-items:center}.progress__steps li[aria-current=step]{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:800}.progress__steps li.is-done{color:var(--color-good);border-color:var(--color-good);background:var(--color-good-soft)}.workbench{display:flex;flex-direction:column;gap:16px}.workbench h1{margin:0;font-size:clamp(1.4rem,4.5vw,1.9rem);color:var(--color-brand-strong);line-height:1.35}.card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);padding:clamp(14px,3vw,22px);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.card h2{margin:0;font-size:1.15rem}.step-hint{margin:0;color:var(--color-ink-soft)}.situation-card__text{margin:0;font-size:1.1rem;font-weight:700}.situation-scene{display:block;width:100%;max-width:360px;height:auto;border-radius:var(--radius-small);border:2px solid var(--color-border);background:var(--color-surface-soft)}.situation-facts{margin:0;display:grid;gap:6px}.situation-facts>div{display:flex;gap:8px}.situation-facts dt{font-weight:800;color:var(--color-ink-soft);min-width:6.5em}.situation-facts dd{margin:0;font-weight:700}.guide-box{border-radius:var(--radius-small);background:var(--color-brand-soft);color:var(--color-brand-strong);padding:10px 12px;font-weight:600;margin:0}.card__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.option-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.option-button{width:100%;display:flex;gap:10px;align-items:flex-start;text-align:left;min-height:44px;padding:12px 14px;border-radius:12px;border:2px solid var(--color-border);background:var(--color-surface);font:inherit;cursor:pointer}.option-button:hover:enabled{border-color:var(--color-brand)}.option-button[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-brand)}.option-button__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.option-label{font-size:1.05rem;font-weight:700}.english-text{font-size:1.12rem;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.option-translation{color:var(--color-ink-soft);font-size:.95rem}.option-badge{align-self:flex-start;font-size:.8rem;font-weight:800;color:var(--color-brand-strong);background:#fff;border:2px solid var(--color-brand);padding:1px 8px;border-radius:999px}.function-chip{align-self:flex-start;font-size:.9rem;font-weight:700;color:var(--color-brand-strong);background:var(--color-brand-soft);padding:2px 10px;border-radius:999px}.feedback{border-radius:var(--radius-small);padding:12px 14px;border-left:6px solid;display:flex;flex-direction:column;gap:6px}.feedback__title{margin:0;font-weight:800}.feedback__subtitle{margin:0;font-weight:700}.feedback ul{margin:0;padding-left:20px}.feedback--good{background:var(--color-good-soft);border-color:var(--color-good);color:var(--color-good)}.feedback--think{background:var(--color-think-soft);border-color:var(--color-think);color:var(--color-think)}.feedback--revise{background:var(--color-revise-soft);border-color:var(--color-revise);color:var(--color-revise)}.feedback .alternatives{color:var(--color-ink)}.alternatives li{overflow-wrap:anywhere}.bubble-row{display:flex;margin:0}.bubble-row--me{justify-content:flex-end}.bubble{max-width:85%;padding:10px 14px;border-radius:16px;border:2px solid var(--color-border);background:var(--color-surface);overflow-wrap:anywhere}.bubble--me{border-color:var(--color-brand);background:var(--color-brand-soft);border-bottom-right-radius:4px}.bubble--friend{border-bottom-left-radius:4px}.bubble__who{display:block;font-size:.8rem;font-weight:800;color:var(--color-ink-soft);margin-bottom:2px}.compare-grid{display:grid;gap:10px}.compare-note{margin:0;font-weight:600}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{font-size:.85rem;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--color-surface-soft);border:2px solid var(--color-border)}.report{display:flex;flex-direction:column;gap:16px}.report h1{margin:0;color:var(--color-brand-strong);font-size:clamp(1.4rem,4.5vw,1.9rem)}.report__privacy{margin:0;font-weight:600;color:var(--color-think);background:var(--color-think-soft);border-radius:var(--radius-small);padding:10px 12px}.report__list{display:grid;gap:14px}.report-card h2{font-size:1.1rem}.report-first{margin:0;color:var(--color-ink-soft);font-size:.95rem}.dialogue{display:flex;flex-direction:column;gap:8px}.gi-pulse{position:relative}@media (prefers-reduced-motion: no-preference){.bubble-row{animation:bubble-in .22s ease-out}.gi-pulse{animation:gi-pulse-ring 1.6s ease-in-out infinite}}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes gi-pulse-ring{0%,to{box-shadow:0 0 #1d4ed873}50%{box-shadow:0 0 0 8px #1d4ed800}}@media (prefers-reduced-motion: reduce){.bubble-row,.gi-pulse{animation:none}.gi-pulse{outline:3px solid var(--color-brand-strong);outline-offset:3px}.gi-pulse:after{content:"필수";position:absolute;top:-12px;right:-4px;background:var(--color-brand-strong);color:#fff;font-size:.75rem;font-weight:800;line-height:1;padding:4px 8px;border-radius:999px}}
