:root{color:var(--np-ink,#222);background:var(--np-page,#fff8f3);letter-spacing:0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Airbnb Cereal VF,Circular,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{min-height:100%;overflow-x:hidden}body{background:var(--np-page,#fff8f3);min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}body:before{pointer-events:none;content:"";background:var(--np-page-overlay,linear-gradient(180deg, #ffffffbd, #fff0 38%), linear-gradient(90deg, #ff385c0f, #fff0 34%), linear-gradient(270deg, #ffb4911f, #fff0 42%));position:fixed;inset:0}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}#root{min-height:100svh}:root{--np-primary:#ff385c;--np-primary-active:#e00b41;--np-on-primary:#fff;--np-primary-soft:#fff0f3;--np-primary-softer:#fff7f8;--np-primary-border:#ffd1da;--np-primary-border-strong:#ff9daf;--np-coral-deep:#c13515;--np-coral-muted:#b04454;--np-peach-soft:#fff4ed;--np-peach:#ffe8dc;--np-peach-ink:#8a4a2a;--np-rose-soft:#ffe8ef;--np-sand-soft:#f8efe7;--np-sand-ink:#7a4b35;--np-success:#398752;--np-success-soft:#eef8f0;--np-error-soft:#fff2ee;--np-ink:#222;--np-body:#3f3f3f;--np-muted:#6a6a6a;--np-muted-soft:#929292;--np-hairline:#ddd;--np-hairline-soft:#ebebeb;--np-canvas:#fff;--np-page:#fff8f3;--np-surface:#f7f7f7;--np-surface-strong:#f2f2f2;--np-topbar-bg:#ffffffe0;--np-inset-highlight:#ffffffe6;--np-page-overlay:linear-gradient(180deg, #ffffffbd, #fff0 38%), linear-gradient(90deg, #ff385c0f, #fff0 34%), linear-gradient(270deg, #ffb4911f, #fff0 42%);--np-shadow-sm:0 2px 10px #2222220f;--np-shadow-md:0 12px 32px #22222214;--np-shadow-lg:0 22px 56px #2222221a;--np-radius-sm:8px;--np-radius-md:14px;--np-radius-lg:20px;--np-radius-xl:32px;--np-radius-full:9999px;--reading-table-image-width:720px}.custom-select{gap:8px;min-width:0;display:grid;position:relative}.custom-select.open{z-index:10}.custom-select-label{color:var(--np-ink);font-size:13px;font-weight:700}.custom-select-trigger{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);width:100%;min-height:52px;color:var(--np-ink);background:linear-gradient(180deg, var(--np-canvas), var(--np-surface)), var(--np-canvas);box-shadow:inset 0 1px 0 var(--np-inset-highlight);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:0 10px 0 16px;font-size:15px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.custom-select-trigger:hover,.custom-select-trigger.open{border-color:var(--np-primary-border);background:linear-gradient(180deg, var(--np-canvas), var(--np-primary-softer)), var(--np-canvas);box-shadow:inset 0 1px 0 var(--np-inset-highlight), 0 8px 20px #ff385c14}.custom-select-trigger:focus-visible{border-color:var(--np-primary-border-strong);box-shadow:0 0 0 4px #ff385c24, inset 0 1px 0 var(--np-inset-highlight);outline:0}.custom-select.has-error .custom-select-trigger{border-color:var(--np-coral-deep)}.custom-select-trigger.open:focus-visible{box-shadow:0 0 0 4px #ff385c24, 0 8px 20px #ff385c14, inset 0 1px 0 var(--np-inset-highlight)}.custom-select.disabled .custom-select-trigger,.custom-select-trigger:disabled{color:var(--np-muted-soft);background:var(--np-surface);cursor:not-allowed}.custom-select-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.custom-select-description,.custom-select-error{color:var(--np-muted);font-size:12px;font-weight:650}.custom-select-icon{border-radius:var(--np-radius-full);width:34px;height:34px;color:var(--np-muted);background:var(--np-surface);flex:none;justify-content:center;align-items:center;transition:color .16s,transform .16s;display:inline-flex}.custom-select-trigger.open .custom-select-icon{color:var(--np-primary);transform:rotate(180deg)}.custom-select-menu{z-index:30;border:1px solid var(--np-primary-border);border-radius:var(--np-radius-md);background:var(--np-canvas);gap:4px;max-height:260px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 44px #22222224}.custom-select-option{border-radius:var(--np-radius-sm);min-height:38px;color:var(--np-body);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0 10px 0 12px;font-size:15px;transition:background-color .14s,color .14s;display:flex}.custom-select-option:hover,.custom-select-option.active{color:var(--np-primary-active);background:var(--np-primary-softer)}.custom-select-option.selected{color:var(--np-primary-active);background:var(--np-primary-soft);font-weight:700}.custom-select-option svg{opacity:0;flex:none}.custom-select-option.selected svg{opacity:1}.filter-chip{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);min-height:40px;color:var(--np-body);background:var(--np-canvas);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 15px;font-size:14px;font-weight:600;transition:transform .16s,border-color .16s,background-color .16s,color .16s;display:inline-flex}.filter-chip:hover{border-color:var(--np-hairline);background:var(--np-surface);transform:translateY(-1px)}.filter-chip.active{border-color:var(--np-primary-border-strong);color:var(--np-primary-active);background:var(--np-primary-soft)}.practice-overview-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);min-height:72px;box-shadow:var(--np-shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px;display:grid}.practice-overview-card svg{color:var(--np-coral-muted)}.practice-overview-card span{color:var(--np-muted);font-size:14px;font-weight:600}.practice-overview-card strong{color:var(--np-ink);font-size:22px}@media (width<=640px){.practice-overview-card{border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-content:center;gap:9px;min-height:68px;padding:12px 14px}.practice-overview-card svg{width:16px;height:16px}.practice-overview-card span{font-size:12px;line-height:1.2}.practice-overview-card strong{white-space:nowrap;font-size:18px;line-height:1.12}}.site-footer{border-top:1px solid var(--np-hairline-soft);width:min(100% - 56px,1180px);color:var(--np-body);grid-template-columns:minmax(0,1fr) minmax(240px,.56fr);align-items:start;gap:24px 32px;margin:0 auto;padding:28px 0 0;display:grid}.site-footer-brand{grid-template-columns:auto minmax(0,1fr);gap:14px;max-width:680px;display:grid}.site-footer-mark{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);width:44px;height:44px;color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;display:inline-flex}.site-footer-kicker{color:var(--np-primary-active);margin:0 0 5px;font-size:13px;font-weight:800;line-height:1.3}.site-footer h2{color:var(--np-ink);letter-spacing:0;margin:0;font-size:24px;line-height:1.2}.site-footer-brand p:not(.site-footer-kicker){max-width:620px;color:var(--np-muted);margin:8px 0 0;font-size:15px;line-height:1.65}.site-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.site-footer-links a{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-sm);min-height:38px;color:var(--np-ink);background:var(--np-canvas);align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:700;line-height:1.25;text-decoration:none;transition:border-color .16s,color .16s,background .16s;display:inline-flex}.site-footer-links a:hover,.site-footer-links a:focus-visible{border-color:var(--np-primary-border-strong);color:var(--np-primary-active);background:var(--np-primary-softer);outline:none}.site-footer-links svg{color:var(--np-primary);flex:none}.site-footer-legal{border-top:1px solid var(--np-hairline-soft);color:var(--np-muted);grid-column:1/-1;margin:0;padding-top:16px;font-size:13px;line-height:1.55}@media (width<=780px){.site-footer{grid-template-columns:1fr;gap:20px;width:min(100% - 28px,1180px)}.site-footer-links{grid-template-columns:1fr}}@media (width<=480px){.site-footer-brand{grid-template-columns:1fr}}.ai-tutor-trigger{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);min-height:34px;color:var(--np-primary-active);background:var(--np-primary-softer);font:inherit;cursor:pointer;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;transition:border-color .16s,background-color .16s,box-shadow .16s;display:inline-flex}.ai-tutor-trigger:hover,.ai-tutor-trigger:focus-visible{border-color:var(--np-primary-border-strong);background:var(--np-primary-soft);box-shadow:0 5px 14px #ff385c1a}.ai-tutor-dialog.app-dialog{grid-template-rows:4px minmax(0,1fr);width:min(100vw - 32px,760px);height:min(100svh - 32px,860px);max-height:92svh}.ai-tutor-dialog .app-dialog-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:52px minmax(0,1fr);gap:16px;min-height:0;padding:32px 30px 24px}.ai-tutor-dialog .app-dialog-copy h2{font-size:22px}.ai-tutor-dialog .app-dialog-copy p{max-width:52ch;color:var(--np-muted);font-size:13px;line-height:1.5}.ai-tutor-dialog .app-dialog-content{grid-template-rows:minmax(0,1fr) auto;gap:16px;min-height:0;display:grid;overflow:hidden}.ai-tutor-chat{overscroll-behavior:contain;border:1px solid var(--np-hairline-soft);background:var(--np-surface);border-radius:18px;flex-direction:column;gap:14px;min-height:0;padding:16px;display:flex;overflow-y:auto}.ai-tutor-message{border:1px solid var(--np-hairline-soft);max-width:min(92%,620px);color:var(--np-body);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);border-radius:16px 16px 16px 5px;padding:14px 16px}.ai-tutor-message.assistant{align-self:stretch}.ai-tutor-message.learner{border-color:var(--np-primary-border);max-width:min(78%,430px);color:var(--np-ink);background:var(--np-primary-soft);border-radius:16px 16px 5px;align-self:flex-end;padding:12px 14px}.ai-tutor-message>span{color:var(--np-primary-active);letter-spacing:.02em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.ai-tutor-message.learner>span{color:var(--np-muted)}.ai-tutor-message p{white-space:pre-wrap;margin:0;font-size:15px;font-weight:600;line-height:1.72}.ai-tutor-message.learner p{font-size:14px;font-weight:700;line-height:1.58}.ai-tutor-message.thinking{color:var(--np-muted)}.ai-tutor-message.thinking p{align-items:center;gap:10px;font-size:14px;font-weight:700;display:inline-flex}.ai-tutor-thinking-dots{align-items:center;gap:4px;display:inline-flex}.ai-tutor-thinking-dots i{border-radius:var(--np-radius-full);background:var(--np-primary);width:7px;height:7px;animation:1s ease-in-out infinite ai-tutor-thinking;display:block}.ai-tutor-thinking-dots i:nth-child(2){animation-delay:.14s}.ai-tutor-thinking-dots i:nth-child(3){animation-delay:.28s}.ai-tutor-form,.ai-tutor-field{gap:8px;display:grid}.ai-tutor-field>span{color:var(--np-muted);letter-spacing:.02em;font-size:12px;font-weight:800}.ai-tutor-composer{border:1px solid var(--np-hairline);background:var(--np-canvas);box-shadow:inset 0 1px 0 var(--np-inset-highlight);border-radius:16px;align-items:end;gap:8px;padding:10px;transition:border-color .16s,box-shadow .16s;display:flex}.ai-tutor-composer:focus-within{border-color:var(--np-primary-border-strong);box-shadow:0 0 0 4px #ff385c24, inset 0 1px 0 var(--np-inset-highlight)}.ai-tutor-composer textarea{min-height:58px;max-height:140px;color:var(--np-ink);font:inherit;resize:none;background:0 0;border:0;outline:0;flex:auto;padding:7px 8px;font-size:15px;line-height:1.55}.ai-tutor-composer textarea::placeholder{color:var(--np-muted-soft)}.ai-tutor-send{border-radius:var(--np-radius-full);width:46px;height:46px;color:var(--np-on-primary);background:var(--np-primary);cursor:pointer;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.ai-tutor-send:disabled{color:var(--np-muted-soft);background:var(--np-surface-strong);cursor:not-allowed}.ai-tutor-notice{color:var(--np-muted);margin:0;font-size:12px;font-weight:500;line-height:1.48}.ai-tutor-error{border-radius:var(--np-radius-sm);color:var(--np-coral-deep);background:var(--np-error-soft);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.48;display:flex}.ai-tutor-error p{margin:0}.ai-tutor-upgrade{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);color:var(--np-on-primary);background:var(--np-primary);font:inherit;cursor:pointer;white-space:nowrap;flex:none;padding:6px 11px;font-size:12px;font-weight:800}.ai-tutor-upgrade:hover,.ai-tutor-upgrade:focus-visible{background:var(--np-primary-active)}.ai-tutor-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-tutor-footer .ai-tutor-notice{flex:auto}.ai-tutor-quota{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);color:var(--np-muted);background:var(--np-canvas);white-space:nowrap;flex:none;margin:0;padding:4px 9px;font-size:11px;font-weight:800;line-height:1.2}.ai-tutor-quota.exhausted{border-color:var(--np-primary-border);color:var(--np-coral-deep);background:var(--np-error-soft)}@keyframes ai-tutor-thinking{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@media (width<=640px){.ai-tutor-dialog.app-dialog{width:min(100vw - 28px,520px);height:min(100svh - 24px,780px);max-height:92svh}.ai-tutor-dialog .app-dialog-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:42px minmax(0,1fr);gap:12px;padding:26px 16px 18px}.ai-tutor-dialog .app-dialog-icon{width:42px;height:42px}.ai-tutor-dialog .app-dialog-copy h2{font-size:19px}.ai-tutor-dialog .app-dialog-content{margin-top:4px}.ai-tutor-chat{padding:12px}.ai-tutor-message{max-width:100%;padding:13px 14px}.ai-tutor-message.learner{max-width:88%}.ai-tutor-message p{font-size:14px;line-height:1.68}.ai-tutor-composer textarea{min-height:52px;font-size:14px}.ai-tutor-footer{flex-direction:column;align-items:flex-start;gap:7px}.ai-tutor-error{flex-direction:column;align-items:flex-start}}.app-shell{z-index:1;width:min(100%,1180px);min-height:100svh;margin:0 auto;padding:24px 28px 48px;position:relative}.home-shell,.summary-shell{flex-direction:column;gap:28px;display:flex}.top-bar,.exam-header,.summary-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.top-bar{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);background:var(--np-topbar-bg);min-height:72px;box-shadow:var(--np-shadow-sm);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-wrap:wrap;gap:10px 18px;padding:10px 12px 10px 18px;container-type:inline-size}.brand-mark{color:var(--np-ink);font:inherit;letter-spacing:0;text-align:left;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:12px;padding:0;font-size:19px;font-weight:700;display:inline-flex}.brand-mark>span:not(.brand-icon){white-space:nowrap}.brand-mark:focus-visible{outline-offset:4px;border-radius:var(--np-radius-full);outline:3px solid #ff385c3d}.brand-mark:hover .brand-icon{transform:translateY(-1px)}.brand-icon,.top-actions span,.icon-button{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);background:var(--np-canvas);width:44px;height:44px;color:var(--np-ink);box-shadow:none;justify-content:center;align-items:center;display:inline-flex}.brand-icon{background:var(--np-canvas);border-color:#0000;width:38px;height:38px;transition:transform .16s;overflow:hidden}.brand-logo{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.top-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.top-user-label{max-width:180px;color:var(--np-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.top-login-button{white-space:nowrap;min-height:42px}.top-login-button.active{border-color:var(--np-primary-border-strong);color:var(--np-primary-active);background:var(--np-primary-soft)}.top-nav{scrollbar-width:none;flex:1;justify-content:safe center;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:visible}.top-nav-item{flex:none;align-items:center;display:inline-flex;position:relative}.top-nav-item:after{content:"";pointer-events:none;height:18px;position:absolute;top:100%;left:-24px;right:-24px}.top-nav-item:hover:after,.top-nav-item:focus-within:after,.top-nav-item.dropdown-open:after{pointer-events:auto}.top-nav::-webkit-scrollbar{display:none}.top-nav-link{border-radius:var(--np-radius-full);min-height:40px;color:var(--np-muted);font:inherit;letter-spacing:0;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:700;transition:background-color .16s,color .16s,transform .16s;display:inline-flex}.top-nav-link:hover{color:var(--np-primary);background:var(--np-primary-soft);transform:translateY(-1px)}.top-nav-link.active{color:var(--np-on-primary);background:var(--np-primary)}.top-nav-dropdown{z-index:1010;border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-canvas);min-width:176px;box-shadow:var(--np-shadow-md);opacity:0;pointer-events:none;visibility:hidden;transform-origin:top;gap:4px;padding:10px;transition:opacity .17s,transform .17s,visibility 0s linear .17s;display:grid;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,-6px)scale(.98)}.top-nav-item:hover .top-nav-dropdown,.top-nav-item:focus-within .top-nav-dropdown,.top-nav-item.dropdown-open .top-nav-dropdown{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;transform:translate(-50%)scale(1)}.top-nav-dropdown-link{border-radius:var(--np-radius-sm);min-height:42px;color:var(--np-ink);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;padding:0 14px;font-size:13px;font-weight:700;transition:background-color .15s,color .15s,transform .15s;display:flex}.top-nav-dropdown-link:hover,.top-nav-dropdown-link:focus-visible{color:var(--np-primary);background:var(--np-primary-soft);outline:none;transform:translate(2px)}.top-profile-menu{display:inline-flex;position:relative}.top-profile-dropdown{z-index:1010;border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-canvas);min-width:168px;box-shadow:var(--np-shadow-md);padding:8px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.top-profile-dropdown button{border-radius:var(--np-radius-sm);min-height:40px;color:var(--np-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.top-profile-dropdown button:hover,.top-profile-dropdown button:focus-visible{color:var(--np-primary);background:var(--np-primary-soft);outline:none}.top-actions span{background:var(--np-surface)}@container (width<=760px){.brand-mark{order:1}.top-actions{order:2}.top-nav{flex:1 0 100%;order:3;justify-content:safe center;padding-top:2px}.top-nav-link{min-height:38px;padding:0 13px}}.exam-header-actions,.summary-header-actions{justify-self:end;align-items:center;gap:10px;min-width:0;display:inline-flex}.exam-header-actions-placeholder{width:44px;height:44px}.explanation-language-toggle{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);background:var(--np-canvas);min-height:44px;color:var(--np-muted);align-items:center;gap:4px;padding:4px;display:inline-flex}.explanation-language-toggle>svg{color:var(--np-muted);margin:0 6px}.explanation-language-button{border-radius:var(--np-radius-full);min-width:58px;height:34px;color:var(--np-muted);cursor:pointer;letter-spacing:0;background:0 0;border:0;font-size:13px;font-weight:700;transition:background-color .16s,color .16s}.explanation-language-button.active{background:var(--np-primary);color:var(--np-on-primary)}.icon-button{cursor:pointer;transition:transform .16s,border-color .16s,background-color .16s,color .16s}.icon-button:hover{color:var(--np-primary);background:var(--np-primary-soft);border-color:var(--np-primary-border);transform:translateY(-1px)}.app-dialog-backdrop{z-index:1200;padding:max(22px, env(safe-area-inset-top)) 22px max(22px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#2222224d;place-items:center;animation:.16s ease-out app-dialog-backdrop-in;display:grid;position:fixed;inset:0}.app-dialog{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-lg);width:min(100%,438px);color:var(--np-ink);background:linear-gradient(180deg, var(--np-canvas), var(--np-primary-softer) 170%), var(--np-canvas);outline:0;animation:.18s ease-out app-dialog-enter;display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #2222222e}.app-dialog-accent{background:linear-gradient(90deg, var(--np-primary), #ff9a7f);height:4px}.app-dialog-close{border-radius:var(--np-radius-full);width:36px;height:36px;color:var(--np-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex;position:absolute;top:12px;right:12px}.app-dialog-close:hover,.app-dialog-close:focus-visible{border-color:var(--np-primary-border);color:var(--np-primary);background:var(--np-primary-soft)}.app-dialog-body{grid-template-columns:48px minmax(0,1fr);gap:14px;padding:28px 24px 18px;display:grid}.app-dialog-icon{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);width:48px;height:48px;color:var(--np-primary);background:var(--np-primary-soft);box-shadow:inset 0 1px 0 var(--np-inset-highlight);justify-content:center;align-items:center;display:inline-flex}.app-dialog-copy{min-width:0;padding-right:34px}.app-dialog-copy h2{color:var(--np-ink);letter-spacing:0;margin:0;font-size:20px;font-weight:700;line-height:1.25}.app-dialog-copy p{color:var(--np-body);margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.62}.app-dialog-content{grid-column:1/-1;min-width:0;margin-top:12px}.app-dialog-actions{justify-content:flex-end;gap:10px;padding:0 24px 24px;display:flex}.app-dialog-action{min-width:112px;min-height:44px;padding:0 18px}@keyframes app-dialog-backdrop-in{0%{opacity:0}}@keyframes app-dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}}.home-hero,.summary-hero{grid-template-columns:1fr auto;align-items:end;gap:22px;padding:22px 4px 0;display:grid}.catalog-hero{grid-template-columns:minmax(0,1fr);align-items:end;gap:28px;padding:32px 4px 0;display:grid}.home-search-hero{--home-search-hero-image-bg:#fef7ee;border:1px solid var(--np-primary-border);background:var(--np-primary-softer);min-height:260px;box-shadow:var(--np-shadow-md);border-radius:38px;display:block;position:relative;overflow:hidden}.home-search-hero-copy{z-index:1;width:min(430px,38%);position:absolute;top:51%;left:min(29vw,330px);transform:translateY(-50%)}.home-search-hero-copy h1{color:var(--np-ink);letter-spacing:0;margin:0;font-size:38px;font-weight:750;line-height:1.08}.home-search-hero-copy p:not(.eyebrow){color:var(--np-body);margin:12px 0 0;font-size:16px;line-height:1.58}.home-search-hero-image{width:100%;height:auto;display:block}.eyebrow{color:var(--np-primary);letter-spacing:0;margin:0 0 10px;font-size:13px;font-weight:700}.home-hero h1,.summary-hero h1,.catalog-hero h1,.level-title-row h1{color:var(--np-ink);letter-spacing:0;margin:0;font-size:46px;font-weight:700;line-height:1.12}.hero-copy{max-width:650px;color:var(--np-muted);margin:16px 0 0;font-size:17px;font-weight:400;line-height:1.7}.compact-copy{max-width:560px;margin-top:12px;font-size:15px}.hero-badge,.quality-pill,.level-pill,.section-chip,.audio-pill,.date-pill{white-space:nowrap;border-radius:var(--np-radius-full);justify-content:center;align-items:center;gap:8px;display:inline-flex}.hero-badge{min-height:52px;color:var(--np-ink);background:var(--np-canvas);border:1px solid var(--np-hairline-soft);box-shadow:var(--np-shadow-sm);padding:0 18px}.study-search{border:1px solid var(--np-hairline);border-radius:var(--np-radius-full);background:var(--np-canvas);grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) minmax(160px,1fr) auto auto;align-items:center;gap:0;min-height:78px;padding:8px 9px 8px 24px;display:grid;box-shadow:0 16px 42px #2222221a}.study-search-segment{border-right:1px solid var(--np-hairline-soft);gap:4px;min-width:0;padding:0 24px;display:grid}.study-search-segment:first-child{padding-left:0}.study-search-segment span{color:var(--np-ink);font-size:12px;font-weight:700;line-height:1.2}.study-search-segment strong{color:var(--np-muted);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:400;line-height:1.25;overflow:hidden}.study-search-levels{gap:6px;padding:0 14px;display:flex}.search-level-chip{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);min-width:44px;min-height:36px;color:var(--np-ink);background:var(--np-surface);font:inherit;cursor:pointer;font-size:13px;font-weight:600;transition:transform .16s,border-color .16s,background-color .16s}.search-level-chip:hover{border-color:var(--np-primary-border);background:var(--np-primary-soft);transform:translateY(-1px)}.search-orb{border-radius:var(--np-radius-full);width:56px;height:56px;color:var(--np-on-primary);background:var(--np-primary);cursor:pointer;border:0;justify-content:center;align-items:center;transition:transform .16s,background-color .16s,box-shadow .16s;display:inline-flex}.search-orb:hover:not(:disabled){background:var(--np-primary-active);transform:translateY(-1px);box-shadow:0 12px 28px #ff385c47}.search-orb:disabled{cursor:not-allowed;background:var(--np-primary-border)}.level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.level-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);min-height:238px;color:inherit;background:var(--np-canvas);box-shadow:var(--np-shadow-sm);text-align:left;cursor:pointer;align-content:space-between;gap:20px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.level-card:hover{border-color:var(--np-primary-border);box-shadow:var(--np-shadow-md);transform:translateY(-3px)}.level-card-head,.level-card-footer,.level-title-row,.exam-row-main,.exam-row-meta{align-items:center;display:flex}.level-card-head,.level-card-footer,.level-title-row{justify-content:space-between;gap:16px}.level-card-head{gap:12px}.level-card-head>div{min-width:0}.level-card h2{color:var(--np-ink);margin:16px 0 0;font-size:20px;font-weight:600;line-height:1.28}.level-arrow{border-radius:var(--np-radius-full);width:38px;height:38px;color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;display:inline-flex}.level-card-stats{color:var(--np-muted);gap:9px;font-size:14px;font-weight:500;display:grid}.level-card-stats span,.exam-row-meta span{align-items:center;gap:7px;display:inline-flex}.level-card-footer{color:var(--np-ink);font-size:14px;font-weight:600}.level-header{gap:18px;padding-top:8px;display:grid}.compact-action{justify-self:start;min-height:42px;padding:0 14px}.level-title-row{align-items:end}.exam-year-list{gap:12px;display:grid}.exam-row{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr) auto;align-items:center;gap:18px;padding:16px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.exam-row:hover{border-color:var(--np-primary-border);box-shadow:var(--np-shadow-md);transform:translateY(-1px)}.exam-row.locked{background:linear-gradient(135deg, #fff1f2b8, #fffffff5), var(--np-canvas);border-color:#ef444433}.exam-row.locked:hover{border-color:#ef44445c}.exam-row-main{gap:16px;min-width:0}.exam-row-title-line{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 9px;display:flex}.exam-row h2{color:var(--np-ink);margin:0;font-size:20px;font-weight:600;line-height:1.24}.exam-lock-badge{border-radius:var(--np-radius-full);color:var(--np-primary);background:#ef44441a;border:1px solid #ef444438;align-items:center;gap:4px;min-height:24px;padding:0 8px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.exam-row-meta{color:var(--np-muted);flex-wrap:wrap;gap:10px;font-size:13px;font-weight:500}.exam-row-progress{gap:12px;min-width:0;display:grid}.compact-strip{gap:6px}.row-action{min-width:104px;min-height:44px;padding:0 16px}.row-action.locked{box-shadow:none;color:var(--np-primary);background:#fff7f7;border:1px solid #ef44443d}.row-action.locked:hover{background:var(--np-primary);color:#fff}.date-pill{min-width:82px;height:42px;color:var(--np-primary);background:var(--np-primary-soft);font-weight:700}.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.exam-card,.question-panel,.section-panel,.question-map,.summary-metric,.section-progress-list,.wrong-answer-list,.wrong-answer-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm)}.exam-card{flex-direction:column;justify-content:space-between;min-height:330px;padding:24px;display:flex}.exam-card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.exam-card h2{color:var(--np-ink);letter-spacing:0;margin:16px 0 0;font-size:27px;font-weight:600;line-height:1.2}.level-pill{height:32px;color:var(--np-on-primary);background:var(--np-primary);padding:0 14px;font-size:14px;font-weight:700}.quality-pill{height:32px;color:var(--np-sand-ink);background:var(--np-peach-soft);padding:0 12px;font-size:13px;font-weight:600}.audio-pill{min-height:30px;padding:0 10px;font-size:13px;font-weight:600}.exam-stats{color:var(--np-muted);flex-wrap:wrap;gap:10px;display:flex}.exam-stats span{border-radius:var(--np-radius-full);background:var(--np-surface);align-items:center;gap:7px;min-height:34px;padding:0 12px;display:inline-flex}.section-strip{flex-wrap:wrap;gap:8px;display:flex}.section-chip{min-height:30px;color:var(--np-body);background:var(--np-surface);padding:0 12px;font-size:13px;font-weight:600}.section-chip.vocab{background:var(--np-peach-soft);color:var(--np-sand-ink)}.section-chip.grammar{background:var(--np-sand-soft);color:var(--np-peach-ink)}.section-chip.listening{background:var(--np-rose-soft);color:var(--np-primary-active)}.card-progress,.progress-track{border-radius:var(--np-radius-full);background:var(--np-surface-strong);height:8px;position:relative;overflow:hidden}.card-progress span,.progress-track span{border-radius:inherit;background:var(--np-primary);height:100%;display:block}.primary-action,.secondary-action{border-radius:var(--np-radius-full);min-height:50px;font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;padding:0 22px;font-size:15px;font-weight:600;transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s,opacity .16s;display:inline-flex}.primary-action{color:var(--np-on-primary);background:var(--np-primary);box-shadow:0 10px 24px #ff385c38}.primary-action:hover{background:var(--np-primary-active);transform:translateY(-1px)}.primary-action:disabled{cursor:not-allowed;opacity:.46;box-shadow:none;transform:none}.secondary-action{border:1px solid var(--np-hairline);color:var(--np-ink);background:var(--np-canvas)}.secondary-action:hover{border-color:var(--np-border-strong,#c1c1c1);transform:translateY(-1px)}.secondary-action:disabled{cursor:not-allowed;opacity:.42;transform:none}.exam-shell{flex-direction:column;gap:14px;width:min(100%,1320px);padding:18px 24px 34px;display:flex}.exam-header{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 0 2px;display:grid}.exam-title-block{min-width:0;color:var(--np-muted);flex-direction:column;align-items:center;gap:2px;font-size:14px;display:flex}.exam-title-block span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.exam-title-block strong{color:var(--np-ink);font-size:20px;font-weight:600}.exam-progress-row{gap:12px;width:min(100%,760px);margin:0 auto;display:grid}.exam-countdown{color:var(--np-primary-active);gap:8px;display:grid}.exam-countdown-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.exam-countdown-meta span{color:var(--np-muted);align-items:center;gap:6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.exam-countdown-meta strong{color:var(--np-ink);font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;font-size:16px;font-weight:800;line-height:1}.exam-countdown-stage{color:var(--np-muted);font-size:13px;font-weight:700;line-height:1.3}.exam-countdown.elapsed{color:var(--np-coral-deep)}.time-progress-track{border-radius:var(--np-radius-full);background:var(--np-surface-strong);width:100%;height:7px;margin:0;overflow:hidden}.time-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--np-primary), var(--np-primary-border-strong));height:100%;transition:width .3s linear;display:block}.exam-countdown.elapsed .time-progress-track span{background:var(--np-coral-deep)}.exam-layout{grid-template-columns:174px minmax(0,1fr) 190px;align-items:start;gap:14px;display:grid}.section-panel,.question-map{padding:14px;position:sticky;top:18px}.panel-title{color:var(--np-muted);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.section-list{gap:8px;display:grid}.section-button{border-radius:var(--np-radius-md);min-height:42px;color:var(--np-body);background:var(--np-surface);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:14px;display:flex}.section-button:hover{background:var(--np-primary-softer)}.section-button.active{border-color:var(--np-primary-border);color:var(--np-primary-active);background:var(--np-primary-soft)}.question-panel{min-height:0;padding:24px 28px 22px}.question-panel.long-reading-panel{grid-template-columns:minmax(0,1fr) minmax(260px,34%);align-items:start;gap:14px 24px;display:grid}.long-reading-panel .question-meta,.long-reading-panel .question-panel-header,.long-reading-panel .audio-player,.long-reading-panel .problem-instruction,.long-reading-panel .question-actions{grid-column:1/-1}.question-panel-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.question-panel-header .question-meta{flex:auto;min-width:0}.question-panel-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.question-meta{color:var(--np-muted);flex-wrap:wrap;align-items:center;gap:9px;font-size:14px;font-weight:500;display:flex}.protected-question-content{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:relative}.protected-question-content:before{z-index:1;pointer-events:none;color:#2222220b;content:attr(data-watermark-domain);text-transform:lowercase;white-space:nowrap;font-size:clamp(18px,2.4vw,34px);font-weight:700;line-height:1;display:none;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-14deg)}.protected-question-content img{-webkit-user-drag:none}.protected-question-content input,.protected-question-content select,.protected-question-content textarea,.protected-question-content [contenteditable=true],.protected-question-content [data-copy-allowed=true]{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.question-feedback-trigger,.question-favorite-trigger{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);min-height:34px;color:var(--np-primary-active);background:var(--np-primary-soft);box-shadow:inset 0 1px 0 var(--np-inset-highlight);font:inherit;white-space:nowrap;cursor:pointer;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:700;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s;display:inline-flex}.question-feedback-trigger:hover,.question-feedback-trigger:focus-visible,.question-favorite-trigger:hover,.question-favorite-trigger:focus-visible{border-color:var(--np-primary-border-strong);background:var(--np-primary-softer);transform:translateY(-1px);box-shadow:0 8px 18px #ff385c1a}.question-favorite-trigger.active{border-color:var(--np-primary-border);color:var(--np-primary);background:var(--np-primary-soft)}.question-favorite-trigger.active svg{fill:currentColor}.question-feedback-dialog .app-dialog-content{margin-top:14px}.question-feedback-form{gap:10px;display:grid}.question-feedback-field{color:var(--np-ink);gap:8px;font-size:13px;font-weight:700;display:grid}.question-feedback-field textarea{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);width:100%;min-height:128px;color:var(--np-ink);background:linear-gradient(180deg, var(--np-canvas), var(--np-surface)), var(--np-canvas);box-shadow:inset 0 1px 0 var(--np-inset-highlight);font:inherit;resize:vertical;outline:0;padding:13px 14px;font-size:15px;line-height:1.55;transition:border-color .16s,box-shadow .16s,background-color .16s}.question-feedback-field textarea:focus{border-color:var(--np-primary-border-strong);box-shadow:0 0 0 4px #ff385c24, inset 0 1px 0 var(--np-inset-highlight)}.question-feedback-field textarea::placeholder{color:var(--np-muted-soft)}.question-feedback-footer{min-height:18px;color:var(--np-muted);justify-content:flex-end;font-size:12px;font-weight:650;display:flex}.question-feedback-footer .over-limit,.question-feedback-status.error{color:var(--np-coral-deep)}.question-feedback-status{border-radius:var(--np-radius-md);margin:0;padding:10px 12px;font-size:13px;font-weight:650;line-height:1.45}.question-feedback-status.success{color:#1f7a4d;background:#35aa6c1a;border:1px solid #35aa6c47}.question-feedback-status.error{border:1px solid var(--np-primary-border);background:var(--np-primary-soft)}.question-prompt{max-width:100%;color:var(--np-ink);letter-spacing:0;overflow-wrap:anywhere;white-space:pre-line;word-break:normal;margin:24px 0 22px;font-size:20px;font-weight:600;line-height:1.56}.inline-underlined{text-underline-offset:.18em;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-line:underline;text-decoration-thickness:.12em}.blank-parentheses{white-space:nowrap;justify-content:center;min-width:3.4em;margin:0 .28em;display:inline-flex}.problem-instruction{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);color:var(--np-body);background:var(--np-surface);white-space:pre-line;overflow-wrap:anywhere;margin:18px 0 -6px;padding:12px 14px;font-size:15px;font-weight:600;line-height:1.6}.problem-instruction.compact{margin:12px 0 4px;font-size:14px}.question-prompt.long-prompt{margin:10px 0 0;font-size:16px;font-weight:500;line-height:1.48}.question-image-frame{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-canvas);justify-content:center;max-height:none;margin:-4px 0 20px;padding:12px;display:flex;overflow:hidden}.question-image-frame.compact{max-height:420px;margin:10px 0 16px}.question-image-frame.image-first{margin:18px 0 22px}.question-image-frame.supplemental{margin:14px 0 20px;padding:10px}@media (width>=641px){.question-image-frame.listening-image{width:50%;margin-left:auto;margin-right:auto}}.question-image-frame.compact.image-first{margin:12px 0 16px}.question-image-frame.tabular-material{justify-content:flex-start;max-height:none}.long-reading-panel .question-image-frame.tabular-material{grid-column:1;margin-top:2px}.question-image-frame img{object-fit:contain;background:#fff;width:100%;max-width:1040px;height:auto;display:block}.question-image-frame.tabular-material img{width:min(100%, var(--reading-table-image-width));max-width:none}.question-image-frame.compact img{max-height:380px}.image-zoom-trigger{width:100%;min-width:0;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block;position:relative}.image-zoom-trigger:focus-visible{border-radius:var(--np-radius-md)}.image-zoom-hint{border-radius:var(--np-radius-full);width:36px;height:36px;color:var(--np-primary);box-shadow:var(--np-shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #ffffffd1;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:10px;right:10px}.image-lightbox{z-index:60;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#222222c7;display:grid;position:fixed;inset:0}.image-lightbox-close{z-index:2;top:calc(18px + env(safe-area-inset-top));border-radius:var(--np-radius-full);width:48px;height:48px;color:var(--np-ink);box-shadow:var(--np-shadow-md);cursor:pointer;background:#fffffff0;border:1px solid #ffffffd1;justify-content:center;align-items:center;display:inline-flex;position:fixed;right:18px}.image-lightbox-stage{min-width:0;min-height:0;padding:calc(86px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom));touch-action:manipulation;justify-content:center;align-items:center;display:flex;overflow:hidden}.image-lightbox-stage img{width:auto;max-width:100%;max-height:calc(100svh - 114px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:var(--np-radius-md);object-fit:contain;height:auto;box-shadow:var(--np-shadow-lg);background:#fff;display:block}.audio-player{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-md);background:linear-gradient(180deg, var(--np-primary-softer), var(--np-canvas)), var(--np-canvas);box-shadow:var(--np-shadow-sm);grid-template-columns:auto auto minmax(90px,1fr) auto auto;align-items:center;gap:10px;margin:18px 0 20px;padding:12px 14px;display:grid;position:relative}.audio-player audio{display:none}.audio-control-button{border-radius:var(--np-radius-full);width:36px;height:36px;color:var(--np-ink);background:var(--np-canvas);cursor:pointer;border:0;justify-content:center;align-items:center;transition:background-color .16s,color .16s,transform .16s;display:inline-flex}.audio-control-button:hover,.audio-control-button:focus-visible{color:var(--np-primary);background:var(--np-surface);transform:translateY(-1px)}.primary-audio-button{color:var(--np-on-primary);background:var(--np-primary)}.primary-audio-button:hover,.primary-audio-button:focus-visible{color:var(--np-on-primary);background:var(--np-primary-active)}.audio-time{color:var(--np-ink);white-space:nowrap;font-size:15px;font-weight:500}.audio-progress{appearance:none;width:100%;min-width:0;height:26px;accent-color:var(--np-primary);cursor:pointer;background:0 0;margin:0;display:block}.audio-progress:disabled{cursor:wait;opacity:.58}.audio-progress::-webkit-slider-runnable-track{border-radius:var(--np-radius-full);background:linear-gradient(90deg, var(--np-primary) 0 var(--audio-progress,0%), #e7dfe2 var(--audio-progress,0%) 100%);height:6px}.audio-progress::-webkit-slider-thumb{appearance:none;border-radius:var(--np-radius-full);background:var(--np-primary);border:3px solid #fff;width:16px;height:16px;margin-top:-5px;box-shadow:0 2px 8px #ff385c47}.audio-progress::-moz-range-track{border-radius:var(--np-radius-full);background:linear-gradient(90deg, var(--np-primary) 0 var(--audio-progress,0%), #e7dfe2 var(--audio-progress,0%) 100%);height:6px}.audio-progress::-moz-range-thumb{border-radius:var(--np-radius-full);background:var(--np-primary);border:3px solid #fff;width:12px;height:12px;box-shadow:0 2px 8px #ff385c47}.audio-speed-control{position:relative}.audio-speed-menu{z-index:25;border:1px solid var(--np-primary-border);border-radius:var(--np-radius-md);background:var(--np-canvas);min-width:194px;box-shadow:var(--np-shadow-lg);gap:10px;padding:12px;display:grid;position:absolute;bottom:calc(100% + 10px);right:0}.audio-speed-menu:after{border-right:1px solid var(--np-primary-border);border-bottom:1px solid var(--np-primary-border);background:var(--np-canvas);content:"";width:12px;height:12px;position:absolute;bottom:-7px;right:15px;transform:rotate(45deg)}.audio-speed-title{color:var(--np-muted);font-size:12px;font-weight:700}.audio-speed-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.audio-speed-options button{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);min-height:34px;color:var(--np-ink);background:var(--np-primary-softer);cursor:pointer;font-size:13px;font-weight:700}.audio-speed-options button:hover,.audio-speed-options button:focus-visible,.audio-speed-options button.active{color:var(--np-primary-active);background:var(--np-rose-soft);border-color:#ff8fa3}.exam-listening-audio{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-md);background:linear-gradient(180deg, var(--np-primary-softer), var(--np-canvas)), var(--np-canvas);box-shadow:var(--np-shadow-sm);grid-template-columns:auto minmax(0,1fr) minmax(120px,220px) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.exam-listening-audio audio{display:none}.exam-listening-audio-icon{border-radius:var(--np-radius-full);width:36px;height:36px;color:var(--np-on-primary);background:var(--np-primary);justify-content:center;align-items:center;display:inline-flex}.exam-listening-audio-copy{gap:3px;min-width:0;display:grid}.exam-listening-audio-copy strong{color:var(--np-ink);font-size:14px;font-weight:800;line-height:1.2}.exam-listening-audio-copy span{color:var(--np-muted);font-size:12px;font-weight:700;line-height:1.35}.exam-listening-progress{cursor:not-allowed}.exam-listening-progress:disabled{cursor:not-allowed;opacity:.72}.exam-listening-audio-lock{color:var(--np-muted);white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:800;display:inline-flex}.choices-list{gap:10px;display:grid}.answer-column{display:contents}.long-reading-panel .answer-column{grid-area:3/2/span 3;gap:12px;margin-top:10px;display:grid;position:sticky;top:88px}.long-reading-panel .answer-column .choices-list{grid-area:auto;margin-top:0;position:static;top:auto}.reading-answer-prompt{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);color:var(--np-ink);background:var(--np-surface);letter-spacing:0;overflow-wrap:anywhere;white-space:pre-line;margin:0;padding:14px 16px;font-size:17px;font-weight:650;line-height:1.56}.wrong-answer-card .reading-answer-prompt{margin:12px 0 0}.choice-button{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);min-height:52px;color:var(--np-ink);background:var(--np-canvas);box-shadow:none;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;padding:9px 12px 9px 9px;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s;display:grid}.choice-button:hover{border-color:var(--np-primary-border);background:var(--np-primary-softer)}.choice-button.selected{border-color:var(--np-primary-border-strong);background:var(--np-primary-soft);box-shadow:0 8px 20px #ff385c1a}.choice-index{border-radius:var(--np-radius-full);width:32px;height:32px;color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.choice-button.selected .choice-index{color:var(--np-on-primary);background:var(--np-primary)}.question-reference{gap:12px;margin-top:14px;display:grid}.long-reading-panel .question-reference{grid-column:1/-1}.reference-toggle{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);width:fit-content;min-height:42px;color:var(--np-primary-active);background:var(--np-primary-soft);font:inherit;cursor:pointer;align-items:center;gap:8px;padding:0 15px;font-size:14px;font-weight:600;display:inline-flex}.reference-toggle:hover{background:#ffe5ea}.reference-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);gap:8px;padding:14px;display:grid}.reference-block{border-radius:var(--np-radius-md);background:var(--np-canvas);gap:7px;min-width:0;padding:12px;display:grid}.reference-block span{color:var(--np-muted);font-size:13px;font-weight:600}.reference-block strong,.reference-block p,.reference-detail p{color:var(--np-ink);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.65}.answer-block strong{color:var(--np-sand-ink)}.reference-detail,.reference-empty{border-radius:var(--np-radius-md);background:var(--np-canvas);min-width:0}.reference-detail{overflow:clip}.reference-detail summary,.reference-detail-heading{min-height:44px;color:var(--np-primary-active);justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:700;display:flex}.reference-detail summary{cursor:pointer}.reference-detail-heading{border-bottom:1px solid var(--np-hairline-soft);color:var(--np-ink)}.reference-detail summary:after{content:"+";border-radius:var(--np-radius-full);width:22px;height:22px;color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.reference-detail[open] summary{border-bottom:1px solid var(--np-hairline-soft)}.reference-detail[open] summary:after{content:"-"}.reference-detail p{padding:12px}.reference-empty{color:var(--np-muted);padding:12px;font-size:14px;font-weight:600}.transcript-block p{max-height:320px;padding-right:4px;overflow:auto}.dot-grid{grid-template-columns:repeat(5,26px);gap:6px;display:grid}.compact-dot-grid{grid-template-columns:repeat(auto-fill,minmax(28px,1fr))}.question-map-summary{border-radius:var(--np-radius-md);background:var(--np-surface);color:var(--np-muted);align-items:baseline;gap:4px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.question-map-summary strong{color:var(--np-ink);font-size:20px}.question-dot{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);width:26px;height:26px;color:var(--np-muted);background:var(--np-canvas);font:inherit;cursor:pointer;justify-content:center;align-items:center;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.question-dot.answered{border-color:var(--np-primary-border);color:var(--np-primary-active);background:var(--np-primary-soft)}.question-dot.answer-correct{border-color:var(--np-success);color:var(--np-on-primary);background:var(--np-success)}.question-dot.answer-wrong{border-color:var(--np-coral-deep);color:var(--np-on-primary);background:var(--np-coral-deep)}.question-dot.current{outline:2px solid var(--np-primary);outline-offset:1px}.question-dot.current.answer-correct{outline-color:var(--np-success)}.question-dot.current.answer-wrong{outline-color:var(--np-coral-deep)}.question-dot-number{transform:translateY(.5px)}.question-map-gap{height:26px;color:var(--np-muted);justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.question-actions{border-top:1px solid var(--np-hairline-soft);justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;display:flex}.long-reading-panel .question-actions{margin-top:2px}.question-actions .primary-action,.question-actions .secondary-action{flex:none;min-width:132px;min-height:46px;padding:0 18px}.bottom-bar{z-index:5;border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);background:var(--np-topbar-bg);box-shadow:var(--np-shadow-md);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:space-between;gap:14px;margin-top:auto;padding:12px;display:flex;position:sticky;bottom:18px}.summary-shell{max-width:820px;padding-bottom:118px}.summary-header{color:var(--np-muted);font-weight:600}.summary-hero{text-align:center;grid-template-columns:1fr;padding-top:44px}.summary-hero .hero-copy{margin-left:auto;margin-right:auto}.summary-pass-pill{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);width:fit-content;color:var(--np-muted);background:var(--np-surface);justify-self:center;margin:0 auto 14px;padding:8px 14px;font-size:14px;font-weight:700}.summary-pass-pill.passed{color:#2f7658;background:#41a0781f;border-color:#36846347}.summary-pass-pill.failed{border-color:var(--np-primary-border);color:var(--np-primary-active);background:var(--np-primary-soft)}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.summary-metric{text-align:center;padding:24px}.summary-metric span{color:var(--np-muted);font-size:14px;font-weight:600}.summary-metric strong{color:var(--np-ink);overflow-wrap:anywhere;margin-top:10px;font-size:42px;line-height:1;display:block}.summary-metric-text strong{font-size:28px;line-height:1.18}.section-progress-list{gap:16px;padding:22px;display:grid}.section-progress-row{gap:10px;display:grid}.section-progress-row>div:first-child{color:var(--np-body);justify-content:space-between;gap:16px;font-weight:600;display:flex}.wrong-answer-list{gap:14px;padding:22px;display:grid}.wrong-answer-list .panel-title{margin-bottom:4px}.empty-review{border-radius:var(--np-radius-md);color:var(--np-muted);background:var(--np-surface);padding:18px;font-weight:500}.wrong-answer-card{padding:20px}.wrong-answer-card h2{color:var(--np-ink);letter-spacing:0;white-space:pre-line;margin:16px 0;font-size:18px;font-weight:600;line-height:1.55}.wrong-answer-card .audio-player{margin:12px 0 16px}.answer-review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.review-answer{border-radius:var(--np-radius-md);background:var(--np-surface);gap:8px;padding:14px;display:grid}.review-answer span{color:var(--np-muted);font-size:13px;font-weight:600}.review-answer strong{color:var(--np-ink);font-size:15px;line-height:1.45}.selected-answer strong{color:var(--np-primary-active)}.correct-answer strong{color:var(--np-sand-ink)}.answer-explanation-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);margin-top:14px;overflow:hidden}.answer-explanation-header{border-bottom:1px solid var(--np-hairline-soft);background:var(--np-canvas);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 12px 8px 14px;display:flex}.answer-explanation-header h3{color:var(--np-ink);margin:0;font-size:14px;font-weight:700;line-height:1.4}.answer-explanation-panel>p{color:var(--np-body);white-space:pre-line;margin:0;padding:13px 14px 16px;font-size:14px;line-height:1.72}.transcript-toggle{border-radius:var(--np-radius-md);background:var(--np-surface);margin-top:14px}.transcript-toggle summary{cursor:pointer;color:var(--np-primary-active);padding:14px;font-weight:600}.transcript-toggle p{color:var(--np-body);white-space:pre-line;margin:0;padding:0 14px 16px;font-size:14px;line-height:1.7}.mode-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);min-height:116px;color:var(--np-ink);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);text-align:left;gap:14px;padding:18px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.mode-card:hover{border-color:var(--np-primary-border);box-shadow:var(--np-shadow-md);transform:translateY(-2px)}.mode-card-main{width:100%;min-height:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:0;display:grid}.mode-card-main:focus-visible,.replica-feature-item:focus-visible{outline-offset:3px;outline:3px solid #ff385c3d}.mode-card.primary-mode-card{border-color:var(--np-primary-border);background:var(--np-primary-softer)}.mode-card.disabled{cursor:not-allowed;opacity:.62}.mode-icon{border-radius:var(--np-radius-full);width:44px;height:44px;color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;display:inline-flex}.mode-card:not(.primary-mode-card) .mode-icon{color:var(--np-coral-muted);background:var(--np-surface)}.mode-card strong,.mode-card small{display:block}.mode-card strong{font-size:18px;font-weight:650}.mode-card small{color:var(--np-muted);margin-top:6px;font-size:13px;line-height:1.35}.practice-test-home-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.practice-test-home-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);min-height:132px;color:var(--np-ink);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:20px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.practice-test-home-card:hover{border-color:var(--np-primary-border);box-shadow:var(--np-shadow-md);transform:translateY(-2px)}.practice-test-home-card strong,.practice-test-home-card small{display:block}.practice-test-home-card strong{font-size:20px;font-weight:700}.practice-test-home-card small{color:var(--np-muted);margin-top:7px;font-size:14px;line-height:1.42}@media (width<=640px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-metric{padding:20px 16px}.wrong-answer-list{gap:12px;padding:16px 14px}.wrong-answer-card{min-width:0;padding:15px;overflow:hidden}.wrong-answer-card h2{margin:12px 0;font-size:16px;line-height:1.62}.wrong-answer-card .reading-answer-prompt{padding:12px 13px;font-size:15px;line-height:1.55}.wrong-answer-card .audio-player{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"play time mute speed""progress progress progress progress";gap:8px;padding:10px}.wrong-answer-card .primary-audio-button{grid-area:play}.wrong-answer-card .audio-time{text-overflow:ellipsis;grid-area:time;min-width:0;font-size:13px;overflow:hidden}.wrong-answer-card .audio-player>.audio-control-button:not(.primary-audio-button){grid-area:mute}.wrong-answer-card .audio-speed-control{grid-area:speed}.wrong-answer-card .audio-control-button{width:34px;height:34px}.wrong-answer-card .audio-progress{grid-area:progress;min-width:54px}.wrong-answer-card .answer-review-grid{grid-template-columns:1fr}.answer-explanation-header{padding-left:12px}.answer-explanation-panel>p{padding:12px}.top-nav-link{min-height:36px;padding:0 12px;font-size:13px}}@media (width<=420px){.summary-grid{grid-template-columns:1fr}.wrong-answer-list{padding:14px 12px}.wrong-answer-card{padding:13px}.wrong-answer-card .audio-player{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"play time mute""progress progress progress"}.wrong-answer-card .audio-speed-control{display:none}}.onboarding-shell{max-width:860px}.onboarding-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);gap:18px;padding:26px 22px 22px;display:grid}.form-field{gap:8px;display:grid}.form-field span,.focus-field legend{color:var(--np-ink);font-size:13px;font-weight:700}.form-field input{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);min-height:46px;color:var(--np-ink);background:var(--np-canvas);font:inherit;background:linear-gradient(180deg, var(--np-canvas), var(--np-surface)), var(--np-canvas);width:100%;box-shadow:inset 0 1px 0 var(--np-inset-highlight);outline:0;padding:0 14px;font-size:15px;transition:border-color .16s,box-shadow .16s,background-color .16s}.form-field input:focus{border-color:var(--np-primary-border-strong);box-shadow:0 0 0 4px #ff385c24, inset 0 1px 0 var(--np-inset-highlight)}.form-field small{color:var(--np-muted);font-size:12px;font-weight:650}.form-field-error{color:var(--np-coral-deep)!important}.focus-field{border:0;gap:12px;min-width:0;margin:0;padding:2px 0 0;display:grid}.focus-field p{color:var(--np-muted);margin:0;font-size:13px}.focus-options{flex-wrap:wrap;gap:10px 8px;display:flex}.onboarding-submit{justify-self:start;margin-top:4px}.section-chip.vocabulary,.section-chip.reading{background:var(--np-peach-soft);color:var(--np-sand-ink)}button:focus-visible{outline-offset:3px;outline:3px solid #ff385c47}.onboarding-guide-backdrop{z-index:1200;background:#22222257;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.onboarding-guide-dialog{border:1px solid var(--np-hairline-soft);background:var(--np-canvas);width:min(560px,100vw - 32px);max-height:calc(100svh - 40px);box-shadow:var(--np-shadow-lg);border-radius:8px;gap:16px;padding:24px;display:grid;position:relative;overflow:auto}.onboarding-guide-close,.onboarding-checklist-close,.onboarding-task-close{border:1px solid var(--np-hairline-soft);width:34px;height:34px;color:var(--np-muted);background:var(--np-canvas);cursor:pointer;border-radius:999px;place-items:center;display:inline-grid}.onboarding-guide-close{position:absolute;top:16px;right:16px}.onboarding-task-close{position:absolute;top:14px;right:14px}.onboarding-guide-kicker{width:fit-content;color:var(--np-coral-muted);background:var(--np-primary-softer);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex}.onboarding-guide-dialog h2,.onboarding-checklist-panel h2,.onboarding-task-dialog h2{color:var(--np-ink);margin:0;line-height:1.16}.onboarding-guide-dialog h2{max-width:calc(100% - 46px);font-size:28px}.onboarding-guide-dialog p,.onboarding-checklist-panel p,.onboarding-task-dialog p{color:var(--np-muted);margin:0}.onboarding-guide-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.onboarding-guide-list li{border:1px solid var(--np-hairline-soft);background:var(--np-surface);border-radius:8px;gap:3px;padding:12px;display:grid}.onboarding-guide-list strong{color:var(--np-ink)}.onboarding-guide-list span{color:var(--np-muted);font-size:14px}.onboarding-guide-action{justify-self:start}.onboarding-checklist{z-index:1210;pointer-events:none;width:min(320px,100vw - 36px);position:fixed;bottom:18px;right:18px}.onboarding-checklist>*{pointer-events:auto}.onboarding-checklist-toggle{border:1px solid var(--np-primary-border);width:100%;min-height:44px;color:var(--np-ink);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);cursor:pointer;border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 12px;display:grid}.onboarding-checklist-toggle-title{text-overflow:ellipsis;white-space:nowrap;font-weight:850;overflow:hidden}.onboarding-checklist-mail-icon{display:none}.onboarding-checklist-toggle strong{color:var(--np-on-primary);background:var(--np-primary);border-radius:999px;padding:2px 7px;font-size:11px}.onboarding-checklist-panel{border:1px solid var(--np-hairline-soft);background:var(--np-canvas);box-shadow:var(--np-shadow-md);border-radius:8px;gap:10px;margin-top:8px;padding:12px;display:grid}.onboarding-checklist-panel header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.onboarding-checklist-panel h2{font-size:16px}.onboarding-checklist-panel p{margin-top:4px;font-size:12px}.onboarding-checklist-tasks{gap:6px;margin:0;padding:0;list-style:none;display:grid}.onboarding-checklist-tasks button{border:1px solid var(--np-hairline-soft);width:100%;min-height:58px;color:var(--np-ink);background:var(--np-canvas);text-align:left;cursor:pointer;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.onboarding-checklist-tasks button.is-next{border-color:var(--np-primary-border-strong);background:var(--np-primary-softer)}.onboarding-checklist-tasks span{gap:2px;min-width:0;display:grid}.onboarding-checklist-tasks strong,.onboarding-checklist-tasks small{overflow-wrap:anywhere}.onboarding-checklist-tasks strong{font-size:13px;line-height:1.25}.onboarding-checklist-tasks small{-webkit-line-clamp:2;color:var(--np-muted);-webkit-box-orient:vertical;font-size:11px;line-height:1.32;display:-webkit-box;overflow:hidden}.onboarding-checklist-tasks em{color:var(--np-muted);background:var(--np-surface);white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;font-style:normal;font-weight:800}.onboarding-checklist-tasks .task-status{color:var(--np-muted-soft)}.onboarding-checklist-tasks .task-status.is-complete{color:var(--np-success)}.onboarding-task-backdrop{z-index:1250;background:#22222247;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.onboarding-task-dialog{border:1px solid var(--np-hairline-soft);background:var(--np-canvas);width:min(380px,100vw - 32px);box-shadow:var(--np-shadow-lg);border-radius:8px;gap:12px;padding:20px;display:grid;position:relative}.onboarding-task-kicker{width:fit-content;color:var(--np-coral-muted);background:var(--np-primary-softer);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:850}.onboarding-task-dialog h2{max-width:calc(100% - 42px);font-size:22px}.onboarding-task-dialog p{font-size:14px;line-height:1.48}.onboarding-task-action{justify-self:start;min-height:42px}@media (width<=640px){.onboarding-guide-backdrop{place-items:end center;padding:0}.onboarding-guide-dialog{width:100%;max-height:min(82svh,680px);padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0}.onboarding-checklist{z-index:1210;pointer-events:none;width:auto;margin:0;position:fixed;top:clamp(96px,22svh,174px);bottom:auto;right:0}.onboarding-checklist.is-open{top:calc(var(--navbar-height,65px) + 12px);width:min(326px,100vw - 20px);right:10px}.onboarding-checklist-toggle{background:linear-gradient(180deg, var(--np-canvas), var(--np-primary-softer)), var(--np-canvas);width:60px;min-height:58px;box-shadow:var(--np-shadow-md);border-right:0;border-radius:18px 0 0 18px;grid-template-columns:1fr;justify-items:center;gap:2px;padding:9px 8px 8px;position:relative}.onboarding-checklist.is-open .onboarding-checklist-toggle,.onboarding-checklist-list-icon{display:none}.onboarding-checklist-mail-icon{color:var(--np-primary);display:block}.onboarding-checklist-toggle-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.onboarding-checklist-toggle strong{border:1px solid var(--np-primary-border-strong);color:var(--np-primary);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);padding:2px 6px;font-size:10px;position:absolute;top:-8px;right:5px}.onboarding-checklist-panel{border-color:var(--np-primary-border);max-height:min(68svh,470px);box-shadow:var(--np-shadow-lg);margin-top:0;overflow:auto}.onboarding-checklist-tasks button{grid-template-columns:auto minmax(0,1fr) auto}.onboarding-checklist-tasks button>svg:last-child{display:none}.onboarding-task-backdrop{place-items:end center;padding:0}.onboarding-task-dialog{width:100%;max-height:min(72svh,560px);padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:8px 8px 0 0;overflow:auto}}@media (width<=1100px){.level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.exam-layout{grid-template-columns:1fr}.section-panel,.question-map{position:static}.section-list{grid-template-columns:repeat(3,minmax(0,1fr))}.section-button{min-width:0}.question-map{order:3}.dot-grid{grid-template-columns:repeat(auto-fill,minmax(28px,1fr))}.question-panel.long-reading-panel{display:block}.long-reading-panel .answer-column{margin-top:0;display:grid;position:static}.question-prompt.long-prompt{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);padding:12px 14px}.study-search{border-radius:var(--np-radius-xl);grid-template-columns:repeat(3,minmax(0,1fr)) auto}.study-search-levels{border-top:1px solid var(--np-hairline-soft);grid-column:1/-1;padding:12px 0 0}.search-orb{grid-area:1/4}.study-search-segment:nth-child(3){border-right:0}}@media (width<=980px){.app-shell{padding:20px}.exam-grid,.catalog-hero,.exam-layout,.summary-grid,.answer-review-grid,.mode-grid{grid-template-columns:1fr}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-panel,.question-map{position:static}.question-panel.long-reading-panel{display:block}.long-reading-panel .answer-column{margin-top:0;display:grid;position:static}.question-prompt.long-prompt{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);padding:12px 14px}.section-list{grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:0;display:grid;overflow:visible}.section-button{min-width:0}.question-map{order:3}.dot-grid{grid-template-columns:repeat(auto-fill,minmax(28px,1fr))}}@media (width<=760px){.exam-year-list{justify-items:center}.exam-row{grid-template-columns:1fr;align-items:stretch;width:min(100%,500px)}.exam-row-progress{width:100%;max-width:100%}.study-search{border-radius:var(--np-radius-xl);grid-template-columns:1fr 56px;gap:0;padding:10px}.study-search-segment{border-right:0;border-bottom:1px solid var(--np-hairline-soft);grid-column:1/-1;padding:12px 10px}.study-search-segment:first-child{padding-left:10px}.study-search-levels{border-top:0;flex-wrap:wrap;grid-column:1;padding:12px 10px 2px}.search-orb{grid-area:4/2;align-self:end;margin-bottom:2px}}@media (width<=640px){.app-shell{padding:18px 14px}.home-shell,.summary-shell{gap:22px}.top-bar{border-radius:24px;flex-wrap:wrap;gap:6px 10px;min-height:64px;padding:7px 10px 9px}.brand-mark{gap:8px;font-size:16px}.brand-icon{width:34px;height:34px}.top-nav{scrollbar-width:none;flex:1 0 100%;order:3;justify-content:safe center;padding-top:2px;overflow-x:auto}.top-nav::-webkit-scrollbar{display:none}.top-nav-link{min-height:40px;padding:0 11px;font-size:12.5px}.top-actions{flex-wrap:wrap;gap:6px}.top-login-button{min-height:44px;padding:0 16px}.top-user-label{max-width:132px}.top-actions span,.icon-button{width:40px;height:40px}.exam-header-actions,.summary-header-actions{gap:6px}.exam-header-actions-placeholder{width:40px;height:40px}.app-dialog-backdrop{padding:16px max(14px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));align-items:end}.app-dialog{border-radius:var(--np-radius-lg);width:100%}.app-dialog-body{grid-template-columns:1fr;gap:12px;padding:24px 18px 16px}.app-dialog-icon{width:44px;height:44px}.app-dialog-copy{padding-right:38px}.app-dialog-actions{grid-template-columns:1fr;padding:0 18px 18px;display:grid}.app-dialog-action{width:100%}.explanation-language-toggle{min-height:40px}.explanation-language-button{min-width:48px;height:30px;font-size:12px}.home-hero,.summary-hero,.catalog-hero{grid-template-columns:1fr;padding-top:18px}.home-hero h1,.summary-hero h1,.catalog-hero h1,.level-title-row h1{font-size:34px}.level-grid{grid-template-columns:1fr}.level-title-row{flex-direction:column;justify-content:flex-start;align-items:flex-start}.exam-row{border-radius:var(--np-radius-lg);text-align:center;gap:10px;padding:14px}.exam-row-main{grid-template-columns:auto minmax(0,max-content);justify-content:center;align-items:center;gap:10px;display:grid}.exam-row-main>div{text-align:left;justify-items:start;display:grid}.date-pill{min-width:70px;height:38px;font-size:13px}.exam-row h2{margin-bottom:5px;font-size:17px}.exam-row-meta{justify-content:center;gap:8px;font-size:12px}.exam-row-meta svg{width:13px;height:13px}.exam-row-progress{justify-items:center;gap:6px}.exam-row-progress .card-progress{width:min(100%,420px)}.compact-strip{justify-content:center;gap:5px}.section-chip{min-height:28px;padding:0 10px;font-size:12px}.row-action{justify-self:center;width:min(124px,100%);min-height:44px}.hero-copy{margin-top:12px;font-size:15.5px;line-height:1.62}.home-search-hero{border-radius:26px;min-height:214px}.home-search-hero-copy{width:min(360px,48%);left:28%}.home-search-hero-copy h1{font-size:32px}.home-search-hero-copy p:not(.eyebrow){font-size:14.5px;line-height:1.48}.mode-card{min-height:104px;padding:16px}.mode-card-main{grid-template-columns:auto minmax(0,1fr)}.mode-card-main>svg{display:none}.practice-test-home-grid{grid-template-columns:1fr}.hero-badge{justify-self:start}.exam-card{min-height:300px;padding:20px}.exam-card-head{flex-direction:column}.exam-card h2{font-size:24px}.exam-title-block span{display:none}.exam-progress-row,.exam-countdown{width:100%}.progress-track{width:min(100%,420px)}.section-panel{padding:14px}.section-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.section-button{text-align:center;flex-direction:column;justify-content:center;gap:4px;min-height:58px;padding:8px 6px}.section-button span,.section-button strong{font-size:13px;line-height:1.15}.question-panel{min-height:auto;padding:24px 18px 96px}.question-panel-header{gap:10px}.question-panel-actions{gap:8px}.question-feedback-trigger,.question-favorite-trigger{width:40px;min-height:40px;padding:0}.question-feedback-trigger span,.question-favorite-trigger span{display:none}.question-panel.long-reading-panel{padding-bottom:28px}.audio-player{padding:12px}.exam-listening-audio{grid-template-columns:auto minmax(0,1fr)}.exam-listening-progress,.exam-listening-audio-lock{grid-column:1/-1}.exam-listening-audio-lock{justify-content:flex-start}.question-prompt{margin:24px 0 22px;font-size:19px;line-height:1.54}.question-prompt.long-prompt{font-size:15px;line-height:1.48}.choice-button{border-radius:var(--np-radius-md);grid-template-columns:30px minmax(0,1fr);min-height:48px}.bottom-bar{border-radius:26px;bottom:10px}.question-map{margin-bottom:calc(92px + env(safe-area-inset-bottom))}.question-actions{z-index:20;bottom:calc(10px + env(safe-area-inset-bottom));border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);background:var(--np-topbar-bg);box-shadow:var(--np-shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);gap:12px;margin:0;padding:10px;position:fixed;left:14px;right:14px}.long-reading-panel .question-actions{margin-top:18px;position:static}.question-panel:has(.reference-panel) .question-actions{margin-top:18px;position:static}.question-actions .primary-action,.question-actions .secondary-action{flex:1 1 0;min-width:0;padding:0 14px}.question-actions.checkpoint-question-actions{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;display:grid}.checkpoint-question-actions .question-nav-action{width:44px;min-width:44px;padding:0}.checkpoint-question-actions .question-nav-action .question-action-label{display:none}.checkpoint-question-actions .checkpoint-finish-action,.checkpoint-question-actions .checkpoint-continue-action{white-space:nowrap;min-width:0;min-height:44px;padding:0 10px;font-size:13px}.checkpoint-question-actions .checkpoint-finish-action svg,.checkpoint-question-actions .checkpoint-continue-action svg{width:16px;height:16px}.practice-checkpoint-copy{display:none}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.summary-metric{padding:18px 12px}.summary-metric strong{font-size:36px}}@media (width<=720px){.home-search-hero{background:var(--home-search-hero-image-bg);border-radius:26px;flex-direction:column;min-height:auto;display:flex}.home-search-hero-copy{width:auto;max-width:none;padding:20px 20px 0;position:static;transform:none}.home-search-hero-copy h1{font-size:30px;line-height:1.1}.home-search-hero-copy p:not(.eyebrow){margin-top:10px;font-size:14px;line-height:1.46}}@media (width<=420px){.exam-row-main{grid-template-columns:1fr;justify-items:center}.exam-row-main>div{text-align:center;justify-items:center}}.app-status-hero{align-items:center;min-height:min(560px,100svh - 180px)}.loading-status-hero{grid-template-columns:minmax(0,.92fr) minmax(280px,.68fr);gap:42px}.loading-kicker{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);min-height:32px;color:var(--np-primary-active);background:var(--np-primary-soft);align-items:center;gap:8px;margin-bottom:14px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}@media (width<=760px){.loading-status-hero{grid-template-columns:1fr;justify-items:center;gap:0;min-height:min(520px,100svh - 124px);padding-top:10px}.loading-status-hero .app-status-copy{display:none}}.loading-illustration{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-xl);background:linear-gradient(90deg, #ff385c0f 1px, transparent 1px), linear-gradient(180deg, #ff385c0a 1px, transparent 1px), linear-gradient(145deg, var(--np-canvas), var(--np-primary-softer));min-height:330px;box-shadow:var(--np-shadow-md);background-size:44px 44px,44px 44px,auto;place-items:center;display:grid;position:relative;overflow:hidden}.loading-paper-stack{width:180px;height:214px;animation:2.8s ease-in-out infinite loading-stack-float;position:relative}.loading-paper-stack>span{border:1px solid var(--np-primary-border);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);border-radius:18px;position:absolute;inset:18px 14px}.loading-paper-stack>span:first-child{opacity:.72;transform:rotate(-8deg)translate(-14px,12px)}.loading-paper-stack>span:nth-child(2){opacity:.84;transform:rotate(7deg)translate(14px,8px)}.loading-paper{border:1px solid var(--np-primary-border-strong);color:var(--np-ink);background:var(--np-canvas);box-shadow:var(--np-shadow-lg);border-radius:22px;align-content:start;gap:18px;padding:22px;display:grid;position:absolute;inset:0;overflow:hidden}.loading-paper-head{color:var(--np-primary-active);justify-content:space-between;align-items:center;font-weight:800;display:flex}.loading-paper-lines{gap:13px;display:grid}.loading-paper-lines span{border-radius:var(--np-radius-full);background:var(--np-surface-strong);height:10px;display:block}.loading-paper-lines span:first-child{width:100%}.loading-paper-lines span:nth-child(2){width:74%}.loading-paper-lines span:nth-child(3){width:88%}.loading-scan-line{background:linear-gradient(90deg,#0000,#ff385c2e,#0000);width:42%;animation:2.2s ease-in-out infinite loading-scan;position:absolute;top:0;bottom:0;left:-42%}.loading-audio-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);min-height:52px;color:var(--np-primary);background:var(--np-topbar-bg);box-shadow:var(--np-shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);align-items:center;gap:12px;padding:0 15px;display:flex;position:absolute;top:44px;right:34px}.loading-waveform{align-items:center;gap:4px;height:28px;display:flex}.loading-waveform span{border-radius:var(--np-radius-full);background:var(--np-primary);width:4px;height:10px;animation:.98s ease-in-out infinite loading-wave}.loading-waveform span:nth-child(2){animation-delay:.12s}.loading-waveform span:nth-child(3){animation-delay:.24s}.loading-waveform span:nth-child(4){animation-delay:.36s}.loading-waveform span:nth-child(5){animation-delay:.48s}.loading-level-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid;position:absolute;bottom:28px;left:26px;right:26px}.loading-level-track span{border-radius:var(--np-radius-full);min-height:34px;color:var(--np-primary-active);background:var(--np-primary-soft);place-items:center;font-size:12px;font-weight:800;animation:1.8s ease-in-out infinite loading-level-step;display:inline-grid}.loading-level-track span:nth-child(2){animation-delay:.16s}.loading-level-track span:nth-child(3){animation-delay:.32s}.loading-level-track span:nth-child(4){animation-delay:.48s}.loading-level-track span:nth-child(5){animation-delay:.64s}@media (width<=760px){.loading-illustration{width:min(100%,330px);min-height:320px}.loading-audio-card,.loading-level-track{display:none}}@media (width<=420px){.loading-illustration{border-radius:28px;width:min(100%,280px);min-height:286px}.loading-paper-stack{width:154px;height:186px}.loading-paper{border-radius:20px;gap:15px;padding:19px}}@media (prefers-reduced-motion:reduce){.loading-audio-card,.loading-level-track span,.loading-paper-stack,.loading-scan-line,.loading-waveform span{animation:none}}@keyframes loading-stack-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-9px)rotate(1deg)}}@keyframes loading-scan{0%{transform:translate(0)}58%,to{transform:translate(340%)}}@keyframes loading-wave{0%,to{opacity:.62;height:9px}50%{opacity:1;height:26px}}@keyframes loading-level-step{0%,to{color:var(--np-primary-active);background:var(--np-primary-soft);transform:translateY(0)}45%{color:var(--np-on-primary);background:var(--np-primary);transform:translateY(-3px)}}.fiftysound-shell{max-width:1120px}.fiftysound-hero{gap:18px;padding:8px 4px 0;display:grid}.fiftysound-title-block{justify-content:space-between;align-items:end;gap:22px;display:flex}.fiftysound-title-block h1{color:var(--np-ink);letter-spacing:0;margin:0;font-size:clamp(38px,6vw,64px);line-height:1}.kana-control-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:24px;padding:22px 24px;display:grid}.kana-filter-group{gap:16px;min-width:0;display:grid}.kana-segmented-control,.kana-script-toggle,.kana-practice-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kana-segmented-control{justify-content:center}.kana-segment{border-radius:var(--np-radius-full);min-height:40px;color:var(--np-muted);background:var(--np-surface);font:inherit;cursor:pointer;border:0;padding:0 20px;font-size:14px;font-weight:700;transition:background-color .16s,color .16s,transform .16s}.kana-segment:hover{color:var(--np-primary);background:var(--np-primary-soft);transform:translateY(-1px)}.kana-segment.active{color:var(--np-on-primary);background:var(--np-primary)}.kana-script-toggle{border-top:1px solid var(--np-hairline-soft);color:var(--np-muted);justify-content:center;padding-top:14px}.kana-script-button{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);min-height:38px;color:var(--np-muted);background:var(--np-canvas);font:inherit;cursor:pointer;padding:0 18px;font-size:13px;font-weight:700}.kana-script-button.active{border-color:var(--np-primary-border);color:var(--np-primary);background:var(--np-primary-soft)}.kana-practice-actions{flex-direction:column;justify-content:center;justify-self:end;align-items:stretch;width:100%}.kana-practice-actions .compact-action{justify-content:flex-start;width:100%;padding:0 18px}.fiftysound-layout{grid-template-columns:minmax(0,1fr) 286px;align-items:start;gap:18px;display:grid}.kana-chart-card,.kana-detail-panel,.kana-practice-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm)}.kana-chart-card{padding:18px;overflow:hidden}.kana-chart-grid{gap:8px;display:grid}.kana-row{grid-template-columns:58px repeat(5,minmax(58px,1fr));gap:8px;display:grid}.kana-row-label,.kana-column-label{border-radius:var(--np-radius-md);min-height:44px;color:var(--np-muted);background:var(--np-surface);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.romaji-visibility-toggle{appearance:none;cursor:pointer;border:1px solid #0000;flex-direction:column;gap:3px;padding:4px 3px;transition:border-color .16s,background-color .16s,color .16s}.romaji-visibility-toggle:hover{border-color:var(--np-primary-border);background:var(--np-primary-soft);color:var(--np-primary-active)}.romaji-visibility-toggle.active{border-color:var(--np-primary-border-strong);color:var(--np-primary-active);background:var(--np-primary-soft)}.romaji-toggle-track{border-radius:var(--np-radius-full);background:var(--np-hairline);width:30px;height:16px;transition:background-color .16s;display:block;position:relative}.romaji-visibility-toggle.active .romaji-toggle-track{background:var(--np-primary)}.romaji-toggle-thumb{border-radius:var(--np-radius-full);background:var(--np-canvas);width:12px;height:12px;box-shadow:var(--np-shadow-sm);transition:transform .16s;position:absolute;top:2px;left:2px}.romaji-visibility-toggle.active .romaji-toggle-thumb{transform:translate(14px)}.romaji-toggle-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:10px;font-weight:800;line-height:1;display:block;overflow:hidden}.kana-cell{aspect-ratio:1;border-radius:var(--np-radius-md);background:var(--np-surface);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;min-width:0;display:inline-flex}.kana-cell.has-kana{color:var(--np-ink);cursor:pointer;transition:transform .16s,border-color .16s,background-color .16s,color .16s}.kana-cell.has-kana:hover{border-color:var(--np-primary-border);background:var(--np-primary-soft);transform:translateY(-1px)}.kana-cell.has-kana.selected{color:var(--np-on-primary);background:var(--np-primary)}.kana-cell.empty{color:var(--np-muted-soft);background:0 0}.kana-main{font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:clamp(25px,4vw,34px);font-weight:800;line-height:1}.kana-secondary,.kana-romaji{color:var(--np-muted);margin-top:4px;font-size:12px;font-weight:650;line-height:1}.kana-cell.selected .kana-secondary,.kana-cell.selected .kana-romaji{color:#ffffffd1}.youon-chart{gap:22px;display:grid}.youon-section{gap:12px;display:grid}.youon-section h2{color:var(--np-muted);margin:0;font-size:15px;font-weight:800}.youon-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.kana-detail-panel{gap:16px;padding:18px;display:grid;position:sticky;top:24px}.kana-detail-panel h2{color:var(--np-ink);margin:0;font-size:18px}.kana-detail-panel p{color:var(--np-muted);margin:0;font-size:14px;line-height:1.6}.kana-detail-main{border-radius:var(--np-radius-lg);background:var(--np-primary-softer);justify-items:center;gap:10px;padding:18px;display:grid}.kana-detail-main>span{color:var(--np-primary);font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:72px;font-weight:850;line-height:1}.kana-detail-main>strong{color:var(--np-ink);font-size:20px}.kana-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.kana-comparison>div{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);justify-items:center;gap:4px;padding:12px;display:grid}.kana-comparison small{color:var(--np-muted);font-size:12px;font-weight:700}.kana-comparison strong{color:var(--np-ink);font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:28px}.kana-practice-panel{gap:18px;padding:20px;display:grid}.kana-practice-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.kana-practice-header h2{color:var(--np-ink);margin:0;font-size:20px}.kana-practice-header p{color:var(--np-muted);margin:6px 0 0;font-size:14px;line-height:1.5}.quiz-progress,.matching-progress{color:var(--np-muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.quiz-card{border-radius:var(--np-radius-lg);background:var(--np-surface);justify-items:center;gap:18px;padding:22px;display:grid}.writing-quiz-card{align-items:center;min-height:196px}.writing-practice-row{grid-template-columns:auto minmax(0,460px);justify-content:center;align-items:center;gap:18px;width:min(100%,760px);display:grid}.writing-practice-row .quiz-sound-button{min-width:180px}.quiz-kana-display{color:var(--np-primary);font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:76px;font-weight:850;line-height:1}.quiz-sound-button{border-radius:var(--np-radius-full);min-height:58px;color:var(--np-on-primary);background:var(--np-primary);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:16px;font-weight:800;display:inline-flex}.romaji-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:min(100%,560px);display:grid}.romaji-option,.matching-choice{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);color:var(--np-ink);background:var(--np-canvas);font:inherit;cursor:pointer;font-weight:800;transition:transform .16s,border-color .16s,background-color .16s,color .16s}.romaji-option{min-height:54px;font-size:17px}.romaji-option:hover:not(:disabled),.matching-choice:hover:not(:disabled){border-color:var(--np-primary-border);color:var(--np-primary);background:var(--np-primary-soft);transform:translateY(-1px)}.romaji-option.correct,.matching-choice.matched{color:#15803d;background:#dcfce7;border-color:#22c55e47}.romaji-option.wrong,.matching-choice.wrong{color:#b91c1c;background:#fee2e2;border-color:#ef444447;animation:.72s cubic-bezier(.34,1.56,.64,1) kana-wrong-choice-feedback}.writing-answer{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:12px;width:100%;display:grid}.kana-input{border:1px solid var(--np-hairline);border-radius:var(--np-radius-full);width:100%;min-height:50px;color:var(--np-ink);background:var(--np-canvas);font:inherit;text-align:center;padding:0 18px;font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:22px;font-weight:800}.kana-input:focus{border-color:var(--np-primary);outline:3px solid #ff385c29}.practice-result-card{border-radius:var(--np-radius-md);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:14px 16px;font-size:14px;font-weight:750;display:flex}.practice-result-card.correct{color:#15803d;background:#dcfce7}.practice-result-card.wrong{color:#b91c1c;background:#fee2e2;animation:.34s ease-out kana-wrong-result-feedback}.practice-result-card strong{color:inherit}.practice-next-row{justify-content:center;display:flex}.matching-board{grid-template-columns:repeat(2,minmax(0,180px));justify-content:center;gap:42px;display:grid}.matching-column{gap:10px;display:grid}.matching-choice{min-height:58px;font-family:Hiragino Sans,Yu Gothic,sans-serif;font-size:28px}.matching-choice.selected{border-color:var(--np-primary);color:var(--np-on-primary);background:var(--np-primary);transform:translateY(-1px)}.matching-choice:disabled{cursor:default}@keyframes kana-wrong-choice-feedback{0%{transform:translate(0);box-shadow:0 0 #ef444433}20%{transform:translate(-7px)}40%{transform:translate(6px);box-shadow:0 0 0 6px #ef44441f}60%{transform:translate(-4px)}80%{transform:translate(2px)}to{transform:translate(0);box-shadow:0 0 #ef444400}}@keyframes kana-wrong-result-feedback{0%{transform:scale(.98)}55%{transform:scale(1.015)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.romaji-option.wrong,.matching-choice.wrong,.practice-result-card.wrong{animation:none}}@media (width<=980px){.fiftysound-layout{grid-template-columns:1fr}.kana-detail-panel{position:static}.youon-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=760px){.fiftysound-title-block{align-items:start}.kana-control-panel{grid-template-columns:1fr;gap:18px;padding:14px}.kana-practice-actions{justify-self:stretch}.kana-practice-actions .compact-action{width:100%}.romaji-options{grid-template-columns:repeat(2,minmax(0,1fr))}.writing-practice-row{grid-template-columns:minmax(0,1fr);justify-items:center;width:min(100%,380px)}.writing-practice-row .quiz-sound-button{width:100%}.writing-answer{grid-template-columns:minmax(0,1fr);width:100%}}@media (width<=640px){.fiftysound-title-block{display:grid}.kana-chart-card{padding:12px}.kana-row{grid-template-columns:42px repeat(5,minmax(42px,1fr));gap:5px}.kana-row-label,.kana-column-label{border-radius:10px;min-height:36px;font-size:11px}.romaji-visibility-toggle{gap:2px;padding:3px 2px}.romaji-toggle-track{width:26px;height:14px}.romaji-toggle-thumb{width:10px;height:10px}.romaji-visibility-toggle.active .romaji-toggle-thumb{transform:translate(12px)}.romaji-toggle-label{font-size:9px}.kana-cell{border-radius:10px}.kana-main{font-size:22px}.kana-secondary{display:none}.kana-romaji{font-size:10px}.youon-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.kana-comparison{grid-template-columns:1fr}.matching-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.matching-column{gap:8px;min-width:0}.matching-choice{border-radius:12px;min-height:48px;font-size:22px}.quiz-card{padding:18px 12px}.quiz-kana-display{font-size:64px}}.grammar-shell{--grammar-accent:var(--np-primary-active);--grammar-accent-border:var(--np-primary-border);--grammar-accent-soft:var(--np-primary-soft);--grammar-border:var(--np-hairline-soft);--grammar-ink:var(--np-ink);--grammar-muted:var(--np-muted);--grammar-page:var(--np-page);--grammar-shadow:var(--np-shadow-md);--grammar-surface:var(--np-canvas);color:var(--grammar-ink);gap:18px;width:100%;max-width:1220px;padding:34px 20px 48px;display:grid}.grammar-shell *,.grammar-shell :before,.grammar-shell :after{box-sizing:border-box}:root[data-theme=tokyo-pop] .grammar-shell{--grammar-accent:var(--np-primary-active);--grammar-accent-border:var(--np-primary-border);--grammar-accent-soft:var(--np-primary-soft);--grammar-border:#e5e7eb;--grammar-ink:#1f2937;--grammar-muted:#6b7280;--grammar-page:#fff9db;--grammar-shadow:0 4px 14px #1f293714;--grammar-surface:#fff}.grammar-hero h1{color:var(--grammar-ink);margin:0;font-size:clamp(2rem,4vw,3.75rem);line-height:1}.grammar-hero p{color:var(--grammar-muted);max-width:720px;margin:16px 0 0;font-size:1.02rem;line-height:1.75}.grammar-list-panel,.grammar-list,.grammar-detail{background:var(--grammar-surface);border:1px solid var(--grammar-border);box-shadow:var(--grammar-shadow);border-radius:8px}.grammar-level-tabs{background:var(--grammar-surface);border:1px solid var(--grammar-border);box-shadow:var(--grammar-shadow);overscroll-behavior-x:contain;scrollbar-width:thin;border-radius:8px;gap:4px;padding:5px;display:flex;overflow-x:auto}.grammar-level-tabs button{color:var(--grammar-ink);font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:flex}.grammar-level-tabs button.active{background:var(--grammar-accent-soft);border-color:var(--grammar-accent-border);color:var(--grammar-accent)}.grammar-level-tabs button:hover{background:var(--grammar-page)}.grammar-level-tabs span{color:var(--grammar-accent);font-weight:850}.grammar-level-tabs strong{color:var(--grammar-muted);font-size:.95rem}.grammar-workspace{--grammar-study-height:clamp(600px, calc(100vh - var(--navbar-height,74px) - 220px), 820px);grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.grammar-list-panel{height:var(--grammar-study-height);grid-template-rows:auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.grammar-list-header{border-bottom:1px solid var(--grammar-border);gap:12px;padding:14px;display:grid}.grammar-list-header>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.grammar-list-header strong{font-size:1rem}.grammar-list-header span{color:var(--grammar-muted);font-size:.82rem;font-weight:750}.grammar-search{background:var(--grammar-page);border:1px solid var(--grammar-border);color:var(--grammar-muted);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:0 12px;display:grid}.grammar-search input{color:var(--grammar-ink);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0}.grammar-list{box-shadow:none;border:0;border-radius:0;align-content:start;gap:8px;min-height:0;padding:10px;display:grid;overflow:auto}.grammar-list button{background:var(--grammar-page);color:var(--grammar-ink);font:inherit;text-align:left;border:1px solid #0000;border-radius:8px;gap:7px;padding:13px;display:grid}.grammar-list button.active,.grammar-list button:hover{background:var(--grammar-accent-soft);border-color:var(--grammar-accent)}.grammar-list-level{background:var(--grammar-accent-soft);color:var(--grammar-accent);white-space:nowrap;border-radius:999px;flex:none;align-items:center;min-height:24px;padding:0 8px;font-size:.76rem;font-weight:850;display:inline-flex}.grammar-list-item-main{align-items:center;gap:8px;min-width:0;display:flex}.vip-lock-badge{background:color-mix(in srgb, var(--grammar-accent) 10%, white);border:1px solid color-mix(in srgb, var(--grammar-accent) 24%, white);color:var(--grammar-accent);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;min-height:22px;padding:0 7px;font-size:.72rem;font-weight:900;display:inline-flex}.vip-lock-badge.large{min-height:30px;padding:0 10px;font-size:.8rem}.grammar-list strong{min-width:0;font-size:.98rem;line-height:1.35}.grammar-list small{color:var(--grammar-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.45;overflow:hidden}.grammar-empty-state{color:var(--grammar-muted);padding:16px;line-height:1.7}.grammar-error-state{color:var(--np-danger,#b91c1c)}.grammar-detail-status{background:var(--grammar-page);border:1px solid var(--grammar-border);border-radius:8px}.grammar-vip-lock-panel{border:1px solid color-mix(in srgb, var(--grammar-accent) 20%, white);background:linear-gradient(135deg,#fffffff0,#fff4f4c7);border-radius:8px;align-content:center;justify-items:start;gap:12px;min-height:280px;padding:24px;display:grid}.grammar-vip-lock-panel h3{color:var(--grammar-ink);margin:0;font-size:1.25rem}.grammar-vip-lock-panel p{color:var(--grammar-muted);max-width:58ch;margin:0;line-height:1.7}.grammar-detail{height:var(--grammar-study-height);gap:20px;min-height:0;padding:22px;display:grid;overflow:auto}.grammar-detail header{justify-content:space-between;align-items:start;gap:16px;display:flex}.grammar-detail h2{color:var(--grammar-ink);margin:6px 0;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.08}.grammar-detail header p{color:var(--grammar-muted);margin:0;font-size:1.08rem}.grammar-detail-level{background:var(--grammar-accent-soft);color:var(--grammar-accent);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:.8rem;font-weight:850;display:inline-flex}.grammar-detail-pager{justify-content:space-between;align-items:center;gap:10px;display:flex}.grammar-detail-pager button{background:var(--grammar-page);border:1px solid var(--grammar-border);color:var(--grammar-ink);font:inherit;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 12px;font-size:.9rem;font-weight:800;display:inline-flex}.grammar-detail-pager button:not(:disabled):hover{border-color:var(--grammar-accent);color:var(--grammar-accent)}.grammar-detail-pager button:disabled{color:var(--grammar-muted);cursor:not-allowed;opacity:.5}.grammar-detail-pager span{color:var(--grammar-muted);font-size:.86rem;font-weight:800}.grammar-pattern{background:var(--grammar-page);border:1px solid var(--grammar-border);color:var(--grammar-ink);border-radius:8px;padding:16px;font-size:1.16rem;font-weight:850;line-height:1.45}.grammar-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grammar-detail-grid section,.grammar-examples,.grammar-mistakes,.grammar-chip-section{border-top:1px solid var(--grammar-border);gap:10px;padding-top:16px;display:grid}.grammar-detail h3{color:var(--grammar-ink);margin:0;font-size:.93rem}.grammar-detail p,.grammar-mistakes li{color:var(--grammar-muted);margin:0;line-height:1.7}.grammar-examples div{background:var(--grammar-page);border:1px solid var(--grammar-border);border-radius:8px;gap:6px;padding:13px 14px;display:grid}.grammar-examples strong{color:var(--grammar-ink);font-size:1.03rem;line-height:1.55}.grammar-examples span{color:var(--grammar-muted)}.grammar-mistakes ul{gap:8px;margin:0;padding-left:1.15rem;display:grid}.grammar-chip-section div{flex-wrap:wrap;gap:8px;display:flex}.grammar-chip-section span,.grammar-chip-section button{background:var(--grammar-page);border:1px solid var(--grammar-border);color:var(--grammar-ink);font:inherit;border-radius:999px;min-height:30px;padding:0 10px;font-size:.84rem;font-weight:750;display:inline-flex}.grammar-chip-section button:hover{border-color:var(--grammar-accent);color:var(--grammar-accent)}@media (width<=1080px){.grammar-hero,.grammar-workspace{grid-template-columns:1fr}.grammar-list-panel,.grammar-detail{height:auto;min-height:0}.grammar-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.grammar-shell{gap:12px;padding:20px 14px 36px}.grammar-detail-grid,.grammar-list{grid-template-columns:1fr}.grammar-hero{gap:14px}.grammar-hero h1{font-size:clamp(2rem,10vw,2.8rem);line-height:1.08}.grammar-hero p{margin-top:10px;font-size:.95rem;line-height:1.55}.grammar-level-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;padding:4px;display:grid;overflow:visible}.grammar-level-tabs button{justify-content:center;min-width:0;min-height:36px;padding:0 4px}.grammar-level-tabs span{font-size:.9rem}.grammar-level-tabs strong{display:none}.grammar-list-panel{max-height:360px}.grammar-list-header{gap:8px;padding:10px}.grammar-list-header>div{align-items:start}.grammar-list-header>div span{display:none}.grammar-search{min-height:38px;padding:0 10px}.grammar-search input{font-size:.9rem}.grammar-list{gap:7px;padding:8px}.grammar-list button{gap:4px;min-height:52px;padding:8px 10px}.grammar-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.grammar-list small{display:none}.grammar-list-level{min-height:22px;padding:0 7px;font-size:.72rem}.grammar-list-item-main{gap:7px}.grammar-detail header{display:grid}.grammar-detail{gap:14px;padding:14px}.grammar-detail h2{font-size:clamp(1.45rem,7vw,1.85rem)}.grammar-detail-pager{gap:8px}.grammar-detail-pager button{flex:1 1 0;justify-content:center;min-height:36px;padding:0 8px}.grammar-detail-pager span{text-align:center;min-width:54px}.grammar-pattern{padding:13px;font-size:1rem}}.study-partner-banner{border:1px solid var(--np-primary-border);background-color:var(--np-primary-softer);height:clamp(178px,17.5vw,240px);box-shadow:var(--np-shadow-sm);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:28px;position:relative;overflow:hidden}.study-partner-banner-copy{width:min(420px,38%);color:var(--np-ink);text-shadow:0 1px #ffffffb8;gap:7px;display:grid;position:absolute;top:48%;left:19%;transform:translateY(-50%)}.study-partner-banner-copy p{color:var(--np-primary-active);letter-spacing:0;margin:0;font-size:14px;font-weight:800;line-height:1.2}.study-partner-banner-copy strong{color:#2b2522;letter-spacing:0;font-size:35px;font-weight:800;line-height:1.08}.study-partner-banner-copy span{color:#7a4b35;font-size:18px;font-weight:700;line-height:1.32}.study-partner-campaign{gap:16px;display:grid}.study-partner-campaign-head{justify-content:space-between;align-items:end;gap:18px;display:flex}.study-partner-campaign-head>div{text-align:right;min-width:0}.study-partner-campaign-head h2{color:var(--np-ink);letter-spacing:0;margin:0;font-size:27px;font-weight:750;line-height:1.15}.study-partner-campaign-head p,.study-partner-auth-panel p,.study-partner-next-reward,.study-partner-info-block{color:var(--np-muted);margin:8px 0 0;font-size:14px;font-weight:500;line-height:1.55}.study-partner-auth-panel,.study-partner-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm)}.study-partner-auth-panel{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px;display:grid}.study-partner-auth-icon{border-radius:var(--np-radius-full);color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.study-partner-auth-panel strong,.study-partner-vip-line strong,.study-partner-next-reward,.invite-code-display strong,.invite-claim-form label{color:var(--np-ink);font-weight:750}.study-partner-auth-panel p{margin-top:4px}.study-partner-auth-actions{gap:10px;display:inline-flex}.study-partner-campaign-grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:stretch;gap:14px;display:grid}.study-partner-panel{flex-direction:column;gap:16px;padding:18px;display:flex}.invite-code-display{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-lg);background:var(--np-primary-softer);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:14px;display:grid}.invite-code-display>span{color:var(--np-muted);font-size:13px;font-weight:700}.invite-code-display strong{letter-spacing:0;font-size:28px;line-height:1}.invite-code-display .compact-action{grid-area:1/2/span 2}.invite-copy-action{white-space:nowrap;min-width:132px}.invite-copy-action span{text-overflow:ellipsis;min-width:0;overflow:hidden}.invite-copy-action.is-copied{border-color:var(--np-success);color:var(--np-success);background:var(--np-success-soft)}.invite-claim-form{gap:9px;display:grid}.invite-claim-form label{font-size:14px}.invite-claim-form>div{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.invite-claim-form input{border:1px solid var(--np-hairline);border-radius:var(--np-radius-full);width:100%;min-width:0;min-height:44px;color:var(--np-ink);background:var(--np-canvas);font:inherit;letter-spacing:0;text-transform:uppercase;padding:0 16px;font-size:15px;font-weight:700}.invite-claim-form input:focus{border-color:var(--np-primary-border-strong);outline:none;box-shadow:0 0 0 4px #ff385c1f}.study-partner-message{border-radius:var(--np-radius-md);margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.4}.study-partner-message.success{color:var(--np-success);background:var(--np-success-soft)}.study-partner-message.error{color:var(--np-primary-active);background:var(--np-error-soft)}.study-partner-stat-row,.study-partner-vip-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.study-partner-stat-row span{border-radius:var(--np-radius-full);min-height:34px;color:var(--np-primary-active);background:var(--np-primary-soft);align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.study-partner-vip-line{border-radius:var(--np-radius-md);background:var(--np-surface);padding:12px 14px}.study-partner-vip-line span{color:var(--np-muted);font-size:13px;font-weight:700}.reward-progress-track{height:78px;margin:4px 12px 0;position:relative}.reward-progress-track.three-tier{height:72px;margin-inline:18px}.reward-progress-track:before,.reward-progress-track>span{content:"";border-radius:var(--np-radius-full);height:8px;position:absolute;top:10px;left:0}.reward-progress-track:before{background:var(--np-surface-strong);right:0}.reward-progress-track>span{z-index:1;background:linear-gradient(90deg, var(--np-primary), #ff9a7f);transition:width .42s}.reward-node{z-index:2;width:72px;color:var(--np-muted);font:inherit;text-align:center;cursor:help;background:0 0;border:0;justify-items:center;gap:6px;padding:0;display:grid;position:absolute;top:0;transform:translate(-50%)}.reward-progress-track.three-tier .reward-node{width:68px}.reward-node i{border:3px solid var(--np-canvas);border-radius:var(--np-radius-full);background:var(--np-surface-strong);width:20px;height:20px;box-shadow:0 0 0 1px var(--np-hairline)}.reward-node strong{color:inherit;margin-top:1px;font-size:13px;line-height:1}.reward-node small{color:inherit;font-size:12px;font-weight:700;line-height:1.1}.reward-progress-track.three-tier .reward-node small{font-size:11px}.reward-node:focus-visible{border-radius:var(--np-radius-md);outline-offset:8px;outline:3px solid #ff385c38}.reward-node.reached,.reward-node.claimed{color:var(--np-primary-active)}.reward-node.reached i{background:var(--np-primary);box-shadow:0 0 0 5px #ff385c1f}.reward-node.claimed i{animation:1.8s ease-in-out infinite reward-node-pulse}.reward-node-tooltip{z-index:5;border-radius:var(--np-radius-md);width:max-content;max-width:220px;color:var(--np-ink);box-shadow:var(--np-shadow-md);opacity:0;pointer-events:none;text-align:left;background:#fffffffa;border:1px solid #ff385c29;gap:4px;padding:10px 12px;transition:opacity .16s,transform .16s;display:grid;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,6px)}.reward-node-tooltip:after{content:"";background:#fffffffa;border-bottom:1px solid #ff385c29;border-right:1px solid #ff385c29;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.reward-node-tooltip span,.reward-node-tooltip em{color:var(--np-muted);white-space:nowrap;font-size:12px;font-style:normal;font-weight:700;line-height:1.35;display:block}.reward-node-tooltip span:first-child{color:var(--np-primary-active);font-weight:800}.reward-node-tooltip em{color:var(--np-ink)}.reward-node:hover .reward-node-tooltip,.reward-node:focus .reward-node-tooltip,.reward-node:focus-visible .reward-node-tooltip{opacity:1;transform:translate(-50%)}.reward-node.edge-start .reward-node-tooltip{left:50%;transform:translateY(6px)}.reward-node.edge-start:hover .reward-node-tooltip,.reward-node.edge-start:focus .reward-node-tooltip,.reward-node.edge-start:focus-visible .reward-node-tooltip{transform:translateY(0)}.reward-node.edge-start .reward-node-tooltip:after{left:24px}.reward-node.edge-end .reward-node-tooltip{left:auto;right:50%;transform:translateY(6px)}.reward-node.edge-end:hover .reward-node-tooltip,.reward-node.edge-end:focus .reward-node-tooltip,.reward-node.edge-end:focus-visible .reward-node-tooltip{transform:translateY(0)}.reward-node.edge-end .reward-node-tooltip:after{left:auto;right:24px}.study-partner-next-reward{color:var(--np-body);margin-top:-2px}.study-partner-info-block{border-top:1px dashed var(--np-hairline);gap:6px;padding-top:12px;display:grid}.activity-rules-block{margin-top:auto}.study-partner-info-block strong{color:var(--np-ink);font-size:14px;font-weight:800}.study-partner-info-block ul{gap:6px;margin:0;padding-left:18px;display:grid}.study-partner-info-block li{padding-left:1px}.study-partner-interactions{gap:14px;display:grid}.study-partner-lazy-panel>span,.study-partner-loading-pill{color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;display:inline-flex}.study-partner-lazy-panel strong,.study-partner-interactions-head h3,.partner-rank-title strong,.partner-rank-metrics strong{color:var(--np-ink);font-weight:800}.study-partner-lazy-panel p,.study-partner-interactions-head p,.partner-rank-main p,.omamori-helper,.partner-empty-state p{color:var(--np-muted);margin:4px 0 0;font-size:13px;font-weight:600;line-height:1.5}.study-partner-lazy-panel{border:1px dashed var(--np-primary-border);border-radius:var(--np-radius-lg);color:var(--np-muted);background:linear-gradient(135deg, #ff385c0f, transparent 45%), var(--np-canvas);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:16px 18px;display:grid}.study-partner-lazy-panel>span{border-radius:var(--np-radius-full);width:40px;height:40px}.study-partner-interactions-head{justify-content:space-between;align-items:end;gap:14px;display:flex}.study-partner-interactions-head h3{margin:8px 0 0;font-size:21px;line-height:1.2}.study-partner-loading-pill{border-radius:var(--np-radius-full);gap:7px;min-height:34px;padding:0 12px;font-size:13px;font-weight:800}.study-partner-loading-pill svg{animation:.8s linear infinite np-spin}.study-partner-interactions-grid{grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);align-items:stretch;gap:14px;display:grid}.partner-leaderboard-panel,.omamori-blessing-panel{min-height:330px}.partner-leaderboard-summary{flex-wrap:wrap;gap:8px;display:flex}.partner-leaderboard-summary span,.partner-blessing-chip{border-radius:var(--np-radius-full);min-height:30px;color:var(--np-peach-ink);background:var(--np-peach-soft);align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.partner-leaderboard-summary span:last-child,.partner-blessing-chip{color:var(--np-primary-active);background:var(--np-primary-soft)}.partner-leaderboard-list{gap:9px;display:grid}.partner-rank-row{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.partner-rank-index{border-radius:var(--np-radius-full);width:30px;height:30px;color:var(--np-primary-active);background:var(--np-primary-soft);justify-content:center;align-items:center;font-size:13px;font-weight:850;display:inline-flex}.partner-rank-title{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.partner-rank-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.partner-rank-title em{border-radius:var(--np-radius-full);color:var(--np-success);background:var(--np-success-soft);padding:2px 7px;font-size:11px;font-style:normal;font-weight:800}.partner-rank-main{min-width:0}.partner-rank-main p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.partner-rank-metrics{justify-items:end;gap:5px;display:grid}.partner-rank-metrics strong{font-size:18px;line-height:1}.partner-rank-metrics span{color:var(--np-muted);white-space:nowrap;align-items:center;gap:4px;font-size:12px;font-weight:750;display:inline-flex}.partner-rank-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.partner-cheer-action{border-radius:var(--np-radius-full);width:32px;height:32px;min-height:32px;color:var(--np-muted);box-shadow:none;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:color .16s,transform .16s,opacity .16s;display:inline-flex}.partner-cheer-action:hover,.partner-cheer-action:focus-visible{color:var(--np-primary-active);transform:translateY(-1px)}.partner-cheer-action:focus-visible{outline-offset:2px;outline:3px solid #ff385c29}.partner-cheer-action.is-reacted{color:var(--np-primary-active)}.partner-cheer-action.is-reacted svg{fill:currentColor}.partner-cheer-action:disabled{opacity:.72}.partner-cheer-action.is-reacted:disabled{opacity:1}.partner-empty-state{border:1px dashed var(--np-hairline);border-radius:var(--np-radius-md);text-align:center;background:var(--np-surface);place-items:center;gap:8px;min-height:190px;padding:24px;display:grid}.partner-empty-state svg{color:var(--np-primary)}.omamori-blessing-panel{overflow:hidden}.omamori-panel-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.omamori-total-count{border-radius:var(--np-radius-full);min-height:30px;color:var(--np-primary-active);background:var(--np-primary-soft);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.omamori-stage{--omamori-aura-soft:#3370b41f;--omamori-aura:#3370b457;--omamori-aura-strong:#e7b34b4d;--omamori-shadow-soft:#1636641a;--omamori-shadow-strong:#1636642e;border-radius:var(--np-radius-lg);background:radial-gradient(circle at 50% 34%, var(--omamori-aura-soft), transparent 55%), linear-gradient(180deg, var(--np-primary-softer), var(--np-canvas));justify-items:center;min-height:202px;padding:16px 12px 14px;display:grid;position:relative}.omamori-stage--focus{--omamori-aura-soft:#18488a26;--omamori-aura:#275bb052;--omamori-aura-strong:#e5b24657;--omamori-shadow-soft:#0c285621;--omamori-shadow-strong:#0c285638}.omamori-stage--memory{--omamori-aura-soft:#a982dd29;--omamori-aura:#a982dd5c;--omamori-aura-strong:#f69abc47;--omamori-shadow-soft:#6e4ea11f;--omamori-shadow-strong:#6e4ea133}.omamori-stage--listening{--omamori-aura-soft:#74b59729;--omamori-aura:#74b59757;--omamori-aura-strong:#ed5b4a3d;--omamori-shadow-soft:#36765f1f;--omamori-shadow-strong:#36765f33}.omamori-stage--reading{--omamori-aura-soft:#007e8926;--omamori-aura:#007e8957;--omamori-aura-strong:#dcaa3f52;--omamori-shadow-soft:#00535f1f;--omamori-shadow-strong:#00535f33}.omamori-stage--pass{--omamori-aura-soft:#d32b2224;--omamori-aura:#d32b224d;--omamori-aura-strong:#f4b43a57;--omamori-shadow-soft:#9a1e161f;--omamori-shadow-strong:#9a1e1638}.omamori-stage:before{content:"";pointer-events:none;background:radial-gradient(circle, var(--omamori-aura-strong), transparent 48%), radial-gradient(circle, var(--omamori-aura), transparent 66%);filter:blur(12px);opacity:.16;border-radius:50%;width:210px;height:210px;transition:opacity .26s,transform .26s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.86)}.omamori-stage.is-lit:before{opacity:.92;animation:2.8s ease-in-out infinite omamori-aura-glow;transform:translate(-50%,-50%)scale(1)}.omamori-image,.omamori-image-placeholder{z-index:1;height:158px;position:relative}.omamori-image{object-fit:contain;width:auto;max-width:58%;filter:drop-shadow(0 14px 18px var(--omamori-shadow-soft));transform-origin:50% 62%;-webkit-user-select:none;user-select:none;animation:2.8s ease-in-out infinite omamori-breathe;display:block}.omamori-image-placeholder{background:linear-gradient(180deg, var(--np-primary-softer), var(--np-peach));border-radius:24px;width:110px;display:block}.omamori-blessing-action{place-self:center;width:auto;min-width:154px;padding-inline:24px}.omamori-helper{text-align:center;margin-top:auto}@keyframes omamori-aura-glow{0%,to{filter:blur(12px);transform:translate(-50%,-50%)scale(.98)}50%{filter:blur(14px);transform:translate(-50%,-50%)scale(1.04)}}@keyframes omamori-breathe{0%,to{filter:drop-shadow(0 12px 16px var(--omamori-shadow-soft));transform:scale(.985)translateY(1px)}50%{filter:drop-shadow(0 18px 22px var(--omamori-shadow-strong));transform:scale(1.035)translateY(-2px)}}@keyframes np-spin{to{transform:rotate(360deg)}}@keyframes reward-node-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 4px #ff385c1f}50%{transform:scale(1.08);box-shadow:0 0 0 8px #ff385c0d}}@media (prefers-reduced-motion:reduce){.omamori-stage.is-lit:before,.omamori-image,.study-partner-loading-pill svg,.reward-node.claimed i{animation:none}.reward-node-tooltip,.reward-progress-track>span{transition:none}}@media (width<=760px){.study-partner-banner{background-position:60%;border-radius:24px;height:clamp(168px,22vw,190px)}.study-partner-banner-copy{gap:5px;width:min(220px,52%);top:46%;left:22px}.study-partner-banner-copy p{font-size:12px}.study-partner-banner-copy strong{font-size:25px}.study-partner-banner-copy span{font-size:14px}.study-partner-campaign-head{flex-direction:column;align-items:flex-start}.study-partner-campaign-head>div{text-align:left}.study-partner-campaign-head h2{font-size:24px}.study-partner-auth-panel,.study-partner-campaign-grid,.study-partner-interactions-grid{grid-template-columns:1fr}.partner-leaderboard-panel,.omamori-blessing-panel{min-height:auto}.study-partner-interactions-head{flex-direction:column;align-items:flex-start}.study-partner-auth-panel{align-items:start}.study-partner-auth-actions{justify-self:start}}@media (width<=640px){.invite-code-display,.invite-claim-form>div{grid-template-columns:1fr}.invite-code-display .compact-action{grid-area:auto;justify-self:start}.reward-progress-track{margin-inline:0}.reward-progress-track.three-tier{margin-inline:8px}.reward-node{width:58px}.partner-rank-row{grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"rank main actions""rank metrics actions";gap:8px 10px}.partner-rank-index{grid-area:rank}.partner-rank-main{grid-area:main}.partner-rank-metrics{flex-wrap:wrap;grid-area:metrics;justify-content:flex-start;align-items:center;gap:5px 10px;display:flex}.partner-rank-metrics strong{font-size:16px}.partner-rank-metrics,.partner-rank-actions{justify-items:start}.partner-rank-actions{grid-area:actions;justify-content:flex-end;align-self:center}}@media (width<=420px){.study-partner-banner{background-position:62%;height:clamp(154px,40vw,164px)}.study-partner-banner-copy{width:49%;top:48%;left:18px}.study-partner-banner-copy strong{font-size:22px}.study-partner-banner-copy span{font-size:12px}.study-partner-panel,.study-partner-auth-panel{padding:14px}.study-partner-auth-actions{width:100%;display:grid}.study-partner-lazy-panel,.partner-rank-row{padding:12px}.study-partner-interactions-head h3{font-size:19px}.partner-leaderboard-summary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.partner-rank-row{grid-template-columns:30px minmax(0,1fr) auto;column-gap:8px}.partner-rank-index{width:28px;height:28px}.partner-blessing-chip{padding-inline:9px}.omamori-image,.omamori-image-placeholder{height:138px}.omamori-stage{min-height:184px}.reward-node small{font-size:11px}}.practice-shell{width:min(100%,1220px)}.filter-group>span{color:var(--np-ink);font-size:13px;font-weight:700}.practice-filter-panel{border:1px solid var(--np-hairline);border-radius:var(--np-radius-xl);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);gap:14px;padding:16px;display:grid}.practice-filter-section,.filter-chip-group{gap:12px;min-width:0;display:grid}.practice-filter-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.practice-filter-section-title,.filter-chip-group-title{color:var(--np-ink);font-size:14px;font-weight:750;line-height:1.25}.practice-filter-match-summary{border-radius:var(--np-radius-full);min-height:34px;color:var(--np-muted);background:var(--np-surface);white-space:nowrap;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.practice-filter-match-summary strong{color:var(--np-primary-active);font-size:13px}.filter-chip-group{border-top:1px solid var(--np-hairline-soft);padding-top:14px}.filter-chip-row,.type-chip-strip{flex-wrap:wrap;gap:10px 8px;display:flex}.search-orb-label{display:none}.practice-filter-bar{grid-template-columns:minmax(120px,.8fr) minmax(150px,.9fr) minmax(270px,1.6fr) auto;align-items:end;gap:12px;display:grid}.practice-filter-bar .search-orb{align-self:end;width:52px;height:52px}.filter-group{gap:8px;display:grid}.segmented-filter{border-radius:var(--np-radius-full);background:var(--np-surface);grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-height:52px;padding:5px;display:inline-grid}.segmented-filter button{border-radius:var(--np-radius-full);min-height:42px;color:var(--np-muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700}.segmented-filter button.active{color:var(--np-primary-active);background:var(--np-canvas);box-shadow:var(--np-shadow-sm)}.practice-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.practice-empty-state{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.practice-empty-state strong,.practice-empty-state p{margin:0}.practice-empty-state strong{color:var(--np-ink);font-size:18px;font-weight:700}.practice-empty-state p{color:var(--np-muted);margin-top:5px;line-height:1.45}.practice-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.practice-type-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);min-height:156px;box-shadow:var(--np-shadow-sm);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head action""title action""stats stats";align-items:center;gap:7px 18px;padding:16px 18px;display:grid}.practice-type-head{grid-area:head;justify-content:flex-start;align-items:center;min-height:28px;display:flex}.practice-type-head .section-chip{min-height:28px;padding:0 11px;font-size:12px}.practice-type-card h2{color:var(--np-ink);grid-area:title;margin:0;font-size:19px;font-weight:650;line-height:1.25}.practice-type-stats{color:var(--np-muted);flex-wrap:wrap;grid-area:stats;gap:6px 14px;font-size:12.5px;font-weight:600;display:flex}.practice-type-stats span{align-items:center;gap:5px;line-height:1.2;display:inline-flex}.practice-type-stats svg{width:14px;height:14px}.practice-type-card .row-action{width:42px;min-width:42px;height:42px;min-height:42px;color:var(--np-primary);background:var(--np-canvas);box-shadow:none;border:1px solid #ff8fa3;grid-area:action;place-self:center end;padding:0}.practice-type-action-label{display:none}.practice-type-card .row-action svg{color:currentColor;transform:translate(1px)}.practice-type-card .row-action:hover:not(:disabled){border-color:var(--np-primary);color:var(--np-primary-active);background:var(--np-primary-softer);box-shadow:0 8px 18px #ff385c1f}.practice-type-card .row-action:disabled{color:var(--np-muted-soft);background:var(--np-surface);border-color:var(--np-hairline-soft);cursor:not-allowed}.practice-preview-list{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);gap:10px;padding:18px;display:grid}.practice-preview-row{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);min-height:66px;color:inherit;background:var(--np-canvas);font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.practice-preview-row:hover{border-color:var(--np-primary-border);background:var(--np-primary-softer)}.practice-preview-row strong,.practice-preview-row small{display:block}.practice-preview-row strong{color:var(--np-ink);font-size:15px;font-weight:650}.practice-preview-row small{color:var(--np-muted);margin-top:4px;font-size:12.5px}@media (width<=1100px){.practice-type-grid,.practice-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-filter-bar .search-orb{justify-self:start}}@media (width<=980px){.practice-overview-grid,.practice-type-grid{grid-template-columns:1fr}.practice-filter-bar{grid-template-columns:minmax(0,1fr)}.practice-filter-bar .search-orb{border-radius:var(--np-radius-full);justify-self:stretch;width:100%}.search-orb-label{display:inline}}@media (width<=640px){.practice-preview-row{grid-template-columns:auto minmax(0,1fr)}.practice-preview-row>svg{display:none}.practice-filter-panel{border-radius:var(--np-radius-lg);gap:12px;padding:12px}.practice-filter-section-heading{align-items:flex-start}.practice-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px}.practice-filter-bar>.custom-select,.practice-filter-bar>.filter-group{min-width:0}.practice-filter-bar>.custom-select:first-of-type{grid-area:1/1}.practice-filter-bar>.custom-select:nth-of-type(2){grid-area:1/2}.practice-filter-bar>.filter-group{grid-area:2/1/auto/-1}.practice-filter-bar .search-orb{grid-area:3/1/auto/-1;justify-self:stretch;gap:8px;width:100%;height:48px;min-height:48px;margin:0;font-size:15px;font-weight:650}.search-orb-label{display:inline}.segmented-filter{border-radius:var(--np-radius-full);grid-template-columns:repeat(4,minmax(0,1fr));min-height:50px}.segmented-filter button{min-height:40px;padding:0 7px;font-size:12px}.practice-overview-grid{grid-template-columns:1fr;gap:8px}.practice-empty-state{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.practice-empty-state .secondary-action{width:100%}.practice-type-card{grid-template-columns:1fr;grid-template-areas:"head""title""stats""action";min-height:0}.practice-type-card .row-action{border-color:var(--np-primary);width:100%;height:46px;color:var(--np-on-primary);background:var(--np-primary);justify-self:stretch;gap:8px}.practice-type-action-label{display:inline}}@media (width<=480px){.practice-filter-section-heading{display:grid}.practice-filter-match-summary{justify-self:start}.segmented-filter{border-radius:var(--np-radius-lg);grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-filter button{padding:0 10px}}.practice-session-shell .question-panel{padding-bottom:22px}.practice-context-list{border-radius:var(--np-radius-md);background:var(--np-surface);gap:8px;padding:12px;display:grid}.practice-context-list span{color:var(--np-primary-active);font-weight:800}.practice-context-list strong{color:var(--np-ink);line-height:1.35}.practice-context-list small{color:var(--np-muted);line-height:1.45}.choice-button.correct-choice{background:var(--np-success-soft);border-color:#39875261}.choice-button.correct-choice .choice-index{color:var(--np-on-primary);background:var(--np-success)}.choice-button.wrong-choice{background:var(--np-error-soft);border-color:#c135156b}.choice-button.wrong-choice .choice-index{color:var(--np-on-primary);background:var(--np-coral-deep)}.practice-question-loading{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);gap:10px;margin-top:16px;padding:16px;display:grid}.practice-question-loading strong{color:var(--np-ink);font-size:18px}.practice-question-loading p{color:var(--np-muted);margin:0;line-height:1.55}.practice-question-loading .secondary-action{justify-self:start}.remove-wrong-action{justify-self:start;min-height:38px;margin-top:12px}.practice-checkpoint-copy{max-width:320px;color:var(--np-muted);align-items:center;font-size:13px;line-height:1.35;display:inline-flex}.question-actions .question-nav-action{min-width:112px}.checkpoint-question-actions .checkpoint-finish-action,.checkpoint-question-actions .checkpoint-continue-action{white-space:nowrap}@media (width<=640px){.practice-session-shell .question-panel{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.practice-session-shell .question-panel:has(.checkpoint-question-actions){padding-bottom:calc(148px + env(safe-area-inset-bottom))}.practice-session-shell .question-map{margin-bottom:calc(116px + env(safe-area-inset-bottom))}.practice-session-shell:has(.checkpoint-question-actions) .question-map{margin-bottom:calc(136px + env(safe-area-inset-bottom))}.practice-session-shell .question-actions.checkpoint-question-actions{border-radius:22px;grid-template-columns:44px minmax(0,1fr) minmax(0,1fr)}.practice-session-shell .checkpoint-question-actions .question-nav-action{width:44px;min-width:44px;max-width:44px;padding:0}.practice-session-shell .checkpoint-question-actions .question-nav-action .question-action-label{display:none}.practice-session-shell .practice-checkpoint-copy{order:-1;grid-column:1/-1;max-width:none;padding:0 4px 2px;font-size:12px;line-height:1.35;display:block}.practice-session-shell .checkpoint-question-actions .checkpoint-finish-action,.practice-session-shell .checkpoint-question-actions .checkpoint-continue-action{gap:6px;padding:0 8px}}.aus-paper-shell,.aus-paper-session-shell{gap:22px}.aus-paper-unavailable{background:var(--np-surface);border:1px solid var(--np-hairline);border-radius:var(--np-radius-sm);color:var(--np-muted);padding:14px 16px}.aus-paper-unavailable h2{color:var(--np-ink);margin:0 0 6px;font-size:1rem}.aus-paper-unavailable p{margin:0;line-height:1.5}.aus-paper-catalog-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.aus-paper-card,.aus-paper-stimulus-panel,.aus-paper-review-panel{background:var(--np-canvas);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);box-shadow:var(--np-shadow-sm)}.aus-paper-card{gap:14px;padding:18px;display:grid}.aus-paper-card-header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.aus-paper-card h2,.aus-paper-task-title h2,.aus-paper-answer-panel h2,.aus-paper-review-panel h2,.aus-paper-stimulus h3{margin:0}.aus-paper-card h2{font-size:clamp(1.2rem,2vw,1.42rem);line-height:1.28}.aus-paper-card p,.aus-paper-task-title p,.aus-paper-stimulus p,.aus-paper-review-panel p{color:var(--np-muted);margin:6px 0 0;line-height:1.58}.aus-paper-card-note{color:var(--np-muted);margin:0;font-size:.86rem;font-weight:700;line-height:1.35}.aus-paper-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.aus-paper-summary-metrics span{background:var(--np-surface);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-sm);gap:3px;min-width:0;padding:10px 11px;display:grid}.aus-paper-summary-metrics strong,.aus-paper-summary-metrics small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.aus-paper-summary-metrics strong{color:var(--np-ink);font-size:1rem;font-weight:900}.aus-paper-summary-metrics small{color:var(--np-muted);font-size:.72rem;font-weight:800}.aus-paper-card-meta,.aus-paper-section-list{flex-wrap:wrap;gap:8px;display:flex}.aus-paper-card-meta span,.aus-paper-section-list span{background:var(--np-surface);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);color:var(--np-body);align-items:center;gap:5px;padding:6px 10px;font-size:.84rem;display:inline-flex}.aus-series-row .exam-row-meta{min-width:0}.aus-series-topic{text-overflow:ellipsis;white-space:nowrap;max-width:min(360px,100%);overflow:hidden}.aus-paper-exam-header{padding-top:4px}.aus-paper-title-block small{color:var(--np-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden}.aus-paper-session-layout{grid-template-columns:190px minmax(0,1fr) 220px;align-items:start;gap:14px;display:grid}.aus-paper-mobile-section-tabs{display:none}.aus-paper-question-map,.aus-paper-review-panel{position:sticky;top:18px}.aus-paper-question-map .question-map-summary{margin-bottom:14px}.aus-paper-map-sections{gap:14px;display:grid}.aus-paper-map-section{gap:8px;display:grid}.aus-paper-map-section h2,.aus-paper-review-panel h2{color:var(--np-muted);margin:0;font-size:12px;font-weight:800;line-height:1.3}.aus-paper-map-section .dot-grid{grid-template-columns:repeat(auto-fill,minmax(28px,1fr))}.aus-paper-map-section .question-dot{width:100%;min-width:28px}.aus-paper-workspace{gap:14px;min-width:0;display:grid}.aus-paper-stimulus-panel{padding:18px}.aus-paper-task-title{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.mode-icon{background:var(--np-primary-softer);border-radius:var(--np-radius-full);color:var(--np-primary-active);justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.aus-paper-stimulus{border:0;border-top:1px solid var(--np-hairline-soft);box-shadow:none;background:0 0;border-radius:0;margin-top:16px;padding:16px 0 0}.aus-paper-stimulus:first-of-type{margin-top:14px}.aus-paper-stimulus>p{color:var(--np-body);white-space:pre-wrap;line-height:1.68}.aus-paper-stimulus small{color:var(--np-muted);margin-top:8px;line-height:1.45;display:block}.audio-player.aus-paper-tts-player{grid-template-columns:auto minmax(0,1fr) auto;margin:0}.aus-paper-audio-copy{gap:3px;min-width:0;display:grid}.aus-paper-audio-copy strong{color:var(--np-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.3;overflow:hidden}.aus-paper-audio-copy span,.aus-paper-audio-state{color:var(--np-muted);font-size:12px;font-weight:700;line-height:1.3}.aus-paper-audio-state{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);white-space:nowrap;padding:5px 9px}.aus-paper-audio-state.playing{border-color:var(--np-primary-border);color:var(--np-primary-active);background:var(--np-primary-soft)}.aus-paper-glossary{gap:6px;margin:12px 0 0;display:grid}.aus-paper-glossary div{gap:8px;display:flex}.aus-paper-glossary dt{font-weight:700}.aus-paper-glossary dd{color:var(--np-muted);margin:0}.aus-paper-visual-material{aspect-ratio:16/7;background:linear-gradient(135deg, #ff385c1a, transparent 46%), var(--np-surface);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);color:var(--np-primary-active);justify-content:center;align-items:center;gap:8px;min-height:110px;margin-top:12px;font-size:13px;font-weight:900;display:flex}.aus-paper-visual-figure{background:var(--np-surface);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);margin:14px 0 0;overflow:hidden}.aus-paper-visual-figure img{width:100%;height:auto;display:block}.aus-paper-transcript-preview{background:var(--np-surface);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);margin-top:12px;padding:12px 14px}.aus-paper-transcript-preview summary{color:var(--np-primary-active);cursor:pointer;font-size:14px;font-weight:800}.aus-paper-transcript-preview p{color:var(--np-body);white-space:pre-wrap;margin:10px 0 0;line-height:1.68}.aus-paper-answer-panel{padding:22px}.aus-paper-question-prompt{margin:20px 0 18px}.aus-paper-answer-panel textarea{background:var(--np-canvas);border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);color:var(--np-ink);font:inherit;resize:vertical;width:100%;min-height:120px;margin-top:6px;padding:13px 14px;line-height:1.65}.aus-paper-answer-panel textarea:focus{border-color:var(--np-primary);outline:none;box-shadow:0 0 0 3px #ff385c24}.aus-paper-choice-list{margin-top:4px}.aus-paper-choice-list .choice-button{width:100%}.aus-speaking-follow-ups,.aus-speaking-recorder{background:var(--np-surface);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md)}.aus-speaking-follow-ups{gap:8px;margin:0 0 16px;padding:13px 14px;display:grid}.aus-speaking-follow-ups strong,.aus-speaking-playback strong{color:var(--np-ink);font-size:13px}.aus-speaking-follow-ups ul{gap:6px;margin:0;padding-left:18px;display:grid}.aus-speaking-follow-ups li{color:var(--np-body);line-height:1.45}.aus-speaking-recorder{gap:13px;padding:15px;display:grid}.aus-speaking-status-row{grid-template-columns:minmax(160px,auto) minmax(0,1fr);align-items:center;gap:12px;display:grid}.aus-speaking-timer{align-items:center;gap:8px;min-width:0;display:inline-flex}.aus-speaking-timer svg{color:var(--np-primary-active)}.aus-speaking-timer strong{color:var(--np-ink);font-size:20px;line-height:1}.aus-speaking-timer span,.aus-speaking-meter-copy,.aus-speaking-playback span{color:var(--np-muted);font-size:12px;font-weight:800;line-height:1.35}.aus-speaking-meter{background:var(--np-surface-strong);border-radius:var(--np-radius-full);height:9px;overflow:hidden}.aus-speaking-meter span{background:var(--np-primary);border-radius:inherit;min-width:4px;height:100%;transition:width .11s;display:block}.aus-speaking-meter-copy{margin:-2px 0 0}.aus-speaking-actions,.aus-speaking-playback-actions{flex-wrap:wrap;gap:8px;display:flex}.aus-speaking-actions button,.aus-speaking-playback-actions button{min-height:38px}.aus-speaking-actions button:disabled{cursor:not-allowed;opacity:.55}.aus-speaking-playback{background:var(--np-canvas);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);gap:10px;padding:12px;display:grid}.aus-speaking-playback>div:first-child{gap:3px;display:grid}.aus-speaking-playback audio{width:100%}.aus-speaking-error{background:var(--np-primary-softer);border:1px solid var(--np-primary-border);border-radius:var(--np-radius-sm);color:var(--np-primary-active);margin:0;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.45}.aus-paper-answer-footer{color:var(--np-muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:10px;font-size:13px;font-weight:700;display:flex}.aus-paper-answer-key{background:var(--np-surface);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);gap:0;margin-top:18px;padding:14px;display:grid}.aus-paper-answer-key-heading{color:var(--np-success);cursor:pointer;outline:none;align-items:center;gap:8px;list-style:none;display:flex}.aus-paper-answer-key-heading::-webkit-details-marker{display:none}.aus-paper-answer-key-heading:after{color:var(--np-muted);content:"+";margin-left:auto;font-size:18px;font-weight:900}.aus-paper-answer-key[open]{gap:12px}.aus-paper-answer-key[open] .aus-paper-answer-key-heading:after{content:"-"}.aus-paper-answer-key-heading:focus-visible{border-radius:var(--np-radius-sm);box-shadow:0 0 0 3px #3987522e}.aus-paper-answer-key p,.aus-paper-answer-key ul{margin:0}.aus-paper-answer-key-heading span{color:var(--np-ink);font-size:16px;font-weight:900}.aus-paper-answer-key-block{gap:7px;display:grid}.aus-paper-answer-key-block>strong{color:var(--np-muted);font-size:12px;font-weight:800}.aus-paper-answer-key ul{gap:6px;padding-left:18px;display:grid}.aus-paper-answer-key li,.aus-paper-answer-key p{color:var(--np-body);line-height:1.58}.aus-paper-sample-answer{background:var(--np-canvas);border-left:3px solid var(--np-primary);border-radius:0 var(--np-radius-sm) var(--np-radius-sm) 0;padding:9px 11px}.aus-paper-question-actions{align-items:center}.aus-paper-review-panel{gap:14px;padding:14px;display:grid}.aus-paper-progress-meter{background:var(--np-surface-strong);border-radius:var(--np-radius-full);height:8px;overflow:hidden}.aus-paper-progress-meter span{background:var(--np-primary);height:100%;transition:width .18s;display:block}.aus-paper-review-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.aus-paper-review-stats article,.aus-paper-current-summary{background:var(--np-surface);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);gap:4px;padding:11px;display:grid}.aus-paper-review-stats strong{color:var(--np-ink);font-size:20px;line-height:1}.aus-paper-review-stats span,.aus-paper-current-summary span{color:var(--np-muted);font-size:12px;font-weight:800}.aus-paper-current-summary strong{color:var(--np-ink);font-size:14px;line-height:1.3}.aus-paper-current-summary p{color:var(--np-muted);margin:0;font-size:13px;line-height:1.45}@media (width<=1100px){.aus-paper-session-layout{grid-template-columns:minmax(0,1fr) 220px}.aus-paper-question-map{order:3;grid-column:1/-1;position:static}.aus-paper-review-panel{position:sticky}}@media (width<=860px){.aus-paper-mobile-section-tabs{scrollbar-width:none;gap:8px;margin:-4px 0 0;padding-bottom:2px;display:flex;overflow-x:auto}.aus-paper-mobile-section-tabs::-webkit-scrollbar{display:none}.aus-paper-mobile-section-tabs button{background:var(--np-canvas);border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);color:var(--np-body);font:inherit;flex:none;padding:9px 12px;font-size:12px;font-weight:900}.aus-paper-mobile-section-tabs button.active{background:var(--np-primary);border-color:var(--np-primary);color:#fff}.aus-paper-session-layout{grid-template-columns:1fr}.aus-paper-workspace{order:1}.aus-paper-question-map,.aus-paper-review-panel{position:static}.aus-paper-review-panel{order:2}.aus-paper-question-map{order:3}}@media (width<=640px){.aus-paper-session-shell{gap:12px;padding-inline:14px}.aus-paper-session-layout,.aus-paper-workspace{gap:12px}.aus-paper-title-block small{font-size:11px}.aus-paper-stimulus-panel,.aus-paper-answer-panel{padding:16px}.aus-paper-review-panel,.aus-paper-question-map{padding:12px}.aus-paper-question-map{margin-bottom:0}.aus-paper-question-map .panel-title{margin-bottom:8px}.aus-paper-question-map .question-map-summary{margin-bottom:10px;padding:8px 10px}.aus-paper-map-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.aus-paper-map-section{align-content:start;gap:6px;min-width:0}.aus-paper-map-section h2,.aus-paper-review-panel h2{font-size:11px}.aus-paper-map-section .dot-grid{grid-template-columns:repeat(auto-fit,26px);gap:6px}.aus-paper-map-section .question-dot{width:26px;min-width:26px;height:26px}.aus-paper-review-panel{gap:10px}.aus-paper-review-stats article,.aus-paper-current-summary{padding:9px}.aus-paper-current-summary p{font-size:12px}.audio-player.aus-paper-tts-player{grid-template-columns:auto minmax(0,1fr)}.aus-speaking-status-row{grid-template-columns:1fr}.aus-speaking-actions,.aus-speaking-playback-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.aus-speaking-actions .primary-action{justify-content:center}.aus-paper-audio-state{grid-column:1/-1;justify-self:start}.aus-paper-question-actions{margin-top:18px;position:static}.aus-paper-answer-panel:has(.aus-paper-answer-key) .question-actions{margin-top:18px;position:static}.aus-paper-question-actions .question-action-label{display:none}}.top-profile-button.active{color:var(--np-on-primary);background:var(--np-primary);border-color:var(--np-primary)}.profile-vip-icon{border-radius:var(--np-radius-full);color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;display:inline-flex}.profile-vip-status strong{color:var(--np-ink);font-weight:750}.profile-shell{width:min(100%,1160px)}.profile-metric-icon,.profile-setting-icon{border-radius:var(--np-radius-full);justify-content:center;align-items:center;display:inline-flex}.profile-summary-card span,.profile-setting-row small,.profile-action-row small,.profile-module-meta{color:var(--np-muted);font-size:13px;font-weight:600}.profile-summary-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-xl);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);grid-template-columns:minmax(0,1fr) minmax(190px,auto) auto;align-items:center;gap:18px;padding:20px;display:grid}.profile-summary-card h2,.profile-summary-card p{margin:0}.profile-summary-card h2{color:var(--np-ink);margin-top:4px;font-size:34px;line-height:1}.profile-summary-card p{color:var(--np-body);margin-top:8px;line-height:1.45}.profile-vip-status{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.profile-vip-status.active{border-color:var(--np-primary-border);background:var(--np-primary-softer)}.profile-vip-icon{width:38px;height:38px}.profile-vip-status.active .profile-vip-icon{color:var(--np-on-primary);background:var(--np-primary)}.profile-vip-status strong,.profile-vip-status small{display:block}.profile-vip-status small{color:var(--np-muted);margin-top:3px;font-size:12px;font-weight:700;line-height:1.25}.profile-summary-message{border-radius:var(--np-radius-md);color:#5f4b20;background:#ffd25a2e;margin:-12px 0 0;padding:12px 14px;font-weight:800}.profile-summary-message.error{color:#a53535;background:#ff385c1f}.profile-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.profile-metric-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);min-height:104px;color:var(--np-ink);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);text-align:left;grid-template-columns:auto minmax(0,1fr);align-content:center;align-items:center;gap:6px 12px;padding:18px;display:grid}button.profile-metric-card{cursor:pointer;font:inherit;transition:transform .16s,border-color .16s,box-shadow .16s}button.profile-metric-card:hover{border-color:var(--np-primary-border);box-shadow:var(--np-shadow-md);transform:translateY(-1px)}.profile-metric-card.primary-metric{border-color:var(--np-primary-border);background:var(--np-primary-softer)}.profile-metric-icon{width:42px;height:42px;color:var(--np-primary);background:var(--np-primary-soft);grid-row:1/span 2}.profile-metric-card span:not(.profile-metric-icon){color:var(--np-muted);font-size:13px;font-weight:700}.profile-metric-card strong{color:var(--np-ink);font-size:26px;line-height:1.1}.profile-utility-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:stretch;gap:14px;display:grid}.profile-action-list,.profile-settings-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);align-content:start;gap:12px;padding:18px;display:grid}.profile-action-row{border:0;border-top:1px solid var(--np-hairline-soft);min-height:58px;color:var(--np-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0 0;display:grid}.profile-action-row:first-of-type{border-top:0;padding-top:0}.profile-action-row>svg{color:var(--np-primary)}.profile-action-row strong,.profile-action-row small,.profile-setting-row strong,.profile-setting-row small{display:block}.profile-action-row strong,.profile-setting-row strong{color:var(--np-ink);font-size:15px;font-weight:700}.profile-action-row:hover strong{color:var(--np-primary-active)}.profile-setting-row{border-top:1px solid var(--np-hairline-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding-top:12px;display:grid}.profile-setting-row:nth-of-type(2){border-top:0;padding-top:0}.profile-setting-icon{width:38px;height:38px;color:var(--np-primary);background:var(--np-primary-soft)}.profile-module-section{gap:12px;display:grid}.profile-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.profile-module-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);gap:14px;padding:16px;display:grid}.profile-module-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.profile-module-head strong{color:var(--np-ink);font-size:21px}.profile-module-meta{justify-content:space-between;gap:10px;display:flex}@media (width<=1100px){.profile-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){.profile-utility-grid{grid-template-columns:1fr}.profile-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.profile-summary-card{border-radius:var(--np-radius-lg);grid-template-columns:minmax(0,1fr);padding:16px}.profile-vip-status{grid-column:1/-1}.profile-summary-card .compact-action{grid-column:1/-1;justify-self:start}.profile-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-metric-card{grid-template-columns:minmax(0,1fr);align-content:start}.profile-metric-icon{grid-row:auto}.profile-metric-card strong{overflow-wrap:anywhere;font-size:22px}.profile-module-grid{grid-template-columns:1fr}.profile-setting-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.profile-setting-row .explanation-language-toggle,.profile-setting-row .compact-action{grid-column:2;justify-self:end}}.auth-shell{max-width:980px}.auth-layout{grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr);align-items:start;gap:24px;display:grid}.auth-copy{gap:22px;padding-top:22px;display:grid}.auth-copy h1{max-width:640px;color:var(--np-ink);letter-spacing:0;margin:0 0 12px;font-size:clamp(38px,6vw,68px);line-height:.94}.auth-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);box-shadow:var(--np-shadow-md);gap:16px;padding:24px;display:grid}.auth-field{gap:8px;display:grid}.auth-field span{color:var(--np-ink);align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.auth-field input{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);width:100%;min-height:52px;color:var(--np-ink);background:linear-gradient(180deg, var(--np-canvas), var(--np-surface)), var(--np-canvas);box-shadow:inset 0 1px 0 var(--np-inset-highlight);font:inherit;outline:0;padding:0 15px;font-size:15px;transition:border-color .16s,box-shadow .16s,background-color .16s}.auth-field input:focus{border-color:var(--np-primary-border-strong);box-shadow:0 0 0 4px #ff385c24, inset 0 1px 0 var(--np-inset-highlight)}.auth-message{border-radius:var(--np-radius-md);margin:0;padding:12px 14px;font-size:14px;font-weight:600}.auth-message.error{color:var(--np-coral-deep);background:var(--np-error-soft)}.auth-message.success{color:var(--np-success);background:var(--np-success-soft)}.auth-verification-summary{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);gap:6px;padding:12px 14px;display:grid}.auth-verification-summary span{color:var(--np-muted);font-size:12px;font-weight:700}.auth-verification-summary strong{overflow-wrap:anywhere;color:var(--np-ink);font-size:15px}.auth-verification-actions{flex-wrap:wrap;gap:10px;display:flex}.auth-verification-actions .compact-action{justify-self:auto}.auth-oauth-actions{gap:14px;margin-bottom:2px;display:grid}.auth-oauth-button{width:100%;min-height:52px;color:var(--np-ink);background:linear-gradient(180deg, #fff 0%, #fbfbfd 100%), var(--np-canvas);border-color:#1118271f;justify-content:flex-start;padding:0 18px;font-weight:800;transition:transform .16s,box-shadow .16s,border-color .16s,background-color .16s,opacity .16s;position:relative;box-shadow:inset 0 1px #ffffffe6,0 8px 20px #0f172a0f}.auth-oauth-button:hover:not(:disabled){background:linear-gradient(180deg, #fff 0%, #f7f7fa 100%), var(--np-canvas);border-color:#11182738;box-shadow:inset 0 1px #fffffff2,0 12px 28px #0f172a1a}.auth-oauth-button:focus-visible{border-color:var(--np-primary-border-strong);outline:0;box-shadow:0 0 0 4px #ff385c24,inset 0 1px #fffffff2,0 12px 28px #0f172a1a}.auth-oauth-button:disabled{opacity:.56;box-shadow:none}.auth-oauth-label{text-align:center;flex:1;min-width:0}.auth-oauth-brand-icon{background:#fff;border:1px solid #11182714;border-radius:999px;flex:0 0 30px;place-items:center;width:30px;height:30px;display:inline-grid;box-shadow:0 4px 12px #0f172a14}.auth-oauth-brand-icon--apple{color:#111827}.auth-oauth-brand-icon--google svg{display:block}.auth-oauth-button:after{content:"";flex:0 0 30px;width:30px;height:1px;display:block}.auth-oauth-blocked{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);gap:10px;padding:14px;display:grid}.auth-oauth-blocked strong{color:var(--np-ink);font-size:14px;font-weight:800}.auth-oauth-blocked p{color:var(--np-muted);margin:0;font-size:13px;line-height:1.5}.auth-divider{color:var(--np-muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;font-size:12px;font-weight:800;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:var(--np-hairline-soft);height:1px}.auth-submit{width:100%;margin-top:2px}.auth-mode-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.auth-mode-switch{border-radius:var(--np-radius-full);min-height:40px;color:var(--np-primary-active);font:inherit;cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:700}.auth-mode-switch:hover{background:var(--np-primary-softer)}@media (width<=640px){.auth-layout{grid-template-columns:1fr}.auth-copy{padding-top:6px}.auth-copy h1{font-size:38px}.auth-panel{padding:20px 16px}}.check-in-shell{width:min(100%,1120px)}.check-in-stats-grid{grid-template-columns:minmax(0,1.15fr) repeat(2,minmax(0,1fr));gap:12px;display:grid}.check-in-stat-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);text-align:center;min-height:96px;color:var(--np-ink);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);grid-template-columns:auto auto;place-content:center;align-items:center;gap:8px 10px;padding:16px;display:grid}.check-in-stat-card svg{color:var(--np-primary);grid-row:1/span 2}.check-in-stat-card span{color:var(--np-muted);font-size:13px;font-weight:700}.check-in-stat-card strong{color:var(--np-ink);grid-column:2;font-size:30px;line-height:1.05}.check-in-stat-card.primary-stat{border-color:var(--np-primary-border);background:var(--np-primary-softer)}.check-in-builder{border:1px solid var(--np-hairline);border-radius:var(--np-radius-xl);background:var(--np-canvas);box-shadow:var(--np-shadow-sm);padding:18px}.check-in-builder-main{grid-template-columns:minmax(130px,.75fr) minmax(170px,.9fr) minmax(190px,.8fr) minmax(220px,.95fr);align-items:end;gap:16px;display:grid}.study-plan-form{grid-template-columns:repeat(4,minmax(150px,1fr))}.study-plan-date-field{gap:8px;display:grid}.study-plan-date-field>span,.study-plan-form .form-field>span{color:var(--np-ink);font-size:13px;font-weight:700}.study-plan-date-field input{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);min-height:46px;color:var(--np-ink);background:var(--np-canvas);font:inherit;padding:0 12px}.study-plan-save-action{justify-self:end;min-width:168px;min-height:46px}.study-plan-error{color:var(--np-error);margin:14px 0 0;font-size:13px;font-weight:700}.study-plan-result{border-bottom:1px solid var(--np-hairline-soft);grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:end;gap:16px;margin-bottom:18px;padding-bottom:18px;display:grid}.study-plan-actions{justify-self:end;align-items:center;gap:10px;display:inline-flex}.study-plan-summary{gap:12px;display:grid}.study-plan-summary>div{gap:4px;display:grid}.study-plan-label{color:var(--np-muted);text-transform:uppercase;font-size:12px;font-weight:800}.study-plan-summary strong{color:var(--np-ink);font-size:24px;line-height:1.15}.study-plan-summary ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.study-plan-summary li,.study-plan-summary p{color:var(--np-muted);align-items:center;gap:7px;margin:0;font-size:13px;line-height:1.45;display:inline-flex}.study-plan-summary li{border-radius:var(--np-radius-full);background:var(--np-surface);min-height:30px;padding:0 10px;font-weight:700}.study-plan-summary p{align-items:flex-start;max-width:720px}.study-plan-summary svg{color:var(--np-primary);flex:none;margin-top:1px}.check-in-module-field{padding-top:0}.check-in-count-control{gap:8px;display:grid}.check-in-count-control>span{color:var(--np-ink);font-size:13px;font-weight:700}.count-stepper{grid-template-columns:44px minmax(70px,1fr) 44px;align-items:center;gap:8px;min-height:46px;display:grid}.count-stepper button,.count-stepper input{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);background:var(--np-canvas);min-height:46px;font:inherit}.count-stepper button{color:var(--np-primary);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.count-stepper button:disabled{color:var(--np-muted-soft);background:var(--np-surface);cursor:not-allowed}.count-stepper input{color:var(--np-ink);text-align:center;padding:0 8px}.check-in-start-action{place-self:end;min-width:188px;min-height:46px}.check-in-calendar-action{width:46px;min-width:46px;min-height:46px;color:var(--np-primary);justify-content:center;align-items:center;padding:0;display:inline-flex}.check-in-calendar-scroll-target{scroll-margin-top:92px}.check-in-calendar-panel{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-xl);background:linear-gradient(135deg, #fffffff2, #fff4f4b8), var(--np-canvas);box-shadow:var(--np-shadow-sm);gap:16px;padding:18px;display:grid}.check-in-calendar-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.check-in-calendar-eyebrow{color:var(--np-muted);text-transform:uppercase;font-size:12px;font-weight:800}.check-in-calendar-header h2{color:var(--np-ink);margin:3px 0 0;font-size:24px;line-height:1.15}.check-in-calendar-summary{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.check-in-calendar-summary span{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);min-height:30px;color:var(--np-muted);background:#ffffffc2;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.check-in-calendar-summary svg,.check-in-calendar-detail svg{color:var(--np-primary)}.check-in-calendar-body{grid-template-columns:minmax(0,680px) minmax(220px,1fr);align-items:stretch;gap:18px;display:grid}.check-in-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.check-in-calendar-weekday{color:var(--np-muted);text-align:center;font-size:12px;font-weight:800}.check-in-calendar-empty{aspect-ratio:1}.check-in-calendar-day{aspect-ratio:1;border:1px solid var(--np-hairline-soft);min-width:0;color:var(--np-ink);font:inherit;cursor:pointer;background:#ffffffc7;border-radius:14px;padding:0;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;display:block;position:relative}.check-in-calendar-day-number{color:currentColor;font-size:14px;font-weight:900;line-height:1;position:absolute;top:8px;right:9px}.check-in-calendar-day-flame{width:22px;height:22px;color:var(--np-primary);position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.check-in-calendar-day:hover{border-color:var(--np-primary-border);transform:translateY(-1px)}.check-in-calendar-day.is-completed{border-color:var(--np-primary-border);color:var(--np-primary);background:var(--np-primary-softer)}.check-in-calendar-day.is-completed .check-in-calendar-day-flame{color:var(--np-primary)}.check-in-calendar-day.is-today{border-color:var(--np-primary-border-strong);box-shadow:inset 0 0 0 1px var(--np-primary-border)}.check-in-calendar-day.is-missed{color:var(--np-muted-soft);background:var(--np-surface)}.check-in-calendar-day.is-future{color:var(--np-muted)}.check-in-calendar-day.is-selected{border-color:var(--np-primary);box-shadow:0 8px 18px #ff00001f, inset 0 0 0 1px var(--np-primary)}.check-in-calendar-detail{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:#ffffff9e;align-content:center;gap:16px;padding:18px;display:grid}.check-in-calendar-detail>div{gap:3px;display:grid}.check-in-calendar-detail>div span{color:var(--np-muted);font-size:12px;font-weight:800}.check-in-calendar-detail strong{color:var(--np-ink);font-size:28px;line-height:1.15}.check-in-calendar-detail ul{flex-wrap:wrap;justify-content:flex-start;gap:8px;margin:0;padding:0;list-style:none;display:flex}.check-in-calendar-detail li,.check-in-calendar-detail p{border-radius:var(--np-radius-full);color:var(--np-muted);background:#ffffffc2;align-items:center;gap:6px;margin:0;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.check-in-poster-layout{grid-template-columns:minmax(0,440px);justify-content:center;align-items:start;gap:18px;width:min(100%,440px);margin:0 auto;display:grid}.check-in-poster-card{aspect-ratio:3/4;border-radius:var(--np-radius-lg);width:100%;min-width:0;color:var(--np-ink);background:var(--np-canvas);box-shadow:0 24px 60px var(--poster-shadow,#ff385c3d);flex-direction:column;display:flex;position:relative;overflow:hidden}.poster-hero{min-height:62%;color:var(--np-on-primary);text-align:center;background:radial-gradient(circle at 86% 18%, #ffffff38, transparent 28%), linear-gradient(145deg, var(--poster-hero-start,#ff385c) 0%, var(--poster-hero-end,#ff6d84) 100%);place-items:center;padding:32px;display:grid;position:relative;overflow:hidden}.poster-heading{z-index:1;text-align:left;gap:12px;display:grid;position:absolute;top:32px;left:32px}.poster-brand{color:var(--np-on-primary);font-size:22px;font-weight:800;line-height:1}.poster-date{color:#ffffffd1;font-size:15px;font-weight:700}.poster-streak{z-index:1;justify-items:center;gap:6px;display:grid;position:relative}.poster-streak strong{font-size:clamp(86px,9vw,118px);line-height:.9}.poster-streak span{font-size:30px;font-weight:800}.poster-mascot{z-index:0;opacity:.92;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:16px;width:clamp(78px,24%,104px);height:auto;position:absolute;bottom:clamp(14px,5%,24px);right:clamp(16px,5%,24px)}.poster-practice-summary{background:linear-gradient(180deg, var(--poster-summary-start,#fffaf7) 0%, var(--np-canvas) 100%);flex:1;gap:14px;padding:26px 28px 24px;display:grid}.poster-practice-heading{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.poster-practice-label{min-width:0;color:var(--poster-accent,var(--np-primary));font-size:14px;font-weight:900}.poster-practice-line{gap:6px;min-width:0;display:grid}.poster-practice-line span{color:var(--np-ink);font-size:25px;font-weight:900}.poster-practice-line strong{color:var(--np-body);overflow-wrap:anywhere;font-size:15px;font-weight:800;line-height:1.35}.poster-score-line{color:var(--np-muted);flex-wrap:wrap;gap:5px 9px;font-size:14px;font-weight:800;display:flex}.poster-footer-row,.poster-result-row{align-items:flex-end;min-width:0;margin-top:auto;display:flex}.poster-result-row{justify-content:space-between;gap:14px}.poster-footer{border-radius:var(--np-radius-full);min-width:0;max-width:100%;color:var(--poster-footer-text,var(--np-primary-active));background:var(--poster-footer-bg,var(--np-primary-soft));flex:0 auto;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:800;line-height:1.25;display:inline-flex}.poster-site-url{color:var(--poster-footer-text,var(--np-primary-active));text-align:right;flex:none;margin-left:auto;font-size:13px;font-weight:800;line-height:1.2}.check-in-poster-actions{justify-self:center;gap:12px;width:100%;max-width:440px;display:grid}.check-in-poster-actions .primary-action,.check-in-poster-actions .secondary-action{justify-content:center}.check-in-save-error{color:var(--np-primary-active);margin:0;font-size:13px;font-weight:700}@media (width<=1100px){.check-in-builder-main{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1280px){.check-in-shell{gap:22px;width:min(100%,560px)}.check-in-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.check-in-poster-layout{grid-template-columns:1fr}.check-in-stat-card{grid-template-columns:1fr;align-content:center;justify-items:center;gap:7px;min-height:94px;padding:12px 10px}.check-in-stat-card svg{grid-row:auto;width:18px;height:18px}.check-in-stat-card span{min-height:30px;font-size:12px;line-height:1.25}.check-in-stat-card strong{grid-column:1;font-size:23px}.check-in-builder{border-radius:var(--np-radius-lg);padding:14px}.check-in-builder-main{grid-template-columns:1fr;gap:12px}.study-plan-result{grid-template-columns:1fr;gap:14px}.study-plan-actions{justify-self:end}}@media (width<=980px){.check-in-builder-main,.study-plan-form,.check-in-poster-layout{grid-template-columns:1fr}.check-in-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.check-in-stat-card strong{grid-column:2}.check-in-stats-grid{gap:8px}.check-in-stat-card{grid-template-columns:1fr;align-content:center;justify-items:center;gap:7px;min-height:94px;padding:12px 10px}.check-in-stat-card svg{grid-row:auto;width:18px;height:18px}.check-in-stat-card span{min-height:30px;font-size:12px;line-height:1.25}.check-in-stat-card strong{grid-column:1;font-size:23px}.check-in-builder{border-radius:var(--np-radius-lg);padding:14px}.check-in-builder-main{gap:12px}.study-plan-summary strong{font-size:21px}.study-plan-save-action,.check-in-start-action{justify-self:end;width:auto;min-width:0;padding:0 18px}.check-in-calendar-panel{border-radius:var(--np-radius-lg);gap:14px;padding:14px}.check-in-calendar-header{display:grid}.check-in-calendar-summary{justify-content:flex-start}.check-in-calendar-body{grid-template-columns:1fr}.check-in-calendar-grid{gap:6px}.check-in-calendar-day{border-radius:12px}.check-in-calendar-day-number{font-size:13px;top:6px;right:7px}.check-in-calendar-day-flame{width:17px;height:17px;top:57%}.check-in-calendar-detail{padding:14px}.check-in-calendar-detail strong{font-size:25px}.check-in-poster-card{min-height:auto;padding:0}.poster-hero{min-height:54%;padding:24px}.poster-heading{gap:10px;top:24px;left:24px}.poster-streak strong{font-size:76px}.poster-streak span{font-size:27px}.poster-practice-summary{gap:10px;padding:20px 26px 18px}.poster-practice-line span{font-size:24px}.poster-score-line{font-size:13px}.poster-footer{padding:9px 13px;font-size:13px}.poster-site-url{font-size:12px}}.poster-question-preprocessor{z-index:-1;pointer-events:none;gap:16px;width:430px;display:grid;position:fixed;top:0;left:-10000px}.poster-question-card{width:430px;height:590px;color:var(--np-ink);background:linear-gradient(#fffdfb 0%,#fff 100%);border:1px solid #ff5c5c33;border-radius:24px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 18px 44px #5f2d1e24}.poster-question-card-header{background:linear-gradient(#fff4ee 0%,#fff 100%);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:18px 20px 14px;display:flex}.poster-question-card-header span{color:#2c2f36;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:22px;font-weight:900;line-height:1.15;overflow:hidden}.poster-question-card-header strong{color:#c91d45;background:#fff0f3;border-radius:999px;flex:none;padding:6px 10px;font-size:13px;font-weight:900}.poster-question-card-body{gap:10px;min-height:0;padding:0 20px 18px;display:grid;overflow:hidden}.poster-question-card .problem-instruction{color:#b95d32;max-height:44px;margin:0;font-size:13px;font-weight:800;line-height:1.45;overflow:hidden}.poster-question-prompt,.poster-reading-answer-prompt{color:#262a31;letter-spacing:0;white-space:pre-wrap;-webkit-box-orient:vertical;margin:0;font-size:20px;font-weight:850;line-height:1.45;display:-webkit-box;overflow:hidden}.poster-question-prompt{-webkit-line-clamp:4;max-height:126px}.poster-reading-answer-prompt{-webkit-line-clamp:3;max-height:72px;font-size:17px}.poster-question-card .question-image-frame{max-height:110px;margin:0}.poster-question-card .question-image-frame img{object-fit:contain;max-height:104px}.poster-question-card .choices-list{gap:7px;display:grid}.poster-question-card .choice-button{border-radius:14px;min-height:42px;padding:8px 10px;font-size:13px;line-height:1.35}.poster-question-card .choice-button>span:last-child{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.poster-question-card .choice-index{width:24px;height:24px;font-size:12px}.poster-question-card .question-reference{min-height:0;margin-top:0}.poster-question-card .reference-panel{border-radius:16px;gap:8px;max-height:138px;padding:10px;overflow:hidden}.poster-question-card .reference-detail,.poster-question-card .reference-detail-static{background:0 0;border:0;gap:6px;padding:0}.poster-question-card .reference-detail-heading{color:#c24626;min-height:0;padding:0;font-size:12px;font-weight:900}.poster-question-card .reference-detail p{color:#555b66;white-space:pre-wrap;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:12px;font-weight:650;line-height:1.45;display:-webkit-box;overflow:hidden}.poster-question-card .reference-empty{padding:10px;font-size:12px}.poster-question-strip{z-index:2;pointer-events:none;height:230px;position:absolute;top:154px;left:0;right:0}.poster-question-shot{object-fit:cover;border-radius:14px;width:33%;max-width:150px;position:absolute;box-shadow:0 18px 36px #4c1e1238}.poster-question-shot.left{bottom:0;left:20px;transform:rotate(-7deg)}.poster-question-shot.center{z-index:2;width:39%;max-width:176px;bottom:0;left:50%;transform:translate(-50%)rotate(2deg)}.poster-question-shot.right{bottom:0;right:20px;transform:rotate(7deg)}.check-in-poster-shell{width:min(100%,960px)}.check-in-poster-shell .level-header{width:min(100%,720px);margin:0 auto}.check-in-poster-shell .check-in-poster-layout{grid-template-columns:minmax(0,430px) minmax(220px,260px);justify-content:center;gap:20px;width:min(100%,730px)}.check-in-poster-shell .check-in-poster-card{justify-self:center;width:min(100%,430px)}.check-in-poster-shell .check-in-poster-actions{place-self:start stretch;max-width:260px}.check-in-poster-card.has-question-cards .poster-hero{min-height:70%;padding:24px 24px 0}.check-in-poster-card.has-question-cards .poster-mascot{z-index:3;width:70px;top:68px;bottom:auto;right:24px}.check-in-poster-card.has-question-cards .poster-practice-summary{gap:10px;padding:20px 24px 18px}.check-in-poster-card.has-question-cards .poster-heading{gap:8px;top:24px;left:24px}.check-in-poster-card.has-question-cards .poster-brand{font-size:22px}.check-in-poster-card.has-question-cards .poster-date{font-size:13px}.check-in-poster-card.has-question-cards .poster-streak{gap:2px;position:absolute;top:50px;left:0;right:0}.check-in-poster-card.has-question-cards .poster-streak strong{font-size:72px}.check-in-poster-card.has-question-cards .poster-streak span{font-size:20px}.check-in-poster-card.has-question-cards .poster-practice-line span{font-size:24px}.check-in-poster-card.has-question-cards .poster-result-row{align-items:center}.check-in-poster-card.has-question-cards .poster-score-line{flex:auto}.check-in-poster-card.has-question-cards .poster-score-line,.check-in-poster-card.has-question-cards .poster-footer,.check-in-poster-card.has-question-cards .poster-site-url{font-size:12px}.check-in-poster-card.has-question-cards .poster-footer{text-align:right;flex:0 auto;justify-content:flex-end;max-width:58%;padding:8px 12px}@media (width<=760px){.check-in-poster-shell{width:min(100%,560px)}.check-in-poster-shell .check-in-poster-layout{grid-template-columns:1fr;width:min(100%,430px)}.check-in-poster-shell .check-in-poster-actions{justify-self:center;max-width:430px}}@media (width<=640px){.poster-question-strip{height:202px;top:140px}.poster-question-shot{max-width:124px}.poster-question-shot.center{max-width:146px}.check-in-poster-card.has-question-cards .poster-hero{min-height:68%;padding:22px 22px 0}.check-in-poster-card.has-question-cards .poster-mascot{width:60px;top:56px;right:18px}.check-in-poster-card.has-question-cards .poster-streak{top:42px}.check-in-poster-card.has-question-cards .poster-streak strong{font-size:60px}.check-in-poster-card.has-question-cards .poster-streak span{font-size:16px}}.about-shell{width:min(100%,1180px)}.about-hero-copy,.about-story-card,.about-value-card,.about-feature-card,.about-contact-section,.contact-message-form--section{border:1px solid var(--np-hairline-soft);background:var(--np-canvas);box-shadow:var(--np-shadow-sm)}.about-section-heading span{border-radius:var(--np-radius-full);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.about-mission-section,.about-features-section{gap:22px;display:grid}.about-section-heading{gap:12px;max-width:740px;display:grid}.about-section-heading.centered{text-align:center;justify-items:center;max-width:680px;margin:0 auto}.about-section-heading span{min-height:30px;color:var(--np-primary);background:var(--np-primary-soft);justify-self:start;padding:0 12px}.about-section-heading.centered span{justify-self:center}.about-section-heading h2{color:var(--np-ink);margin:0;font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1.18}.about-section-heading p{color:var(--np-muted);margin:0;font-size:16px;line-height:1.72}.about-value-card>span,.about-feature-icon,.about-email-link>span{border-radius:var(--np-radius-full);color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;display:inline-flex}.about-value-card h3,.about-feature-card h3,.contact-message-form h3{color:var(--np-ink);margin:0;font-weight:700;line-height:1.22}.about-hero-section{padding:8px 0 4px;display:block}.about-hero-copy{border-radius:var(--np-radius-xl);text-align:center;background:linear-gradient(135deg, var(--np-primary-softer), var(--np-peach-soft)), var(--np-canvas);align-content:center;justify-items:center;min-height:300px;padding:clamp(28px,5vw,52px);display:grid}.about-hero-copy h1{max-width:880px;color:var(--np-ink);letter-spacing:0;margin:0;font-size:clamp(40px,4.5vw,58px);font-weight:700;line-height:1.08}.about-hero-copy h1 span{display:block}.about-hero-copy p{max-width:740px;color:var(--np-muted);margin:20px 0 0;font-size:18px;line-height:1.78}.about-hero-action{margin-top:30px}.about-mission-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.76fr);gap:18px;display:grid}.about-story-card{border-radius:var(--np-radius-lg);gap:16px;padding:28px;display:grid}.about-story-card p{color:var(--np-body);margin:0;font-size:16px;line-height:1.84}.about-values-list{gap:12px;display:grid}.about-value-card{border-radius:var(--np-radius-lg);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;padding:18px;display:grid}.about-value-card>span{width:42px;height:42px}.about-value-card h3{font-size:17px}.about-value-card p,.about-feature-card p{color:var(--np-muted);margin:7px 0 0;line-height:1.64}.about-value-card p{font-size:14px}.about-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.about-feature-card{border-radius:var(--np-radius-lg);align-content:start;gap:15px;min-height:236px;padding:22px;display:grid}.about-feature-icon{width:48px;height:48px}.about-feature-card h3{font-size:20px}.about-feature-card p{font-size:14px}.about-contact-section{border-radius:var(--np-radius-xl);grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);align-items:stretch;gap:28px;padding:20px;scroll-margin-top:20px;display:grid}.about-contact-copy{align-content:start;gap:18px;padding:14px 8px 14px 12px;display:grid}.about-email-link{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);width:min(100%,360px);min-height:54px;color:var(--np-body);background:var(--np-canvas);grid-template-columns:auto minmax(0,auto) minmax(0,1fr);justify-self:start;align-items:center;gap:10px;padding:6px 18px 6px 6px;text-decoration:none;display:grid}.about-email-link>span{width:42px;height:42px}.about-email-link strong{color:var(--np-ink);font-size:14px}.about-social-list{gap:12px;width:min(100%,360px);max-width:360px;display:grid}.about-social-row{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-full);width:100%;min-height:54px;color:var(--np-body);background:var(--np-canvas);font:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px 6px 6px;text-decoration:none;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.about-social-row:hover,.about-social-row:focus-visible{border-color:var(--np-primary-border);outline:none;transform:translateY(-1px);box-shadow:0 0 0 4px #ff385c1a}.about-social-row--button{cursor:pointer;text-align:left}.about-social-icon{border-radius:var(--np-radius-full);width:42px;height:42px;color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;display:inline-flex}.about-social-row strong{color:var(--np-ink);font-size:14px;line-height:1.25}.about-social-row-action{border-radius:var(--np-radius-full);min-height:34px;color:var(--np-primary);background:var(--np-primary-soft);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;display:inline-flex}.about-wechat-contact{gap:10px;display:grid}.about-social-qr-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:#fff;justify-items:center;gap:10px;width:100%;padding:14px;display:grid;box-shadow:0 14px 34px #1c1c1c0f}.about-social-qr{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);width:min(100%,212px);height:auto;image-rendering:crisp-edges;background:#fff}.about-social-qr-panel p{color:var(--np-muted);text-align:center;margin:0;font-size:13px;font-weight:600;line-height:1.5}.contact-message-form{border-radius:var(--np-radius-lg);gap:15px;padding:24px;display:grid}.contact-message-form h3{font-size:22px}.contact-message-form label{color:var(--np-ink);gap:8px;font-size:13px;font-weight:700;display:grid}.contact-field-label{justify-content:space-between;align-items:center;gap:10px;display:flex}.contact-field-required{color:var(--np-primary-active);font-size:15px;line-height:1}.contact-field-optional{color:var(--np-muted-soft);font-size:12px;font-weight:700}.contact-message-form input,.contact-message-form textarea{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);width:100%;color:var(--np-ink);background:var(--np-canvas);font:inherit;outline:none;padding:13px 14px;font-size:15px;line-height:1.45;transition:border-color .16s,box-shadow .16s}.contact-message-form textarea{resize:vertical;min-height:118px}.contact-message-form input:focus,.contact-message-form textarea:focus{border-color:var(--np-primary-border);box-shadow:0 0 0 4px #ff385c1f}.about-submit-button{width:100%}.about-contact-status{min-height:22px;color:var(--np-muted);margin:0;font-size:13px;line-height:1.45}.about-contact-status.error{color:var(--np-primary-active)}.about-contact-status.success{color:var(--np-success)}.contact-consultation-drawer{z-index:90;left:18px;bottom:calc(18px + env(safe-area-inset-bottom));pointer-events:none;position:fixed}.contact-mascot{z-index:3;aspect-ratio:112/108;filter:drop-shadow(0 12px 16px #2222221f);pointer-events:none;width:104px;position:absolute;bottom:calc(100% - 5px);left:50%;transform:translate(-50%)}.contact-mascot-sprite{will-change:background-position;background-position:0 0;background-repeat:no-repeat;background-size:400% 100%;width:100%;height:100%;animation:.76s linear infinite contact-mascot-play;display:block}.contact-mascot-bubble{width:max-content;max-width:170px;color:var(--np-ink);opacity:1;text-align:center;white-space:nowrap;background:#fff;border:1px solid #ff385c42;border-radius:18px;padding:8px 12px;font-size:13px;font-weight:800;line-height:1.25;animation:.36s both contact-mascot-bubble-change;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(1);box-shadow:0 14px 32px #22222229}.contact-mascot-bubble:after{content:"";background:#fff;border-bottom:1px solid #ff385c42;border-right:1px solid #ff385c42;width:10px;height:10px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.contact-drawer-tab,.contact-drawer-close,.contact-drawer-backdrop{cursor:pointer;font:inherit;border:0}.contact-drawer-tab{z-index:4;isolation:isolate;border:1px solid var(--np-primary-border-strong);border-radius:var(--np-radius-full);min-height:48px;color:var(--np-on-primary);background:linear-gradient(135deg, var(--np-primary), var(--np-primary-active)), var(--np-primary);pointer-events:auto;justify-content:center;align-items:center;gap:8px;padding:0 18px;transition:transform .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden;transform:translateY(0);box-shadow:0 14px 34px #ff385c38,inset 0 1px #ffffff59}.contact-drawer-tab:before{z-index:-1;content:"";background:linear-gradient(105deg,#0000 0% 34%,#ffffff61 45%,#0000 58% 100%);position:absolute;inset:0;transform:translate(-115%)}.contact-drawer-tab:hover,.contact-drawer-tab:focus-visible{transform:translateY(-2px);box-shadow:0 18px 42px #ff385c47,inset 0 1px #ffffff61}.contact-drawer-tab:focus-visible,.contact-drawer-close:focus-visible{outline-offset:3px;outline:3px solid #ff385c3d}.contact-drawer-panel{z-index:2;left:18px;bottom:calc(78px + env(safe-area-inset-bottom));border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-canvas);width:min(420px,100vw - 36px);max-height:calc(100svh - 118px);box-shadow:var(--np-shadow-lg);pointer-events:auto;padding:18px;animation:.18s ease-out contact-drawer-rise;position:fixed;overflow:auto}.contact-drawer-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;display:flex}.contact-drawer-header h2{color:var(--np-ink);margin:0;font-size:20px;line-height:1.2}.contact-drawer-close{border:1px solid var(--np-hairline);border-radius:var(--np-radius-full);width:36px;height:36px;color:var(--np-muted);background:var(--np-surface);flex:none;place-items:center;display:inline-grid}.contact-drawer-close:hover{color:var(--np-primary-active);background:var(--np-primary-softer)}.contact-message-form--drawer{gap:13px;padding:0}.contact-message-form--drawer h3{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.contact-message-form--drawer textarea{min-height:96px}.contact-drawer-backdrop{display:none}@keyframes contact-mascot-play{0%,16.665%{background-position:0 0}16.666%,33.331%{background-position:33.3333% 0}33.332%,49.997%{background-position:66.6667% 0}49.998%,66.663%{background-position:100% 0}66.664%,83.329%{background-position:66.6667% 0}83.33%,to{background-position:33.3333% 0}}@keyframes contact-mascot-bubble-change{0%{opacity:.45;transform:translate(-50%,3px)scale(.99)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes contact-drawer-rise{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes contact-drawer-drop{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=680px){body.mobile-menu-open .contact-consultation-drawer{visibility:hidden;opacity:0;pointer-events:none}.contact-consultation-drawer{top:calc(12px + env(safe-area-inset-top));display:block;bottom:auto;left:auto;right:14px}.contact-drawer-backdrop{pointer-events:auto;background:#2223;display:block;position:fixed;inset:0}.contact-drawer-tab{gap:7px;min-height:42px;padding:0 14px;font-size:15px;animation:none;box-shadow:0 10px 26px #ff385c33,inset 0 1px #ffffff59}.contact-mascot{display:none}.contact-drawer-panel{top:calc(66px + env(safe-area-inset-top));width:min(360px,100vw - 20px);max-height:calc(100svh - 86px - env(safe-area-inset-top));transform-origin:100% 0;border-radius:20px;padding:16px;animation:.18s ease-out contact-drawer-drop;bottom:auto;left:auto;right:10px}.contact-message-form input,.contact-message-form textarea{font-size:16px}.practice-session-shell~.contact-consultation-drawer{top:auto;right:14px;bottom:calc(92px + env(safe-area-inset-bottom))}.practice-session-shell:has(.checkpoint-question-actions)~.contact-consultation-drawer{bottom:calc(138px + env(safe-area-inset-bottom))}.practice-session-shell~.contact-consultation-drawer .contact-drawer-panel{top:auto;right:10px;bottom:calc(148px + env(safe-area-inset-bottom));max-height:calc(100svh - 168px - env(safe-area-inset-bottom));transform-origin:100% 100%;animation:.18s ease-out contact-drawer-rise}.practice-session-shell:has(.checkpoint-question-actions)~.contact-consultation-drawer .contact-drawer-panel{bottom:calc(194px + env(safe-area-inset-bottom));max-height:calc(100svh - 214px - env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.contact-mascot,.contact-mascot-bubble,.contact-mascot-sprite,.contact-drawer-tab,.contact-drawer-tab:before,.contact-drawer-panel{animation:none}}@media (width<=980px){.about-contact-section,.about-mission-grid{grid-template-columns:1fr}.about-hero-copy{min-height:auto}.about-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.about-hero-copy{border-radius:var(--np-radius-lg);padding:28px 22px}.about-hero-copy h1{font-size:clamp(34px,10vw,40px);line-height:1.12}.about-hero-copy p{font-size:16px}.about-story-card,.contact-message-form--section{padding:20px}.about-feature-grid{grid-template-columns:1fr}.about-social-list{max-width:none}.about-social-row{border-radius:var(--np-radius-lg);grid-template-columns:auto minmax(0,1fr) auto;padding-right:12px}.about-social-row-action{justify-self:end}.about-social-qr-panel{padding:12px}.about-social-qr{width:min(100%,212px)}.about-feature-card{min-height:auto}.about-contact-section{border-radius:var(--np-radius-lg);padding:14px}.about-contact-copy{padding:4px}.about-email-link{border-radius:var(--np-radius-lg);grid-template-columns:auto minmax(0,1fr);width:100%;padding-right:12px}.about-email-link strong{display:none}}.membership-shell{flex-direction:column;gap:28px;display:flex}.membership-hero{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.membership-hero-copy,.membership-benefits,.membership-redeem-panel{background:#ffffffd1;border:1px solid #22222214;border-radius:8px;box-shadow:0 14px 36px #583a2a14}.membership-hero-copy{background:linear-gradient(135deg,#ff385c1a,#0000 46%),linear-gradient(315deg,#2563eb1a,#0000 42%),#ffffffe0;flex-direction:column;justify-content:center;min-height:330px;padding:clamp(28px,5vw,58px);display:flex}.membership-hero-copy .section-chip{align-self:flex-start}.membership-hero-copy h1{max-width:680px;color:var(--np-ink,#222);letter-spacing:0;margin:16px 0 12px;font-size:clamp(2.35rem,6vw,4.6rem);line-height:.96}.membership-hero-copy p,.membership-redeem-panel p{color:var(--np-muted,#6f625a);margin:0}.membership-hero-actions,.membership-redeem-controls{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.membership-benefits{overflow:hidden}.membership-discount-panel{color:#fff;background:linear-gradient(135deg,#ff385c7a,#ff385c00 42%),linear-gradient(315deg,#f5b45557,#f5b45500 38%),#242126;border:1px solid #fff3;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);align-items:center;gap:22px;padding:clamp(20px,4vw,32px);display:grid;overflow:hidden;box-shadow:0 22px 52px #2223,inset 0 1px #ffffff2e}.membership-discount-copy{gap:12px;display:grid}.membership-discount-label{color:#ffe1b6;background:#ffffff14;border:1px solid #ffffff38;border-radius:8px;justify-self:start;align-items:center;gap:8px;padding:7px 10px;font-size:13px;font-weight:900;display:inline-flex}.membership-discount-copy h2{letter-spacing:0;margin:0;font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.04}.membership-discount-copy p{color:#ffffffc7;max-width:680px;margin:0;font-weight:700}.membership-discount-promo-toggle{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;grid-template-columns:auto minmax(0,1fr);justify-self:start;align-items:start;gap:10px;max-width:640px;padding:10px 12px;display:grid}.membership-discount-promo-toggle input{accent-color:#ff385c;width:18px;height:18px;margin:2px 0 0}.membership-discount-promo-toggle span{gap:3px;min-width:0;display:grid}.membership-discount-promo-toggle strong{font-size:14px;font-weight:900;line-height:1.2}.membership-discount-promo-toggle small{color:#ffffffbd;font-size:12px;font-weight:800;line-height:1.35}.membership-discount-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.membership-discount-metrics div{background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;gap:4px;min-height:78px;padding:12px;display:grid}.membership-discount-metrics dt{color:#ffffffad;align-items:center;gap:6px;font-size:12px;font-weight:900;display:inline-flex}.membership-discount-metrics dd{color:#fff;margin:0;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:900;line-height:1.05}.membership-discount-deadline{grid-column:1/-1}.membership-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.membership-plan-option{min-height:176px;color:var(--np-ink,#222);cursor:pointer;text-align:left;background:#ffffffd1;border:1px solid #2222221a;border-radius:8px;justify-items:start;gap:9px;padding:20px;display:grid;box-shadow:0 14px 36px #583a2a14}.membership-plan-option.selected{background:linear-gradient(135deg,#ff385c1a,#0000 56%),#fffffff0;border-color:#ff385c8f;box-shadow:0 18px 38px #ff385c24}.membership-plan-option span,.membership-plan-option small{font-weight:900}.membership-plan-option strong{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1}.membership-plan-price-stack{gap:5px;display:grid}.membership-plan-original-price{color:#6f625ac7;font-size:14px;font-weight:900;line-height:1;text-decoration:line-through}.membership-plan-discount-note{color:#9b4a3f;font-size:12px;line-height:1.35}.membership-plan-option p{color:var(--np-muted,#6f625a);margin:0}.membership-benefit-row{border-top:1px solid #22222214;grid-template-columns:minmax(160px,1fr) minmax(92px,140px) minmax(92px,140px);align-items:center;gap:12px;padding:16px 20px;display:grid}.membership-benefit-row.header{background:#fff7eec7;border-top:0}.membership-benefit-row>span:first-child{font-weight:900}.membership-yes,.membership-no{align-items:center;gap:7px;font-weight:800;display:inline-flex}.membership-yes{color:#147d4f}.membership-no{color:#9b4a3f}.membership-tools{grid-template-columns:minmax(0,1fr);display:grid}.membership-redeem-panel{flex-direction:column;gap:16px;padding:24px;display:flex}.membership-redeem-controls input{min-width:min(100%,260px);color:var(--np-ink,#222);letter-spacing:0;text-transform:uppercase;background:#fff;border:1px solid #22222224;border-radius:8px;flex:1;padding:12px 14px;font-weight:800}.membership-message{color:#5f4b20;background:#ffd25a2e;border-radius:8px;margin:0;padding:12px 14px;font-weight:800}.membership-message.success{color:#147d4f;background:#147d4f1f}.membership-message.error{color:#a53535;background:#ff385c1f}.new-user-vip-floating-cta{left:18px;right:auto;bottom:calc(224px + env(safe-area-inset-bottom));z-index:91;pointer-events:none;position:fixed}.new-user-vip-floating-button{--new-user-vip-light-angle:0deg;color:#211817;cursor:pointer;isolation:isolate;pointer-events:auto;text-align:left;background:0 0;border:1px solid #ffedaa9e;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:min(288px,100vw - 36px);min-height:58px;padding:9px 12px 9px 9px;transition:box-shadow .18s,transform .18s;display:grid;position:relative;box-shadow:0 20px 48px #22222247,0 0 22px #ff385c38,inset 0 1px #ffffff42}.new-user-vip-floating-button:before{z-index:0;content:"";background:conic-gradient(from var(--new-user-vip-light-angle), #ff385c 0deg, #fff2a6 32deg, #fff 56deg, #ffb443 82deg, #ff385c 132deg, #ffd54f 196deg, #fff 232deg, #ff6b86 280deg, #ff385c 360deg);pointer-events:none;border-radius:12px;animation:2.8s linear infinite new-user-vip-light-strip;position:absolute;inset:-4px;box-shadow:0 0 0 1px #ffffffad,0 0 18px #ff385c5c,0 0 30px #ffb44347}.new-user-vip-floating-button:after{z-index:1;content:"";pointer-events:none;background:radial-gradient(circle at 12% 20%,#ffffffeb,#fff0 48%),linear-gradient(135deg,#fff4b7fa 0%,#ffdae2f5 48%,#ffeba6fa 100%),#fff5cf;border-radius:8px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff80}.new-user-vip-floating-button>*{z-index:2;position:relative}.new-user-vip-floating-button:hover,.new-user-vip-floating-button:focus-visible{outline:none;transform:translateY(-2px);box-shadow:0 24px 58px #22222252,0 0 0 4px #ff385c2e,0 0 28px #ffb4435c,inset 0 1px #ffffff3d}.new-user-vip-floating-icon{color:#2a2118;background:#ffe1b6;border-radius:8px;place-items:center;width:40px;height:40px;display:inline-grid}.new-user-vip-floating-copy{gap:2px;min-width:0;display:grid}.new-user-vip-floating-copy strong{color:#211817;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;line-height:1.2;overflow:hidden}.new-user-vip-floating-copy small{color:#4f3c36;font-size:12px;font-weight:800;line-height:1.2}.new-user-vip-floating-arrow{color:#211817}@property --new-user-vip-light-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes new-user-vip-light-strip{to{--new-user-vip-light-angle:360deg}}@media (width<=820px){.membership-hero,.membership-plan-grid,.membership-tools,.membership-discount-panel,.membership-discount-metrics{grid-template-columns:1fr}.membership-discount-deadline{grid-column:auto}.membership-benefit-row{grid-template-columns:minmax(120px,1fr) minmax(72px,96px) minmax(72px,96px);padding:14px}}@media (width<=680px){body.mobile-menu-open .new-user-vip-floating-cta{visibility:hidden;opacity:0;pointer-events:none}.new-user-vip-floating-cta{top:auto;right:auto;bottom:calc(88px + env(safe-area-inset-bottom));left:14px}.new-user-vip-floating-button{width:min(252px,100vw - 28px);min-height:52px;padding:8px 11px 8px 8px}.new-user-vip-floating-icon{width:36px;height:36px}.new-user-vip-floating-copy strong{white-space:normal;font-size:13px}.new-user-vip-floating-copy small{font-size:11px}.practice-session-shell~.new-user-vip-floating-cta{bottom:calc(92px + env(safe-area-inset-bottom))}.practice-session-shell:has(.checkpoint-question-actions)~.new-user-vip-floating-cta{bottom:calc(138px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.new-user-vip-floating-button,.new-user-vip-floating-button:before{transition:none;animation:none}}.app-shell.word-library-shell,.word-library-shell{width:min(100%,1280px);max-width:100%;overflow-x:hidden}.word-library-page{--word-accent:var(--np-primary);--word-accent-border:var(--np-primary-border-strong);--word-active:var(--np-primary-soft);--word-border:var(--np-hairline-soft);--word-control:var(--np-primary-softer);--word-ink:var(--np-ink);--word-muted:var(--np-muted);--word-page:var(--np-page);--word-shadow:var(--np-shadow-md);--word-surface:var(--np-canvas);background:linear-gradient(180deg, var(--word-page), var(--word-surface));box-shadow:0 0 0 100vmax var(--word-page);clip-path:inset(0 -100vmax);color:var(--word-ink);gap:22px;width:100%;max-width:1240px;margin:0 auto;padding:38px 20px 56px;display:grid}.word-library-page *,.word-library-page :before,.word-library-page :after{box-sizing:border-box}:root[data-theme=tokyo-pop] .word-library-page{--word-accent:#ef4444;--word-accent-border:#fca5a5;--word-active:#fef2f2;--word-border:#e5e7eb;--word-control:#fff;--word-ink:#1f2937;--word-muted:#6b7280;--word-page:#fff9db;--word-shadow:0 4px 14px #1f293714;--word-surface:#fff;background:var(--word-page);box-shadow:0 0 0 100vmax var(--word-page)}.word-library-hero{grid-template-columns:minmax(0,1fr) minmax(320px,460px);align-items:end;gap:24px;display:grid}.word-library-hero.compact{grid-template-columns:1fr;align-items:center}.word-library-hero.compact>div{justify-items:start;gap:16px;min-width:0;display:grid}.word-library-hero-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 14px;width:100%;min-width:0;display:flex}.word-library-hero-left{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;display:inline-flex}.word-hero-practice-button{color:#fff;cursor:pointer;font:inherit;white-space:nowrap;background:#ef0000;border:1px solid #ef0000;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 18px;font-size:.96rem;font-weight:900;display:inline-flex;box-shadow:0 8px 18px #ef00002e}.word-hero-practice-button:hover{background:#dc2626;border-color:#dc2626;transform:translateY(-1px)}.word-library-title-card{border:1px solid color-mix(in srgb, var(--word-accent-border) 58%, transparent);background:linear-gradient(135deg,#fff0f0 0%,#fff 100%);border-radius:20px;gap:8px;width:100%;padding:22px 24px;display:grid}.catalog-hero{align-items:center}.word-library-kicker{color:var(--word-accent);letter-spacing:0;text-transform:uppercase;margin-bottom:10px;font-size:.82rem;font-weight:800;display:inline-flex}.word-library-hero h1{color:var(--word-ink);margin:0;font-size:clamp(2.1rem,4vw,4.4rem);line-height:.95}.word-library-hero p{color:var(--word-muted);max-width:620px;margin:16px 0 0;font-size:1.02rem;line-height:1.7}.word-library-hero.compact p{margin:0}.word-library-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.word-library-auth-panel,.word-library-loading{background:var(--word-surface);border:1px solid var(--word-border);box-shadow:var(--word-shadow);color:var(--word-muted);border-radius:8px;margin:0;padding:28px}.word-library-auth-panel{justify-items:start;gap:14px;display:grid}.word-library-auth-panel h1{color:var(--word-ink);margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1}.word-library-auth-panel p{max-width:620px;margin:0;line-height:1.7}.word-library-auth-panel button{background:var(--word-accent);border:1px solid var(--word-accent);color:#fff;font:inherit;border-radius:8px;min-height:40px;padding:0 18px;font-weight:800}.word-library-attribution{color:color-mix(in srgb, var(--word-muted) 88%, white 12%);text-align:center;max-width:900px;margin:4px auto 0;font-size:.75rem;line-height:1.55}.word-library-attribution a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px}.word-library-attribution a:hover{color:var(--word-ink)}.word-primary-action,.word-secondary-action,.word-back-link{font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-weight:850;display:inline-flex}.word-primary-action{background:var(--word-accent);border:1px solid var(--word-accent);color:#fff}.word-primary-action:disabled{cursor:not-allowed;opacity:.58}.word-secondary-action,.word-back-link{background:var(--word-control);border:1px solid var(--word-border);color:var(--word-ink)}.word-back-link{margin-bottom:12px}.word-library-hero-meta .word-back-link,.word-library-hero-meta .word-library-kicker{margin:0}.word-section-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.word-library-loading.error{color:#b91c1c}.word-status-stat,.word-library-toolbar,.word-library-results,.word-card{background:var(--word-surface);border:1px solid var(--word-border);box-shadow:var(--word-shadow)}.word-status-stat{color:var(--word-ink);text-align:left;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:13px 14px;display:grid}.word-status-stat:hover,.word-status-stat.active{border-color:var(--word-accent-border);color:var(--word-accent)}.word-status-stat strong{color:inherit;font-size:1.2rem}.word-library-toolbar{border-radius:8px;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:14px;padding:14px;display:grid}.word-scene-filters,.word-jlpt-filters{z-index:8;background:#fff;border-radius:24px;gap:16px;max-width:100%;padding:28px 32px 32px;display:grid;position:relative;overflow:visible;box-shadow:0 4px 14px #1f29371f}.word-scene-filters .word-search,.word-jlpt-filters .word-search{background:#fff;border:2px solid #e5e7eb;border-radius:12px;min-height:52px;padding:0 18px}.word-scene-filters .word-search input,.word-jlpt-filters .word-search input{font-size:1rem}.word-scene-filter-tabs{flex-direction:column;gap:22px;display:flex}.word-scene-filter-header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.word-scene-filter-header strong{color:var(--word-muted);font-size:.98rem;font-weight:900}.word-scene-filter-reset{color:#ef0000;cursor:pointer;font:inherit;background:0 0;border:0;padding:4px 0;font-size:.92rem;font-weight:900}.word-scene-drawer-stack{gap:12px;display:grid}.word-scene-drawer{background:linear-gradient(135deg,#fff 0%,snow 100%);border:1px solid #f3e7df;border-radius:18px;gap:12px;padding:14px;display:grid;box-shadow:0 10px 24px #1f29370a}.word-scene-drawer.expanded{border-color:color-mix(in srgb, var(--word-accent-border) 72%, white 28%);box-shadow:0 14px 30px #ef000012}.word-scene-drawer.disabled{background:#fafafa}.word-scene-drawer-header{color:var(--word-ink);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-width:0;padding:0;display:flex}.word-scene-drawer-header:not(:disabled){cursor:pointer}.word-scene-drawer-icon{color:#ef0000;background:#fff0f0;border-radius:12px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.word-scene-drawer.disabled .word-scene-drawer-icon{color:var(--word-muted);background:#f3f4f6}.word-scene-drawer-title{flex:auto;gap:2px;min-width:0;display:grid}.word-scene-drawer-title>span{color:var(--word-muted);font-size:.78rem;font-weight:850}.word-scene-drawer-title strong{color:var(--word-ink);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:900;overflow:hidden}.word-scene-drawer.disabled .word-scene-drawer-title strong{color:var(--word-muted)}.word-scene-drawer-toggle{color:#ef0000;white-space:nowrap;flex:none;align-items:center;gap:8px;font-size:.92rem;font-weight:900;display:inline-flex}.word-scene-drawer-toggle svg{transition:transform .18s}.word-scene-drawer.expanded .word-scene-drawer-toggle svg{transform:rotate(180deg)}.word-scene-drawer-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.word-scene-drawer-grid button{color:var(--word-ink);cursor:pointer;font:inherit;background:#fff;border:1px solid #f0e3d7;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-width:0;min-height:40px;padding:0 12px;font-size:.92rem;font-weight:850;display:inline-flex}.word-scene-drawer-grid button>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.word-scene-drawer-grid button:hover,.word-scene-drawer-grid button.active{color:#fff;background:#ef0000;border-color:#ef0000}.word-scene-drawer-grid button.locked:not(.active){color:#7f1d1d}.word-scene-drawer-empty{color:var(--word-muted);background:#f3f4f6;border-radius:12px;min-height:40px;margin:0;padding:11px 12px;font-size:.92rem;font-weight:800}.word-scene-filter-row{align-items:flex-start;gap:18px;min-width:0;display:flex}.word-scene-filter-label{color:#ef0000;letter-spacing:.08em;flex:none;min-width:72px;padding-top:7px;font-size:1.18rem;font-weight:900;line-height:1}.word-scene-filter-controls{flex:1;align-items:flex-start;gap:14px;min-width:0;display:flex;position:relative}.word-tab-scroll{scrollbar-width:none;flex-wrap:wrap;flex:1;gap:10px 18px;min-width:0;padding-bottom:6px;display:flex;overflow:visible}.word-tab-scroll::-webkit-scrollbar{display:none}.word-tab-scroll button{color:#4b5563;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;flex:none;align-items:center;gap:6px;min-height:32px;padding:0 2px 8px;font-size:.96rem;font-weight:800;display:inline-flex;position:relative}.word-tab-scroll button:after{content:"";background:#ef0000;border-radius:999px;width:0;height:2px;transition:width .2s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.word-tab-scroll button:hover,.word-tab-scroll button.active{color:#ef0000}.word-tab-scroll button.locked{color:#7f1d1d}.word-tab-scroll button.locked:not(.active){opacity:.88}.word-tab-scroll button.locked:hover{color:#dc2626}.word-tab-scroll button:hover:after{width:60%}.word-tab-scroll button.active:after{width:82%}.word-list-controls{border:1px solid var(--word-border);box-shadow:var(--word-shadow);background:#fff;border-radius:24px;justify-content:space-between;align-items:center;gap:18px;padding:24px;display:flex}.word-library-results>.word-list-controls{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 0 4px}.word-scene-filters>.word-list-controls,.word-jlpt-filters>.word-list-controls{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.word-status-filter-group{flex:auto;min-width:0}.word-list-controls .word-filter-tabs{gap:14px}.word-list-controls .word-filter-tabs button{color:#1f2937;white-space:nowrap;background:#f3f4f6;border:0;border-radius:999px;flex:none;min-height:46px;padding:0 26px;font-size:1rem}.word-list-controls .word-filter-tabs button.active{color:#fff;background:#ef0000;border-color:#ef0000}.word-list-control-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.word-eye-toggle{color:#ef0000;cursor:pointer;font:inherit;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;font-size:.96rem;font-weight:850;display:inline-flex}.word-eye-toggle:hover{background:#fff5f5}.word-eye-toggle.active{color:#ef0000;background:#fff5f5}.word-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.word-catalog-card{--word-card-accent:var(--word-accent);background:var(--word-surface);border:1px solid var(--word-border);box-shadow:var(--word-shadow);border-radius:8px;gap:18px;padding:20px;display:grid}.word-catalog-main{color:var(--word-ink);text-align:left;background:0 0;border:0;align-items:center;gap:14px;width:100%;padding:0;display:flex}.word-catalog-main svg{background:color-mix(in srgb, var(--word-card-accent) 14%, transparent);color:var(--word-card-accent);border-radius:8px;flex:none;width:48px;height:48px;padding:11px}.word-catalog-main span{gap:5px;min-width:0;display:grid}.word-catalog-main strong{color:var(--word-ink);font-size:1.1rem}.word-catalog-main small{color:var(--word-muted);line-height:1.5}.word-catalog-main:not(.static):hover strong{color:var(--word-card-accent)}.word-catalog-chips{flex-wrap:wrap;gap:8px;display:flex}.word-catalog-chips button,.word-count-row button{background:var(--word-control);border:1px solid var(--word-border);color:var(--word-ink);font:inherit;border-radius:999px;min-height:36px;padding:0 13px;font-size:.9rem;font-weight:800}.word-catalog-chips button:hover,.word-count-row button:hover,.word-count-row button.active{background:color-mix(in srgb, var(--word-card-accent,var(--word-accent)) 12%, var(--word-control));border-color:var(--word-card-accent,var(--word-accent));color:var(--word-card-accent,var(--word-accent))}.wordlist-home{gap:40px;display:grid}.wordlist-home-header{text-align:center}.wordlist-home-header h1{color:#1f2937;margin:0 0 12px;font-size:2.35rem;font-weight:850;line-height:1.1}.wordlist-home-header p{color:#6b7280;margin:0;font-size:1.1rem}.wordlist-category-stack{flex-direction:column;gap:24px;width:100%;max-width:1000px;margin:0 auto;display:flex}.wordlist-category-card{background:#fff;border:2px solid #0000;border-radius:24px;min-width:0;padding:28px;transition:border-color .2s,box-shadow .2s,transform .2s;box-shadow:0 18px 46px #1f293714}.wordlist-category-card.clickable{cursor:pointer}.wordlist-category-card.locked{border-color:#ef44442e}.wordlist-category-card:hover{transform:translateY(-4px);box-shadow:0 24px 52px #1f293721}.wordlist-category-card.clickable:hover,.wordlist-category-card.word-management:hover{border-color:var(--word-card-accent,#ef4444)}.wordlist-category-header{border-bottom:2px solid #f1f5f9;align-items:center;gap:18px;margin-bottom:24px;padding-bottom:20px;display:flex}.wordlist-category-icon{background:#f8fafc;border-radius:12px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-size:2.25rem;display:flex}.wordlist-category-header h2{color:#1f2937;margin:0 0 8px;font-size:1.48rem;font-weight:820}.wordlist-category-header p{color:#6b7280;margin:0;font-size:1rem}.wordlist-category-items{flex-wrap:wrap;gap:12px;display:flex}.wordlist-category-items button{color:#374151;cursor:pointer;font:inherit;background:#fff;border:1.5px solid #e5e7eb;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:96px;min-height:48px;padding:0 22px;font-size:1rem;font-weight:760;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.wordlist-category-items button.locked{color:#7f1d1d;border-color:#ef444438}.wordlist-category-items button:hover{background:var(--word-card-accent,#ef4444);border-color:var(--word-card-accent,#ef4444);color:#fff;transform:translateY(-1px)}.word-vip-badge{color:#dc2626;white-space:nowrap;background:#ef44441a;border:1px solid #ef444433;border-radius:999px;flex:none;align-items:center;gap:4px;min-height:22px;padding:0 7px;font-size:.72rem;font-weight:900;display:inline-flex}.word-search{background:var(--word-control);border:1px solid var(--word-border);color:var(--word-muted);border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.word-search input{color:var(--word-ink);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0}:root[data-theme=tokyo-pop] .word-search:focus-within{border-color:var(--word-accent);box-shadow:0 0 0 3px #ef44441a}.word-level-tabs,.word-source-tabs,.word-filter-tabs,.word-layout-toggle,.word-card-actions,.word-mark-actions,.word-pagination{align-items:center;display:flex}.word-level-tabs,.word-source-tabs,.word-filter-tabs{flex-wrap:wrap;gap:6px}.word-level-tabs button,.word-source-tabs button,.word-filter-tabs button,.word-layout-toggle button,.word-card-actions button,.word-mark-actions button,.word-pagination button{border:1px solid var(--word-border);color:var(--word-ink);font:inherit;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:.88rem;font-weight:800;display:inline-flex}.word-source-tabs button span{color:var(--word-muted);font-size:.78rem}.word-level-tabs button,.word-source-tabs button,.word-filter-tabs button,.word-layout-toggle button,.word-card-actions button{background:var(--word-control)}.word-level-tabs button.active,.word-source-tabs button.active,.word-filter-tabs button.active,.word-layout-toggle button.active,.word-card-actions button.active,.word-mark-actions button.active{background:var(--word-active);border-color:var(--word-accent-border);color:var(--word-accent)}@media (hover:hover) and (pointer:fine){.word-level-tabs button:hover,.word-source-tabs button:hover,.word-filter-tabs button:hover,.word-layout-toggle button:hover,.word-card-actions button:hover:not(:disabled),.word-mark-actions button:hover{background:var(--word-active);border-color:var(--word-accent-border);color:var(--word-accent)}}:root[data-theme=tokyo-pop] .word-level-tabs button.active,:root[data-theme=tokyo-pop] .word-source-tabs button.active,:root[data-theme=tokyo-pop] .word-filter-tabs button.active,:root[data-theme=tokyo-pop] .word-layout-toggle button.active{background:var(--word-accent);border-color:var(--word-accent);color:#fff;box-shadow:0 2px 10px #ef44442e}:root[data-theme=tokyo-pop] .word-card-actions button,:root[data-theme=tokyo-pop] .word-mark-actions button{background:#fff}:root[data-theme=tokyo-pop] .word-card-actions button.active,:root[data-theme=tokyo-pop] .word-mark-actions button.active{border-color:var(--word-accent-border);color:var(--word-accent);background:linear-gradient(135deg,#fff5f5 0%,#ffe8e8 100%)}@media (hover:hover) and (pointer:fine){:root[data-theme=tokyo-pop] .word-card-actions button:hover:not(:disabled),:root[data-theme=tokyo-pop] .word-mark-actions button:hover{border-color:var(--word-accent-border);color:var(--word-accent);background:linear-gradient(135deg,#fff5f5 0%,#ffe8e8 100%)}}.word-layout-toggle{gap:6px}.word-layout-toggle button,.word-card-actions button{width:38px;padding:0}.word-card-actions button:disabled{cursor:not-allowed;opacity:.4}.word-library-results{border-radius:8px;gap:18px;padding:18px;display:grid}.word-results-heading{justify-content:space-between;align-items:center;display:flex}.word-results-heading strong{color:var(--word-ink)}.word-results-heading span,.word-card small,.word-kana{color:var(--word-muted)}.word-card small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.word-card-grid{grid-template-columns:1fr;gap:14px;display:grid}.word-card-grid.list-mode{grid-template-columns:1fr}.word-card{border-radius:8px;gap:14px;min-width:0;padding:16px;display:grid;overflow:hidden;container-type:inline-size}.word-card-topline{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.word-card-meta{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.word-level-tag{color:#fff;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:900}.word-meta-tags{flex-wrap:wrap;flex:12rem;gap:6px;min-width:0;display:flex}.word-meta-tag{background:color-mix(in srgb, var(--word-control) 86%, #fff);border:1px solid color-mix(in srgb, var(--word-border) 86%, transparent);color:var(--word-muted);overflow-wrap:anywhere;border-radius:999px;max-width:100%;padding:4px 8px;font-size:.76rem;font-weight:850;line-height:1.25}.word-pos-tag{background:color-mix(in srgb, var(--word-accent) 10%, #fff);border-color:color-mix(in srgb, var(--word-accent-border) 72%, transparent);color:var(--word-accent)}.word-wrong-badge{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;justify-self:start;padding:4px 9px;font-size:.78rem;font-weight:900}.level-N5{background:#178a73}.level-N4{background:#2471a3}.level-N3{background:#8b5a9f}.level-N2{background:#c0642f}.level-N1{background:#af3150}.source-scene{background:#4568a8}.source-system{background:#5f6b7a}.word-card-actions{flex:none;justify-content:flex-end;align-self:start;gap:6px}.word-card-main{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;min-width:0;display:grid}.word-card-main.has-illustration{grid-template-columns:minmax(0,1fr) minmax(176px,260px)}.word-card-body h2{color:var(--word-ink);margin:0;font-size:1.9rem;line-height:1.12}.word-title-row{flex-wrap:wrap;align-items:flex-start;gap:4px 6px;min-width:0;display:flex}.word-title-text{overflow-wrap:anywhere;min-width:0}.word-pitch-accent-badges{color:#64748b;white-space:nowrap;flex:none;align-items:center;gap:1px;font-size:.82rem;font-weight:700;line-height:1;display:inline-flex}.word-pitch-accent-badge{font-variant-numeric:tabular-nums;line-height:1;display:inline-flex}.word-pitch-accent-badge.fallback{border:1px solid #cbd5e1;border-radius:999px;justify-content:center;align-items:center;min-width:1.35em;padding:1px 4px;font-size:.72em;display:inline-flex}.word-pitch-accent-separator{color:#94a3b8;font-size:.8em;line-height:1}.word-title-row .word-pitch-accent-badges{margin-left:1px;transform:translateY(-.34em)}.word-illustration{aspect-ratio:var(--word-illustration-ratio,1.333);background:var(--word-page);border:1px solid color-mix(in srgb, var(--word-border) 78%, transparent);border-radius:8px;width:100%;min-height:0;margin:0;overflow:hidden}.word-illustration img{object-fit:cover;width:100%;height:100%;display:block}.word-kana{margin:5px 0 0;font-size:.95rem}.word-meaning{color:var(--word-ink);margin:10px 0 0;font-size:1rem;line-height:1.5}.translation-hidden{-webkit-box-decoration-break:clone;box-decoration-break:clone;filter:none;text-shadow:none;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#e7ebf0 0%,#f2f4f7 48%,#e4e8ee 100%);border-radius:6px;color:#0000!important}.word-title-text.translation-hidden{white-space:nowrap;width:min(12rem,72%);min-height:1.12em;display:inline-block;overflow:hidden}.word-meaning.translation-hidden{white-space:nowrap;width:min(18rem,100%);min-height:1.5em;display:block;overflow:hidden}.word-example small.translation-hidden{width:min(100%,24rem);min-height:1.55em;display:block}.word-conjugations{background:color-mix(in srgb, var(--word-page) 88%, #fff);border:1px solid color-mix(in srgb, var(--word-border) 78%, transparent);border-radius:8px;gap:10px;padding:11px 12px 12px;display:grid}.word-conjugation-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.word-conjugation-header>div{gap:2px;min-width:0;display:grid}.word-conjugation-header span{color:var(--word-accent);font-size:.78rem;font-weight:900}.word-conjugation-header small{color:var(--word-muted);font-size:.74rem;font-weight:800}.word-conjugation-header button{border:1px solid var(--word-border);color:var(--word-ink);font:inherit;background:#fff;border-radius:999px;flex:none;align-items:center;gap:4px;min-height:28px;padding:0 9px;font-size:.76rem;font-weight:850;display:inline-flex}.word-conjugation-header button svg{transition:transform .16s}.word-conjugation-header button.expanded svg{transform:rotate(180deg)}.word-conjugation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.word-conjugation-form{border:1px solid color-mix(in srgb, var(--word-border) 82%, transparent);background:#fff;border-radius:7px;align-items:start;gap:2px;min-width:0;padding:8px 9px;display:grid}.word-conjugation-form span{color:var(--word-muted);font-size:.72rem;font-weight:850;line-height:1.25}.word-conjugation-form strong{color:var(--word-ink);overflow-wrap:anywhere;font-size:.94rem;font-weight:900;line-height:1.28}.word-conjugation-form small{color:var(--word-muted);overflow-wrap:anywhere;font-size:.74rem;line-height:1.25}.word-example{background:var(--word-page);border-radius:8px;gap:6px;padding:12px;display:grid}.word-example span{color:var(--word-accent);font-size:.78rem;font-weight:900}.word-example p,.word-example small{margin:0;line-height:1.55}.word-ai-tutor-action{justify-content:flex-end;align-items:center;min-height:36px;display:flex}.word-ai-tutor-action>*{flex:none;max-width:100%}.word-ai-tutor-action .ai-tutor-trigger,.word-ai-tutor-action .word-locked-button{flex:none;align-self:center;width:auto}.word-locked-button{color:#dc2626;font:inherit;background:#fff7ed;border:1px solid #ef44442e;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:.82rem;font-weight:850;display:inline-flex}.word-mark-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.word-mark-actions button{background:0 0;min-width:0}.word-empty-state{color:var(--word-muted);margin:36px auto}.word-practice-panel{background:var(--word-surface);border:1px solid var(--word-border);box-shadow:var(--word-shadow);border-radius:8px;gap:22px;padding:24px;display:grid}.word-practice-panel h1,.word-practice-panel h2,.word-practice-card h2{color:var(--word-ink);margin:0}.word-practice-panel p{color:var(--word-muted);margin:0;line-height:1.65}.word-practice-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.word-practice-mode-grid button{background:var(--word-control);border:1px solid var(--word-border);color:var(--word-ink);text-align:left;border-radius:8px;justify-items:start;gap:8px;min-height:134px;padding:16px;display:grid}.word-practice-mode-grid button.active,.word-practice-mode-grid button:hover{background:var(--word-active);border-color:var(--word-accent-border);color:var(--word-accent)}.word-practice-mode-grid small{color:var(--word-muted);line-height:1.45}.word-count-row{flex-wrap:wrap;gap:8px;display:flex}.word-practice-progress{justify-content:space-between;align-items:center;display:flex}.word-practice-progress span{color:var(--word-accent);font-weight:900}.word-practice-card{background:var(--word-page);border:1px solid var(--word-border);border-radius:8px;gap:18px;padding:22px;display:grid}.word-practice-card h2{font-size:clamp(2rem,5vw,3.4rem);line-height:1}.word-audio-command{background:var(--word-control);border:1px solid var(--word-border);color:var(--word-ink);font:inherit;border-radius:8px;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.word-practice-prompt{font-size:1.15rem}.word-practice-answer{background:var(--word-surface);border:1px solid var(--word-border);border-radius:8px;gap:8px;padding:16px;display:grid}.word-practice-answer strong{color:var(--word-ink);font-size:1.12rem}.word-practice-answer small{color:var(--word-muted);line-height:1.5}.word-practice-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.word-practice-options button{background:var(--word-surface);border:1px solid var(--word-border);color:var(--word-ink);font:inherit;text-align:left;border-radius:8px;min-height:56px;padding:10px 12px;font-weight:750;line-height:1.45}.word-practice-options button.correct{color:#166534;background:#ecfdf5;border-color:#86efac}.word-practice-options button.wrong{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.word-practice-feedback{border-radius:8px;padding:10px 12px;font-weight:850}.word-practice-feedback.correct{color:#166534;background:#ecfdf5}.word-practice-feedback.wrong{color:#b91c1c;background:#fef2f2}.word-practice-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.word-practice-result-grid span{background:var(--word-page);border:1px solid var(--word-border);color:var(--word-muted);border-radius:8px;gap:4px;padding:16px;display:grid}.word-practice-result-grid strong{color:var(--word-ink);font-size:1.8rem}.word-practice-review{gap:14px;display:grid}.word-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}.word-pagination button{color:#ef0000;background:#f3f4f6;border:0;border-radius:14px;min-width:50px;min-height:46px;padding:0 16px;font-size:1rem}:root[data-theme=tokyo-pop] .word-pagination button:not(:disabled){box-shadow:none;color:#ef0000;background:#f3f4f6;border-color:#0000}.word-pagination button.active,.word-pagination button:hover:not(:disabled),:root[data-theme=tokyo-pop] .word-pagination button.active,:root[data-theme=tokyo-pop] .word-pagination button:hover:not(:disabled){color:#fff;background:#ef0000}.word-pagination button:disabled{cursor:not-allowed;opacity:.45}.word-pagination span{color:var(--word-muted);font-size:.92rem;font-weight:800}.word-page-numbers{align-items:center;gap:8px;display:flex}.word-pagination-ellipsis{color:#64748b;padding:0 8px;font-size:1.1rem}.word-page-jump{color:#666;align-items:center;gap:8px;margin-left:14px;font-size:.95rem;display:flex}.word-page-jump input{color:#4b5563;font:inherit;text-align:center;background:#fff;border:1px solid #d6d6d6;border-radius:8px;width:64px;height:38px}.word-page-jump input:focus{border-color:#ef0000;outline:0;box-shadow:0 0 0 3px #ef00001a}.word-practice-page{clip-path:inset(0 -100vmax);color:#1f2937;background:#fff9db;min-height:calc(100vh - 80px);padding:40px 20px;box-shadow:0 0 0 100vmax #fff9db}.practice-container{max-width:900px;margin:0 auto}.setup-top-back{justify-content:flex-start;margin-bottom:12px;display:flex}.practice-setup,.practice-content,.practice-result{background:#fff;box-shadow:0 8px 32px #00000014}.practice-setup{border-radius:24px;padding:48px 44px}.setup-header{justify-content:center;align-items:center;margin-bottom:44px;display:flex;position:relative}.setup-back-btn,.quit-btn{color:#dc2626;cursor:pointer;font:inherit;background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:10px 20px;font-size:15px;font-weight:600;transition:all .25s}.setup-back-btn:hover,.quit-btn:hover{color:#ef4444;background:#fef2f2;border-color:#ef4444;transform:translateY(-2px)}.setup-title{color:#1a1a2e;text-align:center;margin:0;font-size:30px;font-weight:800}.source-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;margin-bottom:24px;padding:14px 20px}.source-info-text{color:#0c4a6e;font-size:.95rem}.source-info-text strong{color:#0369a1}.setup-section{text-align:left;margin-bottom:40px}.section-title{color:#374151;background-image:linear-gradient(#dc2626,#dc2626);background-position:0 100%;background-repeat:no-repeat;background-size:100% 3px;margin:0 0 24px;padding-bottom:14px;font-size:18px;font-weight:700;display:inline-block}.mode-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.mode-card{color:inherit;cursor:pointer;background:#fff;border:2px solid #f0f0f0;border-radius:18px;flex-direction:column;align-items:center;min-height:170px;padding:28px 18px;transition:all .3s;display:flex;position:relative;box-shadow:0 2px 8px #0000000a}.mode-card:hover:not(:disabled){background:#fff8f8;border-color:#fca5a5;transform:translateY(-4px);box-shadow:0 8px 20px #ef44441f}.mode-card:focus-visible{outline-offset:3px;outline:3px solid #ef444452}.mode-card.selected{color:#dc2626;background:linear-gradient(135deg,#fff0f0 0%,#ffe8e8 100%),#fff;border-color:#ef4444;transform:translateY(-2px);box-shadow:0 10px 24px #ef444438,inset 0 0 0 2px #ef44442e}.mode-card.disabled{cursor:not-allowed;opacity:.5;background:#f5f5f5;border-color:#e0e0e0}.mode-icon{margin-bottom:14px;font-size:42px;line-height:1}.mode-card.selected .mode-icon,.mode-card.selected .mode-label{color:#dc2626}.mode-label{color:#1f2937;margin-bottom:8px;font-size:16px;font-weight:700}.mode-desc{color:#6b7280;text-align:center;font-size:13px;line-height:1.4}.mode-selected-mark{color:#fff;opacity:0;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;font-weight:900;transition:opacity .2s,transform .2s;display:inline-flex;position:absolute;top:16px;right:16px;transform:scale(.82);box-shadow:0 4px 10px #ef444447}.mode-card.selected .mode-selected-mark{opacity:1;transform:scale(1)}.range-options{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.range-option{color:inherit;cursor:pointer;text-align:left;background:#fff;border:2px solid #f0f0f0;border-radius:14px;align-items:center;padding:18px 22px;transition:all .25s;display:flex;box-shadow:0 2px 6px #00000008}.range-option:hover{background:#fff8f8;border-color:#fca5a5;transform:translateY(-2px)}.range-option.selected{background:linear-gradient(135deg,#fff0f0 0%,#ffe8e8 100%);border-color:#ef4444;box-shadow:0 4px 12px #ef44441f}.range-radio{border:2px solid #d1d5db;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-right:18px;transition:all .25s;display:flex}.range-option.selected .range-radio{border-color:#ef4444}.radio-dot{background:0 0;border-radius:50%;width:14px;height:14px;transition:all .25s}.radio-dot.active{background:#ef4444}.range-info{flex-direction:column;gap:4px;display:flex}.range-label{color:#1f2937;font-size:17px;font-weight:700}.range-desc{color:#6b7280;font-size:14px;line-height:1.4}.count-options{flex-wrap:wrap;gap:14px;display:flex}.question-count-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.count-btn{color:#374151;cursor:pointer;font:inherit;background:#fff;border:2px solid #e5e7eb;border-radius:12px;min-height:48px;padding:12px 6px;font-size:15px;font-weight:600;transition:all .25s;box-shadow:0 2px 6px #00000008}.count-btn:hover{background:#fff8f8;border-color:#fca5a5;transform:translateY(-2px)}.count-btn.selected{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border-color:#ef4444;box-shadow:0 4px 12px #ef444440}.setup-actions{border-top:1px solid #f0f0f0;justify-content:center;gap:24px;margin-top:48px;padding-top:36px;display:flex}.start-btn{color:#fff;cursor:pointer;font:inherit;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:0;border-radius:14px;min-height:54px;padding:0 56px;font-size:17px;font-weight:700;transition:all .3s;box-shadow:0 6px 16px #ef44444d}.start-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 24px #ef444466}.start-btn:disabled{cursor:not-allowed;opacity:.6}.practice-history{border-top:1px solid #f1f5f9;margin-top:30px;padding-top:22px}.history-title{color:#334155;margin:0 0 12px;font-size:16px}.history-list{flex-direction:column;gap:10px;display:flex}.history-item{color:#475569;background:#f8fafc;border-radius:10px;grid-template-columns:1.8fr 1fr .8fr .6fr;gap:10px;padding:10px 12px;font-size:13px;display:grid}.practice-content{border-radius:20px;padding:30px}.practice-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex;position:relative}.mode-indicator{white-space:nowrap;align-items:center;gap:6px;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}.mode-indicator .mode-icon{margin:0;font-size:18px}.mode-indicator .mode-label{color:#374151;margin:0;font-size:16px;font-weight:600}.score-indicator{color:#16a34a;background:#dcfce7;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:600}.progress-bar{background:#e5e7eb;border-radius:4px;width:100%;height:8px;margin-bottom:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#ef4444 0%,#f97316 100%);border-radius:4px;height:100%;transition:width .3s}.progress-text{color:#6b7280;text-align:center;margin-bottom:30px;font-size:14px}.flashcard-mode,.listening-mode,.matching-mode,.conjugation-mode{flex-direction:column;align-items:center;width:100%;max-width:720px;margin:0 auto;display:flex}.flashcard,.listening-card{text-align:center;background:linear-gradient(135deg,#fef2f2 0%,#fff 100%);border:2px solid #fca5a5;border-radius:20px;width:100%;margin-bottom:30px;padding:40px}.conjugation-mode{gap:18px}.conjugation-practice-content{transition:padding .18s}.conjugation-prompt-card{border:1px solid color-mix(in srgb, var(--word-accent-border) 72%, #fff);background:linear-gradient(135deg,#fff7f7 0%,#fffdf8 100%);border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:28px 32px;transition:box-shadow .18s,transform .18s;display:grid;box-shadow:0 12px 28px #ef444414}.conjugation-mode.is-input-focused .conjugation-prompt-card{transform:translateY(-8px);box-shadow:0 16px 34px #ef44441f}.conjugation-word-card{justify-items:center;gap:6px;min-width:0;display:grid}.conjugation-reading{color:#9ca3af;font-size:1rem;font-weight:700;line-height:1.2}.conjugation-word-row{justify-content:center;align-items:flex-start;gap:8px;min-width:0;max-width:100%;display:inline-flex}.conjugation-word{color:#111827;overflow-wrap:anywhere;text-align:center;font-size:clamp(2.4rem,7vw,4.3rem);font-weight:850;line-height:1.05}.conjugation-word-row .word-pitch-accent-badges{flex:none;margin-top:.42rem;font-size:1rem;transform:translateY(-.36em)}.conjugation-answer-card{border:1px solid color-mix(in srgb, var(--word-accent-border) 56%, #fff);background:linear-gradient(135deg,#fff 0%,#fff8f2 100%);border-radius:20px;gap:18px;width:100%;padding:28px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid;box-shadow:0 16px 32px #ef44441a}.conjugation-answer-card.is-correct{border-color:#78ca96;box-shadow:0 16px 32px #16a34a1a}.conjugation-answer-card.is-wrong{border-color:color-mix(in srgb, var(--word-accent-border) 84%, #fff);box-shadow:0 16px 32px #ef44441f}.conjugation-answer-card label{color:var(--word-ink);text-align:center;justify-items:center;gap:8px;display:grid}.conjugation-answer-card label span{background:var(--word-active);border:1px solid color-mix(in srgb, var(--word-accent-border) 54%, #fff);color:var(--word-accent);border-radius:999px;padding:8px 16px;font-size:1.15rem;font-weight:850;line-height:1}.conjugation-answer-card label small{color:var(--word-muted);font-size:.92rem;line-height:1.45}.conjugation-input-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.conjugation-answer-input{border:1px solid color-mix(in srgb, var(--word-border) 70%, #fff);color:var(--word-ink);font:inherit;text-align:center;background:#fff;border-radius:14px;min-width:0;min-height:58px;padding:0 18px;font-size:1.35rem;font-weight:800;box-shadow:inset 0 1px #ffffffd9}.conjugation-answer-input:focus{border-color:var(--word-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--word-accent) 16%, transparent), 0 8px 18px #ef444414;outline:0}.conjugation-answer-input:disabled{color:var(--word-muted);opacity:1;background:snow}.conjugation-submit-btn{background:var(--word-accent);color:#fff;cursor:pointer;font:inherit;white-space:nowrap;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:58px;padding:0 20px;font-weight:850;display:inline-flex;box-shadow:0 10px 18px #ef000024}.conjugation-submit-btn:disabled{box-shadow:none;color:#94a3b8;cursor:not-allowed;background:#f1f5f9}.conjugation-feedback{margin-top:0}.word-display{justify-content:center;align-items:center;gap:16px;display:flex}.word-display .word-pitch-accent-badges{align-self:flex-start;margin-top:6px;font-size:1.15rem;transform:translateY(-.35em)}.word-text{color:#1a1a2e;font-size:42px;font-weight:700}.sound-btn,.play-btn-flashcard{cursor:pointer;background:#fff;border:0;border-radius:50%;padding:12px;font-size:24px;transition:all .2s;box-shadow:0 2px 8px #0000001a}.play-btn-flashcard{box-shadow:none;background:0 0;margin-top:16px;padding:0}.sound-btn:hover:not(:disabled),.play-btn-flashcard:hover:not(:disabled){transform:scale(1.1)}.sound-btn.small{padding:8px;font-size:18px}.example-text,.hint-text{color:#6b7280;margin-top:20px;font-size:16px;font-style:italic}.options-grid{grid-template-columns:1fr;gap:16px;width:100%;display:grid}.option-btn{color:#1f2937;cursor:pointer;font:inherit;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;min-height:64px;padding:16px 20px;font-size:16px;line-height:1.45;transition:all .2s}.option-btn:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.option-btn.selected{background:#eff6ff;border-color:#3b82f6}.option-btn.correct{color:#16a34a;background:#dcfce7;border-color:#22c55e}.option-btn.wrong{color:#dc2626;background:#fef2f2;border-color:#ef4444}.feedback{border-top:1px solid #e5e7eb;flex-direction:column;align-items:center;gap:16px;width:100%;margin-top:30px;padding-top:20px;display:flex}.feedback-text{font-size:20px;font-weight:600}.feedback-text.correct{color:#16a34a}.feedback-text.wrong{color:#dc2626}.next-btn{color:#fff;cursor:pointer;font:inherit;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:0;border-radius:12px;min-height:48px;padding:0 40px;font-size:16px;font-weight:600;transition:all .3s}.next-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.play-btn.large{color:#fff;cursor:pointer;font:inherit;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:0;border-radius:16px;min-height:72px;padding:0 48px;font-size:22px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #ef44444d}.matching-status-bar{align-items:center;gap:16px;width:100%;margin-bottom:24px;display:flex}.matching-progress-track{background:#f3f4f6;border-radius:4px;flex:1;height:8px;overflow:hidden}.matching-progress-fill{background:linear-gradient(90deg,#ef4444,#f97316);border-radius:4px;height:100%;transition:width .4s}.matching-progress-label{color:#6b7280;white-space:nowrap;font-size:14px}.matching-progress-label strong{color:#ef4444;font-size:16px}.matching-grid{width:100%;position:relative}.matching-pairs{flex-direction:column;gap:14px;display:flex;position:relative}.matching-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:48px;display:grid}.matching-lines-svg{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0;overflow:visible}.match-line{stroke:#22c55e;stroke-dasharray:300;stroke-dashoffset:300px;stroke-linecap:round;stroke-width:2.5px;animation:.5s forwards drawLine}@keyframes drawLine{to{opacity:.7;stroke-dashoffset:0}}.matching-item{color:#1f2937;cursor:pointer;font:inherit;text-align:center;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e5e7eb;border-radius:14px;justify-content:center;align-items:center;min-height:52px;padding:14px 20px;font-size:15px;font-weight:500;transition:all .2s;display:flex;position:relative}.matching-item.left-item{border-left:4px solid #e5e7eb}.matching-item.right-item{border-right:4px solid #e5e7eb;font-weight:400}.matching-item:hover:not(.matched):not(.wrong){background:#fef2f2;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 4px 12px #ef44441a}.matching-item.selected{background:linear-gradient(135deg,#fff5f5 0%,#ffe8e8 100%);border-color:#ef4444;transform:translateY(-2px);box-shadow:0 0 0 3px #ef444426,0 4px 12px #ef44441f}.matching-item.wrong{color:#7f1d1d;background:#fecaca;border-color:#991b1b;animation:.45s shakeWrong;box-shadow:0 0 0 3px #991b1b33}@keyframes shakeWrong{0%,to{transform:translate(0)}15%{transform:translate(-7px)}30%{transform:translate(7px)}45%{transform:translate(-5px)}60%{transform:translate(5px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}.matching-item.matched{box-shadow:none;color:#16a34a;cursor:default;opacity:.85;background:linear-gradient(135deg,#ecfdf5 0%,#dcfce7 100%);border-color:#86efac}.matching-item-text{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 4px;min-width:0;line-height:1.45;display:inline-flex}.matching-item-text .word-pitch-accent-badges{transform:translateY(-.24em)}.matched-check{color:#22c55e;font-size:13px;font-weight:700;position:absolute;top:4px;right:8px}.practice-result{text-align:center;border-radius:20px;padding:40px}.perfect-icon{margin-bottom:12px;font-size:56px;animation:.5s bounceIn;display:block}.perfect-subtitle{color:#6b7280;margin-bottom:20px;font-size:15px}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.2)}to{transform:scale(1)}}.result-title{color:#1a1a2e;margin:0 0 40px;font-size:32px;font-weight:700}.result-stats{justify-content:center;gap:30px;margin-bottom:40px;display:flex}.word-practice-page .stat-card{background:linear-gradient(135deg,#fef2f2 0%,#fff 100%);border:2px solid #fca5a5;border-radius:16px;flex-direction:column;align-items:center;padding:24px 40px;display:flex}.word-practice-page .stat-value{color:#ef4444;font-size:36px;font-weight:700}.word-practice-page .stat-label{color:#6b7280;margin-top:8px;font-size:14px}.wrong-words-section{text-align:left;border-top:1px solid #e5e7eb;margin-top:40px;padding-top:30px}.wrong-words-section h3{color:#374151;margin:0 0 20px;font-size:18px;font-weight:600}.wrong-words-list{flex-direction:column;gap:12px;display:flex}.wrong-word-item{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;align-items:center;gap:16px;padding:16px 20px;display:flex}.wrong-word-item .word{color:#1f2937;min-width:150px;font-size:18px;font-weight:600}.wrong-word-title{flex-wrap:wrap;align-items:center;gap:2px 5px;display:inline-flex}.wrong-word-title .word-pitch-accent-badges{transform:translateY(-.25em)}.wrong-word-item .meaning{color:#1f2937;flex:1;font-size:16px;font-weight:600}.wrong-tag-reason{color:#7c2d12;background:#ffedd5;border:1px solid #fdba74;border-radius:999px;padding:4px 10px;font-size:12px}.result-actions{justify-content:center;gap:16px;margin-top:40px;display:flex}.restart-btn,.review-btn{cursor:pointer;font:inherit;border-radius:12px;min-height:50px;padding:0 32px;font-size:16px;font-weight:600;transition:all .2s}.restart-btn{color:#ef4444;background:#fff;border:2px solid #ef4444}.restart-btn:hover{background:#fef2f2}.review-btn{color:#fff;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:0}.review-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}@media (width<=1080px){.word-library-page{--word-mobile-dropdown-width:88px}.word-library-hero,.word-library-toolbar{grid-template-columns:1fr}.word-list-controls{flex-direction:column;align-items:stretch}.word-list-control-actions{justify-content:flex-start}.word-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.word-scene-filter-row{flex-direction:row;align-items:center;gap:14px;min-width:0;max-width:100%}.word-scene-filter-label{min-width:58px}.word-scene-filter-controls{flex-direction:row;align-items:center;min-width:0;max-width:100%;overflow:visible}.word-tab-scroll{flex-wrap:wrap;flex:auto;width:100%;min-width:0;max-width:100%;overflow:visible}.word-list-controls{flex-direction:row;align-items:center;gap:12px;padding:18px 20px}.word-list-controls .word-status-filter-group{flex:auto;width:auto;min-width:0}.word-list-controls .word-status-filter-group .word-filter-tabs{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;display:flex;overflow-x:auto}.word-list-controls .word-status-filter-group .word-filter-tabs::-webkit-scrollbar{display:none}.word-list-control-actions{flex-wrap:nowrap;flex:none;gap:10px}.word-list-control-actions .word-layout-toggle{display:none}}@media (width<=900px){.word-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.app-shell.word-library-shell{padding-left:8px;padding-right:8px}.word-library-page{--word-mobile-dropdown-width:84px;gap:16px;max-width:100%;padding:18px 6px 40px;overflow-x:hidden}.word-library-hero.compact{align-items:stretch;gap:18px}.word-library-hero.compact>div{gap:12px}.word-library-hero-meta{flex-wrap:nowrap;gap:8px 10px}.word-library-hero-left{flex:0 auto}.word-library-hero-meta .word-library-kicker{display:none}.word-library-hero-meta .word-back-link{min-height:38px;padding:0 14px;font-size:.92rem}.word-library-hero.compact .word-library-kicker{font-size:.82rem}.word-hero-practice-button{min-height:40px;margin-left:auto;padding:0 14px;font-size:.9rem}.word-library-title-card{border-radius:18px;padding:17px 16px}.word-library-hero h1{font-size:clamp(2.2rem,10vw,3rem);line-height:1.04}.word-library-hero p{font-size:.96rem;line-height:1.55}.word-catalog-grid,.word-practice-mode-grid,.word-practice-options,.word-practice-result-grid,.word-card-grid{grid-template-columns:1fr}.word-library-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.word-status-stat{gap:6px;min-height:54px;padding:10px 11px}.word-status-stat span{font-size:.9rem}.word-status-stat strong{font-size:1rem}.word-practice-page{min-height:calc(100svh - var(--navbar-height,75px));padding:12px 4px 20px}.practice-container{width:100%;max-width:none}.practice-setup,.practice-content,.practice-result{border-radius:20px;padding:14px 12px}.setup-top-back{justify-content:stretch}.setup-back-btn-top{justify-content:center;align-items:center;width:100%;height:44px;display:flex}.setup-title,.result-title{font-size:24px}.mode-grid,.range-options,.question-count-options{grid-template-columns:1fr}.matching-practice-content{border-radius:18px;padding:14px 12px 16px}.matching-practice-content .practice-header{grid-template-columns:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.matching-practice-content .mode-indicator{display:none}.matching-practice-content .score-indicator{text-align:center;justify-self:start;min-width:78px}.matching-status-bar{gap:10px;margin-bottom:14px}.matching-pairs{gap:14px}.matching-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,5vw,20px)}.matching-item{overflow-wrap:anywhere;word-break:keep-all;border-radius:10px;min-height:clamp(56px,12vh,76px);padding:9px 7px;font-size:clamp(.94rem,3.8vw,1.35rem);font-weight:650}.matching-item.right-item{font-weight:500}.matching-item-text{max-width:100%}.practice-header{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px}.mode-indicator{display:none}.score-indicator{text-align:center;border-radius:999px;flex:none;min-width:0;padding:7px 10px;font-size:12px}.practice-header .quit-btn{border-width:1px;flex:0 auto;min-height:34px;padding:6px 10px;font-size:12px}.word-text{font-size:30px;line-height:1.15}.progress-bar{height:6px;margin-bottom:8px}.progress-text{margin-bottom:10px;font-size:12px}.flashcard,.listening-card{margin-bottom:12px;padding:18px 12px}.conjugation-mode{gap:10px}.conjugation-practice-content{min-height:calc(100svh - var(--navbar-height,75px) - 28px)}.conjugation-prompt-card{grid-template-columns:1fr auto;gap:8px;padding:16px 12px}.conjugation-mode.is-input-focused .conjugation-prompt-card{transform:translateY(-4px)}.conjugation-reading{font-size:.86rem}.conjugation-word{font-size:clamp(2rem,12vw,3rem)}.conjugation-answer-card{border-radius:18px;gap:12px;padding:16px 12px}.conjugation-answer-card label span{font-size:1rem}.conjugation-answer-card label small{font-size:.82rem}.conjugation-input-row{grid-template-columns:1fr}.conjugation-answer-input{min-height:52px;padding:0 12px;font-size:1.16rem}.conjugation-submit-btn{min-height:46px}.example-text,.hint-text{margin-top:10px;font-size:13px;line-height:1.4}.play-btn-flashcard{margin-top:8px}.options-grid{gap:8px}.option-btn{min-height:44px;padding:8px 12px;font-size:14px}.feedback{bottom:calc(8px + env(safe-area-inset-bottom));z-index:5;background:#fff;border:1px solid #fee2e2;border-radius:16px;gap:8px;margin-top:10px;padding:8px;position:sticky;box-shadow:0 12px 28px #1f293729}.feedback-text{text-align:center;font-size:14px}.next-btn{width:100%;min-height:40px;font-size:14px}.result-actions{flex-direction:column;align-items:stretch}.result-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.word-practice-page .stat-card{min-width:0;padding:10px 6px}.word-practice-page .stat-value{font-size:1.35rem}.word-practice-page .stat-label{font-size:.74rem;line-height:1.2}.wrong-words-section{margin-top:22px}.wrong-words-list{gap:10px}.wrong-word-item{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:6px 10px;padding:14px 12px;display:grid}.wrong-word-item .word,.wrong-word-item .meaning,.wrong-word-item .wrong-tag-reason{grid-column:1;min-width:0}.wrong-word-item .sound-btn.small{border:1px solid #fee2e2;border-radius:999px;grid-area:1/2/span 3;justify-content:center;place-self:center end;align-items:center;width:42px;height:42px;padding:0;font-size:17px;display:inline-flex}.result-actions .restart-btn,.result-actions .review-btn{width:100%}.word-library-toolbar,.word-library-results,.word-list-controls,.word-scene-filters,.word-jlpt-filters{width:100%;min-width:0;max-width:100%;padding:12px;overflow:visible}.word-scene-filters,.word-jlpt-filters{border-radius:20px;gap:14px;padding:12px 12px 14px}.word-scene-drawer{border-radius:16px;gap:10px;padding:12px}.word-scene-drawer-header{gap:10px}.word-scene-drawer-icon{border-radius:10px;width:34px;height:34px}.word-scene-drawer-title strong{font-size:.92rem}.word-scene-drawer-toggle{gap:6px;font-size:.84rem}.word-scene-drawer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.word-scene-drawer-grid button{min-height:38px;padding:0 8px;font-size:.8rem}.word-scene-filters .word-search,.word-jlpt-filters .word-search{width:100%;min-width:0;padding:0 14px}.word-scene-filters .word-search input,.word-jlpt-filters .word-search input{font-size:.94rem}.word-scene-filter-tabs{gap:20px;min-width:0;max-width:100%}.word-scene-filter-row{flex-direction:row;align-items:center;gap:12px;min-width:0;max-width:100%}.word-scene-filter-label{min-width:52px;font-size:1.08rem}.word-scene-filter-controls{flex-direction:row;align-items:center;min-width:0;max-width:100%;overflow:visible}.word-tab-scroll{flex-wrap:wrap;flex:auto;gap:14px;width:100%;min-width:0;max-width:100%;overflow:visible}.word-tab-scroll button{font-size:.86rem}.word-list-controls .word-filter-tabs,.word-list-control-actions{justify-content:flex-start}.word-list-controls .word-filter-tabs{flex-wrap:nowrap;width:100%;display:flex;overflow-x:auto}.word-list-controls{flex-direction:column;align-items:stretch;gap:12px}.word-list-controls .word-status-filter-group{flex:none;width:100%;min-width:0}.word-list-controls .word-filter-tabs button{min-height:42px;padding:0 10px}.word-list-control-actions{justify-content:flex-end;align-items:center;gap:10px;width:100%;min-width:0;display:flex}.word-scene-filters>.word-list-controls,.word-jlpt-filters>.word-list-controls{flex-direction:row;align-items:center;gap:10px}.word-scene-filters>.word-list-controls .word-status-filter-group,.word-jlpt-filters>.word-list-controls .word-status-filter-group{flex:auto;width:auto}.word-scene-filters>.word-list-controls .word-list-control-actions,.word-jlpt-filters>.word-list-controls .word-list-control-actions{flex:none;width:auto}.word-list-control-actions .word-layout-toggle{display:none}.word-list-control-actions .word-layout-toggle button,.word-eye-toggle{min-width:44px;padding:0}.word-card{gap:12px;padding:12px}.word-card-topline{gap:8px}.word-card-meta{gap:6px}.word-meta-tags{flex-basis:100%;gap:5px}.word-meta-tag{padding:4px 7px;font-size:.74rem}.word-card-main.has-illustration{grid-template-columns:1fr}.word-illustration{max-height:220px}.word-card-body h2{font-size:1.72rem}.word-example,.word-conjugations{padding:10px}.word-conjugation-grid{grid-template-columns:1fr}.word-conjugation-header{align-items:flex-start}.word-conjugation-header button{min-height:30px;padding:0 8px}.word-results-heading{display:none}.word-pagination{align-items:center}.word-page-numbers{flex-wrap:wrap;justify-content:center}.word-page-jump{justify-content:center;width:100%;margin-left:0}.word-mark-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.word-mark-actions button{white-space:nowrap;gap:4px;min-height:36px;padding:0 4px;font-size:.82rem}.word-mark-actions button svg{flex:none}}.ai-forecast-shell{width:min(100%,1240px)}.ai-forecast-level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.ai-forecast-level-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-xl);background:var(--np-canvas);min-height:246px;box-shadow:var(--np-shadow-card);gap:12px;padding:20px;display:grid}.ai-forecast-level-card.disabled{opacity:.62}.forecast-level-chip{border-radius:var(--np-radius-full);color:var(--np-on-primary);background:var(--np-primary);justify-self:start;padding:7px 15px;font-weight:700}.ai-forecast-level-card h2,.ai-forecast-method h2{color:var(--np-ink);letter-spacing:0;margin:0;font-size:20px}.forecast-card-stat{color:var(--np-muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.ai-forecast-level-card p{color:var(--np-muted);margin:0;font-size:13px;line-height:1.5}.ai-forecast-level-card button{color:var(--np-ink);font:inherit;cursor:pointer;background:0 0;border:0;place-self:end start;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.ai-forecast-level-card button:disabled{color:var(--np-muted);cursor:default}.ai-forecast-method{border-top:1px solid var(--np-hairline-soft);gap:12px;margin-top:28px;padding:24px 0 32px;display:grid}@media (width>=641px){.ai-forecast-method{padding-left:150px}}.ai-forecast-method .panel-title{align-items:center;gap:10px;display:flex}.ai-forecast-method p,.ai-forecast-session-note{max-width:900px;color:var(--np-muted);margin:0;font-size:14px;line-height:1.7}.ai-forecast-session-shell{padding-top:0}.ai-forecast-session-header{margin-top:18px}.forecast-review-badge{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);color:var(--np-primary-active);background:var(--np-primary-soft);padding:8px 12px;font-size:12px;font-weight:700}.ai-forecast-session-note{text-align:center;margin:0 auto 18px;padding:0 12px}.forecast-basis{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface);gap:7px;margin-bottom:18px;padding:12px 14px;display:grid}.forecast-basis span{border-radius:var(--np-radius-full);color:var(--np-primary-active);background:var(--np-primary-soft);justify-self:start;padding:3px 9px;font-size:12px;font-weight:700}.forecast-basis strong{color:var(--np-ink);font-size:15px}.forecast-basis small{color:var(--np-muted);line-height:1.5}.ai-forecast-loading{align-content:center;gap:12px;min-height:220px;display:grid}.ai-forecast-loading h1,.ai-forecast-loading p{margin:0}.ai-forecast-loading p{color:var(--np-muted)}@media (width<=1100px){.ai-forecast-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.ai-forecast-level-grid{grid-template-columns:1fr}.ai-forecast-level-card{min-height:auto}.forecast-review-badge{display:none}}.storybook-shell{gap:18px;width:min(100%,1220px);padding-bottom:44px}.storybook-shell~.contact-consultation-drawer,.storybook-shell~.new-user-vip-floating-cta{display:none}.storybook-hero{grid-template-columns:minmax(0,1fr) minmax(240px,310px);align-items:stretch;gap:14px;padding:0;display:grid}.storybook-hero-copy,.storybook-hero-panel,.storybook-map,.storybook-chapter-rail,.storybook-learning-main,.storybook-stamp{border:1px solid var(--np-hairline-soft);box-shadow:var(--np-shadow-sm);background:#fffffff0}.storybook-hero-copy{border-radius:var(--np-radius-lg);align-content:center;gap:12px;min-height:190px;padding:22px 24px;display:grid}.storybook-hero-copy h1{max-width:760px;color:var(--np-ink);letter-spacing:0;margin:0;font-size:clamp(30px,3vw,38px);font-weight:850;line-height:1.1}.storybook-hero-copy p{max-width:720px;color:var(--np-body);margin:0;font-size:15px;line-height:1.58}.storybook-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.storybook-hero-kicker{border-radius:var(--np-radius-full);width:fit-content;color:var(--np-primary-active);background:var(--np-primary-soft);padding:4px 9px;font-size:12px;font-weight:850}.storybook-hero-panel{border-radius:var(--np-radius-lg);color:#fff;background:linear-gradient(145deg,#0f766ef0,#2563ebd1),#0f766e;align-content:end;gap:8px;min-height:190px;padding:20px;display:grid}.storybook-hero-panel span{font-size:14px;font-weight:800}.storybook-hero-panel strong{font-size:24px;line-height:1.15}.storybook-hero-panel p{color:#ffffffdb;margin:0;font-size:15px}.storybook-progress-bar{border-radius:var(--np-radius-full);background:#ffffff42;height:8px;overflow:hidden}.storybook-progress-bar i{border-radius:inherit;background:#fff;height:100%;display:block}.storybook-workspace{gap:14px;display:grid}.storybook-collection-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,2vw,16px);display:grid}.storybook-collection-card{border:2px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);min-height:146px;color:inherit;box-shadow:var(--np-shadow-md);font:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fffffffa,#fff8f4eb),#fff;grid-template-columns:clamp(82px,13vw,116px) minmax(0,1fr);align-items:center;gap:clamp(10px,2vw,16px);padding:clamp(10px,1.6vw,14px);transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden}.storybook-collection-card:after{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);color:#0000;width:26px;height:26px;box-shadow:var(--np-shadow-sm);content:"";background:#ffffffe0;place-items:center;display:grid;position:absolute;top:12px;right:12px}.storybook-collection-card:hover{border-color:var(--np-primary-border);transform:translateY(-1px)}.storybook-collection-card.active{border-color:var(--np-primary-border-strong);background:linear-gradient(135deg, #fffffffa, #ffececf0), var(--np-primary-softer);box-shadow:0 18px 36px #ff000021, var(--np-shadow-sm)}.storybook-collection-card.active:after{color:#fff;background:var(--np-primary);content:"✓";font-size:15px;font-weight:900}.storybook-collection-cover{aspect-ratio:3/4;background:var(--np-primary-soft);border-radius:14px;width:100%;display:block;overflow:hidden;box-shadow:0 12px 20px #2222221f,inset 0 0 0 1px #ffffffb8}.storybook-collection-cover img{object-fit:cover;width:100%;height:100%;display:block}.storybook-collection-copy{gap:6px;min-width:0;padding-right:24px;display:grid}.storybook-collection-copy>span{border-radius:var(--np-radius-full);width:fit-content;color:var(--np-primary-active);background:var(--np-primary-soft);white-space:nowrap;padding:3px 8px;font-size:12px;font-weight:850}.storybook-collection-card strong{min-width:0;color:var(--np-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(18px,2vw,24px);line-height:1.12;display:-webkit-box;overflow:hidden}.storybook-collection-card small{color:var(--np-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.storybook-map{border-radius:var(--np-radius-lg);gap:12px;padding:14px;display:grid}.storybook-section-heading{align-items:start;gap:11px;display:flex}.storybook-section-heading svg{color:var(--np-primary);flex:none;margin-top:3px}.storybook-section-heading h2{color:var(--np-ink);margin:0;font-size:18px;font-weight:850;line-height:1.22}.storybook-section-heading p{color:var(--np-muted);margin:4px 0 0;font-size:13px;line-height:1.45}.storybook-map-list{scroll-snap-type:x proximity;scrollbar-width:thin;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.storybook-map-stop,.storybook-section-tab{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);color:inherit;background:var(--np-canvas);font:inherit;text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;transition:border-color .16s,background-color .16s,transform .16s;display:grid}.storybook-map-stop:hover,.storybook-section-tab:hover{border-color:var(--np-primary-border);transform:translateY(-1px)}.storybook-map-stop{scroll-snap-align:start;min-width:205px}.storybook-map-stop.active,.storybook-section-tab.active{border-color:var(--np-primary-border-strong);background:var(--np-primary-softer)}.storybook-map-index,.storybook-section-status{border-radius:var(--np-radius-full);width:28px;height:28px;color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;font-size:13px;font-weight:850;display:inline-flex}.storybook-map-stop strong,.storybook-map-stop small,.storybook-section-tab strong,.storybook-section-tab small{display:block}.storybook-map-stop strong,.storybook-section-tab strong{color:var(--np-ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.25;overflow:hidden}.storybook-map-stop small,.storybook-section-tab small{color:var(--np-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;line-height:1.35;overflow:hidden}.storybook-map-stop em{color:var(--np-muted);font-size:12px;font-style:normal;font-weight:800}.storybook-learning-layout{grid-template-columns:286px minmax(0,1fr);align-items:start;gap:14px;display:grid}.storybook-chapter-rail,.storybook-learning-main{border-radius:var(--np-radius-lg)}.storybook-chapter-rail{top:calc(var(--navbar-height,75px) + 14px);gap:12px;padding:14px;display:grid;position:sticky}.storybook-chapter-summary{align-items:start;gap:12px;display:flex}.storybook-chapter-icon{border-radius:var(--np-radius-md);color:#fff;background:var(--np-primary);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.storybook-chapter-summary h2{color:var(--np-ink);margin:2px 0 0;font-size:18px;line-height:1.2}.storybook-chapter-kicker{color:var(--np-primary);font-size:12px;font-weight:850;display:block}.storybook-chapter-summary p{color:var(--np-muted);margin:4px 0 0;font-size:12px;line-height:1.45}.storybook-goals{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);background:var(--np-surface)}.storybook-goals summary{color:var(--np-ink);cursor:pointer;padding:9px 11px;font-size:13px;font-weight:850}.storybook-goals summary::marker{color:var(--np-primary)}.storybook-goals div{gap:6px;padding:0 9px 9px;display:grid}.storybook-goals span{border-radius:var(--np-radius-md);color:var(--np-body);background:#fff;padding:8px 9px;font-size:12px;font-weight:650;line-height:1.35}.storybook-section-list{gap:6px;display:grid}.storybook-section-select-wrap{display:none;position:relative}.storybook-learning-main{gap:14px;min-width:0;padding:16px;display:grid}.storybook-section-header{justify-content:space-between;align-items:start;gap:14px;padding:2px 2px 0;display:flex}.storybook-section-header span{color:var(--np-primary);font-size:13px;font-weight:850}.storybook-section-header h2{color:var(--np-ink);margin:4px 0 0;font-size:26px;line-height:1.16}.storybook-section-header p{max-width:720px;color:var(--np-body);margin:6px 0 0;font-size:14px;line-height:1.5}.storybook-section-meta{border-radius:var(--np-radius-full);min-height:34px;color:var(--np-muted);background:var(--np-surface);white-space:nowrap;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:800;display:inline-flex}.storybook-lesson-player{scroll-margin-top:calc(var(--navbar-height,75px) + 16px);gap:10px;display:grid}.storybook-lesson-empty{border:1px dashed var(--np-hairline);border-radius:var(--np-radius-lg);background:var(--np-surface);padding:24px}.storybook-lesson-empty h2,.storybook-lesson-empty p{margin:0}.storybook-lesson-empty p{color:var(--np-muted);margin-top:8px}.storybook-lesson-topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.storybook-lesson-topbar span{color:var(--np-primary);font-size:12px;font-weight:850;display:block}.storybook-lesson-topbar h2{color:var(--np-ink);margin:3px 0 0;font-size:18px;line-height:1.2}.storybook-lesson-topbar strong{color:var(--np-muted);white-space:nowrap;font-size:13px}.storybook-lesson-progress{border-radius:var(--np-radius-full);background:var(--np-surface);height:7px;overflow:hidden}.storybook-lesson-progress i{border-radius:inherit;background:linear-gradient(90deg, #10b981, var(--np-primary));height:100%;transition:width .22s;display:block}.storybook-lesson-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);min-height:440px;box-shadow:var(--np-shadow-sm);background:#fff;gap:16px;padding:20px;display:grid}.storybook-lesson-card-header{gap:6px;display:grid}.storybook-lesson-card-header>span{border-radius:var(--np-radius-full);color:var(--np-primary);background:var(--np-primary-soft);justify-self:start;padding:5px 9px;font-size:12px;font-weight:850}.storybook-lesson-card-header h3{color:var(--np-ink);margin:0;font-size:24px;line-height:1.2}.storybook-lesson-card-header p,.storybook-lesson-card-header small{color:var(--np-body);margin:0;font-size:14px;line-height:1.5}.storybook-lesson-card-header small{color:var(--np-muted)}.storybook-lesson-grammar-prompt{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.storybook-lesson-grammar-focus,.storybook-lesson-grammar-highlight{color:var(--np-primary-active);background:0 0;font-weight:850}.storybook-lesson-grammar-focus{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);background:var(--np-primary-soft);padding:2px 8px;font-style:normal;line-height:1.2;display:inline-flex}.storybook-lesson-grammar-highlight{padding:0 1px}.storybook-lesson-scene,.storybook-lesson-choice-flow,.storybook-lesson-builder,.storybook-lesson-shadowing{gap:14px;display:grid}.storybook-lesson-illustration,.storybook-lesson-hotspot-frame{aspect-ratio:16/9;border:1px solid var(--np-primary-border);border-radius:var(--np-radius-lg);background:linear-gradient(135deg, #fffffff0, #ebfdf6e0), var(--np-primary-softer);width:100%;min-height:0;position:relative;overflow:hidden}.storybook-lesson-illustration{text-align:center;align-content:center;place-items:center;gap:10px;padding:22px;display:grid}.storybook-lesson-illustration.has-image{background:#fff;margin:0;padding:0;display:block}.storybook-lesson-illustration img,.storybook-lesson-hotspot-image,.storybook-illustration-image{object-fit:cover;width:100%;height:100%;display:block}.storybook-lesson-illustration figcaption{border-radius:var(--np-radius-md);color:var(--np-ink);box-shadow:var(--np-shadow-sm);background:#ffffffe6;padding:10px 12px;font-size:13px;font-weight:750;line-height:1.45;position:absolute;bottom:12px;left:12px;right:12px}.storybook-lesson-concept-image{aspect-ratio:16/9;border:1px solid var(--np-primary-border);border-radius:var(--np-radius-lg);background:var(--np-surface);width:min(100%,420px);box-shadow:var(--np-shadow-sm);margin:0 auto;overflow:hidden}.storybook-lesson-concept-image img{object-fit:cover;object-position:center center;width:100%;height:100%;display:block}.storybook-lesson-illustration span,.storybook-lesson-hotspot-placeholder span{border-radius:var(--np-radius-full);min-height:32px;color:var(--np-primary);box-shadow:var(--np-shadow-sm);background:#fff;align-items:center;padding:0 12px;font-size:12px;font-weight:850;display:inline-flex}.storybook-lesson-illustration p,.storybook-lesson-hotspot-placeholder p{max-width:520px;color:var(--np-body);margin:0;font-size:14px;line-height:1.5}.storybook-lesson-sentence-panel{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:var(--np-surface);grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.storybook-lesson-sentence-panel.compact{background:#fff;padding:12px}.storybook-lesson-audio-controls{align-items:center;gap:6px;display:inline-flex}.storybook-lesson-audio-button{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-full);color:var(--np-primary);cursor:pointer;background:#fff;justify-content:center;align-items:center;display:inline-flex}.storybook-lesson-audio-button.slow{color:var(--np-ink);background:var(--np-primary-softer)}.storybook-lesson-sentence-audio{flex-direction:column}.storybook-lesson-sentence-panel .storybook-lesson-audio-button{width:44px;height:44px}.storybook-lesson-sentence-panel.compact .storybook-lesson-audio-button{width:38px;height:38px}.storybook-lesson-sentence-panel strong,.storybook-lesson-sentence-panel span,.storybook-lesson-sentence-panel em,.storybook-lesson-sentence-panel p{display:block}.storybook-lesson-sentence-panel strong{color:var(--np-ink);font-size:20px;line-height:1.28}.storybook-pitch-accent{border:1px solid var(--np-hairline);border-radius:var(--np-radius-full);min-width:1.35em;height:1.35em;color:var(--np-muted);vertical-align:super;background:#fff;justify-content:center;align-items:center;margin-left:.28em;font-size:.62em;font-weight:850;line-height:1;display:inline-flex}.storybook-lesson-sentence-panel.compact strong{font-size:18px}.storybook-lesson-sentence-panel span,.storybook-lesson-sentence-panel em{color:var(--np-muted);font-size:13px;font-style:normal;line-height:1.4}.storybook-lesson-sentence-panel p{color:var(--np-body);margin:7px 0 0}.storybook-lesson-cloze{gap:14px;display:grid}.storybook-lesson-cloze-sentence,.storybook-lesson-cloze-translation{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);gap:6px;padding:14px;display:grid}.storybook-lesson-cloze-sentence{background:var(--np-surface)}.storybook-lesson-cloze-translation{background:#fff}.storybook-lesson-cloze-sentence>span,.storybook-lesson-cloze-translation>span{color:var(--np-primary);font-size:12px;font-weight:850}.storybook-lesson-cloze-sentence strong{color:var(--np-ink);font-size:24px;line-height:1.25}.storybook-lesson-cloze-sentence em{color:var(--np-muted);font-size:13px;font-style:normal;line-height:1.35}.storybook-lesson-cloze-translation p{color:var(--np-ink);margin:0;font-size:18px;font-weight:850;line-height:1.35}.storybook-lesson-cloze-translation small{color:var(--np-muted);font-size:13px;line-height:1.4}.storybook-lesson-choice-list,.storybook-lesson-chunk-list{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;display:grid}.storybook-lesson-choice-option,.storybook-lesson-chunk-option{min-width:0;display:grid;position:relative}.storybook-lesson-choice-card,.storybook-lesson-chunk-card{border:1px solid var(--np-hairline);border-radius:var(--np-radius-lg);min-height:76px;color:var(--np-ink);background:var(--np-canvas);font:inherit;text-align:left;cursor:pointer;align-content:center;gap:4px;width:100%;padding:12px 88px 12px 12px;display:grid}.storybook-lesson-choice-audio{z-index:1;position:absolute;top:10px;right:10px}.storybook-lesson-choice-audio .storybook-lesson-audio-button{width:34px;height:34px}.storybook-lesson-audio-button:hover,.storybook-lesson-audio-button:focus-visible{border-color:var(--np-primary-border-strong)}.storybook-lesson-choice-card:hover,.storybook-lesson-chunk-card:hover{border-color:var(--np-primary-border)}.storybook-lesson-choice-card.selected{border-color:var(--np-primary-border-strong);background:var(--np-primary-soft)}.storybook-lesson-choice-card strong,.storybook-lesson-chunk-card strong{color:var(--np-ink);overflow-wrap:anywhere;font-size:17px;line-height:1.28}.storybook-lesson-choice-card span,.storybook-lesson-choice-card em,.storybook-lesson-choice-card small,.storybook-lesson-chunk-card span,.storybook-lesson-chunk-card em{color:var(--np-muted);overflow-wrap:anywhere;font-size:12px;font-style:normal;line-height:1.32}.storybook-lesson-word-choice-list .storybook-lesson-choice-card small{color:var(--np-body);font-weight:750}.storybook-lesson-builder-answer{border-radius:var(--np-radius-lg);background:var(--np-surface);flex-wrap:wrap;align-items:center;gap:8px;min-height:58px;padding:10px;display:flex}.storybook-lesson-builder-answer span{color:var(--np-muted);font-size:14px}.storybook-lesson-builder-answer strong{border-radius:var(--np-radius-full);color:var(--np-ink);background:#fff;padding:8px 12px}.storybook-lesson-chunk-card:disabled{color:var(--np-muted-soft);background:var(--np-surface);cursor:not-allowed}.storybook-lesson-line-match{isolation:isolate;position:relative}.storybook-lesson-line-match-columns{z-index:2;grid-template-columns:minmax(160px,1fr) minmax(150px,.92fr);align-items:start;gap:clamp(46px,10vw,86px);display:grid;position:relative}.storybook-lesson-line-match-column{gap:12px;display:grid}.storybook-lesson-line-match-term{display:grid;position:relative}.storybook-lesson-line-match-node{z-index:2;border:1px solid var(--np-hairline);border-radius:var(--np-radius-lg);min-height:76px;color:var(--np-ink);background:var(--np-canvas);font:inherit;cursor:pointer;align-content:center;padding:13px 14px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.storybook-lesson-line-match-node.left{border-color:var(--np-primary-border);background:var(--np-primary-softer);text-align:left;gap:4px;padding-right:48px}.storybook-lesson-line-match-node.right{text-align:center;justify-content:center;font-weight:850}.storybook-lesson-line-match-node:hover{border-color:var(--np-primary-border-strong);transform:translateY(-1px)}.storybook-lesson-line-match-node:focus-visible,.storybook-lesson-audio-button:focus-visible{outline-offset:2px;outline:3px solid #ff3a3938}.storybook-lesson-line-match-node.connected{border-color:var(--np-primary-border);background:#fff6f6;box-shadow:inset 0 0 0 1px #ff3a3914}.storybook-lesson-line-match-node.selected{border-color:var(--np-primary-border-strong);background:var(--np-primary-soft);box-shadow:0 0 0 3px #ff3a391f, var(--np-shadow-sm);transform:translateY(-1px)}.storybook-lesson-line-match-node strong,.storybook-lesson-line-match-node span,.storybook-lesson-line-match-node em{overflow-wrap:anywhere;display:block}.storybook-lesson-line-match-node strong{font-size:18px;line-height:1.25}.storybook-lesson-line-match-node span,.storybook-lesson-line-match-node em{color:var(--np-muted);font-size:12px;font-style:normal;line-height:1.35}.storybook-lesson-line-match-audio{z-index:3;flex-direction:column;gap:4px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.storybook-lesson-line-match-audio .storybook-lesson-audio-button{width:32px;height:32px}.storybook-lesson-line-match-svg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.storybook-lesson-line-match-line{stroke:var(--np-primary);stroke-dasharray:320;stroke-dashoffset:320px;stroke-linecap:round;stroke-width:3px;animation:.36s forwards storybookLineDraw}@keyframes storybookLineDraw{to{opacity:.78;stroke-dashoffset:0}}.storybook-lesson-shadowing{justify-items:start}.storybook-lesson-recorder-panel{border:1px solid var(--np-hairline);border-radius:var(--np-radius-lg);background:var(--np-surface);gap:14px;width:min(100%,680px);padding:14px;display:grid}.storybook-lesson-recorder-panel.recording{border-color:var(--np-primary-border-strong);background:var(--np-primary-softer)}.storybook-lesson-recorder-panel.complete{background:var(--np-success-soft);border-color:#39875257}.storybook-lesson-recorder-status{gap:4px;display:grid}.storybook-lesson-recorder-status span{border-radius:var(--np-radius-full);width:fit-content;color:var(--np-primary);background:#fff;padding:4px 9px;font-size:12px;font-weight:850}.storybook-lesson-recorder-status strong{color:var(--np-ink);font-size:17px;line-height:1.35}.storybook-lesson-recorder-status p{color:var(--np-muted);margin:0;font-size:13px;font-weight:650;line-height:1.45}.storybook-lesson-recording-actions{flex-wrap:wrap;gap:10px;display:flex}.storybook-lesson-audio-action,.storybook-lesson-record-button,.storybook-lesson-skip-recording-button{border-radius:var(--np-radius-full);min-height:46px;color:var(--np-ink);font:inherit;background:#fff;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:850;display:inline-flex}.storybook-lesson-audio-action:disabled,.storybook-lesson-skip-recording-button:disabled{cursor:not-allowed;color:var(--np-muted-soft);background:var(--np-surface-strong)}.storybook-lesson-audio-action.slow{color:var(--np-primary);border-color:var(--np-primary-border);background:var(--np-primary-softer)}.storybook-lesson-record-button{color:var(--np-on-primary);background:var(--np-primary);box-shadow:var(--np-shadow-sm)}.storybook-lesson-record-button.recording{background:var(--np-ink)}.storybook-lesson-skip-recording-button{color:var(--np-primary);border-color:var(--np-primary-border);background:var(--np-primary-softer);box-shadow:inset 0 0 0 1px #ffffffa3}.storybook-lesson-recorder-ready{align-items:center;gap:6px;display:inline-flex;color:var(--np-success)!important}.storybook-lesson-shadowing p{color:var(--np-muted);margin:0;font-size:14px;font-weight:750}.storybook-lesson-recorder-error{color:var(--np-peach-ink)!important}.storybook-lesson-hotspot-flow{gap:14px;display:grid}.storybook-lesson-hotspot-task{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-lg);background:#fff;gap:6px;padding:13px 14px;display:grid}.storybook-lesson-hotspot-task span{color:var(--np-primary);font-size:12px;font-weight:850}.storybook-lesson-hotspot-task strong{color:var(--np-ink);font-size:18px;line-height:1.35}.storybook-lesson-hotspot-task p{color:var(--np-muted);margin:0;font-size:13px;line-height:1.45}.storybook-lesson-hotspot-placeholder{text-align:center;align-content:center;place-items:center;gap:10px;height:100%;min-height:0;padding:22px;display:grid}.storybook-lesson-hotspot-frame.sign-hunt{aspect-ratio:16/9;background:linear-gradient(90deg,#ffffffb3 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#ffffffad 1px,#0000 1px) 0 0/44px 44px,linear-gradient(135deg,#f2fbf8,#eef9ff);min-height:0}.storybook-lesson-hotspot-frame.has-image,.storybook-lesson-hotspot-frame.has-image.sign-hunt{background:#fff}.storybook-lesson-hotspot-map{pointer-events:none;position:absolute;inset:0}.storybook-lesson-hotspot-map:before,.storybook-lesson-hotspot-map:after{content:"";border-radius:var(--np-radius-full);background:#0f766e1f;position:absolute}.storybook-lesson-hotspot-map:before{height:18px;bottom:28%;left:9%;right:9%}.storybook-lesson-hotspot-map:after{width:18px;top:16%;bottom:18%;left:49%}.storybook-lesson-hotspot-map span{border-radius:var(--np-radius-full);color:var(--np-muted);box-shadow:var(--np-shadow-sm);background:#ffffffc7;padding:6px 10px;font-size:12px;font-weight:850;position:absolute;transform:translate(-50%,-50%)}.storybook-lesson-hotspot{z-index:2;min-width:0;min-height:0;color:var(--np-ink);box-shadow:none;font:inherit;cursor:pointer;background:0 0;border:0;justify-items:center;padding:0 0 12px;font-size:12px;font-weight:850;display:inline-grid;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.storybook-lesson-hotspot-pin{border-radius:var(--np-radius-full);color:#fff;background:var(--np-primary);width:20px;height:20px;box-shadow:var(--np-shadow-sm);border:2px solid #fff;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.storybook-lesson-hotspot-pin svg{width:11px;height:11px}.storybook-lesson-hotspot-card{border-radius:var(--np-radius-full);min-height:34px;color:var(--np-ink);box-shadow:var(--np-shadow-sm);text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;border:1px solid #ffffffc2;align-items:center;padding:8px 12px;display:inline-grid}.storybook-lesson-hotspot.sign .storybook-lesson-hotspot-card{border-color:var(--np-primary-border);text-align:left;border-radius:14px;align-items:center;gap:2px;min-width:96px;min-height:48px;padding:8px 10px;display:grid}.storybook-lesson-hotspot-card strong,.storybook-lesson-hotspot-card span,.storybook-lesson-hotspot-card em{overflow-wrap:anywhere;display:block}.storybook-lesson-hotspot-card strong{font-size:13px;line-height:1.2}.storybook-lesson-hotspot.sign .storybook-lesson-hotspot-card strong{font-size:16px;line-height:1.2}.storybook-lesson-hotspot-card span,.storybook-lesson-hotspot-card em{color:var(--np-muted);font-size:11px;font-style:normal;line-height:1.25}.storybook-lesson-hotspot.selected .storybook-lesson-hotspot-card,.storybook-lesson-hotspot.selected .storybook-lesson-hotspot-pin{color:#fff;background:#0f766e}.storybook-lesson-hotspot.selected .storybook-lesson-hotspot-card span,.storybook-lesson-hotspot.selected .storybook-lesson-hotspot-card em{color:#ffffffd6}.storybook-lesson-hotspot.wrong .storybook-lesson-hotspot-card,.storybook-lesson-hotspot.wrong .storybook-lesson-hotspot-pin{color:#7f1d1d;background:#fee2e2;border-color:#991b1b}.storybook-lesson-hotspot.wrong{animation:.42s storybookHotspotWrong}@keyframes storybookHotspotWrong{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% - 5px),-50%)}50%{transform:translate(calc(5px - 50%),-50%)}75%{transform:translate(calc(-50% - 3px),-50%)}}.storybook-lesson-summary{border-radius:var(--np-radius-lg);text-align:center;background:var(--np-success-soft);justify-items:center;gap:14px;padding:20px;display:grid}.storybook-lesson-summary>svg{color:#0f766e}.storybook-lesson-summary>strong{color:var(--np-ink);font-size:20px;line-height:1.3}.storybook-lesson-review-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;width:100%;display:grid}.storybook-lesson-review-grid article{border-radius:var(--np-radius-md);text-align:left;background:#fff;gap:5px;padding:12px;display:grid}.storybook-lesson-review-grid span{color:var(--np-muted);font-size:12px;font-weight:800}.storybook-lesson-review-grid strong{color:var(--np-ink);overflow-wrap:anywhere;font-size:16px;line-height:1.25}.storybook-lesson-feedback{border-radius:var(--np-radius-lg);padding:11px 13px}.storybook-lesson-feedback.correct{background:var(--np-success-soft)}.storybook-lesson-feedback.incorrect{background:#ff849129}.storybook-lesson-feedback strong,.storybook-lesson-feedback p,.storybook-lesson-feedback small{margin:0;display:block}.storybook-lesson-feedback strong{color:var(--np-ink);font-size:15px}.storybook-lesson-feedback p{color:var(--np-body);margin-top:4px;line-height:1.45}.storybook-lesson-feedback small{color:var(--np-peach-ink);margin-top:6px;line-height:1.45}.storybook-lesson-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;display:flex}.storybook-lesson-footer-secondary{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.storybook-lesson-primary,.storybook-lesson-secondary{border-radius:var(--np-radius-full);min-height:44px;font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-weight:850;display:inline-flex}.storybook-lesson-primary{color:#fff;background:var(--np-primary);margin-left:auto}.storybook-lesson-secondary{color:var(--np-ink);background:var(--np-surface)}.storybook-lesson-primary:disabled,.storybook-lesson-secondary:disabled{opacity:.45;cursor:not-allowed}.storybook-review-drawer{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:#fff;padding:12px}.storybook-review-drawer summary{color:var(--np-ink);cursor:pointer;font-weight:850}.storybook-review-drawer[open] summary{margin-bottom:14px}.storybook-reader{gap:16px;display:grid}.storybook-reader-empty,.storybook-note-panel,.storybook-interactions-empty{border:1px dashed var(--np-hairline);border-radius:var(--np-radius-lg);color:var(--np-muted);background:var(--np-surface);padding:24px}.storybook-reader-empty h2,.storybook-interactions-empty h2{color:var(--np-ink);margin:0 0 8px}.storybook-reader-empty p,.storybook-interactions-empty p{margin:0}.storybook-illustration-frame{aspect-ratio:16/9;border:1px solid var(--np-primary-border);border-radius:var(--np-radius-xl);background:linear-gradient(135deg, #fffffff0, #e8f5ffe6), var(--np-primary-softer);width:100%;min-height:0;position:relative;overflow:hidden}.storybook-illustration-frame.has-image{background:#fff}.storybook-illustration-placeholder{text-align:center;align-content:center;place-items:center;gap:12px;height:100%;min-height:0;padding:28px;display:grid}.storybook-illustration-placeholder span{border-radius:var(--np-radius-full);min-height:34px;color:var(--np-primary);box-shadow:var(--np-shadow-sm);background:#fff;align-items:center;padding:0 14px;font-size:13px;font-weight:850;display:inline-flex}.storybook-illustration-placeholder p{max-width:640px;color:var(--np-body);margin:0;font-size:15px;line-height:1.65}.storybook-hotspot{z-index:2;color:#0f172a;min-width:0;min-height:0;box-shadow:none;font:inherit;cursor:pointer;background:0 0;border:0;justify-items:center;padding:0 0 10px;font-size:12px;font-weight:850;display:inline-grid;position:absolute;transform:translate(-50%,calc(-100% - 9px))}.storybook-hotspot-pin{border-radius:var(--np-radius-full);color:#fff;background:var(--np-primary);width:18px;height:18px;box-shadow:var(--np-shadow-sm);border:2px solid #fff;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)}.storybook-hotspot-pin svg{width:10px;height:10px}.storybook-hotspot-card{border-radius:var(--np-radius-full);color:#0f172a;min-height:32px;box-shadow:var(--np-shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border:1px solid #ffffffb8;align-items:center;padding:0 11px;display:inline-flex}.storybook-hotspot.selected .storybook-hotspot-card,.storybook-hotspot.selected .storybook-hotspot-pin{color:#fff;background:#0f766e}.storybook-narration{border-radius:var(--np-radius-lg);color:var(--np-body);background:var(--np-surface);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:16px;display:grid}.storybook-narration svg{color:var(--np-primary);margin-top:3px}.storybook-narration p{margin:0;line-height:1.65}.storybook-dialogue-list{gap:10px;display:grid}.storybook-dialogue-line{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:#fff;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.storybook-dialogue-line.hero{background:var(--np-primary-softer)}.storybook-dialogue-speaker span,.storybook-dialogue-speaker small,.storybook-dialogue-body strong,.storybook-dialogue-body span,.storybook-dialogue-body em,.storybook-dialogue-body p{display:block}.storybook-dialogue-speaker span{color:var(--np-ink);font-size:14px;font-weight:850}.storybook-dialogue-speaker small{color:var(--np-muted);margin-top:4px;font-size:12px}.storybook-dialogue-body{min-width:0}.storybook-dialogue-body strong{color:var(--np-ink);font-size:24px;line-height:1.25}.storybook-dialogue-body span,.storybook-dialogue-body em{color:var(--np-muted);font-size:14px;line-height:1.45}.storybook-dialogue-body em{font-style:normal}.storybook-dialogue-body p{color:var(--np-body);margin:7px 0 0;font-size:15px}.storybook-dialogue-actions{gap:7px;display:flex}.storybook-dialogue-actions button,.storybook-task-secondary,.storybook-task-submit,.storybook-complete-button{border-radius:var(--np-radius-full);font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;gap:7px;font-weight:850;display:inline-flex}.storybook-dialogue-actions button{min-width:38px;height:38px;color:var(--np-primary);box-shadow:inset 0 0 0 1px var(--np-primary-border);background:#fff}.storybook-knowledge{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.storybook-knowledge-column{gap:14px;display:grid}.storybook-vocab-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.storybook-vocab-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);min-height:136px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;align-content:center;gap:7px;padding:14px;display:grid}.storybook-vocab-card.flipped{border-color:var(--np-primary-border);background:var(--np-primary-softer)}.storybook-vocab-card span,.storybook-vocab-card small,.storybook-vocab-card em{color:var(--np-muted);font-size:12px;font-style:normal;font-weight:750}.storybook-vocab-card strong{color:var(--np-ink);word-break:keep-all;font-size:24px;line-height:1.18}.storybook-grammar-list,.storybook-phrase-list{gap:10px;display:grid}.storybook-grammar-card,.storybook-phrase-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:#fff;padding:16px}.storybook-grammar-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.storybook-grammar-card summary strong{color:var(--np-ink);font-size:20px}.storybook-grammar-card summary span{color:var(--np-primary);font-size:14px;font-weight:850}.storybook-grammar-card>p{color:var(--np-body);margin:13px 0;line-height:1.62}.storybook-grammar-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px;display:grid}.storybook-grammar-card dl div{border-radius:var(--np-radius-md);background:var(--np-surface);padding:10px}.storybook-grammar-card dt{color:var(--np-muted);font-size:12px;font-weight:850}.storybook-grammar-card dd{color:var(--np-ink);margin:4px 0 0;font-size:14px;font-weight:750}.storybook-grammar-card blockquote{border-left:3px solid var(--np-primary-border-strong);margin:0;padding:8px 0 8px 12px}.storybook-grammar-card blockquote strong,.storybook-phrase-card strong{color:var(--np-ink);font-size:19px;line-height:1.35;display:block}.storybook-grammar-card blockquote span,.storybook-grammar-card blockquote em,.storybook-phrase-card span,.storybook-phrase-card em,.storybook-phrase-card small{color:var(--np-muted);font-size:13px;font-style:normal;line-height:1.48;display:block}.storybook-grammar-card blockquote p,.storybook-phrase-card p{color:var(--np-body);margin:7px 0 0}.storybook-phrase-card small{color:var(--np-peach-ink);margin-top:8px}.storybook-interactions{border-top:1px solid var(--np-hairline-soft);gap:14px;padding-top:18px;display:grid}.storybook-task-card{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);background:#fff;gap:12px;padding:16px;display:grid}.storybook-task-card h3,.storybook-task-card p{margin:0}.storybook-task-card h3{color:var(--np-ink);font-size:18px}.storybook-task-card p{color:var(--np-body);line-height:1.58}.storybook-choice-grid,.storybook-chunk-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.storybook-choice-card,.storybook-chunk-card{grid-template-columns:minmax(0,1fr) 38px;align-items:stretch;gap:6px;display:grid}.storybook-choice-main,.storybook-chunk-main{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);min-height:82px;color:var(--np-ink);background:var(--np-canvas);font:inherit;text-align:left;cursor:pointer;align-content:center;gap:3px;padding:9px 11px;display:grid}.storybook-choice-main strong,.storybook-chunk-main strong{color:var(--np-ink);overflow-wrap:anywhere;font-size:17px;line-height:1.24}.storybook-choice-main span,.storybook-choice-main em,.storybook-choice-main small,.storybook-chunk-main span,.storybook-chunk-main em,.storybook-chunk-main small{color:var(--np-muted);overflow-wrap:anywhere;font-size:12px;font-style:normal;line-height:1.3;display:block}.storybook-choice-main.selected{border-color:var(--np-primary-border-strong);color:var(--np-primary);background:var(--np-primary-soft)}.storybook-chunk-main:disabled{color:var(--np-muted-soft);background:var(--np-surface);cursor:not-allowed}.storybook-task-audio{border:1px solid var(--np-primary-border);border-radius:var(--np-radius-md);min-width:38px;min-height:38px;color:var(--np-primary);cursor:pointer;background:#fff;justify-content:center;align-self:start;align-items:center;display:inline-flex}.storybook-builder-answer{border-radius:var(--np-radius-md);background:var(--np-surface);flex-wrap:wrap;align-items:center;gap:8px;min-height:48px;padding:9px;display:flex}.storybook-builder-answer span{color:var(--np-muted);font-size:14px}.storybook-builder-answer strong{border-radius:var(--np-radius-full);color:var(--np-ink);background:#fff;padding:8px 12px}.storybook-task-actions{flex-wrap:wrap;gap:9px;display:flex}.storybook-task-submit,.storybook-complete-button{color:#fff;background:var(--np-primary);min-height:42px;padding:0 16px}.storybook-task-secondary{min-height:42px;color:var(--np-ink);background:var(--np-surface);padding:0 14px}.storybook-task-submit:disabled,.storybook-task-secondary:disabled,.storybook-complete-button:disabled{opacity:.45;cursor:not-allowed}.storybook-task-feedback{border-radius:var(--np-radius-md);background:var(--np-success-soft);padding:10px 12px;font-size:14px;font-weight:750}.storybook-match-list{gap:9px;display:grid}.storybook-match-item{grid-template-columns:minmax(130px,.34fr) minmax(0,1fr);align-items:center;gap:10px;display:grid}.storybook-match-term{grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:2px 8px;display:grid}.storybook-match-term strong{color:var(--np-ink);font-size:17px;font-weight:850}.storybook-match-term span,.storybook-match-term em{color:var(--np-muted);font-size:12px;font-style:normal;line-height:1.3}.storybook-match-term .storybook-task-audio{grid-area:1/2/span 3}.storybook-match-list select{border:1px solid var(--np-hairline);border-radius:var(--np-radius-md);min-height:42px;color:var(--np-ink);background:#fff;padding:0 11px}.storybook-hotspot-progress{flex-wrap:wrap;gap:7px;display:flex}.storybook-hotspot-progress span{border-radius:var(--np-radius-full);color:var(--np-muted);background:var(--np-surface);padding:7px 10px;font-size:12px;font-weight:800}.storybook-hotspot-progress span.checked{color:#fff;background:#0f766e}.storybook-checklist{gap:8px;display:grid}.storybook-checklist-item{border-radius:var(--np-radius-md);background:var(--np-surface);grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:10px;padding:10px;display:grid}.storybook-checklist label{color:var(--np-body);align-items:center;gap:10px;font-weight:750;display:flex}.storybook-checklist-phrase{grid-column:1;gap:2px;padding-left:26px;display:grid}.storybook-checklist-phrase strong{color:var(--np-ink);font-size:16px;line-height:1.3}.storybook-checklist-phrase span,.storybook-checklist-phrase em{color:var(--np-muted);font-size:12px;font-style:normal;line-height:1.32}.storybook-checklist-item .storybook-task-audio{grid-area:1/2/span 2}.storybook-complete-button{justify-self:start}.storybook-stamp{border-radius:var(--np-radius-xl);color:#fff;background:#0f766e;align-items:center;gap:14px;padding:20px;display:flex}.storybook-stamp h2,.storybook-stamp p{margin:0}.storybook-stamp p{color:#ffffffd1;margin-top:4px}@media (width<=1100px){.storybook-map-list{padding-bottom:4px}.storybook-learning-layout{grid-template-columns:1fr}.storybook-chapter-rail{position:static}}@media (width<=760px){.storybook-shell{gap:14px}.storybook-hero{grid-template-columns:1fr;gap:10px}.storybook-hero-copy{min-height:auto;padding:18px}.storybook-hero-copy h1{font-size:28px}.storybook-hero-panel{min-height:auto;padding:16px}.storybook-collection-selector{gap:10px}.storybook-collection-card{border-radius:16px;grid-template-columns:clamp(64px,21vw,82px) minmax(0,1fr);gap:8px;min-height:116px;padding:8px}.storybook-collection-card:after{width:22px;height:22px;font-size:12px;top:8px;right:8px}.storybook-collection-cover{border-radius:12px}.storybook-collection-copy{gap:4px;padding-right:18px}.storybook-collection-copy>span{padding:2px 6px;font-size:11px}.storybook-collection-card strong{font-size:clamp(16px,4.8vw,20px);line-height:1.12}.storybook-collection-card small{-webkit-line-clamp:1;font-size:12px}.storybook-map{padding:12px}.storybook-map .storybook-section-heading p{display:none}.storybook-map-list{gap:8px;margin-inline:-2px}.storybook-map-stop{min-width:168px;padding:9px}.storybook-map-index,.storybook-section-status{width:26px;height:26px;font-size:12px}.storybook-chapter-rail{z-index:5;top:calc(var(--navbar-height,75px) + 8px);gap:9px;padding:10px;position:sticky}.storybook-chapter-summary{align-items:center}.storybook-chapter-icon{width:32px;height:32px}.storybook-chapter-summary h2{font-size:16px}.storybook-chapter-summary p,.storybook-goals,.storybook-section-list{display:none}.storybook-section-select-wrap{gap:5px;display:grid}.storybook-section-select-wrap>span{color:var(--np-muted);font-size:12px;font-weight:850}.storybook-section-select-trigger{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);width:100%;min-height:42px;color:var(--np-ink);background:linear-gradient(180deg, #fff, #ffffffeb), var(--np-canvas);box-shadow:inset 0 0 0 1px #ffffffb3, var(--np-shadow-sm);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;padding:0 11px 0 13px;font-weight:750;display:flex}.storybook-section-select-trigger strong{min-width:0;color:var(--np-ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.2;overflow:hidden}.storybook-section-select-trigger svg{color:var(--np-muted);flex:none;transition:transform .16s}.storybook-section-select-trigger svg.open{color:var(--np-primary);transform:rotate(180deg)}.storybook-section-select-trigger:focus-visible{outline-offset:2px;outline:3px solid #ff000029}.storybook-section-select-menu{z-index:30;border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-lg);max-height:min(340px,56vh);box-shadow:var(--np-shadow-lg);overscroll-behavior:contain;background:#fffffffa;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto}.storybook-section-select-option{border-radius:var(--np-radius-md);min-height:58px;color:var(--np-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:8px;display:grid}.storybook-section-select-option.active{border-color:var(--np-primary-border);background:var(--np-primary-soft)}.storybook-section-select-option:active{background:var(--np-surface)}.storybook-section-select-option span:last-child{min-width:0}.storybook-section-select-option strong,.storybook-section-select-option small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.storybook-section-select-option strong{color:var(--np-ink);font-size:14px;line-height:1.25}.storybook-section-select-option small{color:var(--np-muted);margin-top:3px;font-size:12px;line-height:1.3}.storybook-section-select-status{border-radius:var(--np-radius-full);width:26px;height:26px;color:var(--np-primary);background:var(--np-primary-soft);justify-content:center;align-items:center;font-size:12px;font-weight:850;display:inline-flex}.storybook-section-select-dot{border-radius:var(--np-radius-full);background:currentColor;width:8px;height:8px}.storybook-map-list,.storybook-choice-grid,.storybook-chunk-grid,.storybook-vocab-grid{grid-template-columns:1fr}.storybook-learning-main{padding:12px}.storybook-section-header,.storybook-dialogue-line{grid-template-columns:1fr}.storybook-section-header{gap:10px;display:grid}.storybook-section-header h2{font-size:24px}.storybook-section-header p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.storybook-lesson-card{min-height:auto;padding:14px}.storybook-lesson-card-header h3{font-size:22px}.storybook-lesson-illustration.has-image{aspect-ratio:auto;background:0 0;border:0;gap:8px;display:grid;overflow:visible}.storybook-lesson-illustration.has-image img{aspect-ratio:16/9;border:1px solid var(--np-primary-border);border-radius:var(--np-radius-lg);height:auto}.storybook-lesson-illustration.has-image figcaption{border:1px solid var(--np-hairline-soft);border-radius:var(--np-radius-md);color:var(--np-body);background:var(--np-surface);box-shadow:none;text-align:left;padding:9px 11px;font-size:12px;line-height:1.5;position:static}.storybook-lesson-choice-list,.storybook-lesson-chunk-list,.storybook-lesson-review-grid{grid-template-columns:1fr}.storybook-lesson-sentence-panel{grid-template-columns:max-content minmax(0,1fr)}.storybook-lesson-line-match-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,6vw,28px)}.storybook-lesson-line-match-audio{right:8px}.storybook-lesson-hotspot-frame.sign-hunt{min-height:0}.storybook-lesson-hotspot.sign .storybook-lesson-hotspot-card{border-radius:12px;min-width:84px;min-height:42px;padding:7px 8px}.storybook-lesson-hotspot.sign .storybook-lesson-hotspot-card strong{font-size:14px}.storybook-lesson-hotspot-map span{padding:5px 8px;font-size:11px}.storybook-lesson-sentence-panel .storybook-lesson-audio-button{width:42px;height:42px}.storybook-lesson-recording-actions{width:100%}.storybook-lesson-recording-actions button{flex:160px}.storybook-lesson-footer{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));justify-content:stretch;align-items:stretch;display:grid}.storybook-lesson-primary,.storybook-lesson-secondary{flex:none;width:100%;margin-left:0}.storybook-dialogue-actions{justify-content:flex-start}.storybook-grammar-card dl,.storybook-match-item{grid-template-columns:1fr}:root[data-theme=tokyo-pop] .storybook-shell{width:min(100%,420px);padding-top:calc(var(--navbar-height,65px) + 8px);gap:8px;padding-bottom:22px}:root[data-theme=tokyo-pop] .storybook-collection-selector{gap:10px}:root[data-theme=tokyo-pop] .storybook-collection-card{border-radius:16px;grid-template-columns:58px minmax(0,1fr);min-height:108px;padding:8px;box-shadow:0 10px 24px #22222214}:root[data-theme=tokyo-pop] .storybook-collection-card.active{box-shadow:0 16px 30px #ff000026,0 2px 10px #2222220f}:root[data-theme=tokyo-pop] .storybook-collection-cover{border-radius:12px}:root[data-theme=tokyo-pop] .storybook-collection-copy{gap:3px;padding-right:16px}:root[data-theme=tokyo-pop] .storybook-collection-card strong{font-size:15px}:root[data-theme=tokyo-pop] .storybook-collection-card small{font-size:11px}:root[data-theme=tokyo-pop] .storybook-shell~.onboarding-checklist:not(.is-open){top:calc(var(--navbar-height,65px) + 146px)}.storybook-shell .site-footer,.storybook-hero,.storybook-map{display:none}.storybook-workspace,.storybook-learning-layout,.storybook-learning-main,.storybook-lesson-player{gap:8px}.storybook-learning-main{box-shadow:none;background:0 0;border:0;padding:0}.storybook-section-header,.storybook-chapter-summary{display:none}.storybook-chapter-rail{z-index:auto;border-radius:14px;gap:6px;padding:8px;position:static}.storybook-section-select-wrap{gap:0}.storybook-section-select-wrap>span{display:none}.storybook-section-select-trigger{min-height:38px;box-shadow:none;border-radius:12px;padding:0 10px 0 12px}.storybook-section-select-trigger strong{font-size:14px}.storybook-section-select-menu{border-radius:14px;gap:4px;max-height:min(300px,54vh);margin-top:6px;padding:6px;position:static}.storybook-section-select-option{grid-template-columns:24px minmax(0,1fr);gap:7px;min-height:46px;padding:6px}.storybook-section-select-status{width:24px;height:24px;font-size:11px}.storybook-section-select-option strong{font-size:13px}.storybook-section-select-option small{font-size:11px}.storybook-lesson-topbar{gap:8px;padding:0 2px}.storybook-lesson-topbar span{font-size:11px}.storybook-lesson-topbar h2{margin-top:1px;font-size:16px}.storybook-lesson-topbar strong{font-size:12px}.storybook-lesson-progress{height:5px}.storybook-lesson-card{border-radius:16px;gap:8px;padding:10px}.storybook-lesson-card-header{gap:4px}.storybook-lesson-card-header>span{display:none}.storybook-lesson-card-header h3{font-size:20px;line-height:1.15}.storybook-lesson-card-header p,.storybook-lesson-card-header small{font-size:13px;line-height:1.35}.storybook-lesson-scene,.storybook-lesson-choice-flow,.storybook-lesson-builder,.storybook-lesson-shadowing,.storybook-lesson-hotspot-flow,.storybook-lesson-cloze{gap:8px}.storybook-lesson-sentence-panel,.storybook-lesson-sentence-panel.compact{border-radius:14px;grid-template-columns:36px minmax(0,1fr);gap:8px;padding:8px}.storybook-lesson-sentence-panel button,.storybook-lesson-sentence-panel.compact button{width:36px;height:36px}.storybook-lesson-sentence-panel strong,.storybook-lesson-sentence-panel.compact strong{font-size:16px;line-height:1.24}.storybook-lesson-sentence-panel span,.storybook-lesson-sentence-panel em{font-size:11px;line-height:1.25}.storybook-lesson-sentence-panel p{margin-top:4px;font-size:12px;line-height:1.3}.storybook-lesson-choice-list,.storybook-lesson-chunk-list{gap:7px}.storybook-lesson-concept-image{border-radius:14px;width:min(100%,208px)}.storybook-lesson-concept-image img{object-position:center center;height:100%}.storybook-lesson-choice-card,.storybook-lesson-chunk-card{border-radius:14px;gap:2px;min-height:46px;padding:9px 82px 9px 11px}:is(.storybook-lesson-choice-option:not(:has(.storybook-lesson-choice-audio)) .storybook-lesson-choice-card,.storybook-lesson-chunk-option:not(:has(.storybook-lesson-choice-audio)) .storybook-lesson-chunk-card){padding-right:11px}.storybook-lesson-choice-card strong,.storybook-lesson-chunk-card strong{font-size:15px;line-height:1.22}.storybook-lesson-choice-card span,.storybook-lesson-choice-card em,.storybook-lesson-choice-card small,.storybook-lesson-chunk-card span,.storybook-lesson-chunk-card em{font-size:11px;line-height:1.24}.storybook-lesson-choice-audio{gap:5px;top:8px;right:8px}.storybook-lesson-choice-audio .storybook-lesson-audio-button{width:30px;height:30px}.storybook-lesson-cloze-sentence,.storybook-lesson-cloze-translation{border-radius:14px;gap:4px;padding:10px}.storybook-lesson-cloze-sentence strong{font-size:20px}.storybook-lesson-cloze-translation p{font-size:15px}.storybook-lesson-cloze-translation small{font-size:12px}.storybook-lesson-feedback{border-radius:14px;padding:8px 10px}.storybook-lesson-feedback strong{font-size:13px}.storybook-lesson-feedback p,.storybook-lesson-feedback small{margin-top:3px;font-size:12px;line-height:1.32}.storybook-lesson-footer{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));align-items:stretch;gap:8px;display:grid}.storybook-lesson-footer-secondary{display:contents}.storybook-lesson-primary,.storybook-lesson-secondary{flex:none;width:100%;min-height:40px;margin-left:0;padding:0 14px}.storybook-lesson-line-match-columns{gap:clamp(12px,5vw,20px)}.storybook-lesson-line-match-column{gap:7px}.storybook-lesson-line-match-node{border-radius:12px;min-height:56px;padding:8px}.storybook-lesson-line-match-node.left{padding-right:38px}.storybook-lesson-line-match-node strong{font-size:14px}.storybook-lesson-line-match-node span,.storybook-lesson-line-match-node em{font-size:10px}.storybook-lesson-line-match-audio{gap:3px;right:7px}.storybook-lesson-line-match-audio .storybook-lesson-audio-button{width:28px;height:28px}.storybook-lesson-hotspot-task{border-radius:14px;gap:4px;padding:9px 10px}.storybook-lesson-hotspot-task strong{font-size:15px;line-height:1.25}.storybook-lesson-hotspot-task p{font-size:12px;line-height:1.3}.storybook-lesson-hotspot.sign .storybook-lesson-hotspot-card{min-width:74px;min-height:40px;padding:6px 7px}.storybook-lesson-recorder-panel{border-radius:14px;gap:9px;padding:10px}.storybook-lesson-recorder-status strong{font-size:15px}.storybook-lesson-recorder-status p{font-size:12px;line-height:1.35}.storybook-lesson-audio-action,.storybook-lesson-record-button,.storybook-lesson-skip-recording-button{min-height:40px;padding:0 12px}.storybook-lesson-summary{border-radius:14px;gap:10px;padding:14px}.storybook-lesson-summary>strong{font-size:17px}}@media (width<=360px){.storybook-collection-selector{grid-template-columns:1fr}.storybook-collection-card,:root[data-theme=tokyo-pop] .storybook-collection-card{grid-template-columns:72px minmax(0,1fr);min-height:112px}}.shadowing-shell{min-height:100svh}.shadowing-page{width:min(960px,100% - 32px);margin:0 auto;padding:40px 0 190px}.shadowing-hero{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:end;gap:24px;margin-bottom:22px;display:grid}.shadowing-eyebrow{width:fit-content;color:var(--np-accent-strong,#d92d5c);letter-spacing:.04em;border:1px solid #eb5c7a47;border-radius:999px;margin-bottom:10px;padding:5px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.shadowing-hero h1{color:var(--np-ink,#222);letter-spacing:0;margin:0;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.05}.shadowing-hero p{max-width:720px;color:var(--np-muted,#6d6470);margin:12px 0 0;font-size:1rem}.shadowing-lesson-meta{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.shadowing-lesson-meta span{color:var(--np-ink,#222);background:#ffffffb8;border:1px solid #2820261a;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.86rem;font-weight:750;display:inline-flex}.shadowing-lesson-picker{z-index:20;justify-self:end;width:min(360px,100%);position:relative}.shadowing-lesson-picker-label{color:var(--np-muted,#6d6470);margin-bottom:8px;font-size:.82rem;font-weight:850;display:block}.shadowing-lesson-select{width:100%;min-height:64px;color:var(--np-ink,#222);text-align:left;cursor:pointer;background:#ffffffd6;border:1px solid #2820261a;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px 11px 16px;display:flex;box-shadow:0 12px 28px #28202614}.shadowing-lesson-select:hover,.shadowing-lesson-select:focus-visible{border-color:#eb5c7a57;outline:none}.shadowing-lesson-select:disabled{cursor:progress;opacity:.72}.shadowing-lesson-select>span,.shadowing-lesson-option>span{gap:4px;min-width:0;display:grid}.shadowing-lesson-select strong,.shadowing-lesson-option strong{color:var(--np-ink,#222);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:850;line-height:1.25;overflow:hidden}.shadowing-lesson-select small,.shadowing-lesson-option small{color:var(--np-muted,#6d6470);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:750;overflow:hidden}.shadowing-lesson-select svg{color:var(--np-muted,#6d6470);flex:none}.shadowing-lesson-menu{background:#fffffffa;border:1px solid #2820261a;border-radius:8px;gap:6px;max-height:min(410px,58vh);padding:8px;display:grid;position:absolute;inset:calc(100% + 8px) 0 auto;overflow:auto;box-shadow:0 22px 52px #2820262e}.shadowing-lesson-option{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 11px;display:flex}.shadowing-lesson-option:hover,.shadowing-lesson-option:focus-visible{background:#ffdee58f;outline:none}.shadowing-lesson-option[aria-checked=true]{background:#eb5c7a1f}.shadowing-lesson-option svg{color:var(--np-accent-strong,#d92d5c);flex:none}.shadowing-player{display:block}.shadowing-state{color:var(--np-ink,#222);background:#ffffffc2;border:1px solid #2820261a;border-radius:8px;gap:6px;padding:18px;font-size:.96rem;font-weight:800;display:grid}.shadowing-state small{color:var(--np-muted,#6d6470);font-size:.82rem;font-weight:650}.shadowing-control-bar{z-index:40;bottom:max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #2820261a;border-radius:14px;gap:10px;width:min(760px,100% - 32px);padding:10px 12px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #2820262e}.shadowing-control-row{grid-template-columns:42px auto 42px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.shadowing-icon-button,.shadowing-mode-toggle,.shadowing-play-button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:850;display:inline-flex}.shadowing-icon-button{width:42px;color:var(--np-ink,#222);background:#2820260f}.shadowing-icon-button:disabled{cursor:not-allowed;opacity:.42}.shadowing-play-button{color:#fff;background:var(--np-accent-strong,#e53b68);min-width:108px;padding:0 18px}.shadowing-mode-toggle{color:var(--np-ink,#222);background:#ffdee5bd;padding:0 14px}.shadowing-mode-toggle[aria-pressed=true]{color:var(--np-accent-strong,#d92d5c);background:#eb5c7a29}.shadowing-speed-control{min-width:0;min-height:42px;color:var(--np-muted,#6d6470);background:#2820260f;border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 10px;font-size:.9rem;font-weight:800;display:inline-flex}.shadowing-speed-options{background:#ffffffad;border-radius:999px;min-width:0;padding:3px;display:inline-flex}.shadowing-speed-options button{min-height:28px;color:var(--np-ink,#222);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 8px;font-size:.82rem;font-weight:850}.shadowing-speed-options button[aria-pressed=true]{color:#fff;background:var(--np-accent-strong,#e53b68)}.shadowing-speed-options button:focus-visible{outline-offset:2px;outline:2px solid #eb5c7a57}.shadowing-progress{color:var(--np-muted,#6d6470);grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:10px;font-size:.88rem;font-weight:800;display:grid}.shadowing-progress-time{color:var(--np-ink,#222);align-items:center;gap:6px;display:inline-flex}.shadowing-progress input{width:100%;accent-color:var(--np-accent-strong,#e53b68)}.shadowing-transcript{gap:14px;display:grid}.shadowing-sentence{text-align:left;cursor:pointer;width:100%;scroll-margin-bottom:150px;scroll-margin-top:calc(var(--navbar-height,75px) + 16px);background:#ffffff9e;border:1px solid #0000;border-radius:8px;gap:12px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s,background .16s;display:grid}.shadowing-sentence:hover,.shadowing-sentence:focus-visible{background:#ffffffdb;border-color:#eb5c7a42;outline:none}.shadowing-sentence.active{background:#fffffff2;border-color:#37b76ddb;transform:translateY(-1px);box-shadow:0 0 0 3px #37b76d2e,0 14px 34px #2820261a}.shadowing-sentence-meta{color:var(--np-muted,#6d6470);align-items:center;gap:10px;font-size:.8rem;font-weight:850;display:flex}.shadowing-sentence-meta>span{background:#2820260f;border-radius:999px;justify-content:center;min-width:32px;padding:3px 7px;display:inline-flex}.shadowing-sentence-meta strong{color:#238557}.shadowing-token-row{flex-wrap:wrap;align-items:flex-end;gap:8px 10px;display:flex}.shadowing-token{min-width:1.4em;color:var(--np-ink,#222);grid-template-rows:minmax(18px,auto) auto minmax(18px,auto);place-items:end center;display:inline-grid}.shadowing-token.speaker{color:var(--np-accent-strong,#d92d5c)}.shadowing-token-kana,.shadowing-token-romaji{color:var(--np-muted,#6d6470);white-space:nowrap;font-weight:750;line-height:1.05}.shadowing-token-kana{font-size:.72rem}.shadowing-token strong{white-space:nowrap;font-size:clamp(1.14rem,2.2vw,1.62rem);line-height:1.14}.shadowing-token-romaji{font-size:.76rem}.shadowing-translation{color:var(--np-muted,#6d6470);gap:4px;display:grid}.shadowing-translation span{font-size:.78rem;font-weight:850}.shadowing-translation strong{color:var(--np-ink,#222);font-size:1rem;font-weight:650}@media (width<=860px){.shadowing-hero{grid-template-columns:1fr}.shadowing-lesson-picker{justify-self:stretch;width:100%}}@media (width<=720px){.shadowing-page{width:min(100% - 20px,1120px);padding:20px 0 190px}.shadowing-hero{gap:18px}.shadowing-control-bar{bottom:max(10px, env(safe-area-inset-bottom));border-radius:12px;width:calc(100% - 16px);padding:10px}.shadowing-control-row{flex-wrap:wrap;gap:8px;display:flex}.shadowing-icon-button{flex:0 0 42px}.shadowing-play-button{flex:calc(100% - 100px);width:auto;min-width:0}.shadowing-speed-control{flex:190px;justify-content:center}.shadowing-mode-toggle{flex:132px;justify-content:center}.shadowing-progress{grid-template-columns:auto minmax(80px,1fr) auto;gap:8px}.shadowing-sentence{padding:14px;scroll-margin-bottom:180px}.shadowing-token-row{gap:6px 8px}}.kanji-trainer-shell{min-height:100svh}.kanji-trainer-shell~.contact-consultation-drawer,.kanji-trainer-shell~.new-user-vip-floating-cta{display:none}.kanji-trainer-page{--kanji-accent:#3347ff;--kanji-accent-strong:#2634c9;--kanji-accent-soft:#eef0ff;--kanji-ink:#18181f;--kanji-muted:#62636f;--kanji-line:#18181f1a;width:min(1180px,100% - 32px);color:var(--kanji-ink);margin:0 auto;padding:38px 0 96px}.kanji-trainer-hero{grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:24px;margin-bottom:22px;display:grid}.kanji-trainer-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.kanji-trainer-title-row h1{color:var(--kanji-ink);letter-spacing:0;margin:0;font-size:clamp(2.25rem,5vw,4rem);line-height:1}.kanji-trainer-title-row span{min-height:28px;color:var(--kanji-accent-strong);background:var(--kanji-accent-soft);border:1px solid #3347ff33;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:850;display:inline-flex}.kanji-trainer-session-meta{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.kanji-trainer-session-meta span,.kanji-trainer-component-list span{border:1px solid var(--kanji-line);min-height:34px;color:var(--kanji-ink);background:#ffffffc7;border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:.86rem;font-weight:760;display:inline-flex}.kanji-trainer-session-meta svg{color:var(--kanji-accent)}.kanji-trainer-sync-card,.kanji-trainer-card{border:1px solid var(--kanji-line);background:#ffffffdb;border-radius:8px;box-shadow:0 14px 32px #18181f12}.kanji-trainer-sync-card{gap:4px;padding:18px;display:grid}.kanji-trainer-sync-card span,.kanji-trainer-label,.kanji-trainer-card-header span{color:var(--kanji-muted);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:850}.kanji-trainer-sync-card strong{color:var(--kanji-ink);font-size:2.25rem;line-height:1}.kanji-trainer-sync-card small,.kanji-trainer-card-header small,.kanji-trainer-save-state,.kanji-trainer-save-error{color:var(--kanji-muted);font-size:.83rem;font-weight:680;line-height:1.35}.kanji-trainer-pack-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.kanji-trainer-pack{border:1px solid var(--kanji-line);min-height:58px;color:var(--kanji-ink);font:inherit;text-align:left;cursor:pointer;background:#ffffffc2;border-radius:8px;align-content:center;gap:5px;padding:12px 13px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.kanji-trainer-pack:hover,.kanji-trainer-pack:focus-visible{border-color:#3347ff61;outline:none;transform:translateY(-1px);box-shadow:0 12px 26px #3347ff1a}.kanji-trainer-pack[aria-pressed=true]{background:linear-gradient(180deg, #fff, var(--kanji-accent-soft));border-color:#3347ff7a;box-shadow:inset 0 0 0 1px #3347ff1f}.kanji-trainer-pack strong{overflow-wrap:anywhere;font-size:.95rem;line-height:1.15}.kanji-trainer-alert{color:#804f12;background:#fff8eb;border:1px solid #be701433;border-radius:8px;margin-bottom:14px;padding:12px 14px;font-size:.9rem;font-weight:750}.kanji-trainer-layout{grid-template-columns:minmax(0,1fr) 318px;align-items:start;gap:18px;display:grid}.kanji-trainer-workspace{gap:18px;display:grid}.kanji-trainer-card{min-width:0;scroll-margin-top:calc(var(--navbar-height,75px) + 12px);padding:18px}.kanji-trainer-card-header{justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:14px;display:flex}.kanji-trainer-card-title{gap:3px;display:grid}.kanji-trainer-card-title small{color:var(--kanji-accent-strong);font-size:.82rem;font-weight:820;line-height:1.1}.kanji-trainer-step-controls{gap:6px;display:inline-flex}.kanji-trainer-step-controls button,.kanji-trainer-reset{border:1px solid var(--kanji-line);min-width:34px;min-height:34px;color:var(--kanji-ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:.84rem;font-weight:800;display:inline-flex}.kanji-trainer-step-controls button:disabled,.kanji-trainer-reset:disabled{cursor:not-allowed;opacity:.45}.kanji-trainer-study-body{grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:18px;display:grid}.kanji-trainer-kanji-display{background:linear-gradient(135deg,#3347ff14,#0000 42%),linear-gradient(#fff,#f7f8ff);border:1px solid #3347ff24;border-radius:8px;align-content:center;justify-items:center;min-height:320px;display:grid}.kanji-trainer-kanji-display span{color:var(--kanji-ink);font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif CJK JP,serif;font-size:clamp(7rem,16vw,12rem);font-weight:700;line-height:.92}.kanji-trainer-kanji-display strong{color:var(--kanji-accent-strong);margin-top:12px;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.1}.kanji-trainer-study-detail{align-content:start;gap:18px;display:grid}.kanji-trainer-study-detail p{color:var(--kanji-ink);margin:7px 0 0;font-size:1.04rem;font-weight:720;line-height:1.48}.kanji-trainer-reading-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.kanji-trainer-reading-list span{background:#fff;border:1px solid #18181f14;border-radius:8px;align-content:center;gap:5px;min-height:58px;padding:10px 11px;display:grid}.kanji-trainer-reading-list strong{color:var(--kanji-accent-strong);font-size:.78rem;font-weight:850;line-height:1}.kanji-trainer-reading-list em{color:var(--kanji-ink);font-size:.98rem;font-style:normal;font-weight:760;line-height:1.28}.kanji-trainer-component-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.kanji-trainer-anchor-list{gap:8px;margin-top:8px;display:grid}.kanji-trainer-anchor-list>div{background:#fff;border:1px solid #18181f14;border-radius:8px;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:grid}.kanji-trainer-anchor-list>div>span{grid-template-columns:minmax(72px,auto) minmax(84px,auto) minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.kanji-trainer-anchor-list button,.kanji-trainer-answer-word button{border:1px solid var(--kanji-line);width:34px;height:34px;color:var(--kanji-accent-strong);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.kanji-trainer-anchor-list button:disabled,.kanji-trainer-answer-word button:disabled{cursor:not-allowed;opacity:.45}.kanji-trainer-anchor-list strong{color:var(--kanji-ink);font-size:1.08rem;line-height:1.1}.kanji-trainer-anchor-list small{color:var(--kanji-accent-strong);font-size:.86rem;font-weight:800}.kanji-trainer-anchor-list em{min-width:0;color:var(--kanji-muted);font-size:.86rem;font-style:normal;font-weight:650;line-height:1.25}.kanji-trainer-study-actions{border-top:1px solid var(--kanji-line);justify-content:flex-end;align-items:center;gap:14px;margin-top:16px;padding-top:14px;display:flex}.kanji-trainer-study-actions span{color:var(--kanji-muted);font-size:.84rem;font-weight:720}.kanji-trainer-study-actions>div{gap:8px;display:flex}.kanji-trainer-study-actions button{background:var(--kanji-accent);color:#fff;min-height:40px;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:.88rem;font-weight:850;display:inline-flex}.kanji-trainer-study-actions button.secondary{color:var(--kanji-accent-strong);background:#fff;border:1px solid #3347ff38}.kanji-trainer-study-actions button:disabled{cursor:not-allowed;opacity:.52}.kanji-trainer-question{gap:12px;display:grid}.kanji-trainer-question-type{background:var(--kanji-accent-soft);width:max-content;color:var(--kanji-accent-strong);border:1px solid #3347ff2e;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:850;line-height:1}.kanji-trainer-question h2{color:var(--kanji-ink);letter-spacing:0;margin:0;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.18}.kanji-trainer-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.kanji-trainer-choices button{border:1px solid var(--kanji-line);min-height:54px;color:var(--kanji-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:8px;padding:12px 14px;font-size:1rem;font-weight:820;transition:border-color .14s,background-color .14s,transform .14s}.kanji-trainer-choices button:hover,.kanji-trainer-choices button:focus-visible{border-color:#3347ff66;outline:none;transform:translateY(-1px)}.kanji-trainer-choices button:disabled{cursor:default;transform:none}.kanji-trainer-choices button.correct{color:#1f6f3b;background:#eef8f0;border-color:#268b4b6b}.kanji-trainer-choices button.incorrect{color:#a13131;background:#fff2f0;border-color:#c23b3b57}.kanji-trainer-feedback{min-height:22px;color:var(--kanji-muted);margin:0;font-size:.92rem;font-weight:760}.kanji-trainer-quiz-start{justify-items:start;gap:14px;display:grid}.kanji-trainer-quiz-start strong{color:var(--kanji-ink);font-size:1.5rem;line-height:1.1}.kanji-trainer-quiz-start p{color:var(--kanji-muted);margin:0;font-size:.9rem;font-weight:720;line-height:1.35}.kanji-trainer-plan-switch{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.kanji-trainer-plan-switch button{min-height:64px;color:var(--kanji-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #18181f14;border-radius:8px;align-content:center;padding:9px 10px;display:grid}.kanji-trainer-plan-switch button[aria-pressed=true]{background:var(--kanji-accent-soft);border-color:#3347ff80;box-shadow:inset 0 0 0 1px #3347ff1f}.kanji-trainer-plan-switch span{font-size:.92rem;font-weight:850;line-height:1.2}.kanji-trainer-plan-switch small{color:var(--kanji-muted);margin-top:4px;font-size:.76rem;font-weight:720;line-height:1.2}.kanji-trainer-answer-review{gap:10px;display:grid}.kanji-trainer-answer-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.kanji-trainer-answer-note{background:#fff;border:1px solid #18181f14;border-radius:8px;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px;display:grid}.kanji-trainer-answer-note>span{color:var(--kanji-ink);font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif CJK JP,serif;font-size:3rem;font-weight:700;line-height:1}.kanji-trainer-answer-note div{gap:5px;display:grid}.kanji-trainer-answer-note strong{color:var(--kanji-ink);font-size:1.05rem;line-height:1.1}.kanji-trainer-answer-note small,.kanji-trainer-answer-note em{color:var(--kanji-muted);font-size:.84rem;font-style:normal;font-weight:700;line-height:1.3}.kanji-trainer-answer-note small{flex-wrap:wrap;gap:4px 12px;display:flex}.kanji-trainer-answer-note.compact{align-items:center}.kanji-trainer-answer-note .kanji-trainer-answer-word{align-items:center;gap:8px;display:flex}.kanji-trainer-answer-note p{color:var(--kanji-ink);margin:0;font-size:.93rem;font-weight:710;line-height:1.35}.kanji-trainer-next-question{min-height:38px;color:var(--kanji-accent-strong);font:inherit;cursor:pointer;background:#fff;border:1px solid #3347ff47;border-radius:8px;flex:none;padding:0 14px;font-size:.88rem;font-weight:850}.kanji-trainer-progress-rail{top:calc(var(--navbar-height,75px) + 16px);gap:18px;display:grid;position:sticky}.kanji-trainer-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.kanji-trainer-stat-grid span{min-height:76px;color:var(--kanji-muted);background:#fff;border:1px solid #18181f14;border-radius:8px;align-content:center;gap:4px;padding:10px;font-size:.8rem;font-weight:760;display:grid}.kanji-trainer-stat-grid strong{color:var(--kanji-ink);font-size:1.7rem;line-height:1}.kanji-trainer-progress-bar{background:#18181f14;border-radius:999px;height:10px;margin-top:14px;overflow:hidden}.kanji-trainer-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--kanji-accent), #21a66b);height:100%;transition:width .22s;display:block}.kanji-trainer-login,.kanji-trainer-finish button,.kanji-trainer-primary-action{background:var(--kanji-accent);color:#fff;width:100%;min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:0 14px;font-size:.92rem;font-weight:850;display:inline-flex}.kanji-trainer-primary-action{margin-top:0}.kanji-trainer-primary-action:disabled{cursor:not-allowed;opacity:.48}.kanji-trainer-save-state{margin:12px 0 0}.kanji-trainer-save-error{color:#a13131;margin:12px 0 0}.kanji-trainer-weak-list{gap:8px;display:grid}.kanji-trainer-weak-list .kanji-trainer-card-header{margin-bottom:4px}.kanji-trainer-weak-list .kanji-trainer-card-header button{min-height:32px;color:var(--kanji-accent-strong);font:inherit;cursor:pointer;background:#fff;border:1px solid #3347ff38;border-radius:8px;padding:0 10px;font-size:.78rem;font-weight:850}.kanji-trainer-weak-list>button{min-height:38px;color:var(--kanji-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:0;font-size:.9rem;font-weight:760;display:grid}.kanji-trainer-weak-list>button:hover span,.kanji-trainer-weak-list>button:focus-visible span{color:var(--kanji-accent-strong)}.kanji-trainer-weak-list strong{color:var(--kanji-ink);font-size:1.45rem;line-height:1}.kanji-trainer-weak-list small{color:#a13131;font-size:.78rem;font-weight:800}.kanji-trainer-weak-list p,.kanji-trainer-empty{color:var(--kanji-muted);margin:0;font-size:.92rem;font-weight:700;line-height:1.45}.kanji-trainer-finish{color:#1f6f3b;background:#f2fbf4;border:1px solid #268b4b33;border-radius:8px;justify-items:start;gap:8px;padding:18px;display:grid}.kanji-trainer-finish strong{color:#1f6f3b;font-size:1.35rem}.kanji-trainer-finish p{color:#315f41;margin:0;font-size:.96rem;font-weight:700;line-height:1.45}.kanji-trainer-finish-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;display:grid}.kanji-trainer-finish-stats span{background:#fff;border:1px solid #268b4b29;border-radius:8px;align-content:center;gap:3px;min-height:64px;padding:9px 10px;display:grid}.kanji-trainer-finish-stats strong{color:var(--kanji-ink);font-size:1.25rem;line-height:1}.kanji-trainer-finish-stats small{color:#315f41;font-size:.78rem;font-weight:800;line-height:1.1}.kanji-trainer-finish-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin-top:6px;display:grid}.kanji-trainer-finish-actions button{margin-top:0}.kanji-trainer-finish-actions .secondary{color:var(--kanji-accent-strong);background:#fff;border:1px solid #3347ff3d}@media (width<=980px){.kanji-trainer-hero,.kanji-trainer-layout{grid-template-columns:1fr}.kanji-trainer-sync-card{grid-template-columns:auto auto minmax(0,1fr);align-items:end}.kanji-trainer-progress-rail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:static}.kanji-trainer-pack-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.kanji-trainer-page{width:min(100% - 24px,620px);padding-top:24px}.kanji-trainer-title-row h1{font-size:2.1rem}.kanji-trainer-hero{gap:12px;margin-bottom:14px}.kanji-trainer-title-row span{min-height:26px}.kanji-trainer-pack-strip,.kanji-trainer-study-body,.kanji-trainer-progress-rail,.kanji-trainer-plan-switch,.kanji-trainer-reading-list,.kanji-trainer-choices{grid-template-columns:1fr}.kanji-trainer-pack-strip{scroll-snap-type:x proximity;scrollbar-width:thin;padding:0 2px 6px 0;display:flex;overflow-x:auto}.kanji-trainer-pack{scroll-snap-align:start;flex:0 0 min(190px,58vw);min-height:58px}.kanji-trainer-card{padding:14px}.kanji-trainer-kanji-display{min-height:250px}.kanji-trainer-anchor-list>div>span{grid-template-columns:minmax(62px,auto) minmax(0,1fr)}.kanji-trainer-anchor-list em{grid-column:1/-1}.kanji-trainer-answer-note{grid-template-columns:1fr}.kanji-trainer-answer-note>span{font-size:2.4rem}.kanji-trainer-sync-card{grid-template-columns:auto auto minmax(0,1fr);align-items:center;padding:12px 14px}.kanji-trainer-sync-card strong{font-size:1.65rem}.kanji-trainer-study-actions{flex-direction:column;align-items:stretch}.kanji-trainer-study-actions button{width:100%}.kanji-trainer-study-actions>div{grid-template-columns:1fr;display:grid}}@media (width<=420px){.kanji-trainer-session-meta{gap:6px;margin-top:12px}.kanji-trainer-session-meta span{min-height:30px;padding:0 9px;font-size:.78rem}.kanji-trainer-card-header{align-items:start}.kanji-trainer-stat-grid{grid-template-columns:1fr 1fr}.kanji-trainer-finish-actions{grid-template-columns:1fr}}:root[data-theme=tokyo-pop]{--np-primary:red;--np-primary-active:#c00;--np-on-primary:#fff;--np-primary-soft:#fff0f0;--np-primary-softer:#fff0f0;--np-primary-border:#ffb3b3;--np-primary-border-strong:#f66;--np-coral-deep:#dc2626;--np-coral-muted:#ef4444;--np-peach-soft:#fff7ed;--np-peach:#ffedd5;--np-peach-ink:#92400e;--np-rose-soft:#fee2e2;--np-sand-soft:#fff9db;--np-sand-ink:#92400e;--np-success:#10b981;--np-success-soft:#dcfce7;--np-error-soft:#fee2e2;--np-ink:#1f2937;--np-body:#4b5563;--np-muted:#6b7280;--np-muted-soft:#9ca3af;--np-hairline:#e5e7eb;--np-hairline-soft:#f3f4f6;--np-canvas:#fff;--np-page:#fff9db;--np-surface:#f8fafc;--np-surface-strong:#f1f5f9;--np-topbar-bg:#fff;--np-inset-highlight:#ffffffdb;--np-page-overlay:none;--np-shadow-sm:0 1px 2px #0000000d;--np-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--np-shadow-lg:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--np-shadow-card:0 18px 24px #0000001f;--np-radius-sm:6px;--np-radius-md:10px;--np-radius-lg:16px;--np-radius-xl:23px;--np-radius-full:9999px;--navbar-height:75px;font-family:Noto Sans SC,Noto Sans JP,PingFang SC,Microsoft YaHei,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=tokyo-pop] body{background:var(--np-page)}:root[data-theme=tokyo-pop] body:before{display:none}:root[data-theme=tokyo-pop] .app-shell{width:min(100%,1180px);padding-top:calc(var(--navbar-height) + 24px)}:root[data-theme=tokyo-pop] .app-shell.word-library-shell{width:min(100%,1280px)}:root[data-theme=tokyo-pop] .home-landing-shell{gap:0;width:100%;max-width:none;padding:0 0 44px}:root[data-theme=tokyo-pop] .top-bar{z-index:1000;min-height:var(--navbar-height);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0;border-radius:0;padding:0 40px;position:fixed;top:0;left:0;right:0}:root[data-theme=tokyo-pop] .top-bar:hover,:root[data-theme=tokyo-pop] .top-bar:focus-within{box-shadow:0 2px 20px #00000014}:root[data-theme=tokyo-pop] .brand-mark{height:var(--navbar-height);gap:0}:root[data-theme=tokyo-pop] .brand-mark>span:not(.brand-icon){clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root[data-theme=tokyo-pop] .brand-icon{background:0 0;border:0;border-radius:0;width:64px;height:64px}:root[data-theme=tokyo-pop] .brand-logo{object-fit:contain;border-radius:0;width:64px;height:64px}:root[data-theme=tokyo-pop] .top-nav{flex:auto;justify-content:safe center;gap:6px;width:auto;position:static;overflow:visible;transform:none}:root[data-theme=tokyo-pop] .top-nav-link{color:#000;border-radius:var(--np-radius-full);min-height:44px;padding:10px 20px;font-size:1.06rem;font-weight:800}:root[data-theme=tokyo-pop] .top-nav-dropdown,:root[data-theme=tokyo-pop] .top-profile-dropdown{background:#fffffffa;border-color:#ff000024;border-radius:24px;box-shadow:0 18px 42px #12182624,0 0 0 1px #ff00000a}:root[data-theme=tokyo-pop] .top-nav-dropdown{min-width:252px;padding:14px;top:calc(100% + 12px)}:root[data-theme=tokyo-pop] .top-nav-item:hover .top-nav-dropdown,:root[data-theme=tokyo-pop] .top-nav-item:focus-within .top-nav-dropdown,:root[data-theme=tokyo-pop] .top-nav-item.dropdown-open .top-nav-dropdown{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}:root[data-theme=tokyo-pop] .top-nav-dropdown-link,:root[data-theme=tokyo-pop] .top-profile-dropdown button{color:#202939;border-radius:14px;font-weight:800}:root[data-theme=tokyo-pop] .top-nav-dropdown-link{min-height:54px;padding:0 24px;font-size:1rem}:root[data-theme=tokyo-pop] .top-nav-dropdown-link:hover,:root[data-theme=tokyo-pop] .top-nav-dropdown-link:focus-visible,:root[data-theme=tokyo-pop] .top-profile-dropdown button:hover,:root[data-theme=tokyo-pop] .top-profile-dropdown button:focus-visible{color:var(--np-primary);background:#ff000014}:root[data-theme=tokyo-pop] .top-nav-link:hover,:root[data-theme=tokyo-pop] .top-nav-link.active{color:var(--np-primary);background:var(--np-primary-soft);transform:none}:root[data-theme=tokyo-pop] .top-nav-link.active{box-shadow:inset 0 0 0 1px #ff000014}:root[data-theme=tokyo-pop] .top-actions{margin-left:auto}:root[data-theme=tokyo-pop] .top-login-button{border:2px solid var(--np-primary);min-height:42px;color:var(--np-primary);box-shadow:none;background:0 0;font-weight:750}:root[data-theme=tokyo-pop] .top-login-button svg{display:none}:root[data-theme=tokyo-pop] .top-login-button:hover,:root[data-theme=tokyo-pop] .top-login-button.active{color:#fff;background:var(--np-primary);transform:translateY(-2px)}:root[data-theme=tokyo-pop] .top-register-button{border:2px solid var(--np-primary);background:var(--np-primary);color:#fff;min-height:42px;padding-inline:24px;font-size:1rem;font-weight:750;box-shadow:0 2px 12px #ff00004d}:root[data-theme=tokyo-pop] .top-register-button:hover,:root[data-theme=tokyo-pop] .top-register-button.active{background:var(--np-primary-active);border-color:var(--np-primary-active);transform:translateY(-2px)}:root[data-theme=tokyo-pop] .top-language-switcher{border-radius:var(--np-radius-full);background:#fff;border:1px solid #ff000059;align-items:center;padding:3px;display:inline-flex;box-shadow:0 2px 8px #00000014}:root[data-theme=tokyo-pop] .top-language-switcher button{border-radius:var(--np-radius-full);min-width:40px;height:30px;color:var(--np-primary);font:inherit;cursor:pointer;background:0 0;border:0;font-size:.85rem;font-weight:750}:root[data-theme=tokyo-pop] .top-language-switcher button:hover{background:#ff000014}:root[data-theme=tokyo-pop] .top-language-switcher button.active{color:#fff;background:var(--np-primary);box-shadow:0 4px 10px #ff000059}:root[data-theme=tokyo-pop] .mobile-menu-button,:root[data-theme=tokyo-pop] .mobile-menu-overlay,:root[data-theme=tokyo-pop] .mobile-drawer{display:none}@media (width>=981px) and (width<=1320px){:root[data-theme=tokyo-pop] .top-bar{padding-inline:20px}:root[data-theme=tokyo-pop] .top-nav{gap:2px}:root[data-theme=tokyo-pop] .top-nav-link{padding-inline:12px;font-size:.95rem}:root[data-theme=tokyo-pop] .top-actions{gap:8px}:root[data-theme=tokyo-pop] .top-register-button{padding-inline:18px}}:root[data-theme=tokyo-pop] .hamburger-lines{width:46px;height:34px;display:block;position:relative}:root[data-theme=tokyo-pop] .hamburger-lines span{background:var(--np-primary);border-radius:999px;width:100%;height:6px;transition:opacity .18s,transform .18s,top .18s,bottom .18s;display:block;position:absolute;left:0}:root[data-theme=tokyo-pop] .hamburger-lines span:first-child{top:0}:root[data-theme=tokyo-pop] .hamburger-lines span:nth-child(2){top:50%;transform:translateY(-50%)}:root[data-theme=tokyo-pop] .hamburger-lines span:nth-child(3){bottom:0}:root[data-theme=tokyo-pop] .hamburger-lines.open span:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}:root[data-theme=tokyo-pop] .hamburger-lines.open span:nth-child(2){opacity:0}:root[data-theme=tokyo-pop] .hamburger-lines.open span:nth-child(3){bottom:50%;transform:translateY(50%)rotate(-45deg)}:root[data-theme=tokyo-pop] .home-hero-carousel{isolation:isolate;background:#fff7ed;width:100%;position:relative;overflow:hidden}:root[data-theme=tokyo-pop] .home-hero-viewport{aspect-ratio:1968/799;width:100%;min-height:520px;position:relative;overflow:hidden}:root[data-theme=tokyo-pop] .home-hero-slide{opacity:0;pointer-events:none;transition:opacity .68s,transform .9s;position:absolute;inset:0;overflow:hidden;transform:scale(1.012)}:root[data-theme=tokyo-pop] .home-hero-slide.active{opacity:1;pointer-events:auto;transform:scale(1)}:root[data-theme=tokyo-pop] .home-hero-slide--brand{background:radial-gradient(circle at 50% 18%,#ffffff2e,#0000 34%),radial-gradient(circle at 20% 80%,#ffffff1f,#0000 30%),red}:root[data-theme=tokyo-pop] .home-hero-slide--brand:before{content:"";background:radial-gradient(circle,#ffffff14 0%,#0000 50%);width:200%;height:200%;animation:8s ease-in-out infinite replica-pulse-bg;position:absolute;top:-50%;left:-50%}:root[data-theme=tokyo-pop] .home-hero-brand-orbit{background:radial-gradient(circle at 18% 28%,#ffffff29,#0000 18%),radial-gradient(circle at 82% 62%,#ffffff1f,#0000 20%);position:absolute;inset:0}:root[data-theme=tokyo-pop] .home-hero-brand-visual{z-index:1;padding-top:var(--navbar-height);flex-direction:column;justify-content:center;align-items:center;gap:36px;display:flex;position:absolute;inset:0}:root[data-theme=tokyo-pop] .home-hero-slide--brand:after{content:"";background:red;height:4px;position:absolute;bottom:0;left:0;right:0}:root[data-theme=tokyo-pop] .home-hero-media,:root[data-theme=tokyo-pop] .home-hero-media img{width:100%;height:100%;display:block;position:absolute;inset:0}:root[data-theme=tokyo-pop] .home-hero-media img{object-fit:cover}:root[data-theme=tokyo-pop] .home-hero-copy{z-index:2;color:#211817;text-align:center;flex-direction:column;align-items:center;width:min(620px,45vw);display:flex;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}:root[data-theme=tokyo-pop] .home-hero-brand-logo{border-radius:var(--np-radius-lg);width:min(350px,50vw);height:auto;display:block;box-shadow:0 18px 42px #0000003d}:root[data-theme=tokyo-pop] .home-hero-exam-days{border-radius:var(--np-radius-full);color:#fff;text-align:center;text-shadow:0 2px 8px #78000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff2e;border:1px solid #ffffffad;margin:0;padding:10px 20px;font-size:clamp(1rem,1.5vw,1.32rem);font-weight:900;line-height:1.2;box-shadow:0 12px 28px #7800002e}:root[data-theme=tokyo-pop] .home-hero-kicker{color:var(--np-primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.84rem;font-weight:850;line-height:1.2}:root[data-theme=tokyo-pop] .home-hero-slide--brand .home-hero-kicker{color:#ffffffc7}:root[data-theme=tokyo-pop] .home-hero-copy h1{letter-spacing:0;white-space:nowrap;max-width:none;margin:0;font-size:clamp(2.75rem,4.45vw,4.75rem);font-weight:900;line-height:1.02}:root[data-theme=tokyo-pop] .home-hero-copy>p:not(.home-hero-kicker){color:#4f3c36;max-width:56ch;margin:18px 0 0;font-size:clamp(1rem,1.35vw,1.25rem);font-weight:650;line-height:1.58}:root[data-theme=tokyo-pop] .home-hero-feature-list{flex-wrap:wrap;justify-content:center;gap:10px;margin:24px 0 0;padding:0;list-style:none;display:flex}:root[data-theme=tokyo-pop] .home-hero-feature-list li{border-radius:var(--np-radius-full);color:#342522;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffa3;border:1px solid #ff000029;align-items:center;min-height:36px;padding:0 15px;font-size:.86rem;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 8px 24px #78280c14}:root[data-theme=tokyo-pop] .home-hero-arrow{font:inherit;cursor:pointer;z-index:4;border-radius:var(--np-radius-full);color:#1f2937;opacity:.74;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb8;border:1px solid #ffffffb8;justify-content:center;align-items:center;width:46px;height:46px;transition:background-color .18s,opacity .18s,transform .18s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 14px 34px #2c180e24}:root[data-theme=tokyo-pop] .home-hero-arrow:hover,:root[data-theme=tokyo-pop] .home-hero-arrow:focus-visible{opacity:1;background:#ffffffeb;transform:translateY(-50%)scale(1.04)}:root[data-theme=tokyo-pop] .home-hero-arrow--previous{left:clamp(18px,3vw,46px)}:root[data-theme=tokyo-pop] .home-hero-arrow--next{right:clamp(18px,3vw,46px)}@media (prefers-reduced-motion:reduce){:root[data-theme=tokyo-pop] .home-hero-slide,:root[data-theme=tokyo-pop] .home-hero-slide--brand:before{transition:none;animation:none}}:root[data-theme=tokyo-pop] .home-hero-live-region{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes replica-pulse-bg{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.3;transform:scale(1.1)}}@keyframes replica-fade-in{0%{opacity:0}to{opacity:1}}:root[data-theme=tokyo-pop] .home-landing-shell>.mode-grid,:root[data-theme=tokyo-pop] .home-landing-shell>.level-grid,:root[data-theme=tokyo-pop] .home-landing-shell>.study-partner-banner,:root[data-theme=tokyo-pop] .home-landing-shell>.study-partner-campaign{width:100%;max-width:none;padding-inline:40px}:root[data-theme=tokyo-pop] .home-landing-shell>.mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:20px;padding-top:16px;padding-bottom:24px}:root[data-theme=tokyo-pop] .mode-card{border-radius:var(--np-radius-xl);height:100%;min-height:190px;box-shadow:var(--np-shadow-card);background:#fff;border:0;grid-template-rows:minmax(0,1fr) auto;align-content:start;gap:16px;padding:22px}:root[data-theme=tokyo-pop] .mode-card:hover{border-color:#0000;transform:translateY(-6px);box-shadow:0 24px 48px #00000026}:root[data-theme=tokyo-pop] .mode-card-main{grid-template-columns:minmax(0,1fr) auto}:root[data-theme=tokyo-pop] .mode-card.primary-mode-card{background:#fff}:root[data-theme=tokyo-pop] .mode-icon{display:none}:root[data-theme=tokyo-pop] .mode-card strong{font-size:1.38rem;font-weight:750;line-height:1.2}:root[data-theme=tokyo-pop] .mode-card small{color:var(--np-muted);margin-top:8px;font-size:.94rem;line-height:1.48}:root[data-theme=tokyo-pop] .replica-feature-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:8px;display:grid}:root[data-theme=tokyo-pop] .replica-feature-item{border-radius:var(--np-radius-md);min-width:0;min-height:44px;color:var(--np-primary);box-shadow:var(--np-shadow-sm);font:inherit;text-align:center;cursor:pointer;background:#fff;border:1.5px solid #fde68a;justify-content:center;align-items:center;font-size:.9rem;font-weight:650;line-height:1.2;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex;position:relative}:root[data-theme=tokyo-pop] .replica-feature-item:hover{border-color:var(--np-primary-border-strong);background:var(--np-primary-soft)}:root[data-theme=tokyo-pop] .feature-vip-badge{border-radius:var(--np-radius-full);color:#fff;background:var(--np-primary);pointer-events:none;border:1px solid #ffffffc7;justify-content:center;align-items:center;min-height:20px;padding:0 7px;font-size:.68rem;font-weight:850;line-height:1;display:inline-flex;position:absolute;top:-10px;right:8px;box-shadow:0 4px 10px #ff000038}:root[data-theme=tokyo-pop] .mode-card-main>svg{color:var(--np-primary);justify-self:end;margin-top:auto}:root[data-theme=tokyo-pop] .home-landing-shell>.level-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding-bottom:36px}:root[data-theme=tokyo-pop] .level-card,:root[data-theme=tokyo-pop] .practice-test-home-card,:root[data-theme=tokyo-pop] .ai-forecast-level-card,:root[data-theme=tokyo-pop] .study-partner-banner,:root[data-theme=tokyo-pop] .study-partner-auth-panel,:root[data-theme=tokyo-pop] .study-partner-panel,:root[data-theme=tokyo-pop] .profile-settings-panel,:root[data-theme=tokyo-pop] .summary-metric,:root[data-theme=tokyo-pop] .section-panel,:root[data-theme=tokyo-pop] .question-panel,:root[data-theme=tokyo-pop] .exam-row,:root[data-theme=tokyo-pop] .exam-card{border-color:var(--np-hairline-soft);border-radius:var(--np-radius-xl);box-shadow:var(--np-shadow-card);background:#fff}:root[data-theme=tokyo-pop] .level-card{min-height:220px}:root[data-theme=tokyo-pop] .practice-test-home-shell{width:min(100%,1180px)}:root[data-theme=tokyo-pop] .practice-test-home-card{border-radius:var(--np-radius-xl);min-height:168px}:root[data-theme=tokyo-pop] .level-card:hover,:root[data-theme=tokyo-pop] .practice-test-home-card:hover,:root[data-theme=tokyo-pop] .ai-forecast-level-card.available:hover,:root[data-theme=tokyo-pop] .exam-row:hover,:root[data-theme=tokyo-pop] .exam-card:hover{box-shadow:0 8px 32px #2563eb2e,0 2px 8px #3b82f614}:root[data-theme=tokyo-pop] .practice-type-card .row-action{color:var(--np-primary);background:var(--np-canvas);box-shadow:none;border:1px solid #ff8fa3}:root[data-theme=tokyo-pop] .practice-type-card .row-action:hover:not(:disabled){border-color:var(--np-primary);color:var(--np-on-primary);background:var(--np-primary);box-shadow:0 8px 18px #ff000038}:root[data-theme=tokyo-pop] .exam-row .row-action.locked{color:var(--np-primary);box-shadow:none;background:#fff7f7;border:1px solid #ef44443d}:root[data-theme=tokyo-pop] .exam-row .row-action.locked:hover:not(:disabled){border-color:var(--np-primary);color:var(--np-on-primary);background:var(--np-primary);box-shadow:0 8px 18px #ff00002e}:root[data-theme=tokyo-pop] .level-pill,:root[data-theme=tokyo-pop] .primary-action,:root[data-theme=tokyo-pop] .card-progress span,:root[data-theme=tokyo-pop] .progress-track span,:root[data-theme=tokyo-pop] .explanation-language-button.active{background:var(--np-primary)}:root[data-theme=tokyo-pop] .feature-item,:root[data-theme=tokyo-pop] .secondary-action,:root[data-theme=tokyo-pop] .explanation-language-toggle{border-color:var(--np-hairline);background:#fff}:root[data-theme=tokyo-pop] .study-partner-banner{margin-bottom:24px}:root[data-theme=tokyo-pop] .home-landing-shell>.study-partner-campaign{padding-bottom:40px}:root[data-theme=tokyo-pop] .about-shell{width:100%;max-width:none;padding:var(--navbar-height) 0 88px;gap:0}:root[data-theme=tokyo-pop] .about-hero-section{background:red;padding:100px 20px;display:block;position:relative;overflow:hidden}:root[data-theme=tokyo-pop] .about-hero-section:before{content:"";background:radial-gradient(circle,#ffffff14 0%,#0000 50%);width:200%;height:200%;animation:8s ease-in-out infinite replica-pulse-bg;position:absolute;top:-50%;left:-50%}:root[data-theme=tokyo-pop] .about-hero-copy{z-index:1;color:#fff;width:min(100%,820px);min-height:0;box-shadow:none;text-align:center;background:0 0;border:0;border-radius:0;justify-items:center;margin:0 auto;padding:0;display:grid;position:relative}:root[data-theme=tokyo-pop] .about-hero-badge{border-radius:var(--np-radius-full);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;align-items:center;gap:10px;min-height:54px;margin-bottom:24px;padding:0 24px;font-size:1rem;font-weight:650;display:inline-flex}:root[data-theme=tokyo-pop] .about-hero-copy h1{color:#fff;letter-spacing:0;max-width:700px;font-size:clamp(40px,3.35vw,48px);font-weight:850;line-height:1.28}:root[data-theme=tokyo-pop] .about-hero-copy p{color:#ffffffeb;max-width:720px;margin-top:24px;font-size:1.18rem;font-weight:450;line-height:1.95}:root[data-theme=tokyo-pop] .about-hero-action{border-radius:var(--np-radius-full);min-width:186px;min-height:68px;color:var(--np-primary);background:#fff;margin-top:40px;font-size:1.02rem;font-weight:800;text-decoration:none;box-shadow:0 12px 28px #0000001a}:root[data-theme=tokyo-pop] .about-hero-action:hover{color:var(--np-primary-active);background:#fffffff0;transform:translateY(-3px)}:root[data-theme=tokyo-pop] .about-mission-section,:root[data-theme=tokyo-pop] .about-features-section{box-sizing:border-box;width:min(100% - 40px,1200px);margin:0 auto;padding:100px 20px 0}:root[data-theme=tokyo-pop] .about-section-heading{gap:20px;max-width:920px}:root[data-theme=tokyo-pop] .about-section-heading span{color:#fff;background:linear-gradient(135deg, var(--np-primary), #c0392b);letter-spacing:1px;text-transform:uppercase;border-radius:20px;min-height:0;padding:8px 20px;font-size:.85rem;font-weight:600}:root[data-theme=tokyo-pop] .about-section-heading h2{max-width:940px;font-size:2.5rem;font-weight:800;line-height:1.3}:root[data-theme=tokyo-pop] .about-section-heading p{color:var(--np-body);font-size:1.12rem;line-height:1.85}:root[data-theme=tokyo-pop] .about-mission-grid{grid-template-columns:minmax(0,1fr) 400px;align-items:center;gap:60px;margin-top:34px}:root[data-theme=tokyo-pop] .about-story-card,:root[data-theme=tokyo-pop] .about-value-card,:root[data-theme=tokyo-pop] .about-feature-card,:root[data-theme=tokyo-pop] .about-contact-section,:root[data-theme=tokyo-pop] .contact-message-form--section,:root[data-theme=tokyo-pop] .contact-drawer-panel{border-color:var(--np-hairline-soft);border-radius:var(--np-radius-xl);box-shadow:var(--np-shadow-card);background:#fff}:root[data-theme=tokyo-pop] .about-story-card{min-height:318px;padding:42px}:root[data-theme=tokyo-pop] .about-story-card p{color:var(--np-body);font-size:1.04rem;line-height:2}:root[data-theme=tokyo-pop] .about-value-card{min-height:128px;padding:24px}:root[data-theme=tokyo-pop] .about-value-card>span,:root[data-theme=tokyo-pop] .about-feature-icon,:root[data-theme=tokyo-pop] .about-email-link>span{color:var(--np-primary);background:var(--np-primary-soft)}:root[data-theme=tokyo-pop] .about-value-card h3{font-size:1.15rem;font-weight:800}:root[data-theme=tokyo-pop] .about-feature-grid{gap:30px;margin-top:18px}:root[data-theme=tokyo-pop] .about-feature-card{min-height:258px;padding:34px 28px}:root[data-theme=tokyo-pop] .about-contact-section{width:min(100% - 80px,1380px);margin:116px auto 0}@media (width<=1024px){:root[data-theme=tokyo-pop] .home-landing-shell>.mode-grid{gap:16px}}@media (width<=1180px){:root[data-theme=tokyo-pop] .home-landing-shell>.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=980px){:root[data-theme=tokyo-pop] .app-shell{padding-top:calc(var(--navbar-height) + 20px)}:root[data-theme=tokyo-pop] .home-landing-shell{padding-top:0}:root[data-theme=tokyo-pop] .top-bar{min-height:65px;padding-inline:16px}:root[data-theme=tokyo-pop] .brand-mark{height:65px}:root[data-theme=tokyo-pop] .brand-icon,:root[data-theme=tokyo-pop] .brand-logo{width:58px;height:58px}:root[data-theme=tokyo-pop] .top-nav{flex-wrap:wrap;flex:1 0 100%;order:3;justify-content:safe center;position:static;overflow:visible;transform:none}:root[data-theme=tokyo-pop] .top-nav-link{min-height:34px;padding:6px 12px;font-size:.95rem}:root[data-theme=tokyo-pop] .top-bar{flex-wrap:wrap;height:auto;padding-bottom:8px}:root[data-theme=tokyo-pop] .home-hero-viewport{aspect-ratio:1495/1052;min-height:0}:root[data-theme=tokyo-pop] .home-hero-copy{width:min(560px,58vw)}:root[data-theme=tokyo-pop] .home-hero-copy h1{font-size:clamp(2.2rem,6vw,3.65rem)}:root[data-theme=tokyo-pop] .home-hero-brand-logo{width:min(280px,70vw)}:root[data-theme=tokyo-pop] .home-hero-brand-visual{gap:30px}:root[data-theme=tokyo-pop] .home-hero-exam-days{padding:8px 16px;font-size:1rem}:root[data-theme=tokyo-pop] .home-landing-shell>.mode-grid{grid-template-columns:1fr}:root[data-theme=tokyo-pop] .home-landing-shell>.level-grid{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-theme=tokyo-pop] .about-shell{padding-top:65px}:root[data-theme=tokyo-pop] .about-hero-section{padding:92px 20px 86px}:root[data-theme=tokyo-pop] .about-mission-section,:root[data-theme=tokyo-pop] .about-features-section,:root[data-theme=tokyo-pop] .about-contact-section{width:min(100% - 40px,1380px)}:root[data-theme=tokyo-pop] .about-mission-grid{grid-template-columns:1fr}}@media (width<=640px){:root[data-theme=tokyo-pop]{--navbar-height:65px}:root[data-theme=tokyo-pop] .top-bar{height:var(--navbar-height);min-height:var(--navbar-height);flex-wrap:nowrap;justify-content:center;padding:0 24px}:root[data-theme=tokyo-pop] .mobile-menu-button{z-index:1004;border:1px solid var(--np-primary-border);width:40px;height:40px;color:var(--np-primary);box-shadow:var(--np-shadow-sm);cursor:pointer;background:#fff;border-radius:13px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;left:18px;transform:translateY(-50%)}:root[data-theme=tokyo-pop] .hamburger-lines{width:18px;height:14px}:root[data-theme=tokyo-pop] .hamburger-lines span{height:2px}:root[data-theme=tokyo-pop] .brand-mark{height:var(--navbar-height)}:root[data-theme=tokyo-pop] .brand-icon,:root[data-theme=tokyo-pop] .brand-logo{width:50px;height:50px}:root[data-theme=tokyo-pop] .top-nav,:root[data-theme=tokyo-pop] .top-actions{display:none}:root[data-theme=tokyo-pop] .mobile-menu-overlay{z-index:1001;cursor:pointer;background:#00000080;border:0;padding:0;animation:.22s replica-fade-in;display:block;position:fixed;inset:0}:root[data-theme=tokyo-pop] .mobile-drawer{z-index:1002;background:#fff;flex-direction:column;width:min(88vw,352px);height:100dvh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-102%);box-shadow:8px 0 32px #00000026}:root[data-theme=tokyo-pop] .mobile-drawer.open{transform:translate(0)}:root[data-theme=tokyo-pop] .mobile-drawer-header{background:var(--np-primary);color:#fff;justify-content:space-between;align-items:center;min-height:64px;padding:0 14px 0 22px;font-size:1.15rem;font-weight:850;display:flex}:root[data-theme=tokyo-pop] .mobile-drawer-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff8f;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}:root[data-theme=tokyo-pop] .mobile-drawer-language{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;min-height:56px;margin:14px 18px 8px;padding:0 14px;font-size:.95rem;font-weight:800;display:flex}:root[data-theme=tokyo-pop] .mobile-drawer-language>div{border-radius:var(--np-radius-full);background:#fff;border:1px solid #fdba74;align-items:center;padding:3px;display:inline-flex}:root[data-theme=tokyo-pop] .mobile-drawer-language button{border-radius:var(--np-radius-full);min-width:42px;min-height:36px;color:var(--np-primary);font:inherit;background:0 0;border:0;font-size:.92rem;font-weight:850}:root[data-theme=tokyo-pop] .mobile-drawer-language button.active{color:#fff;background:var(--np-primary);box-shadow:0 4px 10px #ff000059}:root[data-theme=tokyo-pop] .mobile-drawer-content{overscroll-behavior:contain;flex:1;gap:8px;padding:8px 18px 14px;display:grid;overflow:auto}:root[data-theme=tokyo-pop] .mobile-drawer-section{gap:6px;display:grid}:root[data-theme=tokyo-pop] .mobile-drawer-link{width:100%;min-height:52px;color:var(--np-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:14px;align-items:center;gap:12px;padding:0 14px;font-size:1rem;font-weight:850;display:flex;position:relative;box-shadow:inset 0 0 0 1px #eceff3}:root[data-theme=tokyo-pop] .mobile-drawer-link.active{color:var(--np-primary);background:var(--np-primary-soft);box-shadow:inset 0 0 0 1px var(--np-primary-border-strong)}:root[data-theme=tokyo-pop] .mobile-drawer-icon{background:var(--np-primary-soft);width:34px;height:34px;color:var(--np-primary);border-radius:11px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}:root[data-theme=tokyo-pop] .mobile-drawer-link.active .mobile-drawer-icon{color:#fff;background:var(--np-primary)}:root[data-theme=tokyo-pop] .mobile-drawer-chevron{border-radius:var(--np-radius-full);width:28px;height:28px;color:var(--np-primary);background:#fff;justify-content:center;align-items:center;margin-left:auto;line-height:1;transition:transform .18s;display:inline-flex}:root[data-theme=tokyo-pop] .mobile-drawer-parent.expanded .mobile-drawer-chevron{transform:rotate(180deg)}:root[data-theme=tokyo-pop] .mobile-drawer-submenu{background:#fff;border:1px solid #e5e7eb;border-radius:14px;gap:4px;margin:0 0 2px 46px;padding:6px;display:grid;box-shadow:inset 0 0 0 1px #f3f4f6}:root[data-theme=tokyo-pop] .mobile-drawer-sub-link{min-height:40px;color:var(--np-ink);box-shadow:none;border-radius:10px;gap:0;padding:0 12px;font-size:.94rem;font-weight:750}:root[data-theme=tokyo-pop] .mobile-drawer-sub-link:last-child{border-bottom:0}:root[data-theme=tokyo-pop] .mobile-drawer-footer{border-top:1px solid var(--np-hairline);padding:14px 18px calc(18px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}:root[data-theme=tokyo-pop] .mobile-drawer-login,:root[data-theme=tokyo-pop] .mobile-drawer-register{border:2px solid var(--np-primary);min-height:46px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 10px;font-size:.98rem;font-weight:850;display:inline-flex}:root[data-theme=tokyo-pop] .mobile-drawer-login{color:var(--np-primary);background:#fff}:root[data-theme=tokyo-pop] .mobile-drawer-register{color:#fff;background:var(--np-primary)}:root[data-theme=tokyo-pop] .home-landing-shell>.mode-grid,:root[data-theme=tokyo-pop] .home-landing-shell>.level-grid,:root[data-theme=tokyo-pop] .home-landing-shell>.study-partner-banner,:root[data-theme=tokyo-pop] .home-landing-shell>.study-partner-campaign{padding-inline:12px}:root[data-theme=tokyo-pop] .home-hero-viewport{aspect-ratio:1;min-height:0}:root[data-theme=tokyo-pop] .home-hero-copy{width:min(86vw,420px);top:52%}:root[data-theme=tokyo-pop] .home-hero-brand-logo{border-radius:12px;width:min(220px,65vw)}:root[data-theme=tokyo-pop] .home-hero-brand-visual{gap:12px}:root[data-theme=tokyo-pop] .home-hero-exam-days{overflow-wrap:anywhere;max-width:calc(100% - 80px);padding:7px 13px;font-size:.86rem}:root[data-theme=tokyo-pop] .home-hero-kicker{margin-bottom:7px;font-size:.66rem}:root[data-theme=tokyo-pop] .home-hero-copy h1{font-size:clamp(1.5rem,7vw,1.78rem)}:root[data-theme=tokyo-pop] .home-hero-copy>p:not(.home-hero-kicker){margin-top:10px;font-size:.86rem;line-height:1.42}:root[data-theme=tokyo-pop] .home-hero-feature-list{gap:6px;margin-top:13px}:root[data-theme=tokyo-pop] .home-hero-feature-list li{min-height:28px;padding:0 9px;font-size:.68rem}:root[data-theme=tokyo-pop] .home-hero-arrow{display:none}:root[data-theme=tokyo-pop] .mode-card{border-radius:var(--np-radius-lg);min-height:0;padding:16px}:root[data-theme=tokyo-pop] .mode-card strong{font-size:1.1rem}:root[data-theme=tokyo-pop] .mode-card small{font-size:.9rem}:root[data-theme=tokyo-pop] .replica-feature-items{gap:8px;margin-top:14px}:root[data-theme=tokyo-pop] .replica-feature-item{min-height:44px;font-size:.85rem}:root[data-theme=tokyo-pop] .practice-mode-card .replica-feature-item{flex-basis:calc(50% - 4px)}:root[data-theme=tokyo-pop] .home-landing-shell>.level-grid{grid-template-columns:1fr}:root[data-theme=tokyo-pop] .about-shell{padding-top:var(--navbar-height)}:root[data-theme=tokyo-pop] .about-hero-section{padding:54px 20px 58px}:root[data-theme=tokyo-pop] .about-hero-badge{min-height:42px;margin-bottom:20px;padding-inline:18px;font-size:.9rem}:root[data-theme=tokyo-pop] .about-hero-copy h1{font-size:clamp(36px,10vw,44px)}:root[data-theme=tokyo-pop] .about-hero-copy p{margin-top:18px;font-size:1rem;line-height:1.75}:root[data-theme=tokyo-pop] .about-hero-action{min-height:54px;margin-top:28px}:root[data-theme=tokyo-pop] .about-mission-section,:root[data-theme=tokyo-pop] .about-features-section,:root[data-theme=tokyo-pop] .about-contact-section{width:min(100% - 24px,1380px);padding-top:72px}:root[data-theme=tokyo-pop] .about-section-heading h2{font-size:clamp(32px,9vw,40px)}:root[data-theme=tokyo-pop] .about-story-card{min-height:0;padding:24px}}:root[data-theme=tokyo-pop][data-compact-layout=true]{--navbar-height:65px}:root[data-theme=tokyo-pop][data-compact-layout=true] body{overflow-x:hidden}:root[data-theme=tokyo-pop][data-compact-layout=true] .app-shell{width:min(100%, var(--compact-layout-width,100%));max-width:var(--compact-layout-width,100%);padding-top:calc(var(--navbar-height) + 20px);margin:0}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-landing-shell{width:min(100%, var(--compact-layout-width,100%));max-width:var(--compact-layout-width,100%);gap:0;padding:0 0 44px}:root[data-theme=tokyo-pop][data-compact-layout=true] .top-bar{width:min(100%, var(--compact-layout-width,100%));height:var(--navbar-height);min-height:var(--navbar-height);flex-wrap:nowrap;justify-content:center;padding:0 24px;position:fixed;top:0;left:0;right:auto}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-menu-button{z-index:1004;border:1px solid var(--np-primary-border);width:40px;height:40px;color:var(--np-primary);box-shadow:var(--np-shadow-sm);cursor:pointer;background:#fff;border-radius:13px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;left:18px;transform:translateY(-50%)}:root[data-theme=tokyo-pop][data-compact-layout=true] .hamburger-lines{width:18px;height:14px}:root[data-theme=tokyo-pop][data-compact-layout=true] .hamburger-lines span{height:2px}:root[data-theme=tokyo-pop][data-compact-layout=true] .brand-mark{height:var(--navbar-height)}:root[data-theme=tokyo-pop][data-compact-layout=true] .brand-icon,:root[data-theme=tokyo-pop][data-compact-layout=true] .brand-logo{width:50px;height:50px}:root[data-theme=tokyo-pop][data-compact-layout=true] .top-nav,:root[data-theme=tokyo-pop][data-compact-layout=true] .top-actions{display:none}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-menu-overlay{z-index:1001;width:min(100%, var(--compact-layout-width,100%));cursor:pointer;background:#00000080;border:0;padding:0;animation:.22s replica-fade-in;display:block;position:fixed;inset:0 auto 0 0}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer{z-index:1002;width:min(calc(var(--compact-layout-width,100vw) - 48px), 352px);background:#fff;flex-direction:column;height:100dvh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-102%);box-shadow:8px 0 32px #00000026}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer.open{transform:translate(0)}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-header{background:var(--np-primary);color:#fff;justify-content:space-between;align-items:center;min-height:64px;padding:0 14px 0 22px;font-size:1.15rem;font-weight:850;display:flex}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff8f;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-language{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;min-height:56px;margin:14px 18px 8px;padding:0 14px;font-size:.95rem;font-weight:800;display:flex}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-language>div{border-radius:var(--np-radius-full);background:#fff;border:1px solid #fdba74;align-items:center;padding:3px;display:inline-flex}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-language button{border-radius:var(--np-radius-full);min-width:42px;min-height:36px;color:var(--np-primary);font:inherit;background:0 0;border:0;font-size:.92rem;font-weight:850}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-language button.active{color:#fff;background:var(--np-primary);box-shadow:0 4px 10px #ff000059}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-content{overscroll-behavior:contain;flex:1;gap:8px;padding:8px 18px 14px;display:grid;overflow:auto}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-section{gap:6px;display:grid}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-link{width:100%;min-height:52px;color:var(--np-ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-radius:14px;align-items:center;gap:12px;padding:0 14px;font-size:1rem;font-weight:850;display:flex;position:relative;box-shadow:inset 0 0 0 1px #eceff3}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-link.active{color:var(--np-primary);background:var(--np-primary-soft);box-shadow:inset 0 0 0 1px var(--np-primary-border-strong)}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-icon{background:var(--np-primary-soft);width:34px;height:34px;color:var(--np-primary);border-radius:11px;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-link.active .mobile-drawer-icon{color:#fff;background:var(--np-primary)}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-chevron{border-radius:var(--np-radius-full);width:28px;height:28px;color:var(--np-primary);background:#fff;justify-content:center;align-items:center;margin-left:auto;line-height:1;transition:transform .18s;display:inline-flex}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-parent.expanded .mobile-drawer-chevron{transform:rotate(180deg)}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-submenu{background:#fff;border:1px solid #e5e7eb;border-radius:14px;gap:4px;margin:0 0 2px 46px;padding:6px;display:grid;box-shadow:inset 0 0 0 1px #f3f4f6}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-sub-link{min-height:40px;color:var(--np-ink);box-shadow:none;border-radius:10px;gap:0;padding:0 12px;font-size:.94rem;font-weight:750}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-footer{border-top:1px solid var(--np-hairline);padding:14px 18px calc(18px + env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-login,:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-register{border:2px solid var(--np-primary);min-height:46px;font:inherit;white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 10px;font-size:.98rem;font-weight:850;display:inline-flex}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-login{color:var(--np-primary);background:#fff}:root[data-theme=tokyo-pop][data-compact-layout=true] .mobile-drawer-register{color:#fff;background:var(--np-primary)}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-landing-shell>.mode-grid,:root[data-theme=tokyo-pop][data-compact-layout=true] .home-landing-shell>.level-grid,:root[data-theme=tokyo-pop][data-compact-layout=true] .home-landing-shell>.study-partner-banner,:root[data-theme=tokyo-pop][data-compact-layout=true] .home-landing-shell>.study-partner-campaign{padding-inline:12px}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-viewport{aspect-ratio:1;min-height:0}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-copy{width:min(calc(var(--compact-layout-width,100vw) - 48px), 420px);top:52%}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-brand-logo{width:min(calc(var(--compact-layout-width,100vw) - 112px), 220px);border-radius:12px}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-brand-visual{gap:12px}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-exam-days{max-width:calc(var(--compact-layout-width,100vw) - 80px);overflow-wrap:anywhere;padding:7px 13px;font-size:.86rem}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-kicker{margin-bottom:7px;font-size:.66rem}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-copy h1{font-size:clamp(1.5rem,7vw,1.78rem)}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-copy>p:not(.home-hero-kicker){margin-top:10px;font-size:.86rem;line-height:1.42}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-feature-list{gap:6px;margin-top:13px}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-feature-list li{min-height:28px;padding:0 9px;font-size:.68rem}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-hero-arrow{display:none}:root[data-theme=tokyo-pop][data-compact-layout=true] .home-landing-shell>.mode-grid,:root[data-theme=tokyo-pop][data-compact-layout=true] .home-landing-shell>.level-grid{grid-template-columns:1fr}:root[data-theme=tokyo-pop][data-compact-layout=true] .mode-card{border-radius:var(--np-radius-lg);min-height:0;padding:16px}:root[data-theme=tokyo-pop][data-compact-layout=true] .mode-card strong{font-size:1.1rem}:root[data-theme=tokyo-pop][data-compact-layout=true] .mode-card small{font-size:.9rem}:root[data-theme=tokyo-pop][data-compact-layout=true] .replica-feature-items{gap:8px;margin-top:14px}:root[data-theme=tokyo-pop][data-compact-layout=true] .replica-feature-item{min-height:44px;font-size:.85rem}
