@font-face{font-family:NanumSquare;font-weight:300;font-display:swap;src:url(/fonts/NanumSquareL.woff2)format("woff2")}@font-face{font-family:NanumSquare;font-weight:400;font-display:swap;src:url(/fonts/NanumSquareR.woff2)format("woff2")}@font-face{font-family:NanumSquare;font-weight:700;font-display:swap;src:url(/fonts/NanumSquareB.woff2)format("woff2")}@font-face{font-family:NanumSquare;font-weight:800;font-display:swap;src:url(/fonts/NanumSquareEB.woff2)format("woff2")}:root{--font-body:"NanumSquare", "나눔스퀘어", "Malgun Gothic", sans-serif;--font-heading:"NanumSquare", "나눔스퀘어", "Malgun Gothic", sans-serif;--speak-bg:#fff;--speak-bg-sub:#f1f5f9;--speak-border:#94a3b8;--speak-primary:#334155;--speak-primary-hover:#0f172a;--speak-primary-light:#3341551f;--speak-accent:#64748b;--speak-text:#0f172a;--speak-text-sub:#64748b;--speak-radius:14px;--speak-radius-sm:10px;--speak-shadow:0 2px 8px #0f172a14;--speak-shadow-card:0 4px 20px #00000014;--speak-shadow-hover:0 8px 30px #0f172a26;--clever-ease:cubic-bezier(.4, 0, .2, 1);--clever-duration:.35s;--bar-scale-y:0;--sparkle-color:#fdf4d766}@keyframes cleverFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes cleverFadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes cleverScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes cleverShine{0%{opacity:0;transform:translate(-100%)rotate(45deg)}50%{opacity:.15}to{opacity:0;transform:translate(100%)rotate(45deg)}}@keyframes cleverPulse{0%,to{transform:scale(1);box-shadow:0 4px 20px #0f172a33}50%{transform:scale(1.02);box-shadow:0 6px 28px #0f172a47}}@keyframes cleverProgressFill{0%{opacity:.8;width:0}to{opacity:1}}@keyframes cleverCardGlow{0%{box-shadow:0 2px 8px #0000000f}to{box-shadow:0 8px 30px #0f172a26}}@keyframes resultCorrectPop{0%{opacity:0;transform:scale(.6)}50%{transform:scale(1.12)}70%{transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes resultCorrectGlow{0%{text-shadow:0 0 #16a34a00;filter:brightness()}40%{text-shadow:0 0 12px #16a34a99;filter:brightness(1.15)}to{text-shadow:0 0 #16a34a00;filter:brightness()}}@keyframes resultWrongShake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes resultWrongPulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes pop-word{to{transform:rotateX(0)}}@keyframes show{to{opacity:1}}@keyframes bar-scale{to{transform:scaleY(1)}}@keyframes sparkle{0%{transform:scale(0)}60%{transform:scale(1)translate(4px,1px)rotate(8deg)}to{transform:scale(0)translate(4px,1px)rotate(8deg)}}@keyframes shimmer{to{text-shadow:0 0 8px red}}@keyframes pulse{0%{opacity:.7;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}to{opacity:.7;transform:scale(.95)}}@media (prefers-reduced-motion:reduce){.app,.category-item,.progress-rate,.content,.step3-result.step3-correct,.step3-result.step3-wrong,.result.correct,.result.wrong,.exercise-item .result.correct,.exercise-item .result.wrong,.vocab-quiz-result.correct,.vocab-quiz-result.wrong,.vocab-expert-feedback.vocab-expert-correct,.vocab-expert-feedback.vocab-expert-wrong,.shadowing-follow-correct,.shadowing-follow-wrong,.step6-wrong-msg,.vocabulary-level-days:not(.vocabulary-days-collapsed) .prenovice-day-card,.vocabulary-level-days:not(.vocabulary-days-collapsed) .novice-day-card,.vocabulary-level-days:not(.vocabulary-days-collapsed) .premium-day-card,.vocabulary-level-days:not(.vocabulary-days-collapsed) .expert-day-card,.vocabulary-level-days:not(.vocabulary-days-collapsed) .vocabulary-day-card{animation:none}.vocabulary-level-days{transition:none}.vocabulary-level-trigger[aria-expanded=true] .vocabulary-level-arrow,.category-card:hover,.btn-primary:hover:not(:disabled),.btn-back:hover,.btn-play:hover:not(:disabled),.btn-mic:hover,.step:hover:not(.locked),.shadowing-day-card:hover,.vocabulary-day-card:hover,.btn-backup:hover,.btn-reset:hover,.main-level-card:hover{transform:none}.progress-rate-fill{animation:none}}.step-finish-wrap{background:var(--speak-bg-sub);border-radius:var(--speak-radius);border:1px solid var(--speak-border);animation:cleverFadeInUp .4s var(--clever-ease);justify-content:center;align-items:center;gap:12px;margin-top:1.5rem;padding:1.5rem;display:none}.step-finish-wrap:not([hidden]){display:flex!important}*{box-sizing:border-box;text-decoration:none!important}a,button{text-decoration:none!important}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;color:var(--speak-text);background:linear-gradient(#fdebd0 0%,#fffcf5 100%) 0 0/100% 100% no-repeat fixed;margin:0}.category-screen .app{background:0 0}.app{font-family:var(--font-body);max-width:900px;margin:0 auto;padding:3.75rem 1.5rem 2rem;position:relative}.header-actions{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.header-actions .header-logo-link{cursor:pointer;background:0 0;border:none;align-items:center;margin:0;padding:0;display:inline-flex}.header-actions .header-logo-link:hover{opacity:.85}.header-actions .header-logo-img{object-fit:contain;background:0 0;width:100%;max-width:100px;height:auto;display:block}@media screen and (max-width:600px){.header-actions .header-logo-img{max-width:70px}}.header{text-align:center;margin-bottom:1.5rem}.category-screen .header{position:relative}.category-screen .header.main-header{margin-bottom:.35rem}.header h1{color:var(--speak-text);letter-spacing:-.02em;margin:0 0 .25rem;font-size:1.6rem;font-weight:600}.app-version{color:var(--speak-text-sub);margin-left:.25rem;font-size:.75rem;font-weight:400;display:none}.header h1.hero-title{text-align:center;flex-direction:column;align-items:center;margin:0 0 .25rem;display:flex}.header h1.hero-title .hero-logo{object-fit:contain;background:0 0;width:100%;max-width:100px;height:auto;display:block}@media screen and (max-width:600px){.header h1.hero-title .hero-logo{max-width:70px}}.badge-web{background:var(--speak-primary);color:#fff;vertical-align:middle;border-radius:6px;margin-left:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:600;display:inline-block}.subtitle{color:var(--speak-text);margin:0;font-size:.95rem;font-weight:600}.subtitle-notice{color:var(--speak-text-sub);margin:.5rem 0 0;font-size:.75rem;line-height:1.4}.ad-entry-wrap{margin:.75rem 0 0}.ad-entry-link{color:var(--speak-primary);font-size:.9rem;font-weight:500;text-decoration:none}.ad-entry-link:hover{text-decoration:none!important}.category-screen .header .subtitle{margin-top:.25rem}.category-screen-footer{text-align:center;max-width:400px;margin:1.5rem auto 0;padding:1rem 0 1.5rem}.category-screen-footer .progress-backup-actions{justify-content:center;gap:1.25rem;margin-top:0;display:flex}.category-screen-footer .subtitle-notice{margin-top:.5rem}.category-screen .progress-backup-actions{justify-content:center;gap:1.25rem;margin-top:.75rem;display:flex}.progress-backup-actions{flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-top:.75rem;display:flex}.btn-backup{color:var(--speak-text-sub);background:var(--speak-bg);border:1px solid var(--speak-border);border-radius:var(--speak-radius-sm);cursor:pointer;transition:transform var(--clever-duration) var(--clever-ease), border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.btn-backup:hover{background:var(--speak-primary-light);border-color:var(--speak-primary);color:var(--speak-primary);box-shadow:var(--speak-shadow);transform:translateY(-1px)}.btn-backup:focus-visible{outline:2px solid var(--speak-primary);outline-offset:2px}.btn-backup-icon{justify-content:center;align-items:center;padding:.5rem;display:inline-flex}.btn-backup-with-label{align-items:center;gap:.4rem;padding:.45rem .9rem;display:inline-flex}.btn-backup-with-label .backup-icon{width:1.1rem;height:1.1rem;color:var(--speak-primary);transition:color .2s}.btn-backup:hover .backup-icon{color:var(--speak-primary)}.btn-backup-icon .backup-icon{width:1.5rem;height:1.5rem}.btn-backup-icon:hover{background:var(--speak-primary-light);border-color:var(--speak-primary)}.btn-backup-icon:focus{outline:2px solid var(--speak-primary);outline-offset:2px}.main-header.main-header .main-header-inner{text-align:center;flex-direction:column;align-items:center;gap:.5rem;max-width:400px;margin:0 auto;display:flex}.main-header-top-row{justify-content:space-between;align-items:center;width:100%;display:flex}.main-header-left{flex-shrink:0}.main-header-tagline{letter-spacing:.05em;color:var(--speak-text-sub);margin:0 0 .15rem;font-size:.65rem;font-weight:600}.main-hero-title{margin:0}.main-hero-title .hero-logo{background:0 0;width:36px;max-width:36px}.main-header-title{margin:0;font-size:1.05rem;font-weight:800}.main-header-title-bold{color:var(--speak-text);font-weight:800}.main-header-title-sep{color:#000;font-weight:200}.main-header-title-days{color:#000;font-weight:800}.main-header-right{flex-shrink:0}.main-header-youtube-wrap{background:#f9f7ed;border-radius:8px;padding:.35rem .5rem}.main-header-youtube{color:#e53935;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.main-header-youtube:hover{opacity:.9}.youtube-icon{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e53935'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E") 50%/contain no-repeat;width:24px;height:24px;display:inline-block}.main-header-youtube-wrap .youtube-icon{width:34px;height:34px}.main-progress-banner-wrap{width:100%;margin-bottom:0}.main-progress-banner{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#333;cursor:default;text-align:center;width:100vw;box-shadow:none;box-sizing:border-box;background:#ffffff59;border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80;border-radius:0;flex-direction:column;justify-content:center;align-items:center;margin-top:0;margin-left:calc(50% - 50vw);padding:.3rem 1rem;font-size:1.8rem;font-weight:800;display:flex;position:relative}.main-progress-banner-icon{object-fit:contain;filter:drop-shadow(0 4px 8px #ff64004d);width:80px;height:80px;margin-bottom:.5rem}@keyframes main-fire-burn{0%,to{filter:drop-shadow(0 0 4px #ff780099)brightness();transform:scale(1)rotate(-5deg)}25%{filter:drop-shadow(0 0 8px #ff5000e6)brightness(1.15);transform:scale(1.2)rotate(2deg)}50%{filter:drop-shadow(0 0 10px #ff6400cc)brightness(1.1);transform:scale(1.15)rotate(5deg)}75%{filter:drop-shadow(0 0 6px #ff5a00d9)brightness(1.12);transform:scale(1.25)rotate(-2deg)}}.main-progress-banner-text{animation:.6s ease-out both main-slide-in;display:inline-block}@keyframes main-slide-in{0%{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}.main-menu-stack{flex-direction:column;gap:10px;width:100%;margin-bottom:0;display:flex}.main-menu-card{cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:20px;justify-content:flex-start;align-items:center;gap:2rem;padding:.8rem 2.5rem;transition:all .2s;display:flex;position:relative;box-shadow:0 4px 12px #0000000a;text-decoration:none!important}.main-menu-card.no-link{cursor:default}a.main-menu-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000014;background:#e1ffff!important;border-color:#59d1de!important}.main-menu-icon{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.main-menu-icon img{object-fit:contain;width:56px;height:56px;display:block}.main-menu-text{color:#333;font-size:1.5rem;font-weight:700;line-height:1}.main-level-section{z-index:2;background:#fff;border:1px solid #e8e8e8;border-radius:22px;margin-top:4px;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000a}.main-level-section .main-menu-card-header{background:#fff;padding:.8rem 2.5rem .4rem;box-shadow:none!important;border:none!important;border-radius:0!important}.main-level-section .main-level-cards{margin-top:0}.main-level-cards{box-sizing:border-box;flex-direction:column;gap:8px;width:100%;padding:4px 12px 12px;display:flex}.main-level-card-wrap{width:100%}.main-level-card{width:100%;font:inherit;text-align:center;cursor:pointer;color:var(--speak-text);background:#fff;justify-content:flex-start;align-items:center;padding:1.1rem 1.3rem;font-size:1rem;transition:all .2s;display:flex;position:relative;border:1px solid #f1f5f9!important;border-radius:15px!important;box-shadow:0 2px 4px #00000005!important}.main-level-card-wrap:last-child .main-level-card{border-bottom:1px solid #f1f5f9!important}#main-level-prenovice,#main-level-novice,#main-level-premium,#main-level-expert{border-radius:0}.main-level-cards button.main-level-card:hover,.main-level-cards .main-level-card-wrap button.main-level-card:hover{z-index:1;transform:none;box-shadow:none!important;background:#e1ffff!important;border:1px solid #59d1de!important}.main-level-card:hover .main-level-progress{background:#e1ffff!important}.main-level-name{text-align:left;color:var(--speak-text);flex-direction:row;flex:none;align-items:center;gap:8px;min-width:0;display:flex}.main-level-name-en{font-weight:800}.main-level-name-ko{color:#000;font-weight:600}.main-level-progress{color:#0062ff;text-align:center;background:#f2f2f2;border-radius:999px;min-width:60px;padding:.45rem 1rem;font-size:.95rem;font-weight:600;position:absolute;top:50%;right:1.1rem;transform:translateY(-50%)}.main-level-progress-total{color:#333}.main-level-days-wrap{background:#fff;width:100%;padding:0 1rem 1rem}.main-level-days-list{flex-direction:column;gap:8px;margin-top:.5rem;display:flex}.day-row{background:#fff;border:1px solid #f1f5f9;border-radius:12px;justify-content:space-between;align-items:center;padding:.8rem 1.25rem;transition:all .2s;display:flex;box-shadow:0 1px 3px #00000005}.day-row:hover{background:#e1ffff;border-color:#59d1de;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.day-link{color:var(--speak-text);font-weight:500;transition:all .2s;text-decoration:none!important}.pattern-link{font-size:1.05rem;font-weight:700}.speaking-link{color:#0ca678;background:#ebfbee;border:1px solid #d3f9d8;border-radius:8px;padding:.45rem 1.2rem;font-size:.9rem;font-weight:600}.speaking-link:hover{color:#fff;background:#38d9a9;border-color:#38d9a9}.pop-quiz-link{color:#e67700;background:#fff4e6;border:1px solid #ffe8cc;border-radius:6px;margin-left:.5rem;padding:.3rem .8rem;font-size:.85rem;font-weight:600}.main-level-days-wrap.vocabulary-days-collapsed{opacity:0;pointer-events:none;max-height:0;margin-top:0;padding-top:0;padding-bottom:0}.main-level-days-wrap .vocabulary-level-days{max-height:none;margin-bottom:.5rem}.main-level-days-wrap.vocabulary-days-collapsed .vocabulary-level-days{margin-bottom:0}.btn-backup-save,.btn-backup-load,.btn.btn-backup-with-label.btn-backup-save,.btn.btn-backup-with-label.btn-backup-load{border-radius:14px;box-sizing:border-box!important;color:#333!important;background:#ededed!important;border:none!important;height:40px!important;min-height:0!important;padding:0 1.25rem!important;font-size:.9rem!important;font-weight:400!important;line-height:40px!important}.btn-backup-save:hover,.btn-backup-load:hover{color:#333!important;background:#e0e0e0!important;border:none!important}.btn-backup-save .backup-icon-img{object-fit:contain;opacity:.85;vertical-align:middle;width:1rem;height:1rem}.btn-backup-save:hover .backup-icon-img{opacity:1}.btn-backup-load .backup-icon{opacity:.85;color:#333!important}.btn-backup-load:hover .backup-icon{opacity:1;color:#333!important}.category-screen-footer{background:0 0;border-radius:14px;margin-top:1rem;padding:1rem 1rem 1.5rem}.category-list{flex-direction:column;gap:8px;max-width:400px;margin:0 auto;display:flex}.category-section-title{color:var(--speak-text);text-align:center;letter-spacing:-.02em;background:#f8fafc;border-bottom:1px solid #e8e8e8;margin:0;padding:1rem 0;font-size:1.1rem;font-weight:800}.category-msg{color:#666;text-align:center;width:100%;margin:0;font-size:.9rem}.category-msg-shadowing{margin-top:.25rem}.daily-todo-wrap{box-shadow:none;text-align:center;background:0 0;border:none;margin-bottom:0;padding:.25rem 1rem}.daily-todo-title{color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;margin:0 0 .4rem;font-size:.85rem;font-weight:600;display:inline-flex}.daily-todo-title:hover{opacity:.8}.daily-todo-list[hidden]{display:none!important}.daily-todo-item{cursor:pointer}.daily-todo-item:hover .daily-todo-label{color:var(--speak-primary);text-decoration:none!important}.daily-todo-list{flex-direction:column;align-items:center;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.daily-todo-item{color:var(--speak-text);align-items:center;gap:.35rem;margin:0;font-size:.9rem;display:inline-flex}.daily-todo-checkbox{border:2px solid var(--speak-primary);vertical-align:middle;box-sizing:border-box;border-radius:2px;flex-shrink:0;width:1em;height:1em;display:inline-block;position:relative}.daily-todo-item.todo-done .daily-todo-checkbox{background:var(--speak-primary-light);border-color:var(--speak-primary)}.daily-todo-item.todo-done .daily-todo-checkbox:after{content:"✓";color:var(--speak-primary);font-size:.7em;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.daily-todo-item .daily-todo-label{transition:color .2s,-webkit-text-decoration .2s,text-decoration .2s}.daily-todo-item.todo-done .daily-todo-label{color:var(--speak-text-sub);opacity:.9;text-decoration:line-through}.good-job-overlay{z-index:1001;box-sizing:border-box;background:#0f172ad9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.good-job-overlay[hidden]{display:none!important}.good-job-content{text-align:center;background:#fff;border:1px solid #e8e8e8;border-radius:14px;flex-shrink:0;max-width:320px;margin:auto;padding:2rem 2.25rem;box-shadow:0 2px 8px #0000000f,0 0 40px #0f172a33}.good-job-title{color:var(--speak-primary);margin:0 0 .5rem;font-size:1.75rem;font-weight:600}.good-job-message{color:var(--speak-text-sub);margin:0 0 1.5rem;font-size:1rem}.good-job-btn{padding:.6rem 1.5rem}.category-row{flex-direction:row;gap:12px;width:100%;display:flex}.category-row .category-item{flex:1;min-width:0}.category-msg-pattern{margin-top:.5rem}.category-item{width:100%;animation:cleverFadeInDown .4s var(--clever-ease) backwards}.category-item:first-child{animation-delay:20ms}.category-item:nth-child(2){animation-delay:50ms}.category-item:nth-child(3){animation-delay:80ms}.category-item:nth-child(4){animation-delay:.11s}.category-item:nth-child(5){animation-delay:.14s}.category-item:nth-child(6){animation-delay:.17s}.category-item:nth-child(7){animation-delay:.2s}.category-card{text-align:left;cursor:pointer;width:100%;color:var(--speak-text);transition:transform var(--clever-duration) var(--clever-ease), box-shadow var(--clever-duration) var(--clever-ease), border-color .2s ease, color .2s ease, background .2s ease;background:#fff;border:1px solid #e8e8e8;border-radius:14px;justify-content:space-between;align-items:center;padding:1.1rem 1.35rem;font-size:1.05rem;font-weight:600;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f;text-decoration:none!important}.category-card-circle.category-card{justify-content:center}.category-card-shadowing.category-card-circle,.category-card-vocabulary.category-card-circle{justify-content:flex-start;padding-top:calc(50% - .6em)!important}.category-card-circle .category-card-text,.category-card-circle .category-card-icon,.category-card-circle .category-card-stars{flex:none}.category-card:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 0%,#fff6 50%,#0000 100%);width:60%;height:100%;transition:transform .6s;position:absolute;top:0;left:0;transform:translate(-100%)skew(-15deg)}.category-card:hover{color:var(--speak-primary);background:#fff;border-color:#38d9a9;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.category-card:hover:after{transform:translate(150%)skew(-15deg)}.category-card-text{z-index:1;flex:1;position:relative}.category-card-stars{letter-spacing:2px;color:#f59e0b;z-index:1;filter:drop-shadow(0 1px 2px #f59e0b4d);margin-left:.5rem;font-size:1.4rem;position:relative}.vocabulary-select .header{margin-bottom:1rem}.vocabulary-day-select-main{max-width:400px;margin:0 auto}.vocabulary-level-section{margin-bottom:.5rem}.vocabulary-level-section:last-child{margin-bottom:0}.vocabulary-level-trigger{width:100%;font:inherit;color:var(--speak-text);cursor:pointer;text-align:left;background:#fff;border:1px solid #e8e8e8;border-radius:14px;justify-content:center;align-items:center;margin-bottom:.35rem;padding:.85rem 1rem;font-size:1rem;font-weight:600;transition:border-color .2s,background .2s,color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 8px #0000000f}.vocabulary-level-trigger:hover{color:var(--speak-text);box-shadow:0 4px 16px #00000014;background:#e1ffff!important;border-color:#59d1de!important}.vocabulary-level-trigger[aria-expanded=true]{border-color:var(--speak-primary);background:var(--speak-primary-light);color:var(--speak-primary-hover)}.vocabulary-level-trigger[aria-expanded=true] .vocabulary-level-arrow{transform:rotate(90deg)}.vocabulary-level-arrow{color:#64748b;transition:transform .3s var(--clever-ease);font-size:.75rem;display:inline-block;position:absolute;right:1.25rem}.vocabulary-level-name{color:inherit;margin:0;font-size:1rem;font-weight:600}.vocabulary-level-days{max-height:10000px;transition:max-height .4s var(--clever-ease), opacity .25s ease;margin-bottom:.5rem;padding-left:.25rem;overflow:hidden}.vocabulary-level-days.vocabulary-days-collapsed{opacity:0;pointer-events:none;max-height:0;margin-bottom:0}.vocabulary-level-days:not(.vocabulary-days-collapsed) .prenovice-day-card,.vocabulary-level-days:not(.vocabulary-days-collapsed) .novice-day-card,.vocabulary-level-days:not(.vocabulary-days-collapsed) .premium-day-card,.vocabulary-level-days:not(.vocabulary-days-collapsed) .expert-day-card,.vocabulary-level-days:not(.vocabulary-days-collapsed) .vocabulary-day-card{animation:cleverFadeInUp .4s var(--clever-ease) backwards}.vocabulary-level-days:not(.vocabulary-days-collapsed) .prenovice-day-card:first-child,.vocabulary-level-days:not(.vocabulary-days-collapsed) .novice-day-card:first-child,.vocabulary-level-days:not(.vocabulary-days-collapsed) .premium-day-card:first-child,.vocabulary-level-days:not(.vocabulary-days-collapsed) .expert-day-card:first-child,.vocabulary-level-days:not(.vocabulary-days-collapsed) .vocabulary-day-card:first-child{animation-delay:20ms}.vocabulary-level-days:not(.vocabulary-days-collapsed) .prenovice-day-card:nth-child(2),.vocabulary-level-days:not(.vocabulary-days-collapsed) .novice-day-card:nth-child(2),.vocabulary-level-days:not(.vocabulary-days-collapsed) .premium-day-card:nth-child(2),.vocabulary-level-days:not(.vocabulary-days-collapsed) .expert-day-card:nth-child(2),.vocabulary-level-days:not(.vocabulary-days-collapsed) .vocabulary-day-card:nth-child(2){animation-delay:40ms}.vocabulary-level-days:not(.vocabulary-days-collapsed) .prenovice-day-card:nth-child(3),.vocabulary-level-days:not(.vocabulary-days-collapsed) .novice-day-card:nth-child(3),.vocabulary-level-days:not(.vocabulary-days-collapsed) .premium-day-card:nth-child(3),.vocabulary-level-days:not(.vocabulary-days-collapsed) .expert-day-card:nth-child(3),.vocabulary-level-days:not(.vocabulary-days-collapsed) .vocabulary-day-card:nth-child(3){animation-delay:60ms}.vocabulary-level-days:not(.vocabulary-days-collapsed) .prenovice-day-card:nth-child(4),.vocabulary-level-days:not(.vocabulary-days-collapsed) .novice-day-card:nth-child(4),.vocabulary-level-days:not(.vocabulary-days-collapsed) .premium-day-card:nth-child(4),.vocabulary-level-days:not(.vocabulary-days-collapsed) .expert-day-card:nth-child(4),.vocabulary-level-days:not(.vocabulary-days-collapsed) .vocabulary-day-card:nth-child(4){animation-delay:80ms}.vocabulary-level-days:not(.vocabulary-days-collapsed) .prenovice-day-card:nth-child(5),.vocabulary-level-days:not(.vocabulary-days-collapsed) .novice-day-card:nth-child(5),.vocabulary-level-days:not(.vocabulary-days-collapsed) .premium-day-card:nth-child(5),.vocabulary-level-days:not(.vocabulary-days-collapsed) .expert-day-card:nth-child(5),.vocabulary-level-days:not(.vocabulary-days-collapsed) .vocabulary-day-card:nth-child(5){animation-delay:.1s}.vocabulary-level-days:not(.vocabulary-days-collapsed) .prenovice-day-card:nth-child(n+6),.vocabulary-level-days:not(.vocabulary-days-collapsed) .novice-day-card:nth-child(n+6),.vocabulary-level-days:not(.vocabulary-days-collapsed) .premium-day-card:nth-child(n+6),.vocabulary-level-days:not(.vocabulary-days-collapsed) .expert-day-card:nth-child(n+6),.vocabulary-level-days:not(.vocabulary-days-collapsed) .vocabulary-day-card:nth-child(n+6){animation-delay:.12s}.vocabulary-day-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.5rem;display:grid}.vocabulary-day-card{cursor:pointer;color:var(--speak-text);transition:transform var(--clever-duration) var(--clever-ease), border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;background:#fff;border:1px solid #e8e8e8;border-radius:14px;flex-direction:row;justify-content:space-between;align-items:center;padding:.8rem 1.1rem;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 2px 8px #0000000f}.vocabulary-day-label{font-weight:600}.vocabulary-day-stars{color:#f59e0b;margin-left:.25rem;font-size:1rem}.vocabulary-day-card:hover:not(.locked){color:var(--speak-primary);transform:translateY(-2px);box-shadow:0 4px 16px #00000014;background:#e1ffff!important;border-color:#59d1de!important}.vocabulary-final-test-card{border-style:dashed}.prenovice-day-list,.novice-day-list,.premium-day-list,.expert-day-list{flex-direction:column;gap:.5rem;margin-top:12px;margin-bottom:.5rem;display:flex}.prenovice-day-list .prenovice-day-card,.prenovice-day-list .vocabulary-day-card,.novice-day-list .novice-day-card,.novice-day-list .vocabulary-day-card,.premium-day-list .premium-day-card,.premium-day-list .vocabulary-day-card,.expert-day-list .expert-day-card,.expert-day-list .vocabulary-day-card{box-sizing:border-box;width:100%}.vocabulary-day-grid-2{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.vocabulary-day-grid-2 .vocabulary-day-card{box-sizing:border-box;min-width:0}.prenovice-day-grid .prenovice-day-card,.novice-day-grid .novice-day-card,.premium-day-grid .premium-day-card,.expert-day-grid .expert-day-card{min-width:0}.vocab-quiz-hint{color:#64748b;margin:.25rem 0;font-size:.85rem}.vocab-step{margin:1rem 0}.vocab-step-desc{color:#64748b;margin:.5rem 0 1rem;font-size:.9rem}.vocab-step-desc .vocab-step-highlight{color:#dc2626;font-weight:700;text-decoration:underline}.vocab-word-list{flex-direction:column;gap:.5rem;margin:1rem 0;display:flex}.vocab-word-item{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.vocab-word-item .vocab-visible{flex-shrink:0}.vocab-word-item:hover{background:#f1f5f9}.vocab-expert-item{cursor:default;flex-direction:column;align-items:stretch}.vocab-expert-prompt{word-break:break-word;margin:0 0 .5rem;font-weight:500}.vocab-expert-sentence{flex-wrap:wrap;align-items:center;gap:.25rem;margin:0 0 .25rem;display:flex}.vocab-expert-segment{cursor:pointer;color:#1e293b;word-break:break-word;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem .5rem;font-size:.95rem}.vocab-expert-segment:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.vocab-expert-segment:disabled{cursor:default;opacity:.8}.vocab-expert-punct{color:#334155;margin:0 .1rem;font-size:.95rem}.vocab-expert-feedback{margin:.25rem 0 0;font-size:.9rem;font-weight:600}.vocab-expert-correct{color:#15803d;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards resultCorrectPop,.8s .2s resultCorrectGlow}.vocab-expert-feedback.vocab-expert-wrong{color:#b91c1c;animation:.5s resultWrongShake,.4s .5s resultWrongPulse}.vocab-expert-item .vocab-answer{color:#15803d;border-top:1px solid #e2e8f0;flex-basis:100%;margin-top:.25rem;padding-top:.25rem;font-weight:500}.vocab-check-item{cursor:default;align-items:center;gap:.5rem;display:flex}.vocab-follow-block{margin:1rem 0}.vocab-follow-item{align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.5rem 0;display:flex}.vocab-follow-word{min-width:120px;font-weight:500}.vocab-follow-count{color:#64748b;font-size:.9rem}.vocab-quiz-block{margin:1rem 0}.vocab-quiz-item{background:#f8fafc;border-radius:8px;margin-bottom:1rem;padding:1rem}.vocab-quiz-prompt{margin:0 0 .75rem;font-size:1.1rem;font-weight:600}.vocab-quiz-my-answer{color:#64748b;margin:.5rem 0;font-style:italic}.vocab-quiz-result.correct{color:#16a34a;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards resultCorrectPop,.8s .2s resultCorrectGlow}.vocab-quiz-result.wrong{color:#dc2626;animation:.5s resultWrongShake,.4s .5s resultWrongPulse}.vocab-quiz-retry-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vocab-quiz-text-wrap{align-items:center;gap:6px;display:inline-flex}.vocab-quiz-text-input{min-width:140px;padding:.4rem .6rem}.vocab-quiz-done{color:#16a34a;margin:1rem 0;font-size:1.1rem;font-weight:600}.vocab-complete-screen{text-align:center;padding:2rem}.vocab-complete-icon{color:#16a34a;margin:0 0 .5rem;font-size:3rem}.vocab-complete-msg{margin:0 0 1.5rem;font-size:1.2rem}.shadowing-day-select .header{margin-bottom:1rem}.shadowing-day-select .shadowing-intro-video{border-radius:var(--speak-radius-sm);background:#000;max-width:560px;height:auto;margin:.75rem auto 1rem;padding-bottom:0;position:relative;overflow:hidden}.shadowing-intro-poster{aspect-ratio:16/9;object-fit:contain;width:100%;height:auto;display:block}.shadowing-intro-iframe{border:none;width:100%;height:100%;display:none;position:absolute;top:0;left:0}.shadowing-intro-video.has-playing{height:0;padding-bottom:56.25%}.shadowing-intro-video.has-playing .shadowing-intro-iframe{position:absolute}.shadowing-intro-video.has-playing .shadowing-intro-poster,.shadowing-intro-video.has-playing .shadowing-intro-play-btn{display:none}.shadowing-intro-video.has-playing .shadowing-intro-iframe{display:block}.shadowing-intro-play-btn{cursor:pointer;background:#0009;border:none;border-radius:12px;width:68px;height:48px;padding:0;transition:background .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.shadowing-intro-play-btn:before{content:"";border:12px solid #0000;border-left:20px solid #fff;border-right-width:0;position:absolute;top:50%;left:50%;transform:translate(-40%,-50%)}.shadowing-intro-play-btn:hover{background:#dc2626e6}.shadowing-day-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;max-width:500px;margin:0 auto;display:grid}.shadowing-day-card-wrap{width:100%}.shadowing-day-card{cursor:pointer;width:100%;min-height:70px;color:var(--speak-text);transition:transform var(--clever-duration) var(--clever-ease), box-shadow .2s ease, border-color .2s ease, color .2s ease;background:#fff;border:1px solid #e8e8e8;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:.6rem;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 2px 8px #0000000f}.shadowing-day-card:hover:not(.locked){color:var(--speak-primary);transform:translateY(-2px);box-shadow:0 4px 16px #00000014;background:#e1ffff!important;border-color:#59d1de!important}.shadowing-day-label{margin-bottom:.25rem;font-weight:600}.shadowing-day-stars{letter-spacing:1px;color:#f59e0b;font-size:1.1rem}.shadowing-day-screen .shadowing-day-stars{text-align:center;margin:.5rem 0 1rem;font-size:1.5rem}.shadowing-intro-desc{color:#334155;margin:0 0 1rem;padding-left:1.25rem;font-size:.95rem;line-height:1.6;list-style-type:disc}.shadowing-intro-desc li{margin-bottom:.35rem}.shadowing-intro-desc li:last-child{margin-bottom:0}.shadowing-video-label-top{color:#334155;margin:0 0 .5rem;font-size:.95rem;font-weight:600}.shadowing-videos-container{margin:1rem 0}.shadowing-video-item{margin-bottom:1.5rem}.shadowing-video-item:last-child{margin-bottom:0}.shadowing-video-label{color:#334155;margin:0 0 .5rem;font-size:.95rem;font-weight:600}.shadowing-follow-label{color:var(--speak-primary-hover);margin:1.25rem 0 .5rem;font-size:.95rem;font-weight:600}.shadowing-follow-sentence{margin:0 0 .75rem;font-size:1.05rem;font-weight:500}.shadowing-follow-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .5rem;display:flex}.shadowing-follow-result{margin:.5rem 0 0;font-size:.9rem}.shadowing-follow-correct{color:var(--speak-primary);font-weight:600;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards resultCorrectPop,.8s .2s resultCorrectGlow}.shadowing-follow-wrong{color:#b91c1c;animation:.5s resultWrongShake,.4s .5s resultWrongPulse}.shadowing-content .video-wrap{margin:1rem 0}.shadowing-instruction{margin:.5rem 0 1rem}.shadowing-instruction[hidden]{display:none!important}.shadowing-instruction p{margin:.35rem 0;line-height:1.5}.shadowing-kw{color:var(--speak-primary-hover);background:var(--speak-primary-light);border-radius:4px;padding:.1em .25em;font-weight:700}.shadowing-kw-white{color:#fff;background:#1f2937;border:1px solid #111827}.shadowing-kw-yellow{color:#92400e;background:#fef3c7;border:1px solid #f59e0b}.shadowing-kw-accent{color:#1e293b;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:4px;padding:.12em .35em;font-weight:700}.shadowing-record-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0;padding:1rem}.shadowing-after-record[hidden]{display:none!important}.shadowing-after-record{margin-top:.75rem;display:block}.shadowing-listen-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.shadowing-complete-row{display:block}.shadowing-after-listen-msg{color:#475569;margin:.5rem 0 .75rem;font-size:.9rem;line-height:1.45;display:block}.shadowing-after-listen-msg .shadowing-listen-msg-highlight{color:#0f172a;background:#fef3c7;border:1px solid #f59e0b;border-radius:4px;padding:.15em .4em;font-weight:700}.shadowing-hint-text{color:#1e3a5f;background:var(--speak-primary-light);border:1px solid #bfdbfe;border-radius:8px;margin:.5rem 0 .75rem;padding:.6rem .75rem;font-size:.9rem;line-height:1.45}.shadowing-hint-text .shadowing-hint-kw{color:#0f172a;font-weight:700}.shadowing-play-label{color:#64748b;font-size:.9rem}.notion-audio-list{flex-direction:column;gap:10px;margin:1rem 0;display:flex}.notion-audio-item{box-shadow:none;background:0 0;border:none;border-radius:4px;align-items:center;padding:0;display:flex}.notion-audio-player{filter:grayscale()contrast(90%);width:100%;height:36px}.notion-audio-player::-webkit-media-controls-panel{background-color:#fff}.notion-step-instructions{color:#37352f;margin:1.5rem 0;padding:0;font-size:.95rem;line-height:1.6}.notion-step-instructions ol{margin:0;padding-left:1.5rem}.notion-step-instructions li{margin-bottom:.5rem}.notion-step-instructions .sub-list{margin-top:.25rem;padding-left:1.5rem;list-style-type:lower-alpha}.notion-step-instructions .sub-list li{margin-bottom:.15rem}.pattern-audio-notion-title{color:#37352f;align-items:center;gap:6px;margin:1.5rem 0 .5rem;font-size:1.1rem;font-weight:700;display:flex}.pattern-audio-notion-title:before{content:"•";font-size:1.5rem}.notion-divider{border:none;border-top:1px solid #e2e8f0;margin:1.5rem 0}.btn-reset{color:var(--speak-text);cursor:pointer;transition:transform var(--clever-duration) var(--clever-ease), border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;background:#fff;border:1px solid #e8e8e8;border-radius:14px;margin-top:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;display:inline-block;box-shadow:0 2px 8px #0000000f}.btn-reset:hover{border-color:var(--speak-primary);color:var(--speak-primary);background:#f9fafb;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.btn-back{color:var(--speak-text);cursor:pointer;transition:transform var(--clever-duration) var(--clever-ease), border-color .2s ease, color .2s ease, background .2s ease, box-shadow .2s ease;background:#fff;border:1px solid #e8e8e8;border-radius:14px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 2px 8px #0000000f}.btn-back:hover{color:var(--speak-primary);transform:translateY(-2px);box-shadow:0 4px 16px #00000014;background:#e1ffff!important;border-color:#59d1de!important}.header-with-back{justify-content:flex-start;align-items:center;width:100%;max-width:560px;margin:0 auto 1.5rem;display:flex!important}.header-with-back .subtitle{display:none!important}.btn-play{background:linear-gradient(135deg, var(--speak-primary) 0%, var(--speak-primary-hover) 100%);color:#fff;border-color:#0000;border-radius:14px;padding:.6rem 1.2rem;box-shadow:0 2px 10px #0f172a33}.btn-play:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #0f172a14}.progress-rate{animation:cleverScaleIn .4s var(--clever-ease) backwards;background:#fff;border:1px solid #e8e8e8;border-radius:14px;margin-bottom:1.25rem;padding:1.1rem 1.35rem;box-shadow:0 2px 8px #0000000f}.progress-rate-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.progress-rate-label{color:var(--speak-text);font-size:.9rem;font-weight:600}.progress-rate-value{color:#2563eb;font-size:.95rem;font-weight:600}.progress-rate-bar{background:#dbeafe;border-radius:999px;height:12px;overflow:hidden}.progress-rate-fill{height:100%;transition:width .5s var(--clever-ease);animation:cleverProgressFill .5s var(--clever-ease);background:linear-gradient(90deg,#2563eb 0%,#60a5fa 100%);border-radius:999px}.progress-rate-fill.complete{background:linear-gradient(90deg,#1d4ed8 0%,#2563eb 100%)}.stepper{margin-bottom:1.5rem}.steps{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.step{color:var(--speak-text-sub);cursor:pointer;transition:transform var(--clever-duration) var(--clever-ease), background .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease;background:#fff;border:1px solid #e8e8e8;border-radius:14px;align-items:center;gap:.35rem;padding:.6rem 1rem;font-size:.9rem;font-weight:600;display:flex;box-shadow:0 2px 8px #0000000f}.step:hover:not(.locked){transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.stepper .step-num{display:none}.step-num{font-weight:700}.step.current{background:linear-gradient(135deg, var(--speak-primary) 0%, var(--speak-primary-hover) 100%);color:#fff;border-color:#0000;box-shadow:0 2px 12px #0f172a40}.step.completed{color:#fff;background:linear-gradient(135deg,#475569 0%,#334155 100%);border-color:#0000}.step.locked{color:#64748b;opacity:1;cursor:not-allowed;background:#cbd5e1;border-color:#94a3b8}.shadowing-day-card.locked,.vocabulary-day-card.locked,.prenovice-day-card.locked,.novice-day-card.locked,.premium-day-card.locked,.expert-day-card.locked{color:#64748b;opacity:.95;cursor:not-allowed;pointer-events:auto;background:#e2e8f0;border-color:#94a3b8}.shadowing-day-card.locked:disabled,.vocabulary-day-card.locked:disabled,.prenovice-day-card.locked:disabled,.novice-day-card.locked:disabled,.premium-day-card.locked:disabled,.expert-day-card.locked:disabled{cursor:not-allowed}.day-card-lock-icon{opacity:1;filter:grayscale(.6)brightness(.7);font-size:1.1rem;line-height:1;display:inline-block;position:absolute;top:.5rem;right:.5rem}.shadowing-day-card,.vocabulary-day-card,.prenovice-day-card,.novice-day-card,.premium-day-card,.expert-day-card{position:relative}.shadowing-day-card .day-card-lock-icon{font-size:1.25rem;top:.4rem;right:.4rem}.vocabulary-day-card .day-card-lock-icon,.prenovice-day-card .day-card-lock-icon,.novice-day-card .day-card-lock-icon,.premium-day-card .day-card-lock-icon,.expert-day-card .day-card-lock-icon{font-size:1rem;top:.4rem;right:.4rem}.content{animation:cleverFadeInUp .45s var(--clever-ease) backwards;background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.step-content h2{color:var(--speak-text);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.step-content-divider{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.step-content p{color:#555;margin:0 0 1rem;font-size:.95rem}.step-content .step-intro{color:var(--speak-text);font-weight:500}.step-content .step-example{color:#475569;background:#f9fafb;border:1px solid #e8e8e8;border-radius:10px;margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500}.video-wrap{height:0;box-shadow:var(--speak-shadow-card);background:#0f172a;border-radius:14px;margin-bottom:1rem;padding-bottom:56.25%;position:relative;overflow:hidden}.video-wrap iframe{width:100%;height:100%;position:absolute;top:0;left:0}.notice{color:#92400e;background:#fffbeb;border:1px solid #f59e0b;border-radius:14px;margin-bottom:.75rem;padding:.85rem 1.1rem;font-size:.9rem;font-weight:500;transition:box-shadow .2s}.notice code{background:#fff;border-radius:4px;padding:.1rem .35rem;font-size:.85em}.notice-voice{border-color:var(--speak-primary);color:var(--speak-primary-hover);background:#ecfdf5}.video-link-wrap{margin:0 0 1rem}.link-youtube{color:#fff;border-radius:var(--speak-radius-sm);transition:transform var(--clever-duration) var(--clever-ease), box-shadow .2s ease;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.link-youtube:hover{transform:translateY(-2px);box-shadow:0 4px 14px #dc262659}.btn{cursor:pointer;color:var(--speak-text);transition:background var(--clever-duration) var(--clever-ease), transform var(--clever-duration) var(--clever-ease), box-shadow var(--clever-duration) var(--clever-ease), border-color .2s ease;background:#fff;border:1px solid #e8e8e8;border-radius:14px;padding:.7rem 1.35rem;font-size:1rem;font-weight:600;box-shadow:0 2px 8px #0000000f}.btn.btn-backup-save,.btn.btn-backup-load{box-sizing:border-box!important;height:40px!important;min-height:0!important;padding:0 1.25rem!important;line-height:40px!important}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--speak-primary) 0%, var(--speak-primary-hover) 100%);color:#fff;border-color:#0000;box-shadow:0 2px 10px #0f172a33}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--speak-primary-hover) 0%, #0d5c54 100%);transform:translateY(-2px);box-shadow:0 4px 16px #0f172a14}.btn-primary:disabled{box-shadow:none;cursor:not-allowed;background:#94a3b8;border-color:#0000}.btn-complete-step.btn-primary{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border-color:#0000}.btn-complete-step.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%);border-color:#0000;box-shadow:0 4px 16px #2563eb40}.btn-complete-step.btn-primary:disabled{background:#93c5fd;border-color:#93c5fd}.exercise-list{margin-bottom:1rem}.exercise-item{background:#fff;border:1px solid #e8e8e8;border-radius:14px;margin-bottom:1.25rem;padding:1.1rem 1.35rem;transition:box-shadow .2s,border-color .2s;box-shadow:0 2px 8px #0000000f}.exercise-item:hover{border-color:#e0e0e0;box-shadow:0 4px 16px #00000014}.exercise-item .question{margin-bottom:.5rem;font-size:1.05rem}.exercise-item .hint{color:#64748b;margin-bottom:.5rem;font-size:.85rem}.pn4-blank-meaning{color:#64748b;margin-bottom:.35rem;font-size:.9rem}.pn4-blank-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pn4-blank-row .btn-play{flex-shrink:0}.pn4-listening-play-row{margin:.75rem 0 .5rem}.pn4-listening-input-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.pn4-listening-input-row label{font-size:.95rem}.pn4-listening-input-row input{background:#fff;border:1px solid #e8e8e8;border-radius:10px;min-width:160px;padding:.5rem .75rem;font-size:1rem}.pn4-listening-next-row{margin:1rem 0 0}.pn4-listening-video-wrap{margin:1rem 0}.pn4-listening-video-wrap .video-wrap{margin-bottom:1rem}.pn4-listening-show-script-row,.pn4-listening-script-wrap{margin:1rem 0 0}.pn4-listening-script-label,.pn4-listening-blanks-label{margin:.5rem 0 .25rem;font-weight:600}.pn4-listening-script-text{white-space:pre-wrap;word-break:break-word;background:#f5f5f5;border-radius:10px;margin:.5rem 0 1rem;padding:.75rem;font-size:.95rem;line-height:1.5}.pn4-listening-blanks-container{margin-top:.5rem}.pn4-listening-blank-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.pn4-listening-blank-row label{min-width:4rem;font-size:.95rem}.pn4-listening-blank-row input{background:#fff;border:1px solid #e8e8e8;border-radius:10px;min-width:140px;padding:.5rem .75rem;font-size:1rem}.pn4-listening-blank-result{margin-left:.25rem;font-size:.9rem}.exercise-item input[type=text],.exercise-item select{background:#fff;border:1px solid #e8e8e8;border-radius:10px;min-width:120px;padding:.5rem .75rem;font-size:1rem}.exercise-item .result{margin-top:.5rem;font-size:.9rem}.result.correct{color:#16a34a;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards resultCorrectPop,.8s .2s resultCorrectGlow}.result.wrong{color:#dc2626;animation:.5s resultWrongShake,.4s .5s resultWrongPulse}.exercise-item .result.correct{color:#16a34a;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards resultCorrectPop,.8s .2s resultCorrectGlow}.exercise-item .result.wrong{color:#dc2626;animation:.5s resultWrongShake,.4s .5s resultWrongPulse}.korean-blank{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.korean-blank input{width:100px}.step1-ox-desc{color:#64748b;margin:.5rem 0;font-size:.9rem}.step1-ox-btns{gap:.75rem;margin:.5rem 0;display:flex}.step1-ox-btn{min-width:3rem;padding:.5rem 1rem;font-size:1.1rem;font-weight:600}.step1-ox-btn.selected{background:var(--speak-primary-hover);color:#fff;border-color:var(--speak-primary-hover)}.step1-order-words{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;display:flex}.step1-order-word{padding:.4rem .75rem;font-size:.95rem}.step1-order-word:disabled{opacity:.6;cursor:default}.step1-order-selected{margin-right:.5rem;font-weight:600}.step1-order-reset{padding:.25rem .5rem;font-size:.85rem}.step3-prompt{color:#1e293b;margin:.5rem 0;font-size:1.1rem;font-weight:600}.step3-ready-hint{color:#ea580c;margin:.5rem 0;font-size:1rem;font-weight:500}.step3-record-start-wrap{margin:.75rem 0}.btn-mic{color:#fff;border-radius:14px;border-radius:var(--speak-radius-sm);cursor:pointer;transition:transform var(--clever-duration) var(--clever-ease), box-shadow .2s ease;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);border:none;padding:.65rem 1.4rem;font-size:1.05rem;font-weight:600;box-shadow:0 2px 12px #dc262659}.btn-mic:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dc262666}.step3-my-answer{color:#334155;white-space:normal;word-break:break-word;overflow-wrap:break-word;margin:.5rem 0;font-size:1rem}.step3-my-answer span{color:#0f172a;white-space:normal;word-break:break-word;overflow-wrap:break-word;font-weight:500;display:inline}.step3-result{margin:.5rem 0;font-size:1.1rem;font-weight:600}.step3-result.step3-correct{color:#16a34a;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards resultCorrectPop,.8s .2s resultCorrectGlow}.step3-result.step3-wrong{color:#dc2626;animation:.5s resultWrongShake,.4s .5s resultWrongPulse}.step6-wrong-msg{color:#dc2626;margin:.25rem 0;font-size:.9rem;animation:.5s resultWrongShake,.5s .5s resultWrongPulse}.step3-grammar{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:.5rem 0;padding:.75rem;font-size:.9rem}.step3-grammar-label{color:#166534;margin-right:.25rem;font-weight:600}.step3-pattern-audio-wrap{flex-wrap:wrap;justify-content:center;gap:.75rem;margin:.75rem 0 1rem;display:flex}.step6-desc{margin-bottom:1rem}.step6-test-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0;padding:1rem}.step6-progress{margin-bottom:.5rem;font-weight:500}.step6-progress-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden}.step6-progress-fill{background:var(--speak-primary-hover);height:100%;transition:width .3s}.step6-type-chip{border-radius:6px;margin-bottom:1rem;padding:.25rem .6rem;font-size:.85rem;font-weight:500;display:inline-block}.step6-type-translation{background:var(--speak-primary-light);color:var(--speak-primary-hover)}.step6-type-qa{color:#9a3412;background:#ffedd5}.step6-type-follow{color:#6b21a8;background:#f3e8ff}.step6-playing,.step6-recording{align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.step6-spinner{border:2px solid #e2e8f0;border-top-color:var(--speak-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite step6-spin;display:inline-block}@keyframes step6-spin{to{transform:rotate(360deg)}}.step6-ready{margin:.75rem 0}.step6-retry{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin:.75rem 0;padding:.75rem}.step6-retry-msg{color:#92400e;margin-bottom:.5rem;font-size:.95rem;display:block}.step6-retry-btns{gap:.5rem;display:inline-flex}.step6-clear-wrap{text-align:center;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:1px solid #f59e0b;border-radius:12px;padding:2rem}.step6-clear-icon{margin:0 0 .5rem;font-size:4rem}.step6-clear-title{color:#92400e;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.step6-clear-msg{color:#78350f;margin:0 0 1.5rem;font-size:1.1rem}.btn-warning{color:#fff;background:#ea580c}.btn-warning:hover{background:#c2410c}.btn-text-input,.btn-outline{color:#475569;background:#fff;border:1px solid #cbd5e1}.btn-text-input:hover,.btn-outline:hover{background:#f1f5f9;border-color:#94a3b8}#step6-typing-wrap label{margin-bottom:.5rem;display:block}#step6-text-input{border:1px solid #cbd5e1;border-radius:6px;width:100%;max-width:400px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:1rem}#pn4-model-transcript-wrap{white-space:normal;word-break:break-word;overflow-wrap:break-word;max-width:100%}#pn4-model-transcript-wrap span{white-space:normal;word-break:break-word;overflow-wrap:break-word}.pn4-model-text-block{margin:1rem 0}.pn4-model-text{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;font-size:1.2rem}.pn4-model-compare-wrap{margin:.75rem 0;font-size:1.1rem;line-height:1.6}.pn4-model-words .pn4-model-word{border-radius:2px;padding:0 1px}.pn4-model-words .pn4-word-pending{color:#000!important}.pn4-model-words .pn4-word-match{color:#15803d;font-weight:600}.pn4-model-words .pn4-word-miss{color:#b91c1c;text-underline-offset:2px;background:#fef2f2;border-radius:3px;padding:.1em .2em;font-weight:700;-webkit-text-decoration:underline #dc2626;text-decoration:underline #dc2626}.pn4-speaking-video-wrap{margin:.75rem 0 1rem}.pn4-speaking-desc{margin:0 0 1rem;font-size:1rem;line-height:1.5}.pn4-speaking-desc .pn4-speaking-goal{color:var(--text-primary,#1a1a1a);margin:0 0 .5rem;font-weight:700}.pn4-speaking-desc .pn4-speaking-rules{margin:0;padding-left:1.25rem}.pn4-speaking-vocab-msg{color:var(--text-secondary,#444);margin:.75rem 0 0;padding:.5rem 0;font-size:.95rem;line-height:1.4}.pn4-speaking-record-wrap{margin-top:.75rem}.pn4-speaking-complete-row{margin-top:1.5rem}.pn4-speaking-question{margin-bottom:.75rem;font-size:1.1rem}.pn4-speaking-timer{color:var(--speak-primary);margin:.5rem 0;font-size:2rem;font-weight:700}.pn4-speaking-timer.pn4-speaking-timer-cheer{color:#16a34a;animation:.45s cubic-bezier(.34,1.56,.64,1) forwards resultCorrectPop,.8s .2s resultCorrectGlow}.pn4-speaking-live-wrap{color:var(--text-secondary,#444);background:#0000000f;border-radius:6px;min-height:1.5em;margin:.5rem 0;padding:.5rem .75rem;font-size:.95rem}.pn4-speaking-live{display:inline}.pn4-speaking-warning{color:#fff;letter-spacing:.02em;background:#dc2626;border:3px solid #b91c1c;border-radius:8px;margin:.75rem 0;padding:.75rem 1rem;font-size:1.35rem;font-weight:800;animation:.5s ease-in-out infinite pn4-warning-blink;box-shadow:0 0 0 4px #dc262666,0 4px 12px #00000040}@keyframes pn4-warning-blink{0%,to{opacity:1;filter:brightness(1.2);box-shadow:0 0 0 4px #dc262680,0 4px 16px #dc262666}50%{opacity:.85;filter:brightness(1.5);box-shadow:0 0 20px 6px #dc262699,0 0 40px 10px #dc262640}}.pn4-speaking-result .pn4-speaking-sentences-label,.pn4-speaking-result #pn4-speaking-sentences{display:none!important}.pn4-speaking-result{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:1rem;padding:1rem;font-size:.95rem}.pn4-speaking-result .step3-grammar-label{margin-top:.5rem;margin-bottom:.25rem}.pn4-speaking-result .step3-grammar-label:first-child{margin-top:0}.pn4-speaking-transcript,.pn4-speaking-sentences,.pn4-speaking-corrected{white-space:pre-wrap;word-break:break-word;margin:0 0 .5rem}.pn4-speaking-result.pn4-speaking-cheer-mode .step3-grammar-label,.pn4-speaking-result.pn4-speaking-cheer-mode .pn4-speaking-sentences,.pn4-speaking-result.pn4-speaking-cheer-mode .pn4-speaking-corrected{display:none!important}.pn4-speaking-result.pn4-speaking-cheer-mode .pn4-speaking-transcript{text-align:center;color:#16a34a;margin:.5rem 0 0;font-size:1.5rem;font-weight:600}.mic-test-wrap{border-top:1px solid #e2e8f0;margin-top:2rem;padding:1rem 0}.btn-mic-test{color:#fff;cursor:pointer;background:#64748b;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.95rem;font-weight:500}.btn-mic-test:hover{background:#475569}.mic-test-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:1rem;padding:1.25rem}.mic-test-support{margin:0 0 .75rem;font-size:.9rem}.mic-test-support.mic-test-ok{color:#16a34a}.mic-test-support.mic-test-warn{color:#b45309;background:#fef3c7;border-radius:6px;padding:.5rem .75rem}.mic-test-support.mic-test-error{color:#dc2626}.mic-test-status{color:#475569;margin:0 0 .5rem;font-size:.9rem}.mic-test-status.mic-test-error{color:#dc2626;font-weight:500}.mic-test-transcript-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:3rem;margin:.75rem 0 1rem;padding:1rem}.mic-test-label{color:#64748b;margin-bottom:.35rem;font-size:.85rem;display:block}.mic-test-transcript{color:#0f172a;min-height:1.5em;margin:0;font-size:1.05rem}.mic-test-grammar-wrap{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin:.5rem 0 0;padding:.75rem;font-size:.9rem}.mic-test-grammar-wrap .mic-test-label{margin-bottom:.25rem;display:block}.mic-test-sentences,.mic-test-corrected{white-space:pre-wrap;word-break:break-word;margin:0}.mic-test-buttons{gap:.75rem;display:flex}.btn-mic-stop{color:#fff;cursor:pointer;background:#64748b;border:none;border-radius:8px;padding:.5rem 1rem;font-size:1rem;font-weight:500}.btn-mic-stop:hover{background:#475569}.speaking-cheer-popup{z-index:999;background:#0f172ab3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.speaking-cheer-popup[hidden]{display:none!important}.speaking-cheer-content{text-align:center;background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%);border:2px solid #16a34a;border-radius:16px;padding:2rem 2.5rem;box-shadow:0 0 40px #16a34a4d,0 20px 40px #0006}.speaking-cheer-message{color:#fff;text-shadow:0 1px 2px #000c,0 0 20px #16a34a66;margin:0 0 1.25rem;font-size:1.75rem;font-weight:700}.speaking-cheer-content .btn{padding:.6rem 1.5rem}.congratulations-overlay{z-index:1000;pointer-events:none;box-sizing:border-box;background:#0f172ad9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.congratulations-overlay[hidden]{display:none!important}.congratulations-overlay .congratulations-content{pointer-events:auto;flex-shrink:0;margin:auto}.congratulations-firework{pointer-events:none;position:absolute;inset:0;overflow:hidden}.congratulations-firework:before,.congratulations-firework:after{content:"";opacity:0;background:#fbbf24;border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;animation:1.2s ease-out forwards congratulations-burst;position:absolute;top:50%;left:50%;box-shadow:0 0 20px 4px #fbbf24,0 0 60px 12px #fbbf2480,-40px -30px 0 -2px #f59e0b,40px -30px 0 -2px #fbbf24,-30px 40px 0 -2px #fcd34d,30px 40px 0 -2px #f59e0b,-50px 0 0 -2px #fcd34d,50px 0 0 -2px #f59e0b,0 -50px 0 -2px #fbbf24,0 50px 0 -2px #f59e0b}.congratulations-firework:after{background:#38bdf8;animation-delay:.15s;box-shadow:0 0 20px 4px #38bdf8,0 0 60px 12px #38bdf880,-35px -35px 0 -2px #0ea5e9,35px -35px 0 -2px #38bdf8,-35px 35px 0 -2px #7dd3fc,35px 35px 0 -2px #0ea5e9}@keyframes congratulations-burst{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(4)}}.congratulations-content{z-index:1;text-align:center;box-sizing:border-box;background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%);border:2px solid #fbbf24;border-radius:16px;width:100%;max-width:320px;padding:2.5rem 2rem;position:relative;box-shadow:0 0 40px #fbbf244d,0 20px 40px #0006}.congratulations-title{color:#fbbf24;letter-spacing:.02em;margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.congratulations-trophy{margin:.5rem 0;font-size:4rem;line-height:1;animation:.6s ease-out congratulations-trophy}@keyframes congratulations-trophy{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.congratulations-message{color:#e2e8f0;margin:0 0 1.5rem;font-size:1.1rem}.congratulations-btn{cursor:pointer;z-index:2;padding:.75rem 1.5rem;font-size:1.1rem;position:relative}.shadowing-complete-overlay,.vocab-complete-overlay{z-index:1000;pointer-events:none;box-sizing:border-box;background:#0f172ad9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow:hidden}.shadowing-complete-overlay[hidden],.vocab-complete-overlay[hidden]{display:none!important}.shadowing-complete-overlay .shadowing-stamp-content,.vocab-complete-overlay .shadowing-stamp-content{pointer-events:auto;flex-shrink:0;margin:auto}.shadowing-stamp-bg{pointer-events:none;background:radial-gradient(circle,#f472b61f 0%,#0000 60%);animation:1.5s ease-out shadowing-stamp-glow;position:absolute;inset:0}@keyframes shadowing-stamp-glow{0%{opacity:0;transform:scale(.5)}50%{opacity:1}to{opacity:.6;transform:scale(1.2)}}.shadowing-stamp-content{z-index:1;text-align:center;box-sizing:border-box;background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%);border:2px solid #f472b6;border-radius:20px;width:100%;max-width:320px;padding:2.5rem 2rem;position:relative;box-shadow:0 0 40px #f472b64d,0 20px 40px #0006}.shadowing-stamp-sparkles{pointer-events:none;position:absolute;inset:0}.shadowing-sparkle{opacity:0;font-size:1.25rem;animation:.5s ease-out forwards shadowing-sparkle-pop;position:absolute}.shadowing-sparkle-1{animation-delay:.3s;top:8%;left:12%}.shadowing-sparkle-2{animation-delay:.4s;top:5%;right:15%}.shadowing-sparkle-3{animation-delay:.5s;bottom:25%;left:8%}.shadowing-sparkle-4{animation-delay:.6s;bottom:20%;right:10%}.shadowing-sparkle-5{animation-delay:.45s;top:35%;right:5%}@keyframes shadowing-sparkle-pop{0%{opacity:0;transform:scale(0)}70%{opacity:1;transform:scale(1.3)}to{opacity:.9;transform:scale(1)}}.shadowing-stamp{transform-origin:50%;background:linear-gradient(160deg,#fdf2f8 0%,#fbcfe8 50%,#f9a8d4 100%);border:5px solid #f472b6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:170px;height:170px;margin:0 auto 1.25rem;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards shadowing-stamp-hit;display:inline-flex;box-shadow:inset 0 3px 8px #ffffffe6,inset 0 -2px 6px #f472b633,0 6px 20px #f472b666,0 0 0 3px #fbcfe880}@keyframes shadowing-stamp-hit{0%{opacity:.3;transform:scale(2.5)rotate(-8deg)}40%{opacity:1;transform:scale(.9)rotate(3deg)}60%{transform:scale(1.08)rotate(-2deg)}80%{transform:scale(.98)rotate(1deg)}to{opacity:1;transform:scale(1)rotate(0)}}.shadowing-stamp-text{color:#be185d;letter-spacing:.06em;text-shadow:0 1px 2px #ffffff80;font-size:1.45rem;font-weight:800}.shadowing-stamp-face{font-size:1.75rem;line-height:1;animation:.8s ease-out .4s both shadowing-face-bounce}@keyframes shadowing-face-bounce{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.2)}80%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.shadowing-stamp-message{color:#e2e8f0;margin:0 0 1.5rem;font-size:1.1rem}.shadowing-stamp-btn{cursor:pointer;z-index:2;padding:.75rem 1.5rem;font-size:1.1rem;position:relative}.app-kakao-float{z-index:999;line-height:0;display:block;position:fixed;bottom:100px;right:80px}.app-kakao-float img{border-radius:50%;width:125px;height:125px;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 4px 20px #00000026}.app-kakao-float:hover img{transform:scale(1.05);box-shadow:0 6px 24px #0003}@media screen and (max-width:768px){.app-kakao-float{bottom:80px;right:16px}.app-kakao-float img{width:100px;height:100px}}.anki-review-btn-wrap{max-width:400px;margin:0 auto;padding:.75rem 1rem}.anki-review-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed 0%,#8b5cf6 50%,#9d6fff 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.85rem 1.25rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 10px #7c3aed40}.anki-review-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #7c3aed73}.anki-review-btn-icon{font-size:1.2rem}.anki-review-badge{color:#fff;background:#ef4444;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:700;animation:2s ease-in-out infinite ankiBadgePulse;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 8px #ef444480}.anki-review-badge[hidden]{display:none!important}@keyframes ankiBadgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.anki-review-screen{background:linear-gradient(#f8fafc 0%,#eef2ff 100%);min-height:100vh}.anki-review-screen[hidden]{display:none!important}.anki-review-screen .header{align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.anki-back-btn{color:#475569;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:8px;padding:.4rem .75rem;font-size:.9rem;font-weight:500;transition:background .2s}.anki-back-btn:hover{background:#f1f5f9}.anki-progress-text{color:#6366f1;white-space:nowrap;margin-left:auto;font-size:.9rem;font-weight:600}.anki-review-main{max-width:480px;margin:0 auto;padding:1rem}.anki-card-area{margin-bottom:1.5rem}.anki-card{perspective:1000px;cursor:pointer;min-height:240px}.anki-card-inner{width:100%;min-height:240px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative}.anki-card.flipped .anki-card-inner{transform:rotateY(180deg)}.anki-card-front,.anki-card-back{backface-visibility:hidden;box-sizing:border-box;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:240px;padding:2rem 1.5rem;display:flex;position:absolute;top:0;left:0}.anki-card-front{background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:2px solid #e2e8f0;box-shadow:0 4px 20px #00000014}.anki-card-back{background:linear-gradient(145deg,#eef2ff 0%,#e0e7ff 100%);border:2px solid #a5b4fc;transform:rotateY(180deg);box-shadow:0 4px 20px #6366f126}.anki-card-label{text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:0 0 .5rem;font-size:.8rem;font-weight:600}.anki-card-back .anki-card-label{color:#6366f1}.anki-card-text{color:#0f172a;text-align:center;word-break:keep-all;margin:0;font-size:1.6rem;font-weight:700;line-height:1.4}.anki-card-english{color:#4338ca;font-size:1.8rem}.anki-card-korean-hint{color:#64748b;margin:.75rem 0 0;font-size:.95rem}.anki-card-tap-hint{color:#94a3b8;margin:1.5rem 0 0;font-size:.85rem;animation:2s ease-in-out infinite ankiTapHintPulse}@keyframes ankiTapHintPulse{0%,to{opacity:.6}50%{opacity:1}}.anki-speak-btn{color:#4338ca;cursor:pointer;background:#fff;border:1px solid #c7d2fe;border-radius:8px;margin-top:1rem;padding:.5rem 1rem;font-size:.9rem;transition:background .2s}.anki-speak-btn:hover{background:#eef2ff}.anki-rating-area{text-align:center}.anki-rating-area[hidden]{display:none!important}.anki-rating-label{color:#64748b;margin:0 0 .75rem;font-size:.9rem;font-weight:500}.anki-rating-buttons{justify-content:center;gap:.75rem;display:flex}.anki-rate-btn{cursor:pointer;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:.25rem;min-width:90px;padding:.85rem 1.25rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex}.anki-rate-btn:hover{transform:translateY(-2px)}.anki-rate-btn:active{transform:translateY(0)}.anki-rate-emoji{font-size:1.5rem;line-height:1}.anki-rate-text{font-size:.95rem}.anki-rate-interval{opacity:.7;font-size:.7rem;font-weight:400}.anki-rate-again{color:#b91c1c;background:linear-gradient(145deg,#fef2f2,#fee2e2);border-color:#fca5a5;box-shadow:0 2px 10px #ef444426}.anki-rate-again:hover{box-shadow:0 4px 16px #ef444440}.anki-rate-hard{color:#92400e;background:linear-gradient(145deg,#fffbeb,#fef3c7);border-color:#fcd34d;box-shadow:0 2px 10px #f59e0b26}.anki-rate-hard:hover{box-shadow:0 4px 16px #f59e0b40}.anki-rate-good{color:#1d4ed8;background:linear-gradient(145deg,#eff6ff,#dbeafe);border-color:#93c5fd;box-shadow:0 2px 10px #3b82f626}.anki-rate-good:hover{box-shadow:0 4px 16px #3b82f640}.anki-rate-easy{color:#15803d;background:linear-gradient(145deg,#f0fdf4,#dcfce7);border-color:#86efac;box-shadow:0 2px 10px #22c55e26}.anki-rate-easy:hover{box-shadow:0 4px 16px #22c55e40}.anki-empty-state{text-align:center;background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:3rem 1.5rem;box-shadow:0 2px 12px #0000000f}.anki-empty-icon{margin:0 0 .75rem;font-size:3rem;line-height:1}.anki-empty-title{color:#1e293b;margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.anki-empty-desc{color:#64748b;margin:0;font-size:.95rem;line-height:1.5}.anki-complete-state{background:linear-gradient(145deg,#eef2ff 0%,#e0e7ff 100%);border-color:#a5b4fc}.anki-dashboard-area{animation:.4s ease-out cleverFadeInUp}.anki-stats-card{text-align:center;box-shadow:var(--speak-shadow-card);background:#fff;border:1px solid #e2e8f0;border-radius:20px;margin-bottom:2rem;padding:2rem 1.5rem}.anki-stats-title{color:#64748b;margin:0 0 1rem;font-size:1rem;font-weight:600}.anki-stats-count-wrap{margin-bottom:1rem}.anki-stats-count{color:#6366f1;font-size:3.5rem;font-weight:800}.anki-stats-label{color:#1e293b;margin-left:.25rem;font-size:1.25rem;font-weight:700}.anki-stats-desc{color:#94a3b8;margin:0;font-size:.9rem;line-height:1.5}.anki-main-actions{flex-direction:column;gap:1rem;display:flex}.anki-start-btn{border-radius:16px;width:100%;padding:1.25rem;font-size:1.2rem;font-weight:700;box-shadow:0 10px 20px #6366f133}.anki-sub-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.anki-sub-btn{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.anki-sub-btn:hover{box-shadow:var(--speak-shadow);background:#f8fafc;border-color:#cbd5e1;transform:translateY(-2px)}.anki-sub-btn-icon{font-size:1.1rem}.anki-sub-screen{box-shadow:var(--speak-shadow-card);background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:1.5rem;animation:.3s ease-out cleverScaleIn}.anki-sub-title{color:#1e293b;margin:0 0 1.5rem;font-size:1.2rem;font-weight:700}.anki-form-group{margin-bottom:1.25rem}.anki-form-group label{color:#64748b;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.anki-form-group input{border:2px solid #f1f5f9;border-radius:12px;width:100%;padding:.85rem;font-size:1rem;transition:border-color .2s}.anki-form-group input:focus{border-color:#6366f1;outline:none}.anki-form-actions{gap:.75rem;margin-top:1.5rem;display:flex}.anki-form-actions .btn{flex:1}.anki-cancel-btn{color:#475569;background:#f1f5f9;border:none;border-radius:12px;font-weight:600}.anki-search-wrap{margin-bottom:1rem;position:relative}#anki-search-input{border:2px solid #f1f5f9;border-radius:12px;width:100%;padding:.75rem 1rem .75rem 2.5rem;font-size:.95rem}.anki-search-icon{color:#94a3b8;font-size:1rem;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.anki-word-list{border:1px solid #f1f5f9;border-radius:12px;max-height:400px;margin-bottom:1rem;overflow-y:auto}.anki-word-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.anki-word-item:last-child{border-bottom:none}.anki-word-info{flex-direction:column;gap:.2rem;display:flex}.anki-word-ko{color:#1e293b;font-size:1rem;font-weight:700}.anki-word-en{color:#6366f1;font-size:.9rem}.anki-word-actions{gap:.5rem;display:flex}.anki-word-btn{cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1rem;transition:opacity .2s}.anki-word-btn:hover{opacity:1}.anki-manage-actions{justify-content:center;display:flex}.review-feed{color:#fff;z-index:100;background:#1a1a1a;border-radius:0;width:100vw;max-width:none;height:40px;margin-left:calc(50% - 50vw);font-size:.85rem;display:block;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 4px 10px #0003}.review-track{flex-direction:column;width:100%;transition:transform .5s ease-in-out;display:flex}.review-item{white-space:nowrap;box-sizing:border-box;align-items:center;gap:.5rem;height:40px;min-height:40px;max-height:40px;padding:0 1rem;display:flex}.review-time{color:#aaa;font-family:monospace;font-size:.75rem}.review-nick{color:#59d1de;font-weight:800}.comment-form-container{border-top:1px solid #eee;margin-top:.75rem;padding-top:1rem;animation:.3s ease-out cleverFadeInUp}.comment-form-container.hidden{display:none}.premade-comments{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:.75rem;display:grid}.pre-btn{cursor:pointer;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px;font-size:.8rem;transition:all .2s}.pre-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.custom-comment-area{flex-direction:column;gap:8px;display:flex}.custom-comment-area input{border:1px solid #e2e8f0;border-radius:8px;outline:none;padding:10px;font-size:.85rem}.custom-comment-area input:focus{border-color:#94a3b8}#submit-comment{color:#fff;cursor:pointer;background:#334155;border:none;border-radius:8px;padding:10px;font-weight:600;transition:background .2s}#submit-comment:hover{background:#0f172a}.step1-quiz-header{color:#6366f1;background:#ffffff80;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:10px 15px;font-size:.95rem;font-weight:600;display:flex}.step1-quiz-indicator{color:#fff;background:#6366f1;border-radius:20px;padding:4px 12px}.exercise-item.active{animation:.3s ease-in-out step1FadeIn;display:block!important}.step1-quiz-nav{justify-content:center;gap:10px;margin-top:30px;display:flex}.step1-quiz-nav button{border-radius:12px;min-width:100px;padding:12px 20px;font-weight:600;transition:all .2s}.step1-quiz-nav .btn-primary{background:#6366f1;border:none;box-shadow:0 4px 15px #6366f14d;color:#fff!important}.step1-quiz-nav .btn-secondary{background:#e0e0e0;border:none;color:#666!important}.step1-quiz-nav button:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes step1FadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step6-type-chip{background-color:#f8fafc!important;border:1.5px solid #000!important;border-radius:20px!important;margin-bottom:15px!important;padding:4px 12px!important;font-size:.85rem!important;font-weight:700!important;display:inline-block!important}.step6-type-translation{color:#2563eb!important;background-color:#eff6ff!important;border-color:#2563eb!important}.step6-type-qa{color:#059669!important;background-color:#ecfdf5!important;border-color:#059669!important}.step6-type-follow{color:#7c3aed!important;background-color:#f5f3ff!important;border-color:#7c3aed!important}.step6-type-pastTense{color:#ea580c!important;background-color:#fff7ed!important;border-color:#ea580c!important}.question-text-sub{color:#1e293b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;max-width:90%;margin:.5rem auto 1rem;padding:.8rem 1rem;font-size:1.2rem;font-weight:700}.auth-layout{background:linear-gradient(135deg,#f0f4f8 0%,#e2e8f0 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-container{width:100%;max-width:420px;margin:0 auto;padding:1rem}.auth-card{border-radius:var(--speak-radius);box-shadow:var(--speak-shadow-card);background:#fff;padding:2.5rem 2rem}.auth-title{font-family:var(--font-heading);color:var(--speak-text);text-align:center;margin-bottom:.25rem;font-size:1.75rem;font-weight:800}.auth-subtitle{text-align:center;color:var(--speak-text-sub);margin-bottom:1.5rem;font-size:.9rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field label{color:var(--speak-text);margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.auth-field input{border-radius:var(--speak-radius-sm);box-sizing:border-box;border:1.5px solid #cbd5e1;width:100%;padding:.7rem .85rem;font-size:.95rem;transition:border-color .2s}.auth-field input:focus{border-color:var(--speak-primary);outline:none;box-shadow:0 0 0 3px #33415514}.auth-error{color:#dc2626;border-radius:var(--speak-radius-sm);background:#fef2f2;border:1px solid #fecaca;padding:.6rem .85rem;font-size:.85rem}.auth-success{color:#16a34a;border-radius:var(--speak-radius-sm);background:#f0fdf4;border:1px solid #bbfcce;padding:.6rem .85rem;font-size:.85rem}.auth-btn{border-radius:var(--speak-radius-sm);cursor:pointer;border:none;width:100%;padding:.75rem;font-size:.95rem;font-weight:600;transition:all .2s}.auth-btn-primary{background:var(--speak-primary);color:#fff}.auth-btn-primary:hover{background:var(--speak-primary-hover)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-divider{text-align:center;margin:1.25rem 0;position:relative}.auth-divider:before{content:"";border-top:1px solid #e2e8f0;position:absolute;top:50%;left:0;right:0}.auth-divider span{color:var(--speak-text-sub);background:#fff;padding:0 .75rem;font-size:.8rem;position:relative}.auth-social{flex-direction:column;gap:.6rem;display:flex}.auth-btn-google{color:#333;background:#fff;border:1.5px solid #ddd}.auth-btn-google:hover{background:#f8f8f8}.auth-btn-kakao{color:#191919;background:#fee500}.auth-btn-kakao:hover{background:#f0d800}.auth-footer{text-align:center;color:var(--speak-text-sub);margin-top:1rem;font-size:.85rem}.auth-footer a{color:var(--speak-primary);font-weight:600;text-decoration:none!important}.main-level-days-inner{flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.main-level-days-row{flex-wrap:wrap;gap:.5rem;display:flex}.day-btn{border:1px solid var(--speak-border);border-radius:var(--speak-radius-sm);color:var(--speak-primary);background:#fff;justify-content:center;align-items:center;min-width:64px;padding:.4rem .8rem;font-size:.85rem;text-decoration:none;transition:all .2s;display:inline-flex}.day-btn:hover{background:var(--speak-bg-sub);border-color:var(--speak-primary)}.day-btn.pop-quiz-btn{color:#f97316;background:#fff7ed;border-color:#f97316;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.day-btn.pop-quiz-btn:hover{background:#ffedd5;border-color:#ea580c}.day-btn.speaking{color:var(--speak-text-sub)}.anki-review-btn-wrap{justify-content:center;max-width:400px;margin:1.5rem auto;display:flex}.anki-review-btn{background:linear-gradient(135deg,#6366f1 0%,#4338ca 100%);border:none;border-radius:18px;justify-content:center;align-items:center;gap:10px;width:100%;padding:14px 28px;font-size:1.1rem;font-weight:700;transition:all .25s cubic-bezier(.175,.885,.32,1.275);position:relative;box-shadow:0 4px 15px #6366f14d;color:#fff!important;text-decoration:none!important;display:flex!important}.anki-review-btn:hover{background:linear-gradient(135deg,#6c6ff5 0%,#4b41d6 100%);transform:translateY(-3px);box-shadow:0 8px 25px #6366f166}.anki-review-btn:active{transform:translateY(-1px)}.anki-review-btn-icon{filter:drop-shadow(0 2px 4px #0000001a);font-size:1.3rem}.anki-review-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.75rem;font-weight:800;animation:2s infinite pulse-red;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 6px #ef444466}@keyframes pulse-red{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}50%{transform:scale(1.05)}70%{box-shadow:0 0 0 10px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.achievement-rate-card{background:#fff;border-radius:16px;margin-bottom:1.5rem;padding:1.25rem 1.5rem;box-shadow:0 4px 12px #0000000d}.rate-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.rate-title{color:#333;font-weight:700}.rate-value{color:#0062ff;font-weight:700}.rate-bar-bg{background:#f1f5f9;border-radius:6px;height:12px;overflow:hidden}.rate-bar-fill{background:#0062ff;border-radius:6px;height:100%;transition:width .4s}.model-answer-card{animation:cleverFadeInUp .5s var(--clever-ease);background:#fff;border-radius:20px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 10px 30px #0000000d}.model-answer-header{margin-bottom:1.5rem}.model-answer-title{color:#1e2933;margin:0 0 .5rem;font-size:1.4rem;font-weight:800}.model-answer-subtitle{color:#64748b;margin:0;font-size:.95rem}.btn-black-premium{color:#fff;cursor:pointer;background:#1e1e19;border:none;border-radius:10px;padding:.8rem 1.5rem;font-size:.95rem;font-weight:700;transition:all .2s;box-shadow:0 4px 10px #00000026}.btn-black-premium:hover{background:#000;transform:translateY(-2px);box-shadow:0 6px 15px #0003}.btn-learning-complete{color:#1c7ed6;cursor:pointer;background:#a5d8ff;border:none;border-radius:12px;width:100%;padding:.75rem;font-size:1.05rem;font-weight:800;transition:all .2s}.btn-learning-complete:disabled{color:#adb5bd;cursor:not-allowed;background:#f1f3f5}.btn-learning-complete:not(:disabled){color:#fff;background:#3b82f6;box-shadow:0 4px 12px #3b82f64d}.btn-reset-small{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;box-shadow:0 1px 3px #0000000d}.btn-reset-small:hover{color:#1e293b;background:#f8fafc}.header-with-back{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.category-screen-inner{max-width:650px;margin:0 auto}.model-answer-footer{border-top:1px solid #f1f5f9;margin-top:1.5rem;padding-top:1.25rem}.tab-item{color:#64748b;cursor:pointer;background:#fff;border:none;border-radius:12px;flex:1;max-width:120px;padding:10px 0;font-size:.95rem;font-weight:700;transition:all .2s;box-shadow:0 2px 4px #0000000d}.tab-item.active,.step.current{color:#fff;background:#334155;box-shadow:0 4px 12px #33415533}.vocab-item{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;transition:all .2s;display:flex}.vocab-item.added{background:#f0f9ff;border-color:#7dd3fc}.vocab-item:hover{background:#f8fafc;border-color:#cbd5e1}.btn-read{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:12px;align-items:center;gap:8px;padding:10px 24px;font-size:1.1rem;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #ef44444d}.btn-read.listening{background:#334155}.btn-mic-large{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto;font-size:2rem;transition:all .3s;display:flex;box-shadow:0 4px 10px #0000000d}.btn-mic-large.listening{color:#fff;background:#334155;border:none;box-shadow:0 0 20px #33415566}.daily-study-feedback-grid{grid-template-columns:1fr 1px 1fr;gap:0;display:grid}.daily-study-feedback-divider{background:#f1f5f9;align-self:stretch;width:1px;margin:.8rem 0}@media screen and (max-width:600px){.daily-study-feedback-grid{grid-template-columns:1fr!important}.daily-study-feedback-divider{display:none!important}.daily-study-feedback-grid>div:last-child{border-top:1px solid #f1f5f9;padding-top:1rem!important}}.instructor-dashboard-wrapper{flex-direction:column;gap:3rem;display:flex}.instructor-status-row{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media screen and (max-width:1024px){.instructor-status-row{grid-template-columns:1fr}}@media screen and (max-width:600px){.instructor-status-row{grid-template-columns:1fr;gap:2rem}}
