@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600;700&display=swap";:root{font-family:Space Grotesk,Pretendard,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:radial-gradient(circle at top,rgba(247,178,103,.26),transparent 24%),linear-gradient(180deg,#fffaf2,#eef4ff);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px;font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit;cursor:pointer;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease}button:hover{transform:translateY(-1px)}button:focus-visible{outline:3px solid rgba(217,119,6,.35);outline-offset:2px}#root{min-height:100vh}@media(max-width:560px){body{overflow-x:hidden}}.app-shell{width:min(920px,calc(100vw - 32px));margin:0 auto;padding:28px 0 56px}.practice-panel{padding:28px;border:1px solid rgba(148,163,184,.24);border-radius:32px;background:radial-gradient(circle at top right,rgba(255,196,124,.22),transparent 24%),linear-gradient(180deg,#fffffff5,#f8fafcfa);box-shadow:0 22px 64px #0f172a1a}.practice-header{display:flex;justify-content:space-between;gap:20px;align-items:center}.scenario-info{display:flex;align-items:center;gap:12px}.scenario-switch{width:56px;height:56px;border:1px solid rgba(217,119,6,.18);border-radius:18px;background:linear-gradient(180deg,#fff7edf5,#ffedd5f5);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #f59e0b1f;color:#c2410c}.scenario-switch svg{width:25px;height:25px}.scenario-copy{display:grid;gap:2px}.scenario-title{margin:0;font-size:1rem;font-weight:700;line-height:1.35;color:#9a3412}.scenario-subtitle{margin:0;font-size:.84rem;line-height:1.45;color:#7c2d12}.brand-mark{margin:0;display:inline-flex;align-items:center;gap:10px;font-family:Cormorant Garamond,serif;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:700;font-style:italic;letter-spacing:.03em;color:#172033}.brand-mark-icon{width:38px;height:38px;border-radius:12px;box-shadow:0 10px 18px #0f172a1f}.hero-visual{position:relative;min-height:220px;margin-top:18px;border-radius:26px;overflow:hidden;background:radial-gradient(circle at top right,rgba(255,255,255,.72),transparent 28%),linear-gradient(135deg,#1f3047,#3f5f85 58%,#6f8fb1);box-shadow:0 20px 44px #0f172a2e}.hero-overlay{min-height:220px;display:flex;align-items:center;justify-content:center;padding:18px}.hero-character-frame{width:100%;display:flex;align-items:center;justify-content:center;min-height:184px;padding:16px;background:linear-gradient(180deg,#f7fbff,#dbeafe);border:1px solid rgba(255,255,255,.28);border-radius:24px;box-shadow:inset 0 1px #ffffff4d}.hero-character{display:block;width:min(100%,430px);max-height:240px;height:auto;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(15,23,42,.12))}.illustration-credit{margin:10px 6px 0;font-size:.76rem;line-height:1.4;color:#64748b}.illustration-credit a{color:#0f3f63}.sentence-stage{position:relative;margin-top:22px;padding:34px 22px 92px;border:1px solid rgba(148,163,184,.18);border-radius:28px;background:linear-gradient(180deg,#fffffff0,#fffbebf5);overflow:hidden}.sentence-card{min-height:340px;display:flex;flex-direction:column;gap:18px;padding:12px 10px 18px}.line-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.line-number,.line-speaker{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 12px;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.line-number{background:#172033;color:#f8fafc}.line-speaker{background:#fff3dd;color:#b45309}.sentence-guide{margin:0;font-size:.95rem;line-height:1.6;color:#64748b}.sentence-block{display:grid;gap:18px}.stacked-lines{display:grid;gap:14px}.stacked-line,.current-line{padding:18px 20px;border:1px solid rgba(148,163,184,.18);border-radius:22px;background:#ffffffd6}.current-line{background:linear-gradient(180deg,#fffbebf2,#ffffffeb)}.english-line{margin:0;font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.25;letter-spacing:-.03em;color:#0f172a}.english-word.fixed-order,.english-line.revealed{color:#b45309}.korean-line{margin:0;font-size:clamp(1.05rem,2vw,1.22rem);line-height:1.8;color:#334155}.floating-button{width:58px;height:58px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#172033;color:#f8fafc;font-size:1.35rem;box-shadow:0 14px 32px #0f172a2e}.progress-row{display:flex;justify-content:space-between;gap:12px;margin-top:18px;font-size:.95rem;color:#475569}.history-card{opacity:.92}.history-english,.history-korean{margin:12px 0 0}.history-english{font-size:1.08rem;line-height:1.6;color:#0f172a}.history-korean{font-size:.97rem;line-height:1.7;color:#475569}.scenario-button{width:100%;margin-top:18px;border:0;border-radius:22px;padding:18px 20px;background:#172033;color:#f8fafc;font-size:1rem;font-weight:700;box-shadow:0 18px 32px #0f172a24}.ending-actions{display:grid;gap:12px}.secondary-action{background:#fff3dd;color:#9a3412;box-shadow:none}.fixed-controls{position:fixed;right:20px;bottom:20px;z-index:20;display:flex;gap:12px;align-items:center}.fixed-shuffle{position:fixed;top:20px;right:20px;z-index:20;background:#fff3dd;color:#9a3412}@media(max-width:820px){.app-shell{width:min(100vw - 24px,920px);padding:20px 0 40px}.practice-panel{padding:24px 18px;border-radius:24px}.practice-header{flex-direction:column;align-items:stretch}.scenario-info{align-items:flex-start}.scenario-copy{flex:1}.brand-mark{width:100%;justify-content:flex-start}.hero-visual,.hero-overlay{min-height:200px}.hero-character-frame{min-height:168px}.sentence-card{min-height:300px}}@media(max-width:560px){.app-shell{width:min(100vw - 18px,920px);padding:max(12px,env(safe-area-inset-top)) 0 max(28px,env(safe-area-inset-bottom))}.practice-panel{padding:20px 14px;border-radius:22px}.sentence-card{min-height:280px;padding:0}.hero-visual{min-height:180px}.hero-overlay{min-height:180px;padding:18px}.hero-character-frame{min-height:150px}.hero-character{width:min(100%,250px)}.fixed-controls{right:14px;bottom:14px;gap:10px}.fixed-shuffle{top:14px;right:14px}.floating-button{width:54px;height:54px}.progress-row{flex-direction:column}.stacked-line,.current-line{padding:16px}}
