*{box-sizing:border-box}body{color:#fff;background:#101014;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit}.app{place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:#191922;border:1px solid #2c2c38;border-radius:28px;width:min(100%,420px);padding:28px;box-shadow:0 24px 80px #00000059}.eyebrow{color:#a78bfa;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.8rem;font-weight:700}h1{margin:0;font-size:2rem;line-height:1.05}.subtitle{color:#b8b8c7;margin:16px 0 24px;line-height:1.5}.buttonStack{gap:12px;display:grid}button{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:18px;padding:16px 18px;font-weight:800}button:active{transform:scale(.98)}.korean{font-size:2.1rem;line-height:1.25}.choiceGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ghostButton{color:#b8b8c7;text-align:left;background:0 0;margin-bottom:20px;padding:0}.secondaryButton{background:#2c2c38;width:100%;margin-top:12px}.builtSentence{color:#e8e8f0;background:#101014;border:1px solid #2c2c38;border-radius:18px;place-items:center;min-height:58px;margin-bottom:16px;padding:14px;display:grid}.feedback{border-radius:20px;margin-top:20px;padding:16px}.feedback p{color:#e8e8f0;margin:6px 0;line-height:1.5}.feedback.correct{background:#22c55e2e;border:1px solid #22c55e73}.feedback.wrong{background:#ef44442e;border:1px solid #ef444473}.feedbackResult{margin-bottom:12px;font-size:1.1rem}.feedbackSentence{margin:8px 0 4px;font-size:1.3rem;font-weight:700;line-height:1.3}.feedbackTranslation{color:#b8b8c7;margin-bottom:8px;font-size:.95rem}.feedbackLabel{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-top:12px;font-size:.78rem}.feedbackAnswer{color:#e8e8f0;font-size:1rem;font-weight:700}.feedbackAnswerWrong{color:#f87171;margin-right:8px;text-decoration:line-through}.feedbackAnswerCorrect{color:#4ade80}.feedbackDetail{border-top:1px solid #ffffff14;margin-top:12px;padding-top:12px;font-size:.9rem}.feedbackKor{margin:4px 0;font-size:1.4rem;font-weight:700}button:disabled{opacity:.35}.learningToggle{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:20px;display:grid}.learningToggle button{background:#2c2c38;border-radius:12px;padding:10px 8px;font-size:.8rem;font-weight:600}.learningToggle .toggleActive{background:#7c3aed}.cardCounter{color:#6b7280;font-weight:400}.genSection{border-top:1px solid #2c2c38;margin-top:24px;padding-top:20px}.genLabel{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:.75rem}.genButtons{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.genButton{background:#252533;border-radius:12px;padding:10px 6px;font-size:.8rem;font-weight:600}.genButton:disabled{opacity:.5}.clearAIButton{color:#ef4444;background:0 0;border:1px solid #2c2c38;border-radius:12px;width:100%;margin-top:10px;padding:8px;font-size:.75rem;font-weight:600}.genMessage{margin:10px 0 0;font-size:.8rem;line-height:1.4}.genMessage.success{color:#4ade80}.genMessage.error{color:#f87171}.clueWord{text-align:center;color:#c4b5fd;letter-spacing:.08em;margin-bottom:12px;padding:16px;font-size:2rem;font-weight:800}.clueSentence{background:#101014;border:1px solid #2c2c38;border-radius:14px;margin-bottom:10px;padding:12px 14px}.clueKor{color:#e8e8f0;margin-bottom:4px;font-size:1.05rem;font-weight:600}.clueEng{color:#9ca3af;font-size:.85rem;line-height:1.4}.syncSection{border-top:1px solid #2c2c38;justify-content:space-between;align-items:center;margin-top:16px;padding-top:12px;display:flex}.syncStatus{color:#6b7280;margin:0;font-size:.75rem}.syncStatus.ok{color:#4ade80}.syncStatus.error{color:#f87171}.syncRetry{color:#f87171;cursor:pointer;background:0 0;border:1px solid #2c2c38;border-radius:8px;margin-left:8px;padding:2px 8px;font-size:.7rem}.syncId{color:#4b5563;cursor:pointer;font-family:monospace;font-size:.7rem}.syncIdRow{align-items:center;gap:8px;display:flex}.syncLinkBtn{color:#a78bfa;cursor:pointer;background:0 0;border:1px solid #2c2c38;border-radius:8px;padding:2px 8px;font-size:.65rem}.syncIdEdit{align-items:center;gap:4px;display:flex}.syncIdInput{color:#fff;background:#101014;border:1px solid #2c2c38;border-radius:8px;flex:1;padding:4px 8px;font-family:monospace;font-size:.7rem}.syncIdSave{color:#fff;cursor:pointer;background:#7c3aed;border:0;border-radius:8px;padding:4px 8px;font-size:.65rem}.syncIdCancel{color:#b8b8c7;cursor:pointer;background:0 0;border:1px solid #2c2c38;border-radius:8px;padding:4px 8px;font-size:.65rem}.editorButton{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #3c3c4a;border-radius:12px;width:100%;margin-top:8px;padding:10px;font-size:.7rem}.editorCard{max-height:90vh;overflow-y:auto}.editorCardList{flex-direction:column;gap:8px;margin:16px 0;display:flex}.editorCardItem{background:#101014;border:1px solid #2c2c38;border-radius:12px;align-items:center;gap:8px;padding:10px 12px;display:flex}.editorCardInfo{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.editorCardType{text-transform:uppercase;letter-spacing:.08em;color:#c4b5fd;font-size:.6rem;font-weight:700}.editorCardPreview{color:#e8e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.editorCardId{color:#6b7280;font-size:.6rem}.editorDeleteBtn{color:#f87171;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:4px 8px;font-size:1rem;line-height:1}.editorDeleteBtn:hover{background:#f8717126}.editorDeleteAll{color:#f87171;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:12px;width:100%;margin:12px 0;padding:10px;font-size:.75rem}.editorBackBtn{color:#b8b8c7;cursor:pointer;background:#2c2c38;border:none;border-radius:14px;width:100%;padding:12px;font-size:.85rem}.editorCardInfo{cursor:pointer}.editorCardInfo:hover .editorCardPreview{color:#c4b5fd}.editorTextarea{color:#e8e8f0;resize:vertical;background:#101014;border:1px solid #2c2c38;border-radius:12px;width:100%;margin:12px 0;padding:12px;font-family:ui-monospace,monospace;font-size:.75rem;line-height:1.5}.editorEditBtns{gap:8px;display:flex}.editorSaveBtn{color:#101014;cursor:pointer;background:#22c55e;border:none;border-radius:14px;flex:1;padding:12px;font-size:.85rem;font-weight:700}.editorCancelBtn{color:#b8b8c7;cursor:pointer;background:#2c2c38;border:none;border-radius:14px;flex:1;padding:12px;font-size:.85rem}.editorAddBtn{color:#4ade80;cursor:pointer;background:0 0;border:1px solid #22c55e4d;border-radius:12px;width:100%;margin:8px 0;padding:10px;font-size:.75rem}.addField{margin-bottom:12px}.addFieldLabel{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.75rem;display:block}.addInput,.addSelect{color:#e8e8f0;background:#101014;border:1px solid #2c2c38;border-radius:10px;outline:none;width:100%;padding:10px 12px;font-size:.85rem}.addInput:focus,.addSelect:focus{border-color:#7c3aed}.addSelect{cursor:pointer;margin-bottom:16px}.langSelectCard{text-align:center}.langSelectTitle{margin-bottom:8px;font-size:1.8rem}.langButtons{gap:16px;margin-top:28px;display:grid}.langBtn{cursor:pointer;background:#191922;border:1px solid #2c2c38;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;transition:border-color .15s,background .15s;display:flex}.langBtn:hover{background:#1f1f2c;border-color:#7c3aed}.langBtnLabel{color:#e8e8f0;font-size:1.3rem;font-weight:800}.langBtnDesc{color:#9ca3af;font-size:.8rem}.langSwitchBtn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #2c2c38;border-radius:10px;width:100%;margin-top:10px;padding:8px;font-size:.7rem}.langSwitchBtn:hover{color:#c4b5fd;border-color:#7c3aed}.addError{color:#f87171;margin:8px 0;font-size:.8rem}.importSection{border:1px solid #2c2c38;border-radius:12px;margin:8px 0;padding:10px}.importSummary{color:#4ade80;cursor:pointer;padding:4px;font-size:.75rem;font-weight:600}.importSection .editorTextarea{margin:8px 0}.importSection .editorSaveBtn{width:100%}.templateSection{border:1px solid #2c2c38;border-radius:10px;margin:8px 0;padding:8px}.templateSummary{color:#a78bfa;cursor:pointer;padding:4px;font-size:.7rem;font-weight:600}.templateTabs{gap:4px;margin:8px 0;display:flex}.templateTab{color:#9ca3af;cursor:pointer;background:#252533;border:none;border-radius:8px;flex:1;padding:6px 4px;font-size:.65rem;font-weight:600}.templateTabActive{color:#fff;background:#7c3aed}.templateBody{color:#e8e8f0;white-space:pre-wrap;word-break:break-all;background:#101014;border:1px solid #2c2c38;border-radius:8px;margin:8px 0;padding:10px;font-size:.6rem;line-height:1.4;overflow-x:auto}.copyTemplateBtn{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:8px;width:100%;padding:8px;font-size:.7rem;font-weight:600}.diffBadge{text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;border-radius:6px;margin-left:6px;padding:2px 6px;font-size:.55rem;font-weight:700}.diffBadge.diff-beginner{color:#4ade80;background:#22c55e33}.diffBadge.diff-intermediate{color:#facc15;background:#facc1533}.diffBadge.diff-advanced{color:#f87171;background:#ef444433}.levelDisplay{align-items:center;gap:10px;margin-bottom:16px;display:flex}.levelBadge{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:8px;padding:4px 8px;font-size:.65rem;font-weight:700}.levelBadge.level-beginner{color:#4ade80;background:#22c55e33}.levelBadge.level-learning{color:#38bdf8;background:#38bdf833}.levelBadge.level-intermediate{color:#facc15;background:#facc1533}.levelBadge.level-advanced{color:#fb923c;background:#fb923c33}.levelBadge.level-master{color:#a855f7;background:#a855f733}.levelBar{background:#2c2c38;border-radius:4px;flex:1;height:6px;overflow:hidden}.levelBarFill{background:linear-gradient(90deg,#4ade80,#facc15,#f87171);border-radius:4px;height:100%;transition:width .4s}
