.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#1416158c;display:grid;place-items:center;padding:16px;overflow-y:auto}.onboarding-card{width:min(100%,560px);background:var(--bg);border:1px solid var(--line);border-radius:24px;padding:clamp(22px,4vw,34px);display:flex;flex-direction:column;gap:20px;box-shadow:0 30px 80px -20px #00000073;max-height:calc(100vh - 32px);overflow-y:auto;box-sizing:border-box}.onboarding-topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.onboarding-step{font:600 11px IBM Plex Mono,monospace;letter-spacing:.1em;color:var(--hot)}.onboarding-close{border:0;background:none;color:var(--faint);font-size:20px;cursor:pointer;line-height:1}.onboarding-heading{display:flex;flex-direction:column;gap:6px}.onboarding-heading h2{margin:0;font:500 clamp(24px,3vw,30px)/1.25 "Newsreader","Gowun Batang",serif}.onboarding-heading>span{font-size:14px;line-height:1.6;color:var(--sub)}.onboarding-field{display:flex;flex-direction:column;gap:8px}.onboarding-label{display:flex;justify-content:space-between;font-size:13.5px;font-weight:700}.onboarding-label small,.onboarding-field>small{font-size:12px;color:var(--faint);font-weight:400}.onboarding-label small{font:500 11.5px IBM Plex Mono,monospace}.onboarding-field input,.onboarding-field select{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;background:var(--card);color:var(--ink);outline:none;font-family:inherit;box-sizing:border-box}.onboarding-field select{cursor:pointer}.onboarding-genders{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}.onboarding-genders button{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:11px 6px;font-size:13px;font-weight:600;cursor:pointer;line-height:1.25}.onboarding-genders button.is-selected{border-color:var(--accent);background:var(--accent);color:#fff}.onboarding-primary{border:0;background:var(--accent);color:#fff;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:700;cursor:pointer}.onboarding-primary:disabled{opacity:.65;cursor:wait}.onboarding-error{font-size:13px;color:var(--hot);font-weight:600}.onboarding-count{display:flex;justify-content:flex-end;font:600 12px IBM Plex Mono,monospace;color:var(--accent-ink)}.onboarding-interests{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}.onboarding-interests>button{position:relative;border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:14px;padding:12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:3px}.onboarding-interests>button.is-selected{border-color:var(--accent);background:var(--accent-soft)}.onboarding-interests strong{font-size:14px;font-weight:500}.onboarding-interests>button.is-selected strong{font-weight:700}.onboarding-interests small{font-size:11.5px;color:var(--faint)}.onboarding-interest-icon{font-size:20px;line-height:1}.onboarding-rank{position:absolute;top:8px;right:9px;min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.onboarding-interest-hint{font-size:12.5px;line-height:1.55;color:var(--faint)}.onboarding-actions{display:flex;gap:10px}.onboarding-actions .onboarding-primary{flex:1}.onboarding-secondary{border:1px solid var(--line3);background:var(--card);color:var(--ink);border-radius:12px;padding:14px 18px;font-size:14.5px;font-weight:600;cursor:pointer}.brand-logo{display:block;width:auto;max-width:100%;object-fit:contain;transition:filter .2s ease}.brand-logo--header{height:40px;max-height:42px}.brand-logo--dark{display:none}:root[data-theme=dark] .brand-logo--light{display:none!important}:root[data-theme=dark] .brand-logo--dark{display:block!important}:root[data-theme=dark] .brand-logo:not(.brand-logo--dark):not(.brand-logo--light){filter:brightness(0) invert(1)}.marketing-header__nav{scrollbar-width:none}.marketing-header__nav::-webkit-scrollbar{display:none}.mobile-header-actions{display:none}.header-brand-group{display:flex;align-items:center;gap:10px;min-width:0}.mobile-menu-btn{display:none}.desktop-header-nav{display:flex;align-items:center;gap:20px;font-size:14px}@media (max-width: 860px){.brand-logo--header{height:36px!important;max-height:36px!important}.marketing-header{height:56px!important;min-height:56px!important;max-height:56px!important;padding:0 16px!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}.desktop-header-nav{display:none!important}.mobile-menu-btn{display:grid!important}.mobile-header-actions{display:flex!important;align-items:center!important;gap:8px!important}}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;justify-content:flex-start;opacity:0;pointer-events:none;transition:opacity .25s cubic-bezier(.16,1,.3,1)}.mobile-drawer-overlay.is-open{opacity:1;pointer-events:auto}.mobile-drawer-panel{width:min(85vw,330px);height:100%;background:var(--bg);border-right:1px solid var(--line);box-shadow:10px 0 30px #00000040;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow-y:auto;box-sizing:border-box}.mobile-drawer-overlay.is-open .mobile-drawer-panel{transform:translate(0)}.theme-toggle-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.theme-toggle-btn:hover{transform:scale(1.08);border-color:var(--accent)}:root[data-theme=dark] .theme-toggle-btn{border-color:#d8b35a;background:#252a27;color:#f7e9b8;box-shadow:0 0 10px #d8b35a40}html,body{height:100%!important;margin:0!important;overflow:hidden!important}.app-root-shell{height:100vh!important;height:100dvh!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.marketing-header{flex:none!important;height:60px;min-height:60px;max-height:60px;padding:6px clamp(16px,2.5vw,36px);box-sizing:border-box!important}.brand-logo--header{height:40px!important;max-height:42px!important}.app-body-container{flex:1 1 0!important;min-height:0!important;height:calc(100vh - 60px)!important;height:calc(100dvh - 60px)!important;display:flex!important;overflow:hidden!important;position:relative!important}.app-sidebar{height:100%!important;max-height:100%!important;overflow-y:auto!important;box-sizing:border-box!important}.app-main-viewport{flex:1 1 0!important;min-width:0!important;height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;scroll-behavior:smooth!important}.home-screen,.tutors-screen,.listening-screen,.reading-screen,.writing-screen,.speaking-screen,.conversation-screen,.record-screen{max-width:1400px!important;width:100%!important;margin:0 auto!important;box-sizing:border-box!important}@media (min-width: 860px){.home-screen,.tutors-screen,.listening-screen,.reading-screen,.speaking-screen,.conversation-screen,.record-screen{padding:clamp(12px,1.6vh,20px) clamp(16px,2vw,32px)!important;gap:clamp(10px,1.4vh,18px)!important}.reading-screen{display:flex!important;flex-direction:column!important;gap:12px!important}.speaking-screen{max-width:920px!important}}@media (max-height: 820px) and (min-width: 860px){.marketing-header{height:52px!important;min-height:52px!important;max-height:52px!important;padding:4px clamp(12px,2vw,24px)!important}.brand-logo--header{height:32px!important;max-height:34px!important}.app-body-container{height:calc(100vh - 52px)!important;height:calc(100dvh - 52px)!important}.desktop-header-nav{gap:14px!important;font-size:13.5px!important}.home-screen,.tutors-screen,.listening-screen,.reading-screen,.speaking-screen,.conversation-screen,.record-screen{padding:clamp(8px,1.2vh,14px) clamp(12px,1.8vw,24px)!important;gap:clamp(8px,1.2vh,14px)!important}.app-sidebar{padding:10px!important;gap:10px!important}}.app-sidebar{position:sticky;top:69px;height:calc(100vh - 69px);border-right:1px solid var(--line);background:var(--bg2);display:flex;flex-direction:column;padding:16px 14px;gap:16px;overflow-y:auto;position:relative;transition:width .22s cubic-bezier(.16,1,.3,1),padding .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.app-sidebar.is-collapsed{width:0px!important;min-width:0px!important;max-width:0px!important;padding:0!important;margin:0!important;overflow:hidden!important;border-right:none!important;pointer-events:none}.sidebar-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:30;transition:background .15s ease}.sidebar-resizer:hover,.sidebar-resizer.is-dragging{background:var(--accent)!important}.sidebar-toggle-btn,.sidebar-open-floating-btn{border:1.5px solid var(--line);background:var(--card);color:var(--ink2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.sidebar-open-floating-btn{position:fixed;left:16px;top:122px;z-index:1001;width:38px;height:38px;border-radius:10px;box-shadow:0 6px 18px #0000001f}@media (max-width:760px){.sidebar-open-floating-btn{top:106px;left:12px}}.sidebar-toggle-btn:hover,.sidebar-open-floating-btn:hover{background:var(--chip)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important;transform:scale(1.05)}.account-menu{position:relative}.account-menu__trigger{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:13.5px;font-weight:600;cursor:pointer;padding:6px 14px;border-radius:999px;transition:all .15s ease;box-shadow:0 1px 3px #00000008}.account-menu__trigger.is-user{border:1.5px solid var(--line);background:var(--card);padding:4px 12px 4px 5px;font-size:13.5px;font-weight:600;gap:8px}.account-menu__trigger:hover{background:var(--chip);border-color:var(--accent)}.account-menu__trigger[aria-expanded=true]{border-color:var(--accent)}.account-menu__trigger-label{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu__avatar{border-radius:50%;background:#d7dce3;color:#1c1f1e;display:grid;place-items:center;font-weight:700;flex:none;overflow:hidden}.account-menu__avatar img{width:100%;height:100%;object-fit:cover}.account-menu__panel{position:absolute;top:calc(100% + 10px);right:0;z-index:1100;width:264px;box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 36px #00000029;padding:8px;display:flex;flex-direction:column;animation:account-menu-in .16s cubic-bezier(.16,1,.3,1)}@keyframes account-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.account-menu__profile{display:flex;align-items:center;gap:11px;padding:10px 10px 12px;border-bottom:1px solid var(--line2);margin-bottom:6px}.account-menu__profile--guest{flex-direction:column;align-items:stretch;gap:8px}.account-menu__profile-text{display:flex;flex-direction:column;line-height:1.35;min-width:0}.account-menu__name{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu__email{font-size:12px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu__guest-hint{font-size:12px;color:var(--sub)}.account-menu__login{border:0;background:var(--solid);color:var(--on-solid);padding:9px 12px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer}.account-menu__list{display:flex;flex-direction:column;gap:1px}.account-menu__list--footer{border-top:1px solid var(--line2);margin-top:6px;padding-top:6px}.account-menu__item{display:flex;align-items:center;gap:11px;width:100%;box-sizing:border-box;border:0;background:none;color:var(--ink2);text-decoration:none;padding:9px 10px;border-radius:9px;font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.account-menu__item svg{color:var(--sub);flex:none}.account-menu__item:hover,.account-menu__item:focus-visible{background:var(--chip);color:var(--ink);outline:none}.account-menu__item--danger,.account-menu__item--danger svg{color:var(--hot)}.account-menu__item--danger:hover{background:var(--hot-soft);color:var(--hot)}.app-sidebar.has-footer-slot{top:0!important;overflow-x:hidden!important}.sidebar-footer-slot{flex:none}.mobile-header-actions button{white-space:nowrap}@media (max-width: 400px){.marketing-header{padding:0 12px!important}.header-brand-group{gap:8px}.brand-logo--header{height:24px!important;max-height:26px!important}.mobile-header-actions{gap:6px!important}.mobile-header-actions button{padding-left:6px!important;padding-right:6px!important}.mobile-header-actions .theme-toggle-btn{width:32px;height:32px;padding:0!important}.mobile-menu-btn{width:34px!important;height:34px!important}}.drawer-nav{display:flex;flex-direction:column;gap:2px}.drawer-nav__item{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;padding:11px 12px;border-radius:10px;font-size:15px;font-weight:600}.drawer-nav__item:hover{background:var(--chip)}.drawer-nav__item.is-active{background:var(--accent);color:#f5f2eb}.drawer-nav__badge{font-size:10px;font-weight:700;padding:1.5px 6px;border-radius:6px;background:#d4af372e;color:#b8860b;border:1px solid rgba(212,175,55,.4)}.drawer-nav__group{display:flex;flex-direction:column;gap:1px;padding:4px 0 6px}.drawer-nav__group-label{padding:9px 12px 5px;font-size:15px;font-weight:600;color:var(--ink)}.drawer-nav__group-label.is-active{color:var(--accent-ink)}.drawer-nav__sub{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;border:0;background:transparent;color:var(--ink2);text-align:left;cursor:pointer;padding:8px 12px 8px 18px;border-radius:10px;font-size:14px;font-weight:500}.drawer-nav__sub:hover{background:var(--chip)}.drawer-nav__sub.is-active{background:var(--accent);color:#f5f2eb;font-weight:600}.drawer-nav__glyph{width:24px;height:24px;border-radius:6px;border:1px solid var(--line3);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}.drawer-nav__sub.is-active .drawer-nav__glyph{border-color:#f5f2eb59}.drawer-community{display:flex;flex-direction:column;gap:4px;text-decoration:none;background:var(--accent-soft);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.drawer-community__title{font-size:14px;font-weight:700;color:var(--ink)}.drawer-community__body{font-size:12.5px;line-height:1.5;color:var(--sub)}.drawer-community__cta{font-size:13px;font-weight:700;color:var(--accent-ink);margin-top:2px}.drawer-account{margin-top:auto;border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:8px}.drawer-account__user{display:flex;align-items:center;gap:10px;padding:4px 6px;min-width:0}.drawer-account__avatar{width:36px;height:36px;border-radius:50%;background:#d7dce3;color:#1c1f1e;display:grid;place-items:center;font-size:13px;font-weight:700;flex:none;overflow:hidden}.drawer-account__avatar img{width:100%;height:100%;object-fit:cover}.drawer-account__text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.drawer-account__name{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-account__email{font-size:12px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-account__login{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer}.drawer-account__list{display:flex;flex-direction:column;gap:1px}.drawer-account__item{display:flex;align-items:center;gap:11px;width:100%;box-sizing:border-box;border:0;background:none;color:var(--ink2);text-decoration:none;text-align:left;cursor:pointer;padding:9px 10px;border-radius:9px;font-size:14px;font-weight:500}.drawer-account__item svg{color:var(--sub);flex:none}.drawer-account__item:hover{background:var(--chip);color:var(--ink)}.drawer-account__item--admin{color:var(--ink);font-weight:700}.drawer-account__item--danger,.drawer-account__item--danger svg{color:var(--hot)}.page-load-state{min-height:40vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--sub);font-size:14px;text-align:center}.page-load-state.is-error strong{color:var(--ink);font-size:15px}.page-load-state.is-error button{margin-top:6px;border:1px solid var(--line3);background:var(--card);color:var(--ink);border-radius:10px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;min-height:40px}.hn-update-banner-wrapper{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:10000;width:calc(100% - 24px);max-width:680px;pointer-events:none;box-sizing:border-box;animation:hnBannerDropIn .42s cubic-bezier(.16,1,.3,1) forwards}@keyframes hnBannerDropIn{0%{opacity:0;transform:translate(-50%,-24px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}.hn-update-banner{pointer-events:auto;box-sizing:border-box;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 14px;background:#141a26f0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(59,130,246,.28);border-radius:16px;box-shadow:0 12px 36px -4px #00000080,0 0 0 1px #3b82f638,0 0 24px -2px #2563eb2e;color:#f8fafc;transition:all .25s ease;overflow:hidden}:root[data-theme=light] .hn-update-banner,body[data-theme=light] .hn-update-banner{background:#fffffff5;border:1px solid rgba(37,99,235,.22);box-shadow:0 12px 36px -4px #0f172a29,0 0 0 1px #2563eb33;color:#0f172a}.hn-update-content,.hn-update-banner-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.hn-update-icon-box{position:relative;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;box-shadow:0 4px 14px #2563eb66}.hn-update-pulse-ring{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background:#60a5fa;box-shadow:0 0 10px #60a5fa;animation:hnPulse 1.8s ease-in-out infinite}@keyframes hnPulse{0%{transform:scale(.9);opacity:.9}50%{transform:scale(1.3);opacity:1}to{transform:scale(.9);opacity:.9}}.hn-update-text-col{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;overflow:hidden}.hn-update-badge-row{display:flex;align-items:center;gap:6px;min-width:0}.hn-update-badge{display:inline-block;padding:1px 7px;border-radius:6px;background:#3b82f629;border:1px solid rgba(96,165,250,.25);color:#60a5fa;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;flex-shrink:0}:root[data-theme=light] .hn-update-badge,body[data-theme=light] .hn-update-badge{background:#2563eb1a;border:1px solid rgba(37,99,235,.2);color:#1d4ed8}.hn-update-title{font-size:13.5px;font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hn-update-desc{font-size:11.5px;color:#f8fafcbf;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}:root[data-theme=light] .hn-update-desc,body[data-theme=light] .hn-update-desc{color:#0f172aad}.hn-update-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.hn-update-btn-refresh{border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;box-shadow:0 4px 14px #2563eb61;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;white-space:nowrap}.hn-update-btn-refresh:hover{transform:translateY(-1px);background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 18px #2563eb80;filter:brightness(1.05)}.hn-update-btn-refresh:active{transform:translateY(0)}.hn-update-btn-refresh:disabled{opacity:.7;cursor:not-allowed}.hn-update-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:hnSpin .7s linear infinite;display:inline-block}@keyframes hnSpin{to{transform:rotate(360deg)}}.hn-update-btn-close{background:transparent;border:none;color:#f8fafc8c;font-size:15px;width:28px;height:28px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.hn-update-btn-close:hover{background:#3b82f62e;color:#93c5fd}:root[data-theme=light] .hn-update-btn-close,body[data-theme=light] .hn-update-btn-close{color:#0f172a73}:root[data-theme=light] .hn-update-btn-close:hover,body[data-theme=light] .hn-update-btn-close:hover{background:#2563eb1a;color:#1d4ed8}@media (max-width: 600px){.hn-update-banner-wrapper{top:10px;width:calc(100% - 16px)}.hn-update-banner{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;border-radius:14px}.hn-update-content,.hn-update-banner-content{align-items:flex-start;gap:10px;width:100%}.hn-update-icon-box{width:34px;height:34px;font-size:16px;margin-top:2px}.hn-update-title{font-size:13px;white-space:normal;word-break:keep-all;line-height:1.35}.hn-update-desc{font-size:11.5px;white-space:normal;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hn-update-actions{display:flex;align-items:center;gap:8px;width:100%;margin-top:2px}.hn-update-btn-refresh{flex:1;height:38px;justify-content:center;font-size:13px;border-radius:10px;padding:0 12px}.hn-update-btn-close{width:38px;height:38px;border-radius:10px;background:#ffffff14;font-size:16px;flex-shrink:0}:root[data-theme=light] .hn-update-btn-close,body[data-theme=light] .hn-update-btn-close{background:#0000000d}}.today-task-prompt{margin:0 0 20px;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:20px;background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--accent) 7%,var(--card)));box-shadow:0 10px 30px #23493f14}.today-task-prompt-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.today-task-prompt-heading span{font:700 10px/1.2 IBM Plex Mono,monospace;letter-spacing:.14em;color:var(--accent-ink)}.today-task-prompt-heading h2{margin:6px 0 0;font-size:clamp(17px,2vw,22px);line-height:1.35}.today-task-prompt-heading>b{font-size:28px}.today-task-question{margin:18px 0 12px;font-weight:700;line-height:1.6}.today-task-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.today-task-options button{display:flex;align-items:center;gap:8px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);cursor:pointer}.today-task-options button span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:var(--seg);font-weight:800}.today-task-options button.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.today-task-submit,.today-task-result button{margin-top:14px;border:0;border-radius:11px;padding:11px 16px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.today-task-submit:disabled{opacity:.5;cursor:not-allowed}.today-task-error{color:var(--hot);margin:10px 0 0}.today-task-result{margin-top:14px;padding:13px 15px;border-radius:12px;background:var(--seg);display:flex;align-items:center;justify-content:space-between;gap:12px;line-height:1.5}.today-task-result.is-correct{background:color-mix(in srgb,#50e3c2 18%,var(--card))}@media (max-width:640px){.today-task-prompt{margin:0 12px 16px;padding:16px}.today-task-options{grid-template-columns:1fr}.today-task-result{align-items:flex-start;flex-direction:column}.today-task-result button{width:100%}}:root{--bg: #F5F2EB;--bg2: #FBF9F4;--card: #fff;--line: #E4DFD4;--line2: #EEEAE1;--line3: #D3CDBF;--chip: #F1EDE4;--seg: #EAE5DA;--ink: #1C1F1E;--ink2: #3A3935;--sub: #66645D;--faint: #8A877E;--accent: #23493F;--accent-ink: #23493F;--accent-soft: #E3ECE6;--hot: #C8502A;--hot-soft: #F7E4DA;--solid: #1C1F1E;--on-solid: #F5F2EB;--chat: #BFD0DC;--chat-ink: #3E4C55;--bubble: #FAE27C;--tbubble: #fff;--hi: #F7E9B8;--gold: #C9A24A;color-scheme:light}:root[data-theme=dark]{--bg: #121413;--bg2: #171A18;--card: #1C201E;--line: #2C312E;--line2: #252A27;--line3: #3A403C;--chip: #262B28;--seg: #262B28;--ink: #ECE8DF;--ink2: #CFCBC1;--sub: #A5A197;--faint: #85817A;--accent: #2E6154;--accent-ink: #8CC3AE;--accent-soft: #1E3530;--hot: #E27A52;--hot-soft: #3A2620;--solid: #ECE8DF;--on-solid: #121413;--chat: #1D2A31;--chat-ink: #9DB0BC;--bubble: #EBD166;--tbubble: #2B3338;--hi: #4A4020;--gold: #D8B35A;color-scheme:dark}body{margin:0;background:var(--bg);color:var(--ink);font-family:Pretendard,system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:background .2s}*{box-sizing:border-box}button,textarea,input{font-family:inherit;color:inherit}img[src*=캐릭터_],img[src*=캐릭터-]{filter:drop-shadow(0 16px 30px rgba(0,0,0,.22)) drop-shadow(0 6px 12px rgba(0,0,0,.14))!important;transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .35s ease;-webkit-user-select:none;user-select:none}img[src*=캐릭터_],img[src*=캐릭터-]:hover{transform:translateY(-5px) scale(1.03);filter:drop-shadow(0 24px 38px rgba(0,0,0,.28)) drop-shadow(0 10px 18px rgba(0,0,0,.18))!important}@keyframes hunWalk{0%,16.6%{left:0}16.7%,99.9%{left:calc(100% - 150px)}to{left:0}}@keyframes hunSway{0%,to{transform:translate(calc(-50% - 5px)) rotate(-5deg)}50%{transform:translate(calc(-50% + 5px)) rotate(5deg)}}@keyframes hunIdle{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-3px)}}@keyframes pTea{0%{opacity:0}2.5%,14%{opacity:1}16.5%,to{opacity:0}}@keyframes pPencil{0%,16.7%{opacity:0}19.2%,42.4%{opacity:1}44.9%,to{opacity:0}}@keyframes pSway{0%,42.4%{opacity:0}44.9%,71.9%{opacity:1}74.5%,to{opacity:0}}@keyframes pScroll{0%,71.9%{opacity:0}74.5%,96.4%{opacity:1}98.9%,to{opacity:0}}.hun-walk{position:absolute;left:0;bottom:0;width:150px;height:150px;z-index:2;pointer-events:none;animation:hunWalk 14s linear infinite}.hun-pose{position:absolute;left:50%;bottom:0;height:150px;width:auto;opacity:0;transform:translate(-50%);filter:drop-shadow(0 14px 20px rgba(0,0,0,.22));-webkit-user-select:none;user-select:none}.hun-pose.tea{animation:pTea 14s linear infinite,hunIdle 2.4s ease-in-out infinite}.hun-pose.pencil{animation:pPencil 14s linear infinite,hunIdle 1.6s ease-in-out infinite}.hun-pose.sway{transform-origin:50% 100%;animation:pSway 14s linear infinite,hunSway 1.3s ease-in-out infinite}.hun-pose.scroll{animation:pScroll 14s linear infinite,hunIdle 2s ease-in-out infinite}.mock-body{transition:opacity .35s ease,transform .35s ease}@media (prefers-reduced-motion: reduce){.hun-walk,.hun-pose{animation:none}.hun-pose.pencil{opacity:1}.mock-body{transition:none}}.intro-hero-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:center;padding:72px clamp(20px,5vw,64px) 88px;max-width:1280px;margin:0 auto}@media (max-width: 860px){.intro-hero-section{display:flex!important;flex-direction:column!important;gap:28px!important;padding:24px 16px 48px!important}.intro-hero-title{font-size:clamp(30px,8vw,42px)!important;line-height:1.15!important}.intro-mock-container{width:100%!important;max-width:350px!important;margin-top:8px!important}.hun-walk{width:110px!important;height:110px!important}.hun-pose{height:110px!important}}.intro-video-section{max-width:1280px;margin:0 auto;padding:0 clamp(20px,5vw,64px) 36px;width:100%}.intro-video-card{background:var(--card);border:1.5px solid var(--line);border-radius:24px;padding:clamp(22px,3.5vw,36px);box-shadow:0 16px 40px -12px #00000014;display:flex;flex-direction:column;gap:20px;transition:all .25s ease}:root[data-theme=dark] .intro-video-card{box-shadow:0 16px 40px -12px #00000059;border-color:var(--line3)}.intro-video-header{display:flex;flex-direction:column;gap:10px}.intro-video-badge{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;padding:5px 14px;border-radius:999px;font-size:12px;font-weight:750;letter-spacing:.04em;width:fit-content}.intro-video-title{margin:0;font:600 clamp(20px,2.5vw,26px) "Newsreader","Gowun Batang",serif;color:var(--ink);letter-spacing:-.015em;line-height:1.35}.intro-video-desc{margin:0;font-size:14.5px;color:var(--sub);line-height:1.6}.intro-video-wrapper{position:relative;width:100%;border-radius:18px;overflow:hidden;background:#000;box-shadow:0 12px 32px #00000029;aspect-ratio:16 / 9;display:flex;align-items:center;justify-content:center}.intro-embedded-video{width:100%;height:100%;object-fit:contain;display:block;border-radius:inherit;outline:none}@media (max-width: 640px){.intro-video-section{padding:0 16px 28px!important}.intro-video-card{padding:18px 14px!important;border-radius:18px!important;gap:14px}.intro-video-desc{font-size:13.5px}}.intro-footer{border-top:1px solid var(--line);background:var(--card)}.intro-footer-inner{max-width:1280px;margin:0 auto;padding:56px clamp(20px,5vw,64px) 40px;box-sizing:border-box;display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(0,2fr);gap:48px}.intro-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.intro-footer-logo{height:30px;width:auto}.intro-footer-tagline{margin:0;max-width:320px;font:400 16px/1.55 Newsreader,Gowun Batang,serif;color:var(--ink2);word-break:keep-all}.intro-footer-start{border:0;background:var(--hot);color:#fff;padding:11px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.intro-footer-start:hover{filter:brightness(1.08)}.intro-footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.intro-footer-group{display:flex;flex-direction:column;gap:12px;min-width:0}.intro-footer-group-title{font:500 12px IBM Plex Mono,monospace;letter-spacing:.1em;color:var(--hot);text-transform:uppercase}.intro-footer-group ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.intro-footer-group button{border:0;background:none;padding:0;color:var(--sub);font-size:14px;cursor:pointer;text-align:left;font-family:inherit}.intro-footer-group button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.intro-footer-bottom{width:calc(100% - (2*clamp(20px,5vw,64px)));max-width:calc(1280px - (2*clamp(20px,5vw,64px)));margin:0 auto;padding:18px 0 26px;box-sizing:border-box;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;font-size:12.5px;color:var(--faint)}@media (max-width: 760px){.intro-footer-inner{grid-template-columns:1fr;gap:32px;padding-top:40px}.intro-footer-links{grid-template-columns:repeat(2,minmax(0,1fr))}}.intro-showcase{max-width:1280px;width:100%;margin:0 auto;padding:10px clamp(20px,5vw,64px) 50px;box-sizing:border-box}.intro-showcase-panel{background:linear-gradient(135deg,#23493f0f,#c8502a0f);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3.5vw,36px);position:relative;overflow:hidden;box-shadow:0 12px 32px #0000000a}.intro-showcase-head{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;max-width:880px}.intro-showcase-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:100%;background:var(--accent);color:#f5f2eb;padding:5px 13px;border-radius:999px;font-size:12.5px;font-weight:600;line-height:1.4;word-break:keep-all}.intro-showcase-title{margin:0;font:600 clamp(22px,2.6vw,32px)/1.3 "Newsreader","Gowun Batang",serif;color:var(--ink);word-break:keep-all;text-wrap:balance;letter-spacing:-.01em}.intro-showcase-phrase{white-space:nowrap}.intro-showcase-desc{margin:0;color:var(--sub);font-size:15px;line-height:1.6;word-break:keep-all;text-wrap:pretty;max-width:760px}.intro-showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));gap:16px}.intro-showcase-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;box-shadow:0 4px 14px #00000008;transition:transform .2s ease}.intro-showcase-card-body{display:flex;flex-direction:column;gap:10px}.intro-showcase-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.intro-showcase-icon{font-size:24px}.intro-showcase-tag{font-size:10.5px;font-weight:700;background:var(--card-tag-bg);color:var(--card-color);padding:2px 8px;border-radius:6px;white-space:nowrap}.intro-showcase-card h3{margin:0;font-size:16px;font-weight:700;color:var(--ink);word-break:keep-all}.intro-showcase-card p{margin:0;font-size:13.5px;color:var(--sub);line-height:1.55;word-break:keep-all}.intro-showcase-cta{border:0;background:var(--card-color);color:#fff;padding:10px 14px;border-radius:10px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px;width:100%}.intro-showcase-cta:hover{filter:brightness(1.08)}.intro-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.intro-hero-primary,.intro-hero-secondary{min-height:50px;padding:14px 22px;border-radius:12px;cursor:pointer;font:600 15.5px/1.2 inherit}.intro-hero-primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.intro-hero-secondary{border:1px solid var(--ink);background:transparent;color:var(--ink)}.intro-hero-primary:hover,.intro-hero-secondary:hover{filter:brightness(1.08)}.intro-hero-trust{margin-top:-12px;color:var(--sub);font-size:12.5px}.mini-lesson-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;padding:24px;display:grid;place-items:center;overflow-y:auto;background:#0f1614ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mini-lesson{width:min(100%,680px);max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid var(--line);border-radius:24px;background:var(--bg);color:var(--ink);box-shadow:0 30px 90px #00000057}.mini-lesson-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mini-lesson-header>div{display:flex;align-items:center;gap:10px}.mini-lesson-eyebrow{color:var(--hot);font:600 11px/1.2 IBM Plex Mono,monospace;letter-spacing:.08em}.mini-lesson-step{color:var(--faint);font:500 11px/1.2 IBM Plex Mono,monospace}.mini-lesson-close{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);cursor:pointer;font:400 25px/1 inherit}.mini-lesson-body{display:flex;flex-direction:column;gap:18px;padding:clamp(24px,5vw,40px)}.mini-lesson .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mini-lesson-body h2{margin:0;font:600 clamp(28px,5vw,40px)/1.15 "Newsreader","Gowun Batang",serif;letter-spacing:-.02em;text-wrap:balance}.mini-lesson-lead{margin:0;color:var(--sub);font-size:15px;line-height:1.65;text-wrap:pretty}.mini-lesson-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mini-lesson-goals button{min-height:72px;padding:14px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink);cursor:pointer;text-align:left;font-family:inherit}.mini-lesson-goals button>span{font-size:23px}.mini-lesson-goals button.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}.mini-lesson-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px}.mini-lesson-actions small{color:var(--sub);text-align:center}.mini-lesson-primary,.mini-lesson-secondary{min-height:48px;padding:12px 17px;border-radius:12px;cursor:pointer;font:650 14px/1.25 inherit}.mini-lesson-primary{border:1px solid var(--accent);background:var(--accent);color:#fff}.mini-lesson-secondary{border:1px solid var(--line);background:var(--card);color:var(--ink)}.mini-lesson-primary:disabled,.mini-lesson-composer button:disabled{cursor:wait;opacity:.55}.mini-lesson-chat{min-height:160px;max-height:min(38dvh,360px);overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;border-radius:18px;background:var(--chat)}.mini-lesson-tutor-row,.mini-lesson-user-row{display:flex;align-items:flex-start;gap:9px}.mini-lesson-user-row{align-self:flex-end;flex-direction:row-reverse}.mini-lesson-tutor-row p,.mini-lesson-user-row p{margin:0;max-width:82%;padding:10px 13px;color:#1c1f1e;line-height:1.5}.mini-lesson-tutor-row p{border-radius:4px 14px 14px;background:var(--tbubble)}.mini-lesson-user-row p{border-radius:14px 4px 14px 14px;background:var(--bubble)}.mini-lesson-user-row>span{padding-top:7px;color:var(--chat-ink);font-size:11px;font-weight:700}.mini-lesson-avatar{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border-radius:13px;background:#e9c2a6;color:#1c1f1e;font-size:11px;font-weight:700}.mini-lesson-feedback{align-self:flex-end;width:min(88%,460px);padding:12px 14px;display:flex;flex-direction:column;gap:5px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:14px;background:var(--card)}.mini-lesson-feedback>strong{color:var(--accent-ink);font-size:11px;letter-spacing:.05em}.mini-lesson-feedback p{margin:0;line-height:1.5}.mini-lesson-chat-toolbar{display:flex;align-items:center;justify-content:flex-end;margin-bottom:-4px}.mini-lesson-translation-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line2, rgba(0, 0, 0, .12));background:var(--card);color:var(--ink);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.mini-lesson-translation-toggle:hover{background:var(--seg, rgba(0, 0, 0, .05));border-color:var(--accent)}.mini-lesson-translation-toggle.is-active{background:var(--tbubble, #E8F5E9);color:var(--accent-ink, #1B5E20);border-color:var(--accent, #2E7D32)}.mini-lesson-tr-badge{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;background:var(--chip, rgba(0, 0, 0, .08));color:var(--sub)}.mini-lesson-translation-toggle.is-active .mini-lesson-tr-badge{background:var(--accent);color:#fff}.mini-lesson-tutor-bubble{display:flex;flex-direction:column;gap:5px;max-width:82%}.mini-lesson-tutor-bubble>p{max-width:100%!important}.mini-lesson-tutor-translation{margin:0!important;padding:6px 11px!important;font-size:12.5px!important;line-height:1.45!important;color:var(--sub, #555)!important;background:#0000000d!important;border-radius:4px 12px 12px!important;border-left:2.5px solid var(--accent, #2E7D32)!important}.mini-lesson-feedback-en{margin-top:4px;padding:7px 11px;border-radius:9px;background:#2e7d3214;border:1px dashed rgba(46,125,50,.3);color:var(--ink);font-size:12.5px;line-height:1.45}.mini-lesson-feedback-en-toggle{align-self:flex-start;border:0;background:none;padding:3px 0;color:var(--accent-ink, #2E7D32);font-size:11.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.mini-lesson-feedback-en-toggle:hover{text-decoration:underline}.mini-lesson-feedback del{color:var(--hot)}.mini-lesson-feedback small{color:var(--sub);line-height:1.45}.mini-lesson-loading{margin:0;color:var(--chat-ink);font-size:13px}.mini-lesson-composer{display:grid;grid-template-columns:1fr auto;gap:8px}.mini-lesson-composer textarea{width:100%;min-height:56px;resize:vertical;padding:12px 13px;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font:14px/1.5 inherit}.mini-lesson-composer button{min-width:110px;border:0;border-radius:12px;background:var(--hot);color:#fff;cursor:pointer;font-weight:650}.mini-lesson-error{margin:-8px 0 0;color:var(--hot);font-size:13px}.mini-lesson-error button{border:0;background:none;color:inherit;cursor:pointer;font-weight:700;text-decoration:underline}.mini-lesson-chat-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}.mini-lesson-result{align-items:center;text-align:center}.mini-lesson-result-mark{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font-size:30px}.mini-lesson-stats{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini-lesson-stats>div{padding:17px;display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.mini-lesson-stats strong{font:600 30px/1 Newsreader,serif}.mini-lesson-stats span{color:var(--sub);font-size:12px}.mini-lesson-expression{width:100%;padding:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;border-radius:14px;background:color-mix(in srgb,var(--accent) 9%,var(--card))}.mini-lesson-expression span{color:var(--sub);font-size:12px}.mini-lesson-expression strong{font-size:18px}.mini-lesson-save-note{margin:0;color:var(--sub);font-size:13px;line-height:1.55}.mini-lesson-wide{width:100%}.mini-lesson-link{border:0;background:none;color:var(--ink2);cursor:pointer;font:600 13px/1.4 inherit;text-decoration:underline;text-underline-offset:3px}@media (max-width: 640px){.intro-hero-actions{display:grid;grid-template-columns:1fr;width:100%}.intro-hero-actions button{width:100%}.mini-lesson-backdrop{padding:0;place-items:end center}.mini-lesson{width:100%;max-height:94dvh;border-radius:22px 22px 0 0;border-bottom:0}.mini-lesson-body{padding:22px 16px 28px}.mini-lesson-goals,.mini-lesson-composer{grid-template-columns:1fr}.mini-lesson-composer button{min-height:46px}.mini-lesson-chat-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.mini-lesson-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.reading-screen{max-width:1120px;width:100%;margin:0 auto;padding:clamp(20px,4vw,40px);display:flex;flex-direction:column;gap:24px}.reading-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.reading-title-block{display:flex;flex-direction:column;gap:6px}.reading-eyebrow{font:500 12px IBM Plex Mono,monospace;color:var(--hot);letter-spacing:.1em}.reading-title-block h1{margin:0;font:500 clamp(30px,3.4vw,40px) / 1.15 "Newsreader","Gowun Batang",serif;letter-spacing:-.02em}.reading-subtitle{color:var(--sub);font-size:14px}.reading-generation-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reading-generate-button{border:1px solid var(--line3);background:var(--card);color:var(--ink);border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.reading-generation-loading{color:var(--hot);padding:8px 12px;font-size:13px;font-weight:600;white-space:nowrap}.reading-level-selector{display:flex;padding:4px;background:var(--seg);border-radius:12px}.reading-level-selector button{border:0;background:transparent;color:var(--ink2);border-radius:9px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer}.reading-level-selector button.is-active{background:var(--accent);color:#fff}.reading-generation-error{border:1px solid var(--hot);background:var(--hot-soft);border-radius:12px;padding:12px 16px;font-size:13.5px}.reading-wordbook-guide{border:1px solid var(--line);background:var(--accent-soft);border-radius:14px;padding:12px 16px;display:flex;align-items:center;gap:14px}.reading-wordbook-guide-label{flex:none;color:var(--accent-ink);font:700 10.5px IBM Plex Mono,monospace;letter-spacing:.08em;white-space:nowrap}.reading-wordbook-guide p{margin:0;color:var(--sub);font-size:13.5px;line-height:1.55}@media (max-width: 620px){.reading-wordbook-guide{align-items:flex-start;flex-direction:column;gap:5px}}.reading-content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:28px;align-items:start}.reading-passage-card{grid-column:span 2;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;gap:22px}.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line2);padding-bottom:14px}.reading-toolbar>span{font-size:13.5px;color:var(--faint)}.reading-toolbar-actions{display:flex;align-items:center;gap:10px}.reading-speech-button{border:1px solid var(--line);background:var(--card);color:var(--accent-ink);border-radius:999px;min-height:38px;padding:8px 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.reading-speech-button:hover{transform:translateY(-1px);border-color:var(--accent)}.reading-speech-button:focus-visible{outline:3px solid rgba(35,73,63,.22);outline-offset:2px}.reading-speech-button.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.reading-translation-toggle{border:1px solid var(--line3);background:var(--card);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}.reading-translation-toggle.is-active{background:var(--accent-soft);color:var(--accent-ink)}.reading-paragraph-block{display:flex;flex-direction:column;gap:6px}.reading-paragraph{margin:0;font:400 19px/2 Gowun Batang,serif;color:var(--ink);text-wrap:pretty}.reading-word{border-bottom:2px solid var(--gold);background:transparent;cursor:pointer;border-radius:3px}.reading-word.is-selected{background:var(--hi)}.reading-word.is-saved{border-bottom-color:var(--accent-ink)}.reading-translation{margin:0;padding-left:12px;border-left:2px solid var(--line3);font-size:15px;line-height:1.7;color:var(--sub);text-wrap:pretty}.reading-quiz{border-top:1px solid var(--line2);padding-top:22px;display:flex;flex-direction:column;gap:18px}.reading-quiz-heading{font:500 12px IBM Plex Mono,monospace;color:var(--faint)}.reading-quiz-question{display:flex;flex-direction:column;gap:10px}.reading-quiz-prompt{font-size:16px;font-weight:600}.reading-quiz-english{font-weight:400;color:var(--faint);font-size:14px}.reading-quiz-options{display:flex;gap:8px;flex-wrap:wrap}.reading-quiz-option{border:1.5px solid var(--line);background:var(--card);border-radius:10px;padding:9px 14px;font-size:14.5px;cursor:pointer}.reading-quiz-option.is-correct{border-color:var(--accent-ink);background:var(--accent-soft)}.reading-quiz-option.is-wrong{border-color:var(--hot);background:var(--hot-soft)}.reading-aside{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}.reading-glossary-card{background:#23493f;color:#f5f2eb;border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px}.reading-pos{font-size:12px;color:#a9c1b6}.reading-word-base{font:700 32px Gowun Batang,serif}.reading-glossary-word-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.reading-word-meaning{font-size:16px;display:flex;flex-direction:column;gap:3px}.reading-word-meaning b{color:#a9c1b6;font:600 10px IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase}.reading-word-meaning-ko{color:#f5f2eb}.reading-word-pronunciation{color:#d7e4dc;letter-spacing:.01em}.reading-word-example{font-size:14px;color:#dce5e0;border-top:1px solid rgba(245,242,235,.18);padding-top:10px;line-height:1.55}.reading-glossary-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reading-save-button{border:0;background:#f5f2eb;color:#23493f;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.reading-selection-card{position:fixed;z-index:10005;width:min(340px,calc(100vw - 24px));transform:translate(-50%);box-sizing:border-box;background:#23493f;color:#f5f2eb;border:1px solid rgba(245,242,235,.2);border-radius:17px;padding:16px;display:flex;flex-direction:column;gap:11px;box-shadow:0 18px 44px #14231f4d;animation:reading-selection-in .16s ease-out both}.reading-selection-card.is-above{transform:translate(-50%,-100%);transform-origin:center bottom}.reading-selection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.reading-selection-head>div{display:flex;flex-direction:column;gap:2px}.reading-selection-head strong{font:700 25px Gowun Batang,serif}.reading-selection-head span{color:#a9c1b6;font-size:11px}.reading-selection-head button{border:0;background:#f5f2eb1a;color:#f5f2eb;width:28px;height:28px;border-radius:999px;font-size:18px;line-height:1;cursor:pointer}.reading-word-speech-button{border:0;background:#f5f2eb26!important;color:#f5f2eb!important;border-radius:999px!important;width:28px!important;height:28px!important;padding:0!important;display:inline-grid!important;place-items:center!important;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.reading-word-speech-button:hover:not(:disabled){background:#f5f2eb47!important;transform:scale(1.08)}.reading-word-speech-button.is-loading{cursor:wait;background:#f5f2eb40!important;animation:reading-word-speech-pulse .9s ease-in-out infinite alternate}.reading-word-speech-button.is-playing{background:var(--gold, #C99A00)!important;color:#1a3830!important;transform:scale(1.08);box-shadow:0 0 10px #c99a0073}.reading-word-speech-spinner{font-size:11px;letter-spacing:-1px;font-weight:700;display:inline-block;line-height:1}@keyframes reading-word-speech-pulse{0%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1.06)}}.reading-selection-loading{display:flex;align-items:center;gap:8px;color:#dce5e0;font-size:13px}.reading-selection-loading i{width:13px;height:13px;border:2px solid rgba(245,242,235,.28);border-top-color:#f5f2eb;border-radius:50%;animation:reading-selection-spin .7s linear infinite}.reading-selection-meanings{display:flex;flex-direction:column;gap:8px}.reading-selection-meanings p{margin:0;display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:start;font-size:14px;line-height:1.45}.reading-selection-meanings em{color:#a9c1b6;font:600 10px IBM Plex Mono,monospace;font-style:normal;letter-spacing:.05em;padding-top:3px}.reading-selection-pronunciation span{color:#d7e4dc;letter-spacing:.01em}.reading-selection-example{border-top:1px solid rgba(245,242,235,.16);padding-top:9px;display:flex;flex-direction:column;gap:2px;color:#dce5e0;font-size:12.5px;line-height:1.45}.reading-selection-example span:last-child{color:#a9c1b6}.reading-selection-error{color:#ffd4c7;font-size:12px;line-height:1.4}.reading-selection-save{border:0;border-radius:999px;background:#f5f2eb;color:#23493f;min-height:38px;padding:8px 14px;font-size:13px;font-weight:750;cursor:pointer}@keyframes reading-selection-in{0%{opacity:0;scale:.97}to{opacity:1;scale:1}}@keyframes reading-selection-mobile-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reading-selection-mobile-top-in{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes reading-selection-spin{to{transform:rotate(360deg)}}@media (max-width: 640px){.reading-selection-card,.reading-selection-card.is-mobile{position:fixed!important;left:12px!important;right:12px!important;bottom:16px!important;top:auto!important;width:auto!important;max-width:460px!important;margin:0 auto!important;transform:none!important;border-radius:20px!important;padding:18px 20px!important;border:1px solid rgba(245,242,235,.28)!important;box-shadow:0 16px 48px #0a19148c,0 0 0 1px #f5f2eb1f!important;animation:reading-selection-mobile-in .22s cubic-bezier(.16,1,.3,1) both!important;z-index:1300!important}.reading-selection-card.is-above{transform:none!important}.reading-selection-card.is-mobile-top{top:calc(env(safe-area-inset-top,0px) + 12px)!important;bottom:auto!important;animation-name:reading-selection-mobile-top-in!important}.reading-selection-head strong{font-size:26px!important}.reading-selection-head button{width:32px!important;height:32px!important;font-size:20px!important}.reading-selection-meanings p{grid-template-columns:56px 1fr!important;font-size:14.5px!important}.reading-selection-save{min-height:44px!important;font-size:14px!important;font-weight:800!important;border-radius:12px!important;margin-top:4px!important}}@media (prefers-reduced-motion: reduce){.reading-selection-card{animation:none}.reading-selection-loading i{animation-duration:1.4s}}.reading-word-speech-button,.reading-example-speech-button{min-height:34px;padding:6px 10px;background:transparent;border-color:#f5f2eb4d;color:#f5f2eb}.reading-word-speech-button.is-active,.reading-example-speech-button.is-active{background:#f5f2eb4d;border-color:#f5f2eb80;color:#f5f2eb}.reading-example-speech-button{font-size:11px}.reading-empty-card{border:1.5px dashed var(--line3);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;background:#00000004}.reading-empty-card-head{display:flex;align-items:center;gap:6px}.reading-empty-card-tag{font-size:11.5px;font-weight:750;color:var(--accent-ink);background:var(--accent-soft);border:1px solid var(--line);padding:3px 8px;border-radius:6px;letter-spacing:.02em;display:inline-block}.reading-empty-card-text{margin:0;color:var(--sub);font-size:13.5px;line-height:1.55}.reading-grammar-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 4px 16px #00000005}.reading-grammar-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line2)}.reading-grammar-heading{font-size:15px;font-weight:700;color:var(--ink)}.reading-grammar-badge-guide{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--sub)}.reading-grammar-badge-guide .dot{width:9px;height:9px;border-radius:50%;display:inline-block}.reading-grammar-badge-guide .dot-humin{background:#f59e0b;box-shadow:0 0 6px #f59e0b99}.reading-grammar-badge-guide .dot-jeongeum{background:#10b981;box-shadow:0 0 6px #10b98199}.reading-grammar-guide-text{font-size:13px;line-height:1.55;color:var(--faint);width:100%}.reading-grammar-bubbles-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}.reading-grammar-bubble{border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:flex-start;gap:16px;transition:all .2s ease;border:1px solid transparent;cursor:pointer;min-width:0;min-height:190px}.reading-grammar-bubble-humin{background:#fef08a29;border-color:#f59e0b47}.reading-grammar-bubble-humin:hover,.reading-grammar-bubble-humin.is-active{background:#fef08a47;border-color:#f59e0b;box-shadow:0 4px 14px #f59e0b1f;transform:translateY(-1px)}.reading-grammar-bubble-jeongeum{background:#bbf7d02e;border-color:#10b98147}.reading-grammar-bubble-jeongeum:hover,.reading-grammar-bubble-jeongeum.is-active{background:#bbf7d04d;border-color:#10b981;box-shadow:0 4px 14px #10b9811f;transform:translateY(-1px)}.reading-grammar-tutor-badge{display:flex;align-items:center;gap:12px}.reading-grammar-tutor-avatar{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.08));flex-shrink:0;transition:transform .2s ease}.reading-grammar-bubble:hover .reading-grammar-tutor-avatar{transform:scale(1.08) rotate(2deg)}.reading-grammar-tutor-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.reading-tutor-tag{font-size:12px;font-weight:800;padding:3px 8px;border-radius:6px;display:inline-block;width:fit-content;letter-spacing:.02em}.reading-grammar-badge-humin{background:#fef08a;color:#92400e;border:1px solid rgba(245,158,11,.4)}.reading-grammar-badge-jeongeum{background:#bbf7d0;color:#065f46;border:1px solid rgba(16,185,129,.4)}.reading-tutor-role{font-size:15px;font-weight:700;color:var(--ink);line-height:1.4;white-space:normal;overflow-wrap:anywhere}.reading-grammar-bubble-body{display:flex;flex-direction:column;gap:12px;padding-left:0;min-width:0}.reading-grammar-form-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-size:15px;line-height:1.6}.reading-grammar-form-mark{font-family:Gowun Batang,serif;font-weight:700;font-size:17px;padding:4px 10px;border-radius:7px;display:inline-block}.reading-grammar-form-mark.reading-highlight-humin{background:#fef08a;color:#78350f;border-bottom:2px solid #F59E0B}.reading-grammar-form-mark.reading-highlight-jeongeum{background:#bbf7d0;color:#064e3b;border-bottom:2px solid #10B981}.reading-grammar-explanation{color:var(--ink);font-size:15px;line-height:1.6;word-break:keep-all;overflow-wrap:break-word}.reading-grammar-example-box{display:flex;align-items:flex-start;gap:10px;background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.55;margin-top:4px;min-width:0}.reading-grammar-example-label{font-size:11px;font-weight:700;color:var(--faint);background:var(--chip);padding:2px 6px;border-radius:5px;flex-shrink:0;margin-top:1px}.reading-grammar-example-text{color:var(--ink);font-size:14px;line-height:1.55;word-break:keep-all;overflow-wrap:break-word}@media (max-width: 600px){.reading-grammar-card{padding:18px;gap:14px}.reading-grammar-bubbles-grid{gap:12px}.reading-grammar-bubble{padding:16px;gap:12px;border-radius:14px;min-height:0}.reading-grammar-tutor-avatar{width:38px;height:38px}.reading-tutor-tag{font-size:11px;padding:2px 6px}.reading-tutor-role{font-size:13.5px}.reading-grammar-form-mark{font-size:15px;padding:3px 8px}.reading-grammar-explanation{font-size:14px;line-height:1.55}.reading-grammar-example-box{padding:10px 12px}.reading-grammar-example-text{font-size:13.5px}}.reading-grammar-highlight{display:inline;padding:2px 4px;margin:0 -1px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer;transition:all .2s ease;position:relative}.reading-highlight-humin{background:linear-gradient(104deg,#fef08a73,#fef08ae0 35%,#fef08ab8);border-bottom:2.5px solid #F59E0B;color:inherit;font-weight:600}.reading-highlight-humin:hover,.reading-highlight-humin.is-active{background:#fef08af2;box-shadow:0 0 0 2px #f59e0b59}.reading-highlight-jeongeum{background:linear-gradient(104deg,#bbf7d073,#bbf7d0e6 35%,#bbf7d0bf);border-bottom:2.5px solid #10B981;color:inherit;font-weight:600}.reading-highlight-jeongeum:hover,.reading-highlight-jeongeum.is-active{background:#bbf7d0f2;box-shadow:0 0 0 2px #10b98159}.reading-word.is-highlighted{border-bottom-color:currentColor}@media (max-width: 520px){.reading-speech-button .reading-speech-label{display:none}}@media (prefers-reduced-motion: reduce){.reading-speech-button{transition:none}}@media (min-width: 860px){.reading-screen{padding:clamp(12px,1.6vh,20px) clamp(16px,2vw,32px);gap:12px}}@media (max-width: 859px){.reading-passage-card{grid-column:1 / -1}}
