:root{--sw-bg:#e8f1f4;--sw-bg-2:#f7fafb;--sw-ink:#1a3a44;--sw-muted:#4d6b74;--sw-accent:#2a7a8c;--sw-card:#fff;--sw-border:#b8d0d8;--sw-touch-min:44px;--sw-font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sw-font-body:"Source Sans 3", "Segoe UI", sans-serif}body{font-family:var(--sw-font-body);color:var(--sw-ink);background:var(--sw-bg-2);min-height:100vh;margin:0}.sw-btn{min-height:var(--sw-touch-min);min-width:var(--sw-touch-min);border:1px solid var(--sw-border);background:var(--sw-card);color:var(--sw-ink);font:inherit;cursor:pointer;border-radius:6px;padding:.6rem 1rem}.sw-btn-primary{background:var(--sw-accent);border-color:var(--sw-accent);color:#fff;font-weight:600}.sw-btn-primary:hover{filter:brightness(.95)}.sw-btn:hover:not(:disabled){border-color:var(--sw-accent)}.sw-btn-danger{color:#fff;background:#a8462a;border-color:#a8462a}.sw-eyebrow{color:var(--sw-accent);letter-spacing:.02em;margin:0;font-size:.9rem;font-weight:600}.sw-lead{max-width:28rem;margin:0;font-size:1.125rem;line-height:1.55}.sw-progress{color:var(--sw-accent);margin:0;font-weight:600}.sw-start{justify-content:center;min-height:60vh;padding-top:1.5rem}.sw-start-visual{border-top:1px solid var(--sw-border);border-bottom:1px solid var(--sw-border);flex-direction:column;align-items:center;gap:.35rem;width:100%;padding:1rem .75rem .75rem;display:flex}.sw-start-visual svg{width:min(100%,20rem);height:auto}.sw-start-visual-caption{color:var(--sw-muted);text-align:center;margin:0;font-size:.9rem}.sw-btn:disabled,.sw-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.sw-btn:disabled.gi-pulse,.sw-btn[aria-disabled=true].gi-pulse{outline:1px solid var(--sw-border);box-shadow:none;animation:none}.sw-btn:focus-visible,.sw-chip:focus-visible,.sw-choice-item input:focus-visible,.sw-choice-item select:focus-visible,.sw-sentence-frame select:focus-visible{outline:3px solid var(--sw-accent);outline-offset:2px}.sw-btn.gi-pulse{outline:2px solid var(--sw-accent);outline-offset:2px;animation:1.4s ease-in-out infinite gi-pulse}@keyframes gi-pulse{0%,to{box-shadow:0 0 #2a7a8c73}50%{box-shadow:0 0 0 8px #2a7a8c00}}@media (prefers-reduced-motion:reduce){.sw-btn.gi-pulse{outline:3px solid var(--sw-accent);animation:none}.sw-btn.gi-pulse:after{content:" 다음 단계";color:var(--sw-accent);font-size:.85em}}.sw-app{max-width:42rem;margin:0 auto;padding:1.25rem 1rem 2.5rem}.sw-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-sw-screen-heading]:focus-visible{outline:3px solid var(--sw-accent);outline-offset:5px}.sw-dialog-backdrop{z-index:10;background:#1a3a447a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sw-dialog{border:1px solid var(--sw-border);background:var(--sw-card);border-radius:10px;width:min(100%,28rem);padding:1.25rem;box-shadow:0 1rem 3rem #1a3a443d}.sw-chrome{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-bottom:1rem;display:flex}.sw-stack{flex-direction:column;gap:1rem;display:flex}.sw-title{font-family:var(--sw-font-display);margin:0;font-weight:600;line-height:1.25}.sw-safety{color:var(--sw-muted);margin:0;line-height:1.5}.sw-actions{flex-wrap:wrap;gap:.5rem;display:flex}.sw-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1rem;display:grid}@media (width<=480px){.sw-card-grid{grid-template-columns:1fr}.sw-compare-below,.sw-compare-summary{width:100%}}.sw-guide{border-left:3px solid var(--sw-accent);color:var(--sw-ink);background:#2a7a8c0f;margin:0;padding:.75rem 1rem;line-height:1.5}.sw-changelog{color:var(--sw-muted);margin:0;padding-left:1.25rem;line-height:1.5}.sw-mission-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sw-mission-btn{text-align:left;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.sw-mission-copy{flex-direction:column;gap:.2rem;display:flex}.sw-mission-title{font-weight:600}.sw-mission-blurb{color:var(--sw-muted);font-size:.92rem;line-height:1.35}.sw-mission-status{color:var(--sw-accent);flex:none;font-size:.9rem;font-weight:600}.sw-choice-card{border:1px solid var(--sw-border);background:var(--sw-card);border-radius:8px;align-items:flex-start;padding:.75rem .85rem}.sw-choice-card:has(input:checked){border-color:var(--sw-accent);box-shadow:inset 0 0 0 1px var(--sw-accent)}.sw-choice-copy{flex-direction:column;gap:.2rem;display:flex}.sw-choice-label{font-weight:600}.sw-choice-hint{color:var(--sw-muted);font-size:.9rem;line-height:1.35}.sw-term-list{margin:0;padding-left:1.25rem;line-height:1.55}.sw-sound-card{border:1px solid var(--sw-border);background:var(--sw-card);border-radius:8px;padding:1rem}.sw-sound-card-name{font-family:var(--sw-font-display);margin:0 0 .5rem}.sw-sound-card-metrics{color:var(--sw-muted);margin:.5rem 0;font-size:.95rem}.sw-sound-card-note,.sw-sound-card-audio-label{color:var(--sw-muted);margin:.45rem 0 0;font-size:.92rem;line-height:1.4}.sw-panel{flex-direction:column;gap:1rem;padding:1rem 0;display:flex}.sw-feedback{border-left:3px solid var(--sw-accent);color:var(--sw-ink);background:#2a7a8c14;margin:0;padding:.75rem 1rem;line-height:1.45}.sw-choice{border:0;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.sw-choice-item{min-height:var(--sw-touch-min);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sw-choice-item select{min-height:var(--sw-touch-min);font:inherit;padding:.35rem .5rem}.sw-chip-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sw-chip{min-height:var(--sw-touch-min);border:1px solid var(--sw-border);background:var(--sw-card);color:var(--sw-ink);font:inherit;cursor:pointer;border-radius:6px;padding:.45rem .85rem}.sw-chip-on,.sw-btn-active{border-color:var(--sw-accent);outline:2px solid var(--sw-accent);outline-offset:1px;background:#2a7a8c29}.sw-sentence-frame{margin:0;line-height:1.7}.sw-sentence-frame select{min-height:var(--sw-touch-min);font:inherit;margin:0 .15rem;padding:.25rem .4rem}.sw-sentence-preview{color:var(--sw-muted);margin:0;line-height:1.5}.sw-wave-highlight:focus-visible{outline:3px solid var(--sw-accent);outline-offset:2px}
