@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plus-jakarta-sans-400.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plus-jakarta-sans-500.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plus-jakarta-sans-600.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/plus-jakarta-sans-700.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/plus-jakarta-sans-800.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/outfit-500.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/outfit-600.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/outfit-700.woff2)format("woff2")}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/outfit-800.woff2)format("woff2")}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(system-ui),local(-apple-system),local(BlinkMacSystemFont),local(Segoe UI),local(Roboto);size-adjust:107%;ascent-override:92%;descent-override:22%;line-gap-override:0%}@font-face{font-family:Outfit Fallback;src:local(system-ui),local(-apple-system),local(BlinkMacSystemFont),local(Segoe UI),local(Roboto);size-adjust:96%;ascent-override:92%;descent-override:22%;line-gap-override:0%}:root{--app-header-h:64px;--student-rail-width:200px;--student-rail-hover-bg:#ffffff0f;--bg-header-solid:#0f172a;--bg-main:#0b0f19;--bg-card:#151e30bf;--bg-card-hover:#1e2a44d9;--border-color:#ffffff1a;--border-active:#6366f180;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f159;--primary-soft:#6366f129;--accent-emerald:#10b981;--accent-emerald-glow:#10b98140;--accent-amber:#f59e0b;--accent-amber-glow:#f59e0b66;--radius-full:9999px;--accent-rose:#f43f5e;--accent-red:#f87171;--accent-cyan:#06b6d4;--accent-purple:#a855f7;--accent-purple-glow:#a855f74d;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dim:#64748b;--shadow-card:0 12px 32px 0 #0000005e;--radius-lg:20px;--radius-md:12px;--radius-sm:8px;--bg-modal:#151e30;--bg-modal-elevated:#1a243a;--bg-surface-opaque:var(--bg-modal,#151e30);--bg-overlay:#0b0f19d9;--font-main:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Outfit", "Outfit Fallback", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--fs-xs:clamp(.8125rem, .79rem + .12vw, .875rem);--fs-sm:clamp(.875rem, .85rem + .15vw, .9375rem);--fs-base:clamp(1rem, .97rem + .2vw, 1.0625rem);--fs-md:clamp(1.125rem, 1.08rem + .3vw, 1.25rem);--fs-lg:clamp(1.35rem, 1.28rem + .45vw, 1.55rem);--z-nav:900;--z-module-overlay:990;--z-header:1000;--z-modal:1001;--z-modal-raised:1050;--z-boot-splash:1050;--z-offline-banner:9998;--z-confetti-burst:9998;--z-confetti-canvas:9999;--z-overlay:10000;--z-overlay-elevated:10001;--z-tooltip:10005;--z-consolation-toast:10090;--z-toast:10100;--z-max:2147480000}.surface-opaque{background:var(--bg-surface-opaque,var(--bg-modal,#151e30));color:var(--text-main)}html{overscroll-behavior:none;touch-action:pan-y;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:clamp(1rem,.94rem + .3vw,1.125rem);overflow-x:clip}*{box-sizing:border-box;margin:0;padding:0}img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}img[alt=""]{pointer-events:none}body{font-family:var(--font-main);background:var(--bg-main);color:var(--text-main);overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:pan-y;background-image:radial-gradient(at 10% 10%,#6366f126 0,#0000 50%),radial-gradient(at 90% 90%,#10b9811f 0,#0000 50%),radial-gradient(#06b6d414 0,#0000 50%);min-height:100dvh;line-height:1.6;overflow-x:clip}button,a,input,select,textarea,[role=button],.nav-item-btn,.card,.deck-card,.metric-card,.vocab-card,.word-row,.mastery-bar-card,.heatmap-card-compact{touch-action:manipulation}@media (hover:none) and (pointer:coarse){input:not([type=checkbox],[type=radio],[type=range],[type=button],[type=submit]),textarea,select{font-size:max(16px,1em)!important}}.hidden,[hidden],.is-hidden{display:none!important}#teacherView,#adminView{content-visibility:auto;contain-intrinsic-size:800px}.confetti-word-burst-overlay{pointer-events:none;width:100%;height:100%;z-index:var(--z-confetti-burst,9998);position:fixed;top:0;left:0;overflow:hidden}.confetti-word-burst-pill{opacity:0;color:#fef08a;letter-spacing:.02em;white-space:nowrap;will-change:transform, opacity;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172af2;border:1.5px solid #f59e0bd9;border-radius:999px;padding:.35rem .85rem;font-size:.92rem;font-weight:800;position:absolute;transform:translate(-50%,-50%)scale(.3);box-shadow:0 8px 24px #000000bf,0 0 16px #f59e0b59}.confetti-word-burst-pill--mobile{font-size:.82rem}.confetti-canvas{pointer-events:none;width:100%;height:100%;z-index:var(--z-confetti-canvas,9999);position:fixed;top:0;left:0}.boot-splash{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);transition:opacity .18s ease-out,visibility 0s linear .18s;overflow:hidden}.boot-splash.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.boot-core{flex-direction:column;align-items:center;gap:1rem;transition:transform .18s ease-out;display:flex;position:relative}.boot-splash.is-leaving .boot-core{transform:scale(.96)}.boot-book{filter:drop-shadow(0 10px 26px #6366f173)drop-shadow(0 0 16px #10b98147);justify-content:center;align-items:center;width:64px;height:48px;display:flex}.boot-page--left,.boot-page--right{transform-box:fill-box;animation:.4s ease-out backwards boot-unfold}.boot-page--left{--dx:-7px;transform-origin:100%;animation-delay:50ms}.boot-page--right{--dx:7px;transform-origin:0;animation-delay:.15s}.boot-line{animation:.22s ease-out backwards boot-line-in}.boot-line--1{animation-delay:.38s}.boot-line--2{animation-delay:.42s}.boot-line--3{animation-delay:.46s}.boot-line--4{animation-delay:.54s}.boot-pill{transform-box:fill-box;transform-origin:50%;animation:.26s ease-out .62s backwards boot-line-in,2.4s ease-in-out .95s infinite alternate boot-breathe}.boot-word{font-family:var(--font-display);letter-spacing:.02em;color:#fff;font-size:1.35rem;font-weight:700}.boot-aurora{pointer-events:none;position:absolute;inset:0;overflow:hidden}.boot-blob{opacity:.55;border-radius:50%;width:58vmax;height:58vmax;position:absolute}.boot-blob--a{background:radial-gradient(circle,#6366f138 0%,#0000 62%);animation:13s ease-in-out infinite alternate boot-drift;top:-16vmax;left:-18vmax}.boot-blob--b{background:radial-gradient(circle,#ec489921 0%,#0000 62%);animation:11s ease-in-out infinite alternate-reverse boot-drift;bottom:-22vmax;left:8vw}@keyframes boot-unfold{0%{transform:scaleX(0)}}@keyframes boot-line-in{0%{opacity:0;transform:translateX(var(--dx,7px))}}@keyframes boot-breathe{0%{opacity:.85;transform:scale(1)}to{opacity:1;transform:scale(1.04)}}@keyframes boot-drift{0%{transform:translate(-4vmax,-2vmax)}to{transform:translate(5vmax,4vmax)}}@media (prefers-reduced-motion:reduce){.boot-page,.boot-line,.boot-pill,.boot-blob{animation:none}}.app-header{padding:.75rem 1.5rem;padding-top:max(.75rem, env(safe-area-inset-top,.75rem));padding-left:calc(1.5rem + env(safe-area-inset-left));padding-right:calc(1.5rem + env(safe-area-inset-right));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:var(--z-header);background:#0f172af2;justify-content:space-between;align-items:center;gap:1rem;transition:padding .3s,background .3s;display:flex;position:sticky;top:0}body.scroll-locked .app-header{width:100%;position:fixed;top:0;left:0;right:0}.logo-container{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.logo-icon{background:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);width:40px;height:40px;box-shadow:0 0 16px var(--primary-glow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.logo-block{-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;gap:2px;display:flex}.logo-part-learn{font-family:var(--font-display);letter-spacing:.22em;color:#fff;text-transform:uppercase;font-size:1.1rem;font-weight:800;line-height:1}.logo-part-book{font-family:var(--font-display);letter-spacing:.18em;color:#818cf8;background:linear-gradient(135deg,#818cf8 0%,#38bdf8 100%);-webkit-text-fill-color:transparent;text-transform:uppercase;-webkit-background-clip:text;background-clip:text;font-size:1.1rem;font-style:italic;font-weight:900;line-height:1}.top-nav-menu{border:1px solid var(--border-color);border-radius:var(--radius-md);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;background:#1e293bbf;align-items:center;gap:4px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.top-nav-menu::-webkit-scrollbar{display:none}.nav-item-btn{color:var(--text-muted);border-radius:var(--radius-sm);font-family:var(--font-main);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}@media (hover:hover){.nav-item-btn:hover{color:var(--text-main);background:#ffffff0d}}.nav-item-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 10px var(--primary-glow)}#teacherNavMenu .nav-item-btn[data-tooltip]:after{display:none}.nav-btn-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.nav-btn-icon svg{flex-shrink:0;width:1em;height:1em;display:block}.ui-icon{vertical-align:-.125em;justify-content:center;align-items:center;line-height:1;display:inline-flex}.ui-icon svg{flex-shrink:0;width:1em;height:1em;display:block}.ui-icon--prefix{margin-right:.35rem}.ui-icon--suffix{margin-left:.35rem}.btn-icon{vertical-align:-.15em;justify-content:center;align-items:center;margin-right:.35rem;line-height:1;display:inline-flex}.btn-icon svg{flex-shrink:0;width:1em;height:1em;display:block}.heading-icon{vertical-align:-.1em;justify-content:center;align-items:center;line-height:1;display:inline-flex}.heading-icon svg{flex-shrink:0;width:1em;height:1em;display:block}.nav-badge{background:var(--accent-rose);color:#fff;pointer-events:none;box-sizing:border-box;border:1px solid #0f172a;border-radius:9999px;justify-content:center;align-items:center;min-width:13px;height:13px;padding:0 2px;font-size:9px;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:1px;right:-1px;box-shadow:0 0 6px #f43f5e99}.nav-btn-icon .nav-badge{top:-3px;right:-5px}.header-controls{flex-shrink:0;align-items:center;gap:.75rem;margin-left:auto;display:flex}.user-controls-pill{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#1e293bcc;flex-shrink:0;align-items:center;gap:.25rem;padding:.2rem .35rem;transition:border-color .2s,box-shadow .2s;display:inline-flex}@media (hover:hover){.user-controls-pill:hover{border-color:#6366f173}}.pill-icon-btn{color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 .35rem;font-size:1.15rem;transition:all .15s;display:inline-flex;position:relative}.app-header:not(:has(#teacherNavMenu:not([hidden]))) .user-controls-pill [data-teacher-nav]{display:none}@media (hover:hover){.pill-icon-btn:hover{background:#ffffff1f}}.pill-icon-btn--home{min-width:44px;height:44px;margin-block:-5px;margin-inline-start:-4px;padding:0}.pill-icon-btn--home[hidden]{display:none!important}.pill-icon-btn.active{background:var(--primary);color:#fff;box-shadow:0 0 8px #6366f173}.pill-icon-btn svg{flex-shrink:0;width:1em;height:1em;display:block}.pill-btn-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.streak-badge-top{color:#fff7ed;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-user-select:none;user-select:none;cursor:pointer;background:linear-gradient(135deg,#fb923c38 0%,#ef44442e 100%);border:1px solid #fb923c73;border-radius:9999px;flex-shrink:0;align-items:center;gap:.38rem;padding:.32rem .75rem;font-size:.84rem;font-weight:800;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative;overflow:visible;box-shadow:0 2px 10px #f9731638,inset 0 1px #fff3}@media (hover:hover){.streak-badge-top:hover{background:linear-gradient(135deg,#fb923c59 0%,#ef444447 100%);border-color:#fb923cb3;transform:translateY(-1px);box-shadow:0 4px 16px #f9731661,inset 0 1px #ffffff59}}.streak-badge-top:active{transform:scale(.96);box-shadow:0 1px 6px #f973164d}.streak-badge-top .streak-fire{filter:drop-shadow(0 0 5px #f97316cc);transform-origin:50%;will-change:transform;justify-content:center;align-items:center;font-size:.95rem;line-height:1.25;animation:3s ease-in-out infinite streakFlameFlicker;display:inline-flex;overflow:visible}.streak-badge-top .streak-count{font-variant-numeric:tabular-nums;color:#fef08a;text-shadow:0 1px 4px #0009,0 0 10px #f59e0b66;letter-spacing:-.01em;font-weight:800}.streak-badge-top .streak-medal{filter:drop-shadow(0 0 4px #fff6);justify-content:center;align-items:center;margin-left:.15rem;font-size:.95rem;line-height:1.25;display:inline-flex;overflow:visible;transform:translateZ(0)}@keyframes streakFlameFlicker{0%,to{filter:drop-shadow(0 0 4px #f97316bf);transform:scale(1)rotate(0)}25%{filter:drop-shadow(0 0 6px #ef4444d9);transform:scale(1.04)rotate(-1.5deg)}50%{filter:drop-shadow(0 0 7px #f59e0be6);transform:scale(1.07)rotate(1.5deg)}75%{filter:drop-shadow(0 0 5px #f97316cc);transform:scale(1.03)rotate(-1deg)}}@media (width<=1024px){.app-header{flex-wrap:nowrap;gap:.75rem;padding:.65rem 1rem}.app-header .logo-block,.app-header .nav-btn-label:not(:where(body.nav-three #studentNavMenu .nav-btn-label)){display:none}.nav-item-btn{justify-content:center;min-width:42px;padding:.5rem .8rem;font-size:1.15rem}.top-nav-menu{gap:4px;padding:4px}}@media (width<=768px){.app-header{padding:.45rem .65rem;padding-top:max(.45rem, env(safe-area-inset-top,.45rem));padding-left:calc(.65rem + env(safe-area-inset-left));padding-right:calc(.65rem + env(safe-area-inset-right));gap:.4rem;overflow:visible}.app-header .logo-container{display:none}.app-header[data-nav-placement=bottom] .header-controls{justify-content:space-between;width:100%;margin-left:0;overflow:visible}.top-nav-menu{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-shrink:1;min-width:0;overflow-x:auto}.header-controls{flex-shrink:0}#teacherNavMenu.top-nav-menu{gap:2px;padding:2px;overflow:visible}#adminNavMenu.top-nav-menu{scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;gap:2px;padding:2px;overflow-x:auto}#teacherNavMenu .nav-item-btn,#adminNavMenu .nav-item-btn{flex-shrink:0;min-width:38px;min-height:40px;padding:.35rem .5rem;font-size:1rem}#teacherNavMenu .nav-item-btn[data-tooltip]{position:relative}#teacherNavMenu .nav-item-btn[data-tooltip]:after{content:attr(data-tooltip);border:1px solid var(--primary);color:var(--text-main);border-radius:var(--radius-sm,6px);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:var(--z-modal);background:#0f172a;padding:.28rem .6rem;font-size:.73rem;font-weight:600;transition:opacity 80ms ease-out,transform 80ms ease-out;display:block;position:absolute;top:calc(100% + 6px);bottom:auto;left:50%;transform:translate(-50%)translateY(-3px);box-shadow:0 4px 16px #000000d9}@media (hover:hover){#teacherNavMenu .nav-item-btn[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}#teacherNavMenu .nav-item-btn:first-child[data-tooltip]:hover:after,#teacherNavMenu .nav-item-btn:last-child[data-tooltip]:hover:after{transform:translateY(0)}}#teacherNavMenu .nav-item-btn[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}#teacherNavMenu .nav-item-btn:first-child[data-tooltip]:after{left:0;transform:translateY(-3px)}#teacherNavMenu .nav-item-btn:first-child[data-tooltip]:focus-visible:after{transform:translateY(0)}#teacherNavMenu .nav-item-btn:last-child[data-tooltip]:after{left:auto;right:0;transform:translateY(-3px)}#teacherNavMenu .nav-item-btn:last-child[data-tooltip]:focus-visible:after{transform:translateY(0)}.nav-item-btn{min-width:44px;min-height:44px;padding:.45rem .65rem;font-size:1.05rem}.streak-badge-top{box-sizing:border-box;-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(135deg,#fb923c42 0%,#ef444433 100%);border:1.2px solid #fb923c8c;border-radius:9999px;gap:.25rem;min-height:32px;padding:.28rem .65rem;font-size:.8rem;overflow:visible;box-shadow:0 2px 10px #f9731647,inset 0 1px #ffffff38}.streak-badge-top .streak-fire{font-size:.88rem;line-height:1.25;overflow:visible}.streak-badge-top .streak-count{font-size:.84rem}.streak-badge-top .streak-medal{font-size:.88rem;line-height:1.25;overflow:visible}.app-header #topBarChipBadge,.app-header .streak-badge-top .streak-day-label{display:none}}@media (pointer:coarse){.nav-item-btn{min-width:44px;min-height:44px}}.api-indicator{border:1px solid var(--border-color);font-size:var(--fs-xs);letter-spacing:.07em;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#1e293bb3;border-radius:9999px;align-items:center;gap:.38rem;padding:.32rem .62rem;font-weight:700;transition:all .2s;display:inline-flex}@media (hover:hover){.api-indicator:hover{color:var(--text-main);background:#1e293be6;border-color:#6366f173}}.api-dot{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 #0000}.api-dot--ok{background:#22c55e;animation:2s infinite api-pulse-green;box-shadow:0 0 8px #22c55eb3}.api-dot--error{background:#ef4444;animation:2s infinite api-pulse-red;box-shadow:0 0 8px #ef4444b3}.api-dot--warn{background:var(--accent-amber);animation:2s infinite api-pulse-amber;box-shadow:0 0 8px #f59e0b99}.api-dot--checking{background:var(--text-dim);animation:1.2s infinite api-pulse-amber}@keyframes api-pulse-green{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes api-pulse-red{0%{box-shadow:0 0 #ef4444b3}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes api-pulse-amber{0%{box-shadow:0 0 #f59e0b99}70%{box-shadow:0 0 0 6px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@media (width<=480px){#teacherNavMenu.top-nav-menu{scrollbar-width:none;flex:1 1 0;min-width:0;overflow-x:auto}#teacherNavMenu .nav-item-btn{flex:none;min-width:36px;padding-left:.4rem;padding-right:.4rem}#teacherNavMenu[data-scroll-more=end]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 22px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 22px),#0000)}#teacherNavMenu[data-scroll-more=start]{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 22px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 22px),#0000)}#teacherNavMenu[data-scroll-more=both]{-webkit-mask-image:linear-gradient(90deg,#0000,#000 22px calc(100% - 22px),#0000);mask-image:linear-gradient(90deg,#0000,#000 22px calc(100% - 22px),#0000)}}#teacherNavMenu.top-nav-menu--icons .nav-btn-label{display:none}.app-header:has(#teacherNavMenu.top-nav-menu--icons) .logo-block{display:none}#teacherNavMenu.top-nav-menu--icons .nav-item-btn{justify-content:center;min-width:42px;padding-left:.8rem;padding-right:.8rem}@media not all and (width<=768px){:is(#teacherNavMenu,#adminNavMenu) .nav-item-btn[data-tooltip]{position:relative}:is(#teacherNavMenu,#adminNavMenu) .nav-item-btn[data-tooltip]:after{content:attr(data-tooltip);border:1px solid var(--primary);color:var(--text-main);border-radius:var(--radius-sm,6px);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:var(--z-modal);background:#0f172a;padding:.28rem .6rem;font-size:.78rem;font-weight:600;transition:opacity 80ms ease-out;position:absolute;top:calc(100% + 8px);bottom:auto;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #000000d9}:is(#teacherNavMenu,#adminNavMenu) .nav-item-btn[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%)}@media (hover:hover){:is(#teacherNavMenu,#adminNavMenu) .nav-item-btn[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)}}:is(#teacherNavMenu,#adminNavMenu) .nav-item-btn:focus-visible{outline:2px solid var(--text-main);outline-offset:2px}#teacherNavMenu.top-nav-menu--icons{overflow:visible}#teacherNavMenu.top-nav-menu--icons .nav-item-btn[data-tooltip]:after{display:block}}@media (768px<width<=1024px){:is(#teacherNavMenu,#adminNavMenu).top-nav-menu{overflow:visible}:is(#teacherNavMenu,#adminNavMenu) .nav-item-btn[data-tooltip]:after{display:block}}.nav-divider{background:#ffffff26;flex-shrink:0;align-self:stretch;width:1px;margin:.35rem .5rem}#teacherGamesTabBtn[hidden]+.nav-divider{display:none}.topbar-title{flex:1 1 0;justify-content:center;align-items:center;gap:.4rem;min-width:0;display:flex}.topbar-title[data-tab=stats]{container-type:inline-size}@media not all and (width<=768px){.topbar-title{flex:0 auto}}.topbar-title:not([data-tab],[data-module]){display:none}.topbar-title[data-module] .vocab-due-pill,.topbar-title[data-module] .stats-practice-container{display:none!important}.topbar-lounge-back-btn{color:var(--text-muted,#94a3b8);font:inherit;cursor:pointer;border-radius:var(--radius-sm,6px);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-items:center;gap:2px;min-width:44px;min-height:44px;margin-inline:-10px -6px;padding:4px 6px;font-size:13px;font-weight:600;display:inline-flex}.topbar-lounge-back-btn .topbar-back-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topbar-lounge-back-btn:focus-visible{color:var(--text-main,#f1f5f9);outline:none}@media (hover:hover){.topbar-lounge-back-btn:hover{color:var(--text-main,#f1f5f9);outline:none}}.topbar-lounge-back-btn[hidden],.topbar-lounge-back-btn,.topbar-lounge-back-btn[hidden]{display:none!important}.topbar-back-chevron{align-items:center;display:inline-flex}.topbar-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-family:var(--font-main);letter-spacing:-.02em;color:var(--text-main,#f1f5f9);margin:0;font-size:clamp(13px,3.85vw,16.5px);font-weight:600;line-height:1.15;overflow:hidden}.topbar-title-text[hidden]{display:none}.topbar-title .vocab-due-pill{white-space:nowrap;flex-shrink:0;margin-left:0}.topbar-title:not([data-tab=vocab]) .vocab-due-pill{display:none}.topbar-title.has-due-peek .vocab-due-pill[hidden]{display:none!important}.topbar-title.has-due-peek[data-tab=vocab] .topbar-title-text{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;position:relative}.topbar-title.has-due-peek[data-tab=vocab] .topbar-title-text:after{content:"";width:100%;min-width:44px;height:100%;min-height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.topbar-title.has-due-peek[data-tab=vocab] .vocab-due-pill{opacity:0;pointer-events:none;will-change:transform, opacity;transition:transform .25s,opacity .25s;transform:translate(-10px)}.topbar-title.has-due-peek[data-tab=vocab] .vocab-due-pill.is-peeking{opacity:1;pointer-events:auto;transition:transform .25s cubic-bezier(0,0,.2,1),opacity .25s;transform:translate(0)}@media (prefers-reduced-motion:reduce){.topbar-title.has-due-peek[data-tab=vocab] .vocab-due-pill{opacity:1!important;pointer-events:auto!important;transition:none!important;transform:none!important}}.topbar-title:not([data-tab=stats]) .stats-practice-container{display:none}.topbar-title .stats-practice-container{flex:0 auto;min-width:0;max-width:100%;min-height:0;margin:0;overflow:visible}.topbar-title .stats-practice-container.is-reserved,.topbar-title .stats-practice-container.is-ready{min-height:0;margin:0}.topbar-title .stats-practice-skeleton,.topbar-title .stats-practice-dismiss,.topbar-title .stats-practice-icon,.topbar-title .stats-practice-arrow{display:none}.topbar-title .stats-practice-banner{-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;max-width:100%;margin:0}.topbar-title .stats-practice-pill{letter-spacing:-.01em;min-height:32px;padding:.35rem .8rem;font-size:13px}.topbar-title .stats-practice-pill .stats-practice-label{text-align:center}.topbar-title .spl-short{display:none}@container (width<=150px){.topbar-title .spl-full{display:none}.topbar-title .spl-short{display:inline}.topbar-title .stats-practice-pill{padding:.35rem .6rem;font-size:12px}}body[data-topbar-titles] #vocabListSection .section-title,body[data-topbar-titles] #readSection .section-title,body[data-topbar-titles] #studentGrammarSection .section-title,body[data-topbar-titles] #studentPrepositionsSection .prep-title-text{display:none}body[data-topbar-titles] #readSection .section-header,body[data-topbar-titles] #studentGrammarSection .section-header{margin-bottom:.65rem}@media (width<=480px){.app-header{padding-left:calc(.45rem + env(safe-area-inset-left));padding-right:calc(.45rem + env(safe-area-inset-right))}.app-header .header-controls{gap:.25rem}.app-header .streak-badge-top{padding-left:.45rem;padding-right:.45rem}.topbar-title{gap:.2rem}.topbar-lounge-back-btn{min-width:28px;margin-inline:-8px -3px;padding:4px 2px}.topbar-title-text{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(11.5px,3.4vw,15px);line-height:1.2;overflow:hidden}.topbar-title .vocab-due-pill{padding:.1rem .28rem;font-size:clamp(10.5px,2.8vw,12px)}}body[data-topbar-titles] .reading-hub-header{text-align:center;margin-bottom:.75rem}body[data-topbar-titles] .reading-hub-title{letter-spacing:-.01em;justify-content:center;font-size:1.35rem}body[data-topbar-titles] #studentPrepositionsSection .header-cat{width:35.2px;height:35.2px;margin-left:5vw}body[data-topbar-titles] #studentPrepositionsSection .prep-lead{gap:clamp(6px,3vw,16px)}body[data-topbar-titles] #studentPrepositionsSection .prep-sentence>*+*{margin-left:clamp(4px,1.6vw,8px)}body[data-topbar-titles] #studentPrepositionsSection .prep-header-title h2{justify-content:flex-start}body[data-topbar-titles] #studentPrepositionsSection .snap{height:34.2px}body[data-topbar-titles] #studentPrepositionsSection .snap:after{pointer-events:auto;inset:-6.5px -4px}body[data-topbar-titles] #studentPrepositionsSection .prep-sentence{margin-left:5vw}@media not all and (width<=768px){.topbar-title[data-module=conversation-studio] .topbar-title-text,.topbar-title[data-module=use-your-words] .topbar-title-text{display:none}}.streak-fire-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.micro-ember{width:3px;height:3px;box-shadow:0 0 6px var(--accent-amber,#f59e0b);opacity:0;pointer-events:none;background:#fef08a;border-radius:50%;position:absolute}.ember-1{top:2px;left:2px}.ember-2{top:-2px;left:7px}.ember-3{top:4px;left:12px}.pill-pulse-ring{border:1.5px solid var(--accent-amber,#f59e0b);pointer-events:none;opacity:0;border-radius:9999px;transition:opacity .25s,transform .55s cubic-bezier(.16,1,.3,1);position:absolute;inset:-1px;transform:scale(.95)}.streak-badge-top.has-ember .streak-count{text-align:center;will-change:transform;min-width:1.2ch;transition:transform .28s cubic-bezier(.34,1.56,.64,1),text-shadow .25s,color .25s;display:inline-block}.streak-badge-top.is-surging{border-color:#f59e0be6;box-shadow:0 0 16px #f59e0b8c,inset 0 1px #fff6}.streak-badge-top.is-surging .streak-fire{filter:drop-shadow(0 0 8px #f59e0bf2);transform:scale(1.18)}.streak-badge-top.is-surging .pill-pulse-ring{opacity:.75;border-color:#f59e0b00;transform:scale(1.18)}.streak-badge-top.is-surging .streak-count{color:#fff;text-shadow:0 0 14px #f59e0be6,0 0 4px #fff;transform:scale(1.22)}.streak-badge-top.is-surging .ember-1{animation:.45s ease-out forwards emberFly1}.streak-badge-top.is-surging .ember-2{animation:.5s ease-out 50ms forwards emberFly2}.streak-badge-top.is-surging .ember-3{animation:.48s ease-out 80ms forwards emberFly3}@keyframes emberFly1{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-6px,-12px)scale(.3)}}@keyframes emberFly2{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(2px,-14px)scale(.3)}}@keyframes emberFly3{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(8px,-10px)scale(.3)}}@media (width<=768px){.pill-pulse-ring,.micro-ember{display:none!important}}@media (prefers-reduced-motion:reduce){.streak-badge-top.is-surging{border-color:inherit!important;box-shadow:inherit!important}.streak-badge-top.is-surging .streak-fire,.streak-badge-top.is-surging .streak-count{transform:none!important}.pill-pulse-ring,.micro-ember{display:none!important}}.auth-overlay{width:100dvw;height:100dvh;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);-webkit-overflow-scrolling:touch;z-index:var(--z-modal);background-color:#0b0f19e6;background-image:radial-gradient(circle at 18% 22%,#6366f138 0,#0000 48%),radial-gradient(circle at 82% 78%,#06b6d42e 0,#0000 48%),radial-gradient(circle,#a855f71a 0,#0000 52%);justify-content:center;align-items:safe center;transition:opacity .3s;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.auth-card{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);text-align:center;box-sizing:border-box;background:#151e30b8;border:1px solid #ffffff1f;border-top-color:#ffffff42;border-radius:24px;width:90%;max-width:400px;padding:2.25rem 2rem;box-shadow:0 24px 60px #000000a6,0 0 35px #6366f124}.auth-card .logo-icon{background:var(--bg-main);border:1px solid #ffffff47;border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1.25rem;display:flex;box-shadow:0 8px 24px #6366f173}.auth-card-title{font-size:1.75rem;font-family:var(--font-display);color:#fff;letter-spacing:-.02em;margin-bottom:.35rem;font-weight:700}.auth-form-group{text-align:left;margin-bottom:.9rem}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{color:var(--text-dim);pointer-events:none;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.auth-card .auth-input{width:100%;color:var(--text-main);box-sizing:border-box;background:#0f172abf;border:1px solid #ffffff1f;border-radius:12px;padding:.75rem 1rem .75rem 2.6rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background .2s}.auth-input::placeholder{color:#475569;opacity:1}.auth-card .auth-input:focus{border-color:var(--primary);background:#0f172ae6;outline:none;box-shadow:0 0 0 3.5px #6366f138}.auth-card .auth-input--password{padding-right:2.75rem}.auth-password-toggle{cursor:pointer;color:var(--text-muted);opacity:.75;z-index:2;background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;font-size:1.1rem;transition:opacity .15s,transform .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.auth-password-toggle:focus{opacity:1;transform:translateY(-50%)scale(1.08)}@media (hover:hover){.auth-password-toggle:hover{opacity:1;transform:translateY(-50%)scale(1.08)}}.auth-password-toggle .pw-icon-hide,.auth-password-toggle.is-revealed .pw-icon-show{display:none}.auth-password-toggle.is-revealed .pw-icon-hide{display:block}.auth-card .auth-submit-btn{letter-spacing:.02em;background:linear-gradient(135deg, var(--primary), #8b5cf6);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:.85rem;padding:.8rem 1.25rem;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 4px 18px #6366f166}@media (hover:hover){.auth-card .auth-submit-btn:hover{filter:brightness(1.08);box-shadow:0 6px 22px var(--border-active)}}.auth-card .auth-submit-btn:active{box-shadow:0 2px 10px var(--primary-glow);transform:scale(.98)}@media (width<=480px){.auth-overlay{padding-top:max(2.5rem, env(safe-area-inset-top,0px));padding-bottom:max(1rem, env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;align-items:flex-start;overflow-y:auto}.auth-card{border-radius:20px;max-width:350px;padding:1.75rem 1.35rem}.auth-card-title{font-size:1.55rem}}.sso-divider{opacity:.6;align-items:center;gap:.6rem;margin:1.1rem 0 .6rem;font-size:.8rem;display:flex}.sso-divider:before,.sso-divider:after{content:"";border-top:1px solid;flex:1}.sso-btn--branded{cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:4px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;display:flex}.sso-btn--google{color:#1f1f1f}.sso-btn--microsoft{color:#5e5e5e}.sso-btn--branded svg{flex:none;width:18px;height:18px}@media (hover:hover){.sso-btn--branded:hover{background:#f8f9fa;box-shadow:0 1px 2px #00000026}}.sso-btn--google:focus-visible{outline-offset:2px;outline:2px solid #4285f4}.sso-btn--microsoft:focus-visible{outline-offset:2px;outline:2px solid #0067b8}.sso-btn--branded:active{transform:translateY(1px)}.sso-btn:disabled{opacity:.55;cursor:not-allowed}.sso-btn--branded+.sso-btn--branded{margin-top:.6rem}#loginForm{text-align:left;margin-top:1.5rem}#loginNicknameHp{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}#authErrorMsg{color:var(--accent-rose);text-align:center;border-radius:var(--radius-sm);background:#f43f5e1a;border:1px solid #f43f5e40;margin-bottom:1rem;padding:.6rem;font-size:.85rem;font-weight:600}.sso-signup-hint{text-align:center;color:var(--text-muted);margin:.75rem 0 0;font-size:.85rem}.login-throttle-hint{color:var(--text-main);margin-top:.25rem;font-size:.8rem;font-weight:400;display:block}.practice-container{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.practice-header{width:100%;max-width:var(--practice-col-max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.active-deck-badge{color:var(--text-main);border-radius:var(--radius-md);border:1px solid var(--border-color);background:#1e293b99;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.95rem;font-weight:700;display:flex}.deck-badge-prefix{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:.72rem;font-weight:700;line-height:1}.deck-topic-label{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:700;overflow:hidden}.deck-provenance-badge{color:var(--text-muted);border-left:1px solid var(--border-color,#ffffff26);white-space:nowrap;margin-left:.35rem;padding-left:.5rem;font-size:.78rem;font-weight:600}.back-btn{border:1px solid var(--border-color);color:var(--text-muted);border-radius:var(--radius-md);cursor:pointer;background:#1e293bcc;padding:.5rem 1rem;font-weight:600;transition:all .2s}@media (hover:hover){.back-btn:hover{color:var(--text-main);border-color:var(--text-muted)}}.length-selector{border-radius:var(--radius-md);background:#1e293bcc;gap:.25rem;padding:4px;display:flex}.mode-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;min-height:44px;padding:.4rem .8rem;font-size:.85rem;font-weight:600;transition:all .2s}.length-btn{color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;min-height:44px;padding:.4rem .65rem;font-size:.85rem;font-weight:600;transition:all .2s}.mode-btn.active,.length-btn.active{background:var(--primary);color:#fff}.length-selector.disabled{opacity:.45;pointer-events:none;cursor:not-allowed}.mode-btn:disabled,.length-btn:disabled{cursor:not-allowed;opacity:.6}.mode-label-short{display:none}.mode-label-full{display:inline}@media (pointer:coarse){.mode-btn{min-width:44px;min-height:44px}}.progress-wrapper{width:100%;max-width:var(--practice-col-max)}.progress-container{align-items:center;gap:.5rem;display:flex}.progress-info{color:var(--text-muted);white-space:nowrap;flex-shrink:0;min-width:max-content;font-size:.85rem;font-weight:600}.progress-track{background:#ffffff14;border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary), var(--accent-cyan));width:0%;height:100%;transition:width .3s}.card-wrapper{width:100%;max-width:var(--practice-col-max);perspective:1200px;cursor:pointer;height:420px}.card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:var(--radius-lg);transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.card-inner.flipped{transform:rotateY(180deg)}.card-face.card-back,.card-inner.flipped .card-face.card-front{visibility:hidden}.card-inner.flipped .card-face.card-back{visibility:visible}.card-face{backface-visibility:hidden;border-radius:var(--radius-lg);background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;height:100%;box-shadow:var(--shadow-card);border:1px solid #ffffff26;flex-direction:column;justify-content:space-between;padding:2.5rem;transition:visibility 0s linear .3s;display:flex;position:absolute}.card-face.card-back{background-color:#111827f2;background-image:radial-gradient(circle at 0%,#f43f5e17 0%,#0000 60%),radial-gradient(circle at 100%,#10b98133 0%,#0000 60%);border-color:#6366f14d;padding:1.85rem 2.25rem 1.35rem;transform:rotateY(180deg)}body:has(#learnSection:not([hidden])){background-image:radial-gradient(at 10% 10%,#6366f126 0,#0000 50%),radial-gradient(#06b6d414 0,#0000 50%)}.card-top{justify-content:space-between;align-items:center;display:flex}.card-pos-badge{color:#a5b4fc;font-size:var(--fs-xs);text-transform:uppercase;background:#6366f133;border-radius:12px;padding:.2rem .6rem;font-weight:700}.audio-btn{color:#fff;cursor:pointer;background:#6366f133;border:1px solid #6366f166;border-radius:50%;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;font-size:1.1rem;transition:all .2s;display:flex}@media (hover:hover){.audio-btn:hover{background:var(--primary);transform:scale(1.08)}}.audio-btn svg{width:1.1em;height:1.1em;display:block}.card-center{text-align:center;margin:.2rem 0}.card-word{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:.15rem;font-size:2.1rem;font-weight:800}.card-phonetic{color:var(--accent-cyan);margin-bottom:.6rem;font-size:.95rem;font-weight:600}.examples-container{text-align:left;flex-direction:column;align-self:center;gap:.5rem;width:max-content;max-width:88%;margin-top:.4rem;margin-left:auto;margin-right:auto;display:flex}.card-hint-notice{text-align:left;font-size:var(--fs-xs);color:var(--text-dim);opacity:.6;filter:grayscale();-webkit-user-select:none;user-select:none;transition:opacity .2s,filter .2s;position:absolute;bottom:.5rem;left:.65rem}@media (hover:hover){.card-hint-notice:hover{opacity:.9;filter:grayscale(0%)}}.card-hint-desktop{display:inline}.card-hint-mobile{display:none}@media (width<=768px){.card-hint-desktop{display:none}.card-hint-mobile{display:inline}}#cardTranslationBack{text-align:left;overflow-wrap:break-word;flex:1;min-width:0}.card-face.card-front .card-center{flex-direction:column;justify-content:center;align-items:center;margin:auto 0;display:flex}.card-face.card-front .card-word{margin-bottom:.35rem;font-size:2.5rem}.card-face.card-front .card-phonetic{font-size:1.1rem}.card-face.card-back .card-center{flex-direction:column;flex:1;align-items:center;width:100%;margin:.35rem 0 0;display:flex}.card-face.card-back .card-word{color:var(--text-main);letter-spacing:-.01em;margin-top:0;margin-bottom:0;font-size:1.9rem;font-weight:700}.card-face.card-back .definition-box{text-align:center;max-width:95%;margin-top:1.55rem;margin-bottom:0}#cardDefinitionBack{color:#86efac;text-shadow:0 0 20px #86efac2e;margin:0;font-size:1.08rem;font-weight:600;line-height:1.45}.card-face.card-back .examples-container{flex-direction:column;gap:.6rem;width:100%;max-width:95%;margin-top:auto;margin-bottom:auto;display:flex}.card-face.card-back .example-sentence{color:var(--text-main);text-align:left;border-left:2.5px solid var(--border-active);background:#6366f10d;border-radius:0 6px 6px 0;margin:0;padding:.4rem .8rem;font-size:.9rem;font-style:italic;line-height:1.45}.translation-box{box-sizing:border-box;color:#cbd5e1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:default;background:linear-gradient(#1e293b73 0%,#0f172aa6 100%);border:1px solid #94a3b829;border-radius:9999px;flex-direction:column;justify-content:center;align-self:center;align-items:center;width:max-content;max-width:calc(100% - 72px);margin:.2rem auto;padding:.35rem .85rem;font-size:.88rem;font-weight:600;transition:border-radius .25s cubic-bezier(.16,1,.3,1),padding .25s cubic-bezier(.16,1,.3,1),border-color .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 4px 16px #0003,inset 0 1px #ffffff0f}.translation-box.expanded{border-radius:var(--radius-md,12px);padding:.45rem .9rem}.translation-box:has(#cardTranslationToggleBtn[aria-expanded=true]){border-radius:var(--radius-md,12px);padding:.45rem .9rem}@media (hover:hover){.translation-box:hover{border-color:#6366f152;box-shadow:0 6px 20px #00000040,0 0 16px #6366f11a}}.practice-actions{width:100%;max-width:var(--practice-col-max);gap:1.5rem;display:flex}.action-btn{border-radius:var(--radius-md);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.btn-again{color:#fda4af;background:#e11d481f;border:1px solid #e11d484d}.btn-again:active,.btn-again.is-pressed{color:#fff;background:#e11d48b3;transform:scale(.97);box-shadow:0 4px 16px #e11d484d}.btn-mastered{color:#6ee7b7;background:#10b98126;border:1px solid #10b98166}.btn-mastered:active,.btn-mastered.is-pressed{background:var(--accent-emerald);color:#fff;box-shadow:0 4px 16px var(--accent-emerald-glow);transform:scale(.97)}.btn-undo{color:var(--text-main);background:0 0;border:1px solid #ffffff38;flex:none}.btn-undo:active{background:#ffffff1f;transform:scale(.97)}.btn-undo:disabled,.btn-undo[aria-disabled=true]{opacity:.4;cursor:default}.shortcut-key{min-width:1.35rem;height:1.35rem;font-family:inherit;font-size:var(--fs-xs);opacity:.85;-webkit-user-select:none;user-select:none;background:#00000047;border:1px solid #ffffff2e;border-radius:4px;justify-content:center;align-items:center;margin-left:.45rem;padding:0 .35rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex;box-shadow:0 1px 2px #00000059,inset 0 1px #ffffff1f}.action-btn.is-pressed .shortcut-key{color:#fff;opacity:1;background:#00000073;border-color:#ffffff59}@media (hover:hover) and (pointer:fine){.btn-again:hover{color:#fff;background:#e11d4899;transform:scale(.97);box-shadow:0 4px 16px #e11d484d}.btn-mastered:hover{background:var(--accent-emerald);color:#fff;box-shadow:0 4px 16px var(--accent-emerald-glow);transform:scale(.97)}.action-btn:hover .shortcut-key{color:#fff;opacity:1;background:#00000073;border-color:#ffffff59}}@media (hover:none),(pointer:coarse),(width<=768px){.practice-actions .shortcut-key,.action-btn .shortcut-key,.shortcut-key{display:none}}.deck-badge-mastered{color:#fcd34d;font-size:var(--fs-xs);white-space:nowrap;background:linear-gradient(135deg,#f59e0b33,#fbbf241a);border:1px solid #f59e0b80;border-radius:999px;padding:.2rem .6rem;font-weight:700}.vocab-grid-card.is-mastered{border-color:#f59e0b59}@media (hover:hover){.vocab-grid-card.is-mastered:hover{border-color:#f59e0b99;box-shadow:0 0 20px #f59e0b26}}.completion-title-mastered{background:linear-gradient(135deg, #fbbf24, var(--accent-amber), #fcd34d);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px #f59e0b59);-webkit-background-clip:text;background-clip:text}@keyframes screenBreathe{0%{transform:scale(.97)}45%{transform:scale(1.03)}to{transform:scale(1)}}.celebrate-breathe{will-change:transform;animation:.8s cubic-bezier(.22,1,.36,1) screenBreathe}@keyframes crownDrop{0%{opacity:0;transform:translate(-50%,-48px)scale(.6)rotate(-10deg)}50%{opacity:1;transform:translate(-50%,6px)scale(1.12)rotate(3deg)}75%{transform:translate(-50%,-4px)scale(.96)rotate(-1deg)}to{opacity:1;transform:translate(-50%)scale(1)rotate(0)}}.crown-drop{pointer-events:none;z-index:9998;filter:drop-shadow(0 4px 14px #f59e0b66);font-size:3.4rem;line-height:1;animation:.72s cubic-bezier(.34,1.56,.64,1) both crownDrop;display:inline-block;position:fixed}@keyframes goldEdgeShimmer{0%{border-color:#f59e0b59;box-shadow:0 0 16px #f59e0b1f,inset 0 0 12px #f59e0b0a}50%{border-color:#fbbf24a6;box-shadow:0 0 28px #f59e0b47,inset 0 0 20px #f59e0b14}to{border-color:#f59e0b59;box-shadow:0 0 16px #f59e0b1f,inset 0 0 12px #f59e0b0a}}#deckCompletionContainer .teacher-panel.card-gold-shimmer,.teacher-panel.card-gold-shimmer,.card-gold-shimmer{border-color:#f59e0b73;animation:3.2s ease-in-out infinite goldEdgeShimmer}#quizContainer{width:100%;max-width:var(--practice-col-max)}#quizContainer .teacher-panel{text-align:center}#quizQuestionWord{margin-bottom:.5rem;font-size:2rem}#quizInstruction{color:var(--text-muted);margin-bottom:1.5rem}#quizOptionsGrid{flex-direction:column;gap:.8rem;display:flex}#quizOptionsGrid:not([hidden]){display:flex}#deckCompletionContainer{text-align:center;width:100%;max-width:600px}#deckCompletionContainer .teacher-panel{padding:2.5rem 2rem}#completionEmoji{margin-bottom:.5rem;font-size:3rem}#completionTitle{color:var(--text-main);margin-bottom:.5rem;font-size:1.8rem}#completionSubtitle{color:var(--text-muted);margin-bottom:1.5rem}.completion-score-box{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0f172a99;margin-bottom:2rem;transition:all .3s;position:relative;overflow:hidden}#deckCompletionContainer #completionScoreBox.completion-dual-stats,.completion-dual-stats{padding:1.5rem}.completion-stat-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem;display:grid}.completion-stat-card{border-radius:var(--radius-sm,8px);background:#1e293b80;border:1px solid #ffffff14;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.completion-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,var(--text-muted));margin-bottom:.25rem;font-size:.8rem;font-weight:700}#completionScorePct,#completionMasteryPct{font-size:2.2rem;font-weight:800;line-height:1.1}#completionScorePct{color:var(--accent-emerald)}#completionMasteryPct{color:var(--accent-indigo,#818cf8)}#completionScoreDetail,#completionMasteryDetail{color:var(--text-dim);margin-top:.35rem;font-size:.88rem}.completion-mastery-explainer{color:var(--text-muted,var(--text-muted));margin:0;font-size:.82rem;line-height:1.4}#deckCompletionContainer #backToDecksBtn{padding:.8rem 1.5rem;font-size:.95rem}#deckCompletionContainer #celebrateReadStoryBtn,#deckCompletionContainer #tryAgainDeckBtn{padding:.8rem 1.75rem;font-size:1rem}.completion-sparks-line:empty{display:none}#deckCompletionContainer .teacher-panel>div:last-of-type{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}#deckCompletionContainer #completionScoreBox.perfect-score-shimmer,#completionScoreBox.perfect-score-shimmer,.perfect-score-shimmer{box-shadow:0 0 24px var(--accent-emerald-glow), 0 0 48px #10b98133, inset 0 0 20px #34d39929;background:radial-gradient(circle at 50% 30%,#10b98138 0%,#0f172ae0 80%);border-color:#34d399cc}.perfect-score-shimmer:before{content:"";display:none}.perfect-score-shimmer #completionScorePct{text-shadow:0 0 20px #34d399cc,0 0 40px #10b98180;z-index:2;display:inline-block;position:relative}.perfect-score-shimmer #completionScoreDetail{z-index:2;position:relative}.translation-toggle-btn{color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:9999px;align-items:center;gap:.45rem;min-height:44px;padding:.2rem .6rem;font-family:inherit;font-size:.84rem;font-weight:600;transition:color .15s,transform .15s;display:inline-flex}@media (hover:hover){.translation-toggle-btn:hover{color:#fff;transform:scale(1.02)}}.translation-toggle-icon{font-size:.95rem;transition:transform .2s}@media (hover:hover){.translation-toggle-btn:hover .translation-toggle-icon{transform:scale(1.15)}}.translation-toggle-icon svg{width:1em;height:1em;display:block}.translation-expanded-wrap{opacity:0;visibility:hidden;grid-template-rows:0fr;width:100%;min-height:0;transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1),opacity .2s,visibility .28s;display:grid;overflow:hidden}.translation-box:not(.expanded) .translation-expanded-wrap{width:0;max-width:0}.translation-box.expanded .translation-expanded-wrap{opacity:1;visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1),opacity .22s 50ms,visibility}.translation-box:has(#cardTranslationToggleBtn[aria-expanded=true]) .translation-expanded-wrap{opacity:1;visibility:visible;grid-template-rows:1fr;width:100%;max-width:none;transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1),opacity .22s 50ms,visibility}.translation-expanded-wrap.expanded{opacity:1;visibility:visible;grid-template-rows:1fr;transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1),opacity .22s 50ms,visibility}.translation-expanded-inner{flex-direction:column;align-items:center;gap:.45rem;width:100%;min-height:0;padding-top:0;display:flex;overflow:hidden}.translation-box.expanded .translation-expanded-inner{padding-top:.35rem}.translation-box:has(#cardTranslationToggleBtn[aria-expanded=true]) .translation-expanded-inner{padding-top:.35rem}.translation-expanded-wrap.expanded .translation-expanded-inner{padding-top:.35rem}.translation-text{color:var(--text-main);text-align:center;letter-spacing:.01em;text-shadow:0 1px 2px #0006;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding:.1rem .25rem;font-size:1.02rem;font-weight:700}.translation-meta{font-size:var(--fs-xs);color:var(--text-dim,var(--text-muted));border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;width:100%;padding-top:.45rem;display:flex}.translation-disclaimer{opacity:.85;letter-spacing:.01em;-webkit-user-select:none;user-select:none;font-style:normal}.translation-report-corner-btn{color:var(--text-dim);opacity:.7;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3.5px;padding:.15rem;line-height:1;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:.5rem;left:.6rem}@media (hover:hover){.translation-report-corner-btn:hover:not(:disabled){opacity:1;color:#fda4af;transform:translateY(-1px)}}.translation-report-corner-btn:disabled{cursor:default;color:#6ee7b7;opacity:.8;transform:none}.translation-report-corner-icon{font-size:1rem;line-height:1;display:block}.translation-report-corner-icon svg{width:1rem;height:1rem;display:block}.translation-report-corner-label{letter-spacing:.08em;text-transform:lowercase;opacity:.9;padding-right:1.5px;font-size:.46rem;font-weight:700;line-height:1}.report-modal-card{border:1px solid var(--border-color,#94a3b838);border-radius:var(--radius-lg,18px);width:92%;max-width:500px;color:var(--text-main,var(--text-main));background:linear-gradient(160deg,#1a243af5 0%,#0f172afa 100%);padding:1.75rem;animation:.25s cubic-bezier(.16,1,.3,1) modalCardPop;box-shadow:0 25px 50px -12px #000000a6,0 0 30px #6366f11f}@keyframes modalCardPop{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}body.report-keyboard-open #reportTranslationModal .report-modal-card{max-height:calc(100dvh - 1rem);overflow-y:auto}.report-context-summary{border-radius:var(--radius-md,12px);background:#0b0f19a6;border:1px solid #94a3b824;flex-direction:column;gap:.55rem;margin-bottom:1.1rem;padding:.9rem 1.1rem;display:flex}.report-context-row{justify-content:space-between;align-items:center;gap:.75rem;font-size:.86rem;display:flex}.report-context-label{color:var(--text-muted,var(--text-muted));text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:500}.report-context-val{color:var(--text-main,var(--text-main));text-align:right;word-break:break-word;font-weight:600}.report-context-val.text-warning{color:#fbbf24;white-space:nowrap;text-overflow:ellipsis;background:#f59e0b1f;border:1px solid #f59e0b47;border-radius:6px;min-width:0;max-width:100%;padding:.18rem .65rem;font-weight:700;overflow:hidden}.form-textarea{border:1px solid var(--border-color,#94a3b833);border-radius:var(--radius-sm,8px);width:100%;color:var(--text-main,var(--text-main));font-family:var(--font-main);resize:vertical;box-sizing:border-box;background:#0b0f19a6;outline:none;min-height:75px;padding:.75rem .9rem;font-size:.9rem;line-height:1.45;transition:border-color .2s,box-shadow .2s}.form-textarea:focus{border-color:var(--primary,var(--primary));box-shadow:0 0 0 3px #6366f138}.textarea-counter{font-size:var(--fs-xs);color:var(--text-dim,var(--text-dim));text-align:right;letter-spacing:.02em;margin-top:.3rem}.form-error-text{color:#fb7185;margin-top:.4rem;font-size:.8rem;font-weight:600}.report-modal-card .modal-actions{justify-content:flex-end;align-items:center;gap:1rem;width:100%;margin-top:1.25rem;display:flex}.report-modal-card .modal-actions #cancelReportBtn,.report-modal-card .modal-actions #submitReportBtn{border-radius:var(--radius-md,10px);box-sizing:border-box;justify-content:center;align-items:center;min-height:42px;padding:.65rem 1.35rem;font-size:.92rem;font-weight:700;display:inline-flex}.report-modal-card .modal-actions #cancelReportBtn{border:1px solid var(--border-color,#94a3b840);color:var(--text-muted,var(--text-muted));background:#1e293bb3}@media (hover:hover){.report-modal-card .modal-actions #cancelReportBtn:hover{color:var(--text-main,#fff);background:#334155cc;border-color:#94a3b866}}.quiz-option-btn{border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-md);text-align:left;cursor:pointer;font-size:.95rem;line-height:1.4;font-family:var(--font-main);background:#1e293bb3;padding:1rem 1.25rem;transition:all .2s}.quiz-option-btn.quiz-option-btn--correct,#quizOptionsGrid .quiz-option-btn--correct{background:var(--accent-emerald-glow);border-color:var(--accent-emerald);color:#6ee7b7}.quiz-option-btn.quiz-option-btn--incorrect,#quizOptionsGrid .quiz-option-btn--incorrect{border-color:var(--accent-rose);color:#fda4af;background:#f43f5e40}@media (width<=768px){main.main-container:has(#learnSection:not([hidden])){padding-top:.55rem;padding-bottom:.35rem}div#studentView:has(#learnSection:not([hidden])){padding-bottom:calc(48px + max(4px, env(safe-area-inset-bottom,0px)))}body.nav-three div#studentView:has(#learnSection:not([hidden])){padding-bottom:max(4px, env(safe-area-inset-bottom,0px))}.practice-container{gap:.55rem;width:100%;max-width:100%}.practice-container .practice-header{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.practice-container .practice-header .back-btn{flex:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 10px;font-size:1.25rem;line-height:1;display:inline-flex}.practice-container .practice-header .back-btn .back-label{display:none}.practice-header #activeDeckTitleHeader.active-deck-badge,#activeDeckTitleHeader{box-sizing:border-box;border-radius:var(--radius-md);flex-direction:row;flex:auto;align-items:center;gap:.3rem;min-width:0;height:36px;padding:0 .55rem;font-size:.82rem;display:flex;overflow:hidden}#activeDeckTitleHeader .deck-provenance-badge{text-overflow:ellipsis;flex:0 auto;min-width:0;margin-left:0;padding-left:.4rem;overflow:hidden}#activeDeckTitleHeader .deck-badge-prefix{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:.68rem;font-weight:700;line-height:1}#activeDeckTitleHeader .deck-topic-label,#activeDeckTitleHeader #activeDeckTitleName{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:clamp(.72rem,2.1vw,.82rem);font-weight:600;line-height:1.2;overflow:hidden}.practice-container .practice-header .length-selector{flex:none;gap:.2rem;padding:2px;display:flex}.practice-header .mode-btn .mode-label-full{display:none}.practice-header .mode-btn .mode-label-short{display:inline}.practice-header .mode-btn,.practice-container .practice-header .length-selector .length-btn,.practice-header .length-btn{min-width:unset;border-radius:var(--radius-sm);flex:none;min-height:32px;padding:.25rem .5rem;font-size:.78rem}.progress-wrapper{margin:0}.progress-info{font-size:var(--fs-xs)}.practice-actions{padding-bottom:max(.15rem, env(safe-area-inset-bottom,0px));gap:.65rem;width:100%;max-width:680px;margin-top:.35rem;margin-bottom:0}.practice-actions .action-btn{min-height:48px;padding:.65rem .85rem;font-size:.94rem}.practice-actions .btn-undo{min-width:48px;padding:.65rem}.practice-actions .btn-undo-label{display:none}.practice-actions .btn-again,.practice-actions .btn-mastered{white-space:nowrap;flex:1 1 0;min-width:0}#studentView #deckCompletionContainer,#deckCompletionContainer{margin-bottom:0;padding-bottom:0}#deckCompletionContainer .teacher-panel{padding:1.1rem .85rem 1.25rem}#deckCompletionContainer #completionEmoji{margin-bottom:.25rem;font-size:2rem}#deckCompletionContainer #completionTitle{margin-bottom:.2rem;font-size:1.25rem}#deckCompletionContainer #completionSubtitle{margin-bottom:.6rem;font-size:.8rem}#deckCompletionContainer #completionScoreBox{margin-bottom:.85rem;padding:.65rem .65rem .5rem}#deckCompletionContainer .completion-stat-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.45rem}#deckCompletionContainer .completion-stat-card{padding:.55rem .4rem}#deckCompletionContainer .completion-stat-label{margin-bottom:.15rem;font-size:.68rem}#deckCompletionContainer #completionScorePct,#deckCompletionContainer #completionMasteryPct{font-size:1.45rem;line-height:1.1}#deckCompletionContainer #completionScoreDetail,#deckCompletionContainer #completionMasteryDetail{margin-top:.2rem;font-size:.72rem}#deckCompletionContainer #completionMasteryExplainer{margin:.25rem 0 0;font-size:.68rem;line-height:1.3}#deckCompletionContainer button{padding:.6rem 1rem;font-size:.88rem}.card-wrapper{width:100%;height:auto;min-height:clamp(380px,54vh,480px)}.card-inner{height:auto;display:grid}.card-face{grid-area:1/1;height:auto;min-height:clamp(380px,54vh,480px);padding:1.25rem 1.1rem 1.6rem;position:relative}.card-face.card-back{padding:1.1rem 1.1rem 1.5rem}#flipCardContainer .card-face.card-front .card-word,.card-wrapper .card-face.card-front .card-word{font-size:clamp(2rem,6vw,2.4rem)}#flipCardContainer .card-face.card-front .card-phonetic,.card-wrapper .card-face.card-front .card-phonetic{font-size:clamp(.95rem,3.4vw,1.1rem)}.card-face.card-back .card-center{justify-content:space-evenly;margin-top:.2rem}.card-face.card-back .card-word{margin-top:0;font-size:clamp(1.45rem,4.8vw,1.75rem);line-height:1.2}.card-face.card-back .definition-box{max-width:100%;margin-top:.45rem;margin-bottom:0}#cardDefinitionBack{font-size:clamp(.94rem,3.2vw,1.05rem);line-height:1.42}.card-face.card-back .examples-container{gap:.45rem;max-width:100%;margin-top:.85rem;margin-bottom:0}.card-face.card-back .example-sentence{padding:.35rem .65rem;font-size:clamp(.82rem,2.9vw,.88rem);line-height:1.38}.translation-box{border-radius:9999px;align-self:center;width:max-content;max-width:calc(100% - 72px);margin:.5rem auto .2rem;padding:.25rem .85rem;display:inline-flex}.translation-box.expanded{border-radius:var(--radius-md,12px);align-self:center;width:100%;max-width:calc(100% - 48px);margin-left:auto;margin-right:auto;padding:.4rem .75rem;display:flex}.translation-box:has(#cardTranslationToggleBtn[aria-expanded=true]){border-radius:var(--radius-md,12px);align-self:center;width:100%;max-width:calc(100% - 48px);margin-left:auto;margin-right:auto;padding:.4rem .75rem;display:flex}.translation-toggle-btn{gap:.35rem;min-height:44px;padding:.15rem .35rem;font-size:.85rem}.translation-toggle-icon{font-size:.95rem}.translation-meta{font-size:var(--fs-xs);gap:.45rem}#studentView #quizContainer .teacher-panel,#quizContainer .teacher-panel{padding:1rem .85rem 2.8rem}#quizQuestionWord{margin-top:0;margin-bottom:.4rem;font-size:1.45rem}#quizContainer .quiz-instruction,.quiz-instruction{display:none}#quizOptionsGrid{gap:.45rem}#quizOptionsGrid .quiz-option-btn,#quizContainer .quiz-option-btn{min-height:auto;padding:.55rem .85rem;font-size:.86rem;line-height:1.32}.report-modal-card{width:95%;max-width:440px;padding:1.25rem 1rem}.report-context-summary{gap:.45rem;width:100%;margin-bottom:.85rem;padding:.75rem .85rem}.report-modal-card .form-group{width:100%}.report-modal-card .form-textarea{width:100%;padding:.75rem .85rem;font-size:.95rem}.report-modal-card .modal-actions{gap:.85rem;margin-top:1.1rem}.report-modal-card .modal-actions #cancelReportBtn,.report-modal-card .modal-actions #submitReportBtn{min-height:42px;padding:.6rem 1.25rem;font-size:.9rem}#quizContainer .teacher-panel{padding-bottom:3.5rem}}.completion-stat-grid.sv11-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.completion-stat-card.sv11-card{border-radius:var(--radius-sm);background:#1e293b80;border:1px solid #ffffff14;padding:1rem}.completion-stat-label.sv11-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.25rem;font-size:.8rem;font-weight:700}.sv11-score-detail{color:var(--text-dim);margin-top:.35rem;font-size:.88rem}.completion-mastery-explainer.sv11-explainer{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.4}.card-cmd-badge{color:#fcd34d;font-size:var(--fs-xs,.75rem);letter-spacing:.04em;text-transform:uppercase;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:12px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-weight:700;display:inline-flex}.card-mark-scheme-box{text-align:center;max-width:95%;color:var(--text-main,#f8fafc);background:#f59e0b14;border:1px dashed #f59e0b59;border-radius:8px;margin:.75rem auto 0;padding:.5rem .85rem;font-size:.95rem;line-height:1.4}.card-mark-scheme-box .mark-scheme-label{color:#fbbf24;text-transform:uppercase;letter-spacing:.03em;margin-right:.35rem;font-size:.8rem;font-weight:700}.card-mark-scheme-box .mark-scheme-text{color:#fef3c7;font-style:italic}.cmdterm-filter-label{color:#fcd34d;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin-top:.25rem;font-size:.85rem;font-weight:600;display:inline-flex}.cmdterm-filter-label input[type=checkbox]{accent-color:var(--accent-amber);cursor:pointer}@media (prefers-reduced-motion:reduce){.translation-box,.translation-expanded-wrap{transition:none!important}.completion-title-mastered,.perfect-score-shimmer,.perfect-score-shimmer:before,.perfect-score-shimmer #completionScorePct,.card-gold-shimmer{animation:none!important}}@media (width<=480px){.practice-actions .btn-again,.practice-actions .btn-mastered{white-space:normal}}.comeback-moment{color:var(--text-muted);text-align:center;margin:0 0 .5rem;font-size:.95rem;animation:.3s ease-out comeback-rise}@keyframes comeback-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.comeback-moment{animation:none}}.completion-recovered-line{color:var(--text-muted);text-align:center;margin:.5rem 0 0;font-size:.95rem}.completion-recovered-line:empty{display:none}.cheetah-freeze{text-align:center;flex-direction:column;align-items:center;gap:.75rem;display:flex}.cheetah-ring{width:72px;height:72px;position:relative}.cheetah-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.cheetah-ring-track,.cheetah-ring-bar{fill:none;stroke-width:5px}.cheetah-ring-track{stroke:var(--border-color)}.cheetah-ring-bar{stroke:var(--primary,#38bdf8);stroke-linecap:round;stroke-dasharray:176;stroke-dashoffset:0;animation:cheetah-ring-drain var(--cheetah-freeze,5s) linear forwards}.cheetah-countdown{color:var(--text-main);justify-content:center;align-items:center;font-size:1.5rem;font-weight:600;display:flex;position:absolute;inset:0}@keyframes cheetah-ring-drain{to{stroke-dashoffset:176px}}@media (prefers-reduced-motion:reduce){.cheetah-ring-bar{animation:none}}@media screen and (width<=768px){.practice-header .activity-close{display:none}}select.cloze-select{appearance:none;color:#cbd5e1;font-family:var(--font-main);border-radius:var(--radius-sm,8px);cursor:pointer;vertical-align:middle;background:#0f172ae0 url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a855f7' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") right .65rem center/14px no-repeat;border:1.5px dashed #a855f78c;outline:none;max-width:100%;min-height:40px;margin:.15rem .35rem;padding:.45rem 1.85rem .45rem .8rem;font-size:.92rem;font-weight:600;transition:border-color .22s cubic-bezier(.4,0,.2,1),background-color .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1),color .22s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000040}@media (pointer:coarse){select.cloze-select{min-height:44px;margin:4px;padding:8px 32px 8px 14px}}@media (hover:hover){select.cloze-select:hover{box-shadow:0 0 12px var(--accent-purple-glow);color:#fff;background-color:#1e293bf2;border-style:solid;border-color:#c084fc}}select.cloze-select:focus{border-style:solid;border-color:var(--accent-purple);background-color:#1e293bf2;box-shadow:0 0 0 3px #a855f759}select.cloze-select.cloze-select--filled,select.cloze-select[data-filled=true]{border-style:solid;border-color:var(--accent-purple);color:#fff;box-shadow:0 0 12px var(--accent-purple-glow), 0 2px 6px #0000004d;background:#1a152eeb url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c084fc' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") right .65rem center/14px no-repeat;font-weight:700}select.cloze-select:has(option:checked:not([value=""])){border-style:solid;border-color:var(--accent-purple);color:#fff;box-shadow:0 0 12px var(--accent-purple-glow), 0 2px 6px #0000004d;background:#1a152eeb url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c084fc' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") right .65rem center/14px no-repeat;font-weight:700}select.cloze-select.cloze-select--unfilled,select.cloze-select[data-filled=false]{color:var(--text-muted);border-style:dashed;border-color:#a855f78c}#readingPassageBody select.cloze-select.cloze-select--correct,select.cloze-select.cloze-select--correct{color:#6ee7b7;background-color:#10b98129;border-style:solid;border-color:#10b981d9;box-shadow:0 0 12px #10b9814d}#readingPassageBody select.cloze-select.cloze-select--incorrect,select.cloze-select.cloze-select--incorrect{color:#fcd34d;background-color:#f59e0b24;border-style:solid;border-color:#f59e0bd9;box-shadow:0 0 12px #f59e0b40}.loading-spinner{border:3.5px solid #6366f133;border-top-color:var(--primary);border-radius:50%;width:38px;height:38px;animation:.9s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-story-paragraph{margin-bottom:1.25rem;font-size:.95rem;line-height:1.85}.ai-notice-box{border-radius:var(--radius-md);text-align:center;background:#6366f11a;border:1px solid #6366f14d;margin:1rem 0;padding:1.5rem}.ai-notice-icon{margin-bottom:.5rem;font-size:2rem}.ai-notice-title{color:#a5b4fc;margin-bottom:.4rem;font-size:1.1rem}.ai-notice-desc{color:var(--text-muted);max-width:480px;margin:0 auto 1.25rem;font-size:.85rem}#readingLengthSlider{accent-color:var(--primary)}@media (hover:hover){#readingLengthSlider:hover{accent-color:var(--primary)}}#readingLengthSlider::-webkit-slider-thumb:active{background:var(--primary)}@media (hover:hover){#readingLengthSlider::-webkit-slider-thumb:hover{background:var(--primary)}}#readingLengthSlider::-moz-range-thumb:active{background:var(--primary)}@media (hover:hover){#readingLengthSlider::-moz-range-thumb:hover{background:var(--primary)}#readingLengthSlider::-moz-range-progress:hover{background:var(--primary)}}@keyframes btnShimmerSweep{0%{background-position:-200%}to{background-position:200%}}@keyframes btnReadyPulse{0%,to{transform:translateY(0);box-shadow:0 0 14px #a855f773,0 4px 16px #6366f14d}50%{transform:translateY(-1px);box-shadow:0 0 24px #a855f7cc,0 6px 24px #ec489973}}#readingSubmitFooter #submitReadingBtn.btn-ready-shimmer,#submitReadingBtn.btn-ready-shimmer,.btn-ready-shimmer{background:linear-gradient(90deg, var(--primary) 0%, var(--accent-purple) 25%, #ec4899 50%, var(--accent-purple) 75%, var(--primary) 100%);color:#fff;cursor:pointer;background-size:200%;border:1px solid #ffffff4d;font-weight:700;animation:3.2s linear infinite btnShimmerSweep,2.4s ease-in-out infinite btnReadyPulse}@media (hover:hover){#readingSubmitFooter #submitReadingBtn.btn-ready-shimmer:hover,#submitReadingBtn.btn-ready-shimmer:hover,.btn-ready-shimmer:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 0 28px #a855f7e6,0 8px 28px #ec489980}}.teacher-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-sizing:border-box;width:100%;max-width:100%;padding:2rem;overflow-x:clip}@media (width<=768px){.teacher-panel{border-radius:var(--radius-md);padding:1.15rem .9rem}#teacherView>.teacher-panel,#adminView>.teacher-panel{min-height:calc(100dvh - 5rem)}}.metric-card{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#1e293b99;padding:1.25rem}.metric-title{color:var(--text-dim);text-transform:uppercase;font-size:.8rem;font-weight:700}.metric-value{font-size:1.8rem;font-family:var(--font-display);color:var(--text-main);margin-top:.25rem;font-weight:800}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);border:1px solid var(--primary);color:var(--text-main);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;z-index:var(--z-modal);background:#0f172a;border-radius:6px;padding:.3rem .65rem;font-size:.73rem;font-weight:600;transition:opacity 50ms ease-out,transform 50ms ease-out;position:absolute;bottom:135%;left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 16px #000000d9}@media (hover:hover){[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}}[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}:root{--content-max:1200px;--content-max-wide:1600px;--practice-col-max:clamp(680px, 38vw, 960px)}.main-container{width:100%;max-width:var(--content-max);box-sizing:border-box;margin:0 auto;padding:2rem 1.5rem}@media (width>=1920px){:is(.main-container:has(>#teacherView:not([hidden])),.main-container:has(>#adminView:not([hidden]))){max-width:var(--content-max-wide)}}@media (width<=768px){.main-container{padding:.65rem .75rem}}.section-header{justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem;display:flex}.section-title h2{font-family:var(--font-display);font-size:1.8rem;font-weight:700}.section-title p{color:var(--text-muted);font-size:.95rem}#pinInput::placeholder{letter-spacing:.15em;color:var(--text-dim);opacity:.6}.form-group{flex-direction:column;gap:.4rem;min-width:0;margin-bottom:1.25rem;display:flex}.form-group label{color:var(--text-muted);font-size:.85rem;font-weight:600}.form-control{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-main);box-sizing:border-box;background:#0f172acc;outline:none;width:100%;max-width:100%;padding:.75rem 1rem;font-size:.95rem;transition:border-color .2s}.form-control:focus{border-color:var(--primary)}.form-control:focus-visible{box-shadow:0 0 0 2px var(--primary)}.form-control--auto{width:auto}textarea.form-control{resize:vertical;min-height:80px}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 4px 14px var(--primary-glow);border:none;padding:.75rem 1.5rem;font-weight:700;transition:all .2s}@media (hover:hover){.btn-primary:hover{box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-1px)}}.btn-secondary{border:1px solid var(--border-color);color:var(--text-main);border-radius:var(--radius-md);cursor:pointer;background:#1e293bcc;padding:.75rem 1.5rem;font-weight:700;transition:all .2s}@media (hover:hover){.btn-secondary:hover{color:#fff;border-color:var(--text-muted);background:#334155e6;transform:translateY(-1px)}}.modal-overlay{width:100dvw;height:100dvh;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal);opacity:0;pointer-events:none;visibility:hidden;justify-content:center;align-items:center;transition:opacity .3s,visibility 0s linear .3s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}:is(body:has(#profileModal.active),body:has(#privacyPolicyModal.active)){overflow:hidden}body.scroll-locked{width:100%;position:fixed;left:0;overflow:hidden}.modal-content,.modal-card:not(.report-modal-card){background:var(--bg-modal,var(--bg-modal));border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-main);width:90%;max-width:600px;max-height:90dvh;padding:2rem;overflow:hidden auto;box-shadow:0 24px 60px #000000a6}.modal-card.modal-large{width:95%;max-width:980px}#classStudentPicker{border:1px solid var(--border-color);background:var(--bg-modal-elevated,var(--bg-modal-elevated));border-radius:6px;flex-direction:column;gap:.25rem;max-height:160px;margin-top:.35rem;padding:.5rem;display:flex;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-close{--close-glyph-size:16px;--close-glyph-weight:2px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm,8px);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-self:center;align-items:center;min-width:44px;min-height:44px;padding:0;font-size:0;line-height:0;transition:color .15s,background .15s,transform .15s;display:inline-flex;position:relative}.modal-close:before,.modal-close:after{content:"";width:var(--close-glyph-size);height:var(--close-glyph-weight);border-radius:calc(var(--close-glyph-weight) / 2);background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.modal-close:after{transform:translate(-50%,-50%)rotate(-45deg)}@media (hover:hover){.modal-close:hover{color:var(--text-main);background:#ffffff14}}.modal-close:active{transform:scale(.95)}.modal-close--circle{--close-glyph-size:14px;background:#ffffff0f;border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px}@media (hover:hover){.modal-close--circle:hover{background:#ffffff1f}}.modal-close--corner{z-index:10;position:absolute;top:10px;right:10px}.modal-close--screen{top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);z-index:10;position:fixed}.modal .form-error-tip,#classNameError,#bulkImportError,#profileDisplayNameError,#classAddStudentsError{color:var(--accent-red,var(--accent-red));letter-spacing:.01em;margin-top:.35rem;font-size:.82rem;font-weight:600;line-height:1.4}.modal .form-error-tip:empty,#classNameError:empty,#bulkImportError:empty,#profileDisplayNameError:empty,#classAddStudentsError:empty{display:none}.privacy-policy-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--text-muted);background:#1e293b66;justify-content:space-between;align-items:center;margin-top:1rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:flex}.privacy-policy-btn>span:first-child{align-items:center;gap:.5rem;display:flex}.privacy-policy-btn .policy-chevron{color:var(--text-dim);font-size:1.1rem}@media (hover:hover){.privacy-policy-btn:hover{color:var(--text-main);background:#1e293bb3;border-color:#6366f173}}.privacy-policy-btn:active{transform:scale(.99)}#privacyPolicyTitle{align-items:center;gap:.5rem;margin:0;font-size:1.1rem;display:flex}@media (width<=768px){.modal-overlay{padding:.75rem;padding-top:max(1rem, env(safe-area-inset-top))}#profileModal,#privacyPolicyModal,#reportTranslationModal{padding-top:max(3.5rem, calc(env(safe-area-inset-top,44px) + 1.25rem));padding-bottom:max(1.5rem, calc(env(safe-area-inset-bottom,20px) + 1rem));align-items:center}#profileModal .modal-content,#privacyPolicyModal .modal-content,#reportTranslationModal .report-modal-card{max-height:calc(100vh - max(3.5rem, calc(env(safe-area-inset-top,44px) + 1.25rem)) - 2rem);max-height:calc(100dvh - max(3.5rem, calc(env(safe-area-inset-top,44px) + 1.25rem)) - 2rem);margin:auto 0}.modal-content,.modal-card:not(.report-modal-card){width:100%;max-width:100%;max-height:calc(100dvh - 1.5rem);padding:1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));border-radius:var(--radius-md,12px)}.modal-card.modal-large{width:100%}.modal-content .modal-header,.modal-card:not(.report-modal-card) .modal-header,#bulkImportModal .modal-card>div:first-child{z-index:5;background:var(--bg-modal,var(--bg-modal));margin:-1.25rem -1.25rem 1.25rem;padding:1rem 1.25rem;position:sticky;top:-1.25rem}}#classReassignModal .modal-content{max-width:440px}#classReassignModalBody{margin:.5rem 0 1rem;line-height:1.5}#classReassignModalActions{justify-content:flex-end;gap:.5rem;display:flex}#profileModal .modal-content{max-width:440px}#profileModal .modal-header{align-items:flex-start}#profileModalBody{padding:.5rem 0}#profileModalAccountLabel{margin-bottom:.35rem;font-size:.85rem;font-weight:600}#profileModalAccountCard{border-radius:var(--radius-sm);border:1px solid var(--border-color);background:#1e293b99;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}#profileUserAvatarSpan{font-size:1.2rem}#profileDisplayNameGroup{margin-bottom:1rem}#profileDisplayNameGroup label{color:var(--text-muted);font-size:.85rem}#profileForm button[type=submit]{width:100%;margin-top:.5rem}#profileModal hr{border:none;border-top:1px solid var(--border-color);margin:1.25rem 0}#logoutBtn{border-radius:var(--radius-md);width:100%}.app-version-label{text-align:center;font-size:var(--fs-xs,.72rem);color:var(--text-dim);opacity:.55;letter-spacing:.01em;-webkit-user-select:text;user-select:text;margin-top:.5rem;display:block}#privacyPolicyModal{z-index:var(--z-modal-raised)}#privacyPolicyModal .modal-content{max-width:440px}#privacyPolicyModalBody{color:var(--text-muted);padding:.5rem 0 1.25rem;font-size:.85rem;line-height:1.6}#privacyPolicyModalBody p{margin-bottom:.85rem}#privacyPolicyModalBody strong{color:var(--text-main)}#privacyPolicyModalBody p:last-child{margin-bottom:0}#dismissPrivacyPolicyBtn{width:100%}.privacy-standards{margin:1rem 0 .85rem}.privacy-standards-title{color:var(--text-main);margin:0 0 .4rem;font-size:.85rem}.privacy-standards-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.privacy-standards-list li{align-items:flex-start;gap:.5rem;font-size:.8rem;display:flex}.privacy-tick{color:var(--accent-emerald,#10b981);flex-shrink:0;margin-top:.2rem}.privacy-hl{color:var(--accent-emerald,#10b981);font-weight:600}.privacy-tick svg{display:block}#apiHealthModal .modal-content{max-width:560px}#apiHealthModalBody{padding:.5rem 0}#apiHealthModalStatus{color:var(--text-muted);margin-bottom:.85rem;font-size:.88rem;font-weight:600;line-height:1.4}#apiHealthModalDetails{grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:.9rem;font-size:.8rem;display:grid}#apiHealthModalCmd{border:1px solid var(--border-color);white-space:pre-wrap;word-break:break-all;background:#0f172a99;border-radius:6px;margin-bottom:.85rem;padding:.6rem;font-size:.75rem;overflow-x:auto}#apiHealthModalActions{flex-wrap:wrap;gap:.5rem;display:flex}#apiHealthModalCheckBtn,#apiHealthModalCopyBtn{flex:1;min-width:120px}#apiHealthModalPing{color:var(--text-dim);text-align:center;margin-top:.6rem;font-size:.72rem}#createDeckForm label span,#editDeckForm label span{color:var(--text-muted);font-size:.8rem;font-weight:400}#createDeckAssignLabel,#editDeckAssignLabel{margin-bottom:.35rem;font-weight:600}#newDeckStudentGrid,#editDeckStudentGrid{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#0f172a99;flex-direction:column;gap:.4rem;max-height:160px;padding:.75rem 1rem;display:flex;overflow-y:auto}#createDeckForm button[type=submit],#editDeckForm button[type=submit]{width:100%}#addWordModal .modal-content,#editWordModal .modal-content{max-width:580px}#newWordTerm{flex:1}#autoFillWordDetailsBtn{white-space:nowrap;padding:.55rem .85rem;font-size:.82rem}#autoFillStatus{color:var(--accent-cyan);margin-top:.35rem;font-size:.75rem}#newWordTermRow{align-items:center;gap:.5rem;display:flex}#addWordPhoneticPosRow,#editWordPhoneticPosRow{grid-template-columns:1fr 1fr;gap:1rem;display:grid}#newWordExample1,#newWordExample2,#editWordExample1,#editWordExample2{margin-bottom:.5rem}#addWordTranslationsCard,#editWordTranslationsCard{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#1e293b80;margin-bottom:1.25rem;padding:1rem}#addWordTranslationsCard h4,#editWordTranslationsCard h4{color:var(--accent-cyan);margin-bottom:.75rem;font-size:.9rem}#addWordForm button[type=submit],#editWordTerm{width:100%}#editWordActions{gap:.75rem;display:flex}#cancelEditWordBtn,#editWordActions button[type=submit]{flex:1}#bulkImportModal .modal-card{width:95%;max-width:none}#bulkImportHeader{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}#bulkImportHeader h3{color:var(--accent-cyan);margin:0;font-size:1.25rem;font-weight:700}#bulkImportHeader p{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem;line-height:1.4}#bulkTargetDeckGroup{margin-bottom:1rem}#bulkTargetDeckGroup label{margin-bottom:.35rem;font-size:.88rem}#bulkTargetDeckRow{align-items:center;gap:.75rem;display:flex}#bulkTargetDeckSelect,#bulkNewDeckTitleInput{flex:1}#bulkInputTextareaGroup{margin-bottom:1.25rem}#bulkInputTextareaHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.35rem;display:flex}#bulkInputTextareaHeader label{margin:0;font-size:.88rem}#bulkSuggestGroup{border-top:1px solid #94a3b840;margin-bottom:1.25rem;padding-top:1rem}#bulkSuggestHeader{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem;margin-bottom:.35rem;display:flex}#bulkSuggestTitle{font-size:.88rem;font-weight:600}#bulkSuggestTopicLabel{margin-bottom:.35rem;font-size:.88rem}#bulkSuggestRow{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:.5rem;display:flex}#bulkSuggestRow .bulk-suggest-field{flex-direction:column;gap:.35rem;min-width:8rem;display:flex}#bulkSuggestRow .bulk-suggest-field label{margin:0;font-size:.88rem}#bulkSuggestError{margin-top:.5rem}.bulk-input-label-row,.bulk-terms-label-row{align-items:center;gap:.45rem;display:inline-flex;position:relative}.bulk-context-info-btn.info-icon,.bulk-terms-info-btn.info-icon,.bulk-guideword-info-btn.info-icon{color:#a5b4fc;cursor:pointer;vertical-align:middle;background:#6366f126;border:1px solid #6366f159;border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;padding:0;font-size:.78rem;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative}.bulk-context-info-btn.info-icon:focus-visible,.bulk-context-info-btn.info-icon.is-active,.bulk-terms-info-btn.info-icon:focus-visible,.bulk-terms-info-btn.info-icon.is-active,.bulk-guideword-info-btn.info-icon:focus-visible,.bulk-guideword-info-btn.info-icon.is-active{border-color:var(--primary,#6366f1);color:#fff;background:#6366f147;outline:none}@media (hover:hover){.bulk-context-info-btn.info-icon:hover,.bulk-terms-info-btn.info-icon:hover,.bulk-guideword-info-btn.info-icon:hover{border-color:var(--primary,#6366f1);color:#fff;background:#6366f147;outline:none}}.info-tip-popover{white-space:normal;color:#f1f5f9;width:max-content;max-width:min(260px,100vw - 64px);z-index:var(--z-modal,1000);background:#0f172a;border:1px solid #6366f180;border-radius:6px;padding:.55rem .75rem;font-size:.78rem;font-weight:400;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0009,0 0 12px #6366f133}.info-tip-popover[hidden]{display:none!important}.bulk-guideword-info-tip{box-sizing:border-box;width:auto;max-width:100%;margin:.5rem 0 .75rem;position:relative;bottom:auto;left:auto}.bulk-context-info-btn.info-icon[data-tooltip]:after{white-space:normal;pointer-events:none;width:280px;max-width:min(280px,100vw - 64px);z-index:var(--z-modal,1000);background:#0f172a;border:1px solid #6366f180;border-radius:6px;padding:.55rem .75rem;font-size:.78rem;font-weight:400;line-height:1.4;bottom:calc(100% + 8px);left:0;transform:translateY(4px);box-shadow:0 8px 24px #0009,0 0 12px #6366f133}.bulk-context-info-btn.info-icon[data-tooltip]:focus:after,.bulk-context-info-btn.info-icon[data-tooltip]:active:after,.bulk-context-info-btn.info-icon[data-tooltip].is-active:after{opacity:1;visibility:visible;transform:translateY(0)}@media (hover:hover){.bulk-context-info-btn.info-icon[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translateY(0)}}#bulkInputMaxBadge{color:#a5b4fc;background:#6366f126;border-radius:4px;padding:.15rem .5rem;font-size:.78rem}#bulkStartProcessingBtn{width:100%;padding:.75rem;font-size:1rem}#bulkStep2{text-align:center;padding:3rem 1rem}#bulkStep2 .loading-spinner{margin:0 auto 1.25rem}#bulkLoadingTitle{color:#a5b4fc;margin-bottom:.35rem;font-size:1.1rem}#bulkLoadingStatus{color:var(--text-muted);font-size:.85rem}#bulkFilterAddRow{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}#bulkNotificationBanner{color:#fde047;border-radius:var(--radius-md);background:#eab30826;border:1px solid #eab3084d;margin-bottom:1rem;padding:.65rem 1rem;font-size:.85rem}#bulkTableActionHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}#bulkRowCountLabel{color:var(--text-muted);font-size:.9rem}#bulkAddBlankRowBtn{padding:.35rem .75rem;font-size:.82rem}#bulkStep3 .vocab-table-container{border:1px solid var(--border-color);border-radius:var(--radius-md);max-height:clamp(240px,90dvh - 300px,640px);margin-bottom:1.25rem;overflow-y:auto}#bulkStep3 .bulk-preview-table{border-collapse:separate;border-spacing:0;table-layout:auto;width:100%}#bulkTableHeaderRow{z-index:5;background:#1e293be6;position:sticky;top:0}#bulkTableHeaderRow th{text-align:left;padding:.6rem .5rem;font-size:.78rem}#bulkTableHeaderRow th:last-child{text-align:center}#bulkStep3Footer{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}#bulkStep3Footer .bulk-footer-spacer{flex:auto}#bulkStep3Footer #bulkAddBlankRowBtn{padding:.5rem .85rem;font-size:.88rem}@media (width<=480px){#bulkStep3Footer{gap:.35rem}#bulkStep3Footer .bulk-footer-spacer{flex-basis:100%;height:0}#bulkStep3Footer #bulkBackToStep1Btn{margin-right:auto;padding:.4rem .6rem;font-size:.8rem}#bulkStep3Footer #bulkAddBlankRowBtn{white-space:nowrap;flex-shrink:0;margin-left:auto;padding:.32rem .42rem;font-size:.7rem}#bulkStep3Footer #bulkConfirmImportBtn{white-space:normal;text-align:left;flex:1 1 0;justify-content:center;align-items:center;gap:.2rem;min-width:0;padding:.32rem .42rem;font-size:.7rem;line-height:1.2;display:inline-flex}#bulkStep3Footer #bulkConfirmImportBtn .btn-icon{align-items:center;margin-right:.2rem;display:inline-flex}#bulkStep3Footer #bulkConfirmImportBtn .btn-icon svg{width:13px;height:13px}}#createClassFormFields,#bulkImportClassesFormFields{flex-direction:column;gap:.75rem;display:flex}#createClassModalActions,#deleteClassModalActions,#deleteProfileModalActions,#deleteDeckModalActions,#unassignDeckModalActions,#bulkImportClassesModalActions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}#createClassModal,#deleteClassModal{justify-content:center;align-items:center}#createClassModal .modal-card{flex-direction:column;width:95%;max-width:480px;padding:1.25rem;display:flex;position:relative;overflow:hidden}#createClassModal #createClassFormFields{flex:auto;min-height:0;overflow-y:auto}#createClassModal #createClassModalActions{flex:none}#classModalTitle{color:var(--text-main);margin:0 0 .75rem;padding-right:2.5rem}#createClassFormFields label{color:var(--text-muted);font-size:.8rem}#classNameInput,#classDescriptionInput{width:100%;padding:.5rem}#classTeacherSelect{width:100%;margin-top:.35rem;padding:.5rem}#classTeacherPickerHint{color:var(--text-muted);margin-top:.2rem;font-size:.72rem}#classStudentPickerHint{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}#deleteClassModal .modal-card{width:95%;max-width:420px;padding:1.25rem}#deleteClassModal h3{color:var(--text-main);margin:0 0 .5rem}#deleteClassModal p{color:var(--text-muted);font-size:.85rem}#confirmDeleteBtn{background:var(--accent-red);border-color:var(--accent-red)}#deleteProfileModal,#unassignDeckModal{z-index:10005;justify-content:center;align-items:center}#deleteDeckModal{justify-content:center;align-items:center}#deleteProfileModal .modal-card{width:95%;max-width:460px;padding:1.25rem}#deleteDeckModal .modal-card,#unassignDeckModal .modal-card{width:95%;max-width:440px;padding:1.25rem}#deleteProfileTitle,#deleteDeckModal h3,#unassignDeckModal h3{color:var(--text-main);margin:0 0 .5rem}#deleteProfileMsg,#deleteDeckMsg,#unassignDeckMsg{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem;line-height:1.45}#deleteProfileName,#deleteDeckTitle,#unassignDeckTitle,#unassignClassName{color:var(--text-main);font-weight:600}#deleteProfileCollateral,#deleteDeckNote,#unassignDeckNote{color:var(--text-dim);border-radius:var(--radius-sm);background:#1e293b80;border:1px solid #ffffff0d;margin:0 0 1rem;padding:.5rem .75rem;font-size:.78rem;line-height:1.4}#deleteProfileReassignWrap{margin-bottom:1rem}#deleteProfileReassignWrap label{color:var(--text-main);margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}#deleteProfileTeacherSelect{width:100%;padding:.5rem}#confirmDeleteProfileBtn,#confirmDeleteDeckBtn,#confirmUnassignDeckBtn{background:var(--accent-red);border-color:var(--accent-red)}#bulkImportClassesModal{justify-content:center;align-items:center}#bulkImportClassesModal .modal-card{width:95%;max-width:520px;padding:1.25rem}#bulkImportClassesModal h3{color:var(--text-main);margin:0 0 .75rem}#bulkImportClassesFormFields label{color:var(--text-muted);font-size:.8rem}#bulkClassTarget,#bulkNewClassName,#bulkTextArea{width:100%;padding:.5rem}#bulkNewClassWrap{margin-top:.5rem}#reportTranslationModal .modal-body .form-group{margin-top:1rem}.reading-dispatch-dialog{max-width:640px}.reading-dispatch-row{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.reading-dispatch-actions{gap:.5rem;margin:.75rem 0;display:flex}.reading-dispatch-note{background:#6366f11f;border-radius:8px;padding:.5rem .75rem;font-size:.9rem}.reading-dispatch-preview{max-height:45vh;overflow-y:auto}.reading-dispatch-preview select.cloze-select[disabled]{opacity:1}.reading-dispatch-glosses{color:var(--text-muted);margin-top:.5rem;font-size:.9rem}.reading-dispatch-modes{gap:.5rem;margin-bottom:.75rem;display:flex}.reading-dispatch-mode-btn{border:1px solid var(--border-color,#94a3b840);color:var(--text-main,#f1f5f9);cursor:pointer;background:0 0;border-radius:6px;flex:1;padding:.4rem .75rem;font-size:.875rem;font-weight:500;transition:all .15s}.reading-dispatch-mode-btn.active{background:var(--primary,#4f46e5);color:#fff;border-color:var(--primary,#4f46e5)}.reading-dispatch-edit-bar{gap:.5rem;margin:.5rem 0;display:flex}.reading-dispatch-edit-container{margin:.5rem 0}.reading-dispatch-edit-actions{gap:.5rem;margin-top:.5rem;display:flex}.reading-dispatch-questions{border-top:1px solid var(--border-color,#94a3b833);margin-top:1rem;padding-top:.75rem}.reading-dispatch-questions-title{margin-bottom:.5rem;font-size:.95rem;font-weight:600}.reading-dispatch-q-item{background:#94a3b814;border-radius:6px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.875rem}.reading-dispatch-q-options{margin:.25rem 0 0;padding:0;list-style:none}.reading-dispatch-q-opt{color:#94a3b8;padding:.15rem 0}.reading-dispatch-q-opt--correct{color:#10b981;font-weight:500}.form-group--checkbox .consent-label{cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.875rem;font-weight:400;line-height:1.4;display:flex}.form-group--checkbox .consent-label input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:.2rem}#teacherPrivacyModal .modal-card{max-width:480px}#teacherPrivacyModal .teacher-privacy-intro{margin:1rem 0;line-height:1.5}#teacherPrivacyModal .teacher-privacy-actions{justify-content:flex-end;margin-top:1.5rem;display:flex}.import-tabs{border-radius:var(--radius-sm,6px);border:1px solid var(--border-color,#ffffff1a);background:#00000040;gap:8px;margin-bottom:20px;padding:6px;display:flex}.import-tab{color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:flex}@media (hover:hover){.import-tab:hover{color:var(--text-main,#f8fafc);background:#ffffff0d}}.import-tab.active{color:#c7d2fe;background:#6366f133;border-color:#6366f166}.dropzone{border-radius:var(--radius-md,8px);text-align:center;cursor:pointer;background:#00000026;border:2px dashed #fff3;margin-bottom:16px;padding:32px 20px;transition:all .2s}.dropzone.dragover,.dropzone.is-dragover{background:#06b6d40d;border-color:#06b6d4}@media (hover:hover){.dropzone:hover{background:#06b6d40d;border-color:#06b6d4}}.dropzone-icon{margin-bottom:8px;font-size:32px}.dropzone-title{color:var(--text-main,#f8fafc);margin-bottom:4px;font-size:14px;font-weight:600}.dropzone-hint{color:var(--text-muted,#94a3b8);font-size:12px}.file-chip{color:#67e8f9;background:#06b6d426;border:1px solid #06b6d466;border-radius:999px;align-items:center;gap:8px;margin-top:12px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.range-selector-box{border-radius:var(--radius-sm,6px);background:#f59e0b1a;border:1px solid #f59e0b4d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.range-info{color:#fcd34d;font-weight:500}.range-inputs{color:var(--text-muted,#94a3b8);align-items:center;gap:6px;display:flex}.range-input{border:1px solid var(--border-color,#ffffff26);width:54px;color:var(--text-main,#f8fafc);text-align:center;background:#0006;border-radius:4px;padding:4px 6px;font-size:13px}.focus-lens-group{margin-bottom:20px}.focus-lens-label{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;font-weight:600;display:flex}.focus-lens-tag{text-transform:uppercase;letter-spacing:.05em;color:#22d3ee;background:#06b6d426;border:1px solid #06b6d459;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.focus-lens-input{width:100%}.bulk-guideword-input{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;width:130px;font-family:inherit;color:#67e8f9!important;background:#06b6d41f!important;border:1px solid #06b6d466!important;padding:3px 8px!important;font-size:11px!important;font-weight:700!important}.bulk-guideword-input:focus{outline:none;background:#06b6d438!important;border-color:#22d3ee!important}@media (width<=480px){#bulkImportHeader h3{font-size:1.05rem;line-height:1.3}#bulkImportHeader p{font-size:.85rem}#bulkTargetDeckRow{flex-direction:column;align-items:stretch;gap:.5rem}#bulkTargetDeckSelect,#bulkNewDeckTitleInput{text-overflow:ellipsis;flex:none;width:100%;min-width:0}}#wordCompanionModal[data-mode=chat-only]{z-index:var(--z-overlay-elevated,10001);justify-content:center;align-items:center;padding:1.5rem;display:flex}#wordCompanionModal[data-mode=chat-only] .word-companion-section,#wordCompanionModal[data-mode=chat-only] .word-companion-chat h4{display:none}#wordCompanionModal[data-mode=chat-only] .word-companion-modal-header{padding:max(.5rem, env(safe-area-inset-top)) .75rem .5rem;border-bottom:1px solid var(--border-color,#ffffff1a);flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}#wordCompanionModal[data-mode=chat-only] .word-companion-target-lexis,#wordCompanionModal[data-mode=chat-only] #wordCompanionTitle{display:none}#wordCompanionModal[data-mode=chat-only] .modal-content{border-radius:var(--radius-lg,16px);background:var(--bg-modal,#1e293b);border:1px solid var(--border-color,#ffffff1a);flex-direction:column;width:92vw;max-width:1040px;height:86dvh;max-height:88dvh;padding:1.25rem 1.5rem;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #000000bf}#wordCompanionModal[data-mode=chat-only] #wordCompanionBody,#wordCompanionModal[data-mode=chat-only] #wordCompanionContent{flex-direction:column;flex:1;min-height:0;margin:0;padding:0;display:flex}#wordCompanionModal[data-mode=chat-only] .word-companion-chat{background:0 0;border:none;flex-direction:column;flex:1;min-height:0;margin:0;padding:0;display:flex;position:relative}#wordCompanionModal[data-mode=chat-only] .word-companion-chat-history{overscroll-behavior:contain;border-radius:var(--radius-md,12px);background:#0003;border:1px solid #ffffff0d;flex:1;min-height:0;max-height:none;margin-bottom:.75rem;padding:.75rem 1rem;overflow-y:auto}#wordCompanionModal[data-mode=chat-only] .word-companion-presets{flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem;animation:.18s ease-out plPresetFadeIn;display:flex}@media (width<=768px){#wordCompanionModal[data-mode=chat-only]{align-items:stretch;padding:0}#wordCompanionModal[data-mode=chat-only] .modal-content{width:100%;max-width:100%;height:100dvh;max-height:100dvh;padding:.75rem .75rem calc(.75rem + env(safe-area-inset-bottom,0px));padding-top:max(.75rem, env(safe-area-inset-top,0px));border:none;border-radius:0}#wordCompanionModal[data-mode=chat-only] #wordCompanionBody{overflow-y:hidden}#wordCompanionModal[data-mode=chat-only] .word-companion-chat-history{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:none;padding:.5rem;overflow-y:auto}}#wordCompanionModal[data-mode=chat-only] .word-companion-chat-history:empty:before{content:"Ask about this question, or tap one of the buttons below.";display:block}.closing-comeback-card{border-radius:var(--radius-md,.5rem);background:#1e293bb3;border:1px solid #f59e0b4d;flex-direction:column;gap:.75rem;margin:1rem 0;padding:1.25rem;display:flex}.closing-comeback-header{text-transform:uppercase;letter-spacing:.05em;color:#f59e0b;font-size:.85rem;font-weight:700}.closing-comeback-term{color:var(--text-main,#f8fafc);font-size:1.35rem;font-weight:700}.closing-comeback-contrast{color:var(--text-muted,#94a3b8);white-space:pre-line;margin:0;font-size:.95rem;line-height:1.45}.closing-comeback-hint{color:var(--text-dim,#cbd5e1);border-radius:var(--radius-sm,.35rem);background:#0f172a80;margin:0;padding:.5rem .75rem;font-size:.9rem}.closing-comeback-victory{text-align:center;flex-direction:column;gap:.5rem;padding:1.25rem 0;display:flex}.closing-comeback-victory h4{color:var(--text-main,#f8fafc);margin:0;font-size:1.4rem;font-weight:700}.closing-comeback-victory p{color:var(--text-muted,#94a3b8);margin:0;font-size:1rem}.closing-comeback-note{color:var(--text-dim,#64748b);font-size:.85rem;font-style:italic}.voice-consent{max-width:28rem}.voice-consent p{margin:0 0 .75rem;line-height:1.5}.voice-consent-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.module-page-overlay{inset:var(--app-header-h) 0 0 0;z-index:var(--z-module-overlay,calc(var(--z-header,1000) - 1));background:var(--bg-main,#0b0f19);color:var(--text-main,#f8fafc);-webkit-overflow-scrolling:touch;box-sizing:border-box;position:fixed;overflow-y:auto}body[data-module-open] .main-container{visibility:hidden}.toast-container{bottom:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom));right:1.5rem;right:calc(1.5rem + env(safe-area-inset-right));z-index:var(--z-toast);pointer-events:none;flex-direction:column;gap:.65rem;width:calc(100dvw - 3rem);max-width:400px;display:flex;position:fixed}.toast-banner{pointer-events:auto;background:var(--bg-modal);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md);opacity:0;cursor:pointer;align-items:center;gap:.65rem;padding:.75rem 1.1rem;font-size:.88rem;font-weight:600;line-height:1.4;transition:opacity .25s,transform .25s;display:flex;transform:translateY(12px)scale(.96);box-shadow:0 10px 30px #00000080}.toast-banner.toast-show{opacity:1;transform:translateY(0)scale(1)}.toast-banner.toast-success{background:linear-gradient(#10b9812e, #10b9812e), var(--bg-modal);color:#6ee7b7;border-color:#10b98180}.toast-banner.toast-error{background:linear-gradient(#f43f5e2e, #f43f5e2e), var(--bg-modal);color:#fda4af;border-color:#f43f5e80}.toast-banner.toast-warning{background:linear-gradient(#f59e0b2e, #f59e0b2e), var(--bg-modal);color:#fef08a;border-color:#f59e0b80}.toast-banner.toast-info{border-color:var(--border-active);background:linear-gradient(#6366f12e, #6366f12e), var(--bg-modal);color:#a5b4fc}#toast{color:#fff;border:1px solid var(--border-color);z-index:9999;background:#0f172af2;border-radius:8px;padding:.75rem 1rem;position:fixed;bottom:1rem;right:1rem}.chat-layout{grid-template-columns:260px 1fr;align-items:stretch;gap:1rem;display:grid}.chat-conversations-panel,.chat-thread-panel{flex-direction:column;margin-bottom:0;display:flex}.chat-conversations-title{color:#a5b4fc;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem;font-size:.85rem;font-weight:700}.chat-conversations-footer{color:var(--text-dim);text-align:center;opacity:.85;margin-top:.75rem;font-size:.68rem}#chatList{flex-direction:column;flex:1;gap:.5rem;display:flex;overflow-y:auto}.chat-search-wrap{width:100%;margin-top:0;margin-bottom:.55rem}#chatSearchInput.form-control,#chatSearchInput{appearance:none;width:100%;color:var(--text-main);box-sizing:border-box;background:#0f172ad9;border:1px solid #ffffff29;border-radius:10px;outline:none;padding:.5rem .85rem;font-size:.88rem;transition:all .2s;box-shadow:inset 0 2px 8px #00000040}#chatSearchInput::-webkit-search-decoration{appearance:none;display:none}#chatSearchInput::-webkit-search-cancel-button{appearance:none;display:none}#chatSearchInput::-webkit-search-results-button{appearance:none;display:none}#chatSearchInput::-webkit-search-results-decoration{appearance:none;display:none}#chatSearchInput.form-control:focus,#chatSearchInput:focus{background:#0f172af2;border-color:#6366f1b3;outline:none;box-shadow:inset 0 0 0 2px #6366f140}#chatView .chat-thread-header{display:none}.chat-thread-title-row{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}#chatThreadTitle{color:var(--text-main);margin:0;font-size:1rem;font-weight:600}#chatThreadSubtitle{color:var(--text-dim);font-size:.8rem;font-weight:400}@media (hover:hover){#chatList .chat-list-item:hover{border-color:var(--primary-glow);background:#ffffff14}}.chat-thread-panel{height:max(420px,100dvh - 150px);min-height:0}#chatThread{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;flex-direction:column;flex:1;min-height:0;padding-right:.25rem;display:flex;overflow-y:auto}#chatThread::-webkit-scrollbar{width:6px}#chatThread::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.chat-list-item{border:1px solid var(--border-color);cursor:pointer;text-align:left;width:100%;font-family:var(--font-main);background:#ffffff08;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;transition:all .2s;display:flex}#chatList .chat-list-item--active,.chat-list-item--active{border-color:var(--border-active);background:#6366f12e}.chat-list-item-main{color:var(--text-main);align-items:center;gap:.5rem;min-width:0;font-size:.9rem;display:flex}.chat-list-item-flag{flex-shrink:0;font-size:1.15rem;line-height:1}.chat-list-item-info{text-align:left;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.15;display:inline-flex}.chat-list-item-name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:11rem;font-size:.86rem;font-weight:600;overflow:hidden}.chat-list-item-subtitle{color:var(--text-dim,var(--text-muted));text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;max-width:11rem;margin-top:1px;font-size:.68rem;font-weight:400;overflow:hidden}#chatList .chat-list-item--active .chat-list-item-name{color:#fff}#chatList .chat-list-item--active .chat-list-item-subtitle{color:#ffffffd9}.chat-unread-badge{background:var(--accent-rose);color:#fff;font-size:var(--fs-xs);border-radius:10px;padding:.15rem .45rem;font-weight:700;line-height:1}.chat-bubble{border-radius:14px;max-width:78%;margin-bottom:.6rem;padding:.65rem .9rem;font-size:.88rem;line-height:1.45;box-shadow:0 2px 8px #0000002e}.chat-bubble--system{color:#c7d2fe;text-align:center;background:#6366f11f;border:1px solid #6366f140;border-radius:10px;align-self:center;font-size:.82rem}.chat-bubble--me{background:var(--primary);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}.chat-bubble--them{border:1px solid var(--border-color);color:var(--text-main);background:#ffffff12;border-bottom-left-radius:3px;align-self:flex-start}.chat-bubble-text{white-space:pre-wrap;word-break:break-word}.chat-bubble-meta{font-size:var(--fs-xs);opacity:.7;text-align:right;margin-top:.25rem}.chat-empty{color:var(--text-dim);text-align:center;padding:1.5rem 1rem;font-size:.82rem}.chat-empty--thread{padding:2.5rem 1rem;font-style:italic}#chatComposerForm{border-top:1px solid var(--border-color);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}#chatComposerInput{flex:1}#chatSendBtn{white-space:nowrap;padding:.6rem 1.1rem}.chat-send-btn-icon{display:none}@media (width<=768px){body.chat-keyboard-open{overflow:hidden}body.chat-keyboard-open .app-header{z-index:var(--z-header);position:sticky;top:0}.main-container:has(#chatView:not([hidden])){padding-top:.35rem;padding-bottom:0}#chatView{overscroll-behavior:none;box-sizing:border-box;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;overflow:hidden}#chatView .chat-layout{overscroll-behavior:none;grid-template-columns:1fr;gap:.35rem;min-height:auto;overflow-x:hidden}#chatView .chat-conversations-panel,#chatListAside.chat-conversations-panel{box-shadow:none;background:0 0;border:none;min-width:0;margin-bottom:.15rem;padding:0;overflow-x:visible}#chatListAside .chat-conversations-title,#chatListAside .chat-conversations-footer{display:none}#chatListAside .chat-search-wrap,#chatView .chat-search-wrap{margin-top:0;margin-bottom:.35rem;padding-top:3px}#chatView #chatList{overscroll-behavior-x:contain;overscroll-behavior-y:none;border:1px solid var(--border-color);-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#0f172a99;border-radius:9999px;flex-direction:row;gap:.4rem;padding:3px;overflow:auto hidden}#chatList::-webkit-scrollbar{display:none}#chatList .chat-list-item{white-space:nowrap;text-align:left;background:0 0;border:none;border-radius:9999px;flex:none;justify-content:center;width:auto;padding:.35rem .8rem;font-size:.84rem}#chatList:has(>.chat-list-item:nth-child(2):last-child) .chat-list-item{flex:1 1 0;min-width:0}#chatList .chat-list-item-main{gap:.4rem;min-width:0;max-width:100%;overflow:hidden}#chatList .chat-list-item-info{min-width:0;max-width:100%;overflow:hidden}#chatList .chat-list-item-name,#chatList .chat-list-item-subtitle{text-overflow:ellipsis;white-space:nowrap;max-width:8.5rem;overflow:hidden}#chatList:has(>.chat-list-item:nth-child(2):last-child) .chat-list-item-main{flex:auto;min-width:0;max-width:100%;overflow:hidden}#chatList:has(>.chat-list-item:nth-child(2):last-child) .chat-list-item-info{flex:auto;min-width:0;max-width:100%;overflow:hidden}:is(#chatList:has(>.chat-list-item:nth-child(2):last-child) .chat-list-item-name,#chatList:has(>.chat-list-item:nth-child(2):last-child) .chat-list-item-subtitle){max-width:100%}#chatList .chat-list-item--active{background:var(--primary);color:#fff;font-weight:700;box-shadow:0 0 12px #6366f166}#chatList .chat-list-item--active .chat-list-item-main{color:#fff}#chatView .chat-thread-panel{height:calc(var(--chat-viewport-height,100dvh) - var(--chat-panel-offset,220px));overscroll-behavior:contain;overscroll-behavior-y:contain;flex-direction:column;min-height:140px;margin-bottom:0;padding:.5rem .75rem .4rem;display:flex;overflow-x:hidden}#chatView #chatThread{overscroll-behavior:contain;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;flex:auto;height:auto;max-height:none;padding-right:.2rem;overflow:hidden auto}#chatListAside #chatSearchInput,#chatView #chatSearchInput{appearance:none;background:#0f172ad9;border:1px solid #ffffff29;border-radius:10px;outline:none;min-height:38px;font-size:16px;box-shadow:inset 0 2px 8px #00000040}#chatView #chatComposerForm{padding-top:.35rem;padding-bottom:.25rem;padding-left:calc(.25rem + env(safe-area-inset-left));padding-right:calc(.25rem + env(safe-area-inset-right));align-items:center;gap:.4rem;margin-top:.35rem;margin-bottom:0}#chatComposerForm #chatComposerInput{box-sizing:border-box;border-radius:9999px;height:36px;min-height:36px;padding:.45rem .9rem;font-size:16px}#chatComposerForm #chatSendBtn,#chatSendBtn.chat-send-btn{background:var(--primary);width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;box-shadow:0 2px 8px var(--primary-glow);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .15s,background .15s;display:inline-flex}#chatSendBtn .chat-send-btn-text{display:none}#chatSendBtn .chat-send-btn-icon{width:15px;height:15px;display:block}}.chat-action-btn{color:#e0e7ff;cursor:pointer;background:linear-gradient(135deg,#6366f138,#818cf824);border:1px solid #6366f161;border-radius:9999px;align-items:center;gap:.4rem;margin:.35rem 0;padding:.4rem .85rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 8px #00000026}@media (hover:hover){.chat-action-btn:hover{background:linear-gradient(135deg, var(--primary-glow), #818cf840);color:#fff;border-color:#818cf899;transform:translateY(-1px);box-shadow:0 4px 14px #6366f14d}}.chat-action-btn:focus-visible{outline-offset:2px;outline:2px solid #818cf8}.chat-action-btn:active{transform:scale(.97)}.chat-composer-note{border-top:1px solid var(--border-color);margin-top:.75rem;padding:.75rem 1rem .25rem;font-style:italic}.chat-thread-empty{color:var(--text-dim);text-align:center;padding:2rem;font-size:.8rem}.word-companion-help-btn{color:var(--text-dim);opacity:.7;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3.5px;padding:.15rem;line-height:1;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:.5rem;right:.6rem}@media (hover:hover){.word-companion-help-btn:hover{opacity:1;color:#a5b4fc;transform:translateY(-1px)}}.word-companion-help-icon{font-size:1rem;line-height:1;display:block}.word-companion-help-label{letter-spacing:.08em;text-transform:lowercase;opacity:.9;padding-left:1.5px;font-size:.46rem;font-weight:700;line-height:1}.word-companion-tip{color:var(--text-dim);opacity:.55;text-transform:none;letter-spacing:.02em;margin-left:.35rem;font-size:.7rem;font-style:italic;font-weight:400}.word-companion-section-header{-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.word-companion-section-toggle-btn{font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;margin:0;padding:0;display:flex}.word-companion-section-toggle-btn:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #6366f1}.word-companion-toggle{color:var(--text-muted);margin-left:auto;font-size:1.1rem;font-weight:700;line-height:1;transition:transform .25s cubic-bezier(.4,0,.2,1),color .2s;display:inline-block}@media (hover:hover){.word-companion-section-header:hover .word-companion-toggle{color:var(--text-main)}}.word-companion-section.is-open .word-companion-toggle{color:var(--text-main);transform:rotate(90deg)}.word-companion-section-body{margin-top:.6rem;display:none}.word-companion-section.is-open .word-companion-section-body{display:block}.word-companion-section-loading{color:var(--text-muted);padding:.4rem 0;font-size:.82rem}.word-companion-section-error{margin-top:.5rem}#wordCompanionModal .modal-content{background:#0f172afa;max-width:640px;max-height:90dvh;overflow-y:auto}.word-companion-modal-header{border-bottom:1px solid var(--border-color);grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;display:grid}.word-companion-brand{font-family:var(--font-display);color:#38bdf8;background:linear-gradient(135deg,#818cf8 0%,#38bdf8 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;justify-self:start;font-size:1.15rem;font-style:italic;font-weight:800}.word-companion-target-lexis{font-family:var(--font-main);color:var(--text-main);text-align:center;justify-self:center;font-size:1.15rem;font-weight:400}.word-companion-modal-header .modal-close{justify-self:end}#wordCompanionBody{padding:.5rem 0}@media (width<=768px){#wordCompanionModal{padding:.5rem;padding-top:max(.75rem, env(safe-area-inset-top));padding-bottom:max(.75rem, env(safe-area-inset-bottom));align-items:center}#wordCompanionModal .modal-content{flex-direction:column;width:98%;height:88dvh;max-height:88dvh;padding:.75rem;display:flex;overflow:hidden}.word-companion-modal-header{flex-shrink:0;grid-template-columns:auto 1fr auto;gap:.35rem;margin-bottom:.5rem;padding-bottom:.5rem}#wordCompanionBody{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow-y:auto}#wordCompanionContent{flex-direction:column;display:flex}.word-companion-brand,.word-companion-target-lexis{font-size:.95rem}.word-companion-section{flex-shrink:0;margin-bottom:.5rem;padding:.45rem .65rem}.word-companion-section.is-collapsed{padding:.4rem .65rem}.word-companion-section h4{margin:0;font-size:.76rem;line-height:1.2}.word-companion-section.is-open h4{margin-bottom:.4rem}.word-companion-section-body{margin-top:.4rem}.word-companion-chat{flex-direction:column;flex-shrink:0;margin-top:.5rem;padding:.65rem;display:flex}.word-companion-chat h4{flex-shrink:0;margin:0 0 .5rem}#wordCompanionModal .word-companion-chat-history{overscroll-behavior:auto;min-height:140px;max-height:none;margin-bottom:.5rem;padding:.45rem;overflow-y:visible}.word-companion-chat-form{flex-shrink:0}}.word-companion-section{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#1e293b8c;margin-bottom:1rem;padding:1rem 1.1rem;box-shadow:0 2px 8px #0003}.word-companion-section:first-child{border-left:3px solid #a5b4fc}.word-companion-section:nth-child(2){background:#10b9810f;border-left:3px solid #6ee7b7}.word-companion-section:nth-child(3){border-left:3px solid var(--accent-amber);background:#f59e0b0f}.word-companion-section h4{color:#a5b4fc;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.4rem;margin:0 0 .6rem;font-size:.78rem;font-weight:700;display:flex}.word-companion-section:nth-child(2) h4{color:#6ee7b7}.word-companion-section:nth-child(3) h4{color:var(--accent-amber)}.word-companion-section p,.word-companion-section li{color:var(--text-main);font-size:.88rem;line-height:1.6}.word-companion-sentences{margin:0;padding-left:1.2rem}.word-companion-sentences li{margin-bottom:.5rem;padding-left:.2rem}.word-companion-sentences li::marker{color:#a5b4fc}.word-companion-chat{border-radius:var(--radius-md);border-top:1px solid #ffffff0f;border:1px solid var(--border-color);background:#0f172a59;margin-top:1rem;padding:1rem}.word-companion-chat h4{color:#a5b4fc;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.4rem;margin:0 0 .75rem;font-size:.78rem;font-weight:700;display:flex}.word-companion-chat-history{overscroll-behavior:contain;border-radius:var(--radius-md);background:#00000026;border:1px solid #ffffff0a;flex-direction:column;gap:.6rem;min-height:60px;max-height:180px;margin-bottom:.75rem;padding:.5rem;display:flex;overflow-y:auto}.wc-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.word-companion-chat-history:empty:before{content:"Ask about this word — e.g. 'Can I use this with my boss?'";color:var(--text-dim);text-align:center;opacity:.6;padding:1rem;font-size:.78rem;font-style:italic}.word-companion-chat-bubble{border-radius:14px;max-width:82%;padding:.6rem .75rem;font-size:.82rem;line-height:1.5;box-shadow:0 1px 4px #00000026}.word-companion-chat-bubble.user{background:linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.word-companion-chat-bubble.assistant{color:var(--text-main);background:#1e293be6;border:1px solid #6366f133;border-bottom-left-radius:4px;align-self:flex-start}.word-companion-chat-bubble.is-error{background:#2d1419d9;border-color:#ef444466}.wc-chat-retry-btn{color:var(--text-main,#fff);cursor:pointer;background:#6366f140;border:1px solid #6366f166;border-radius:6px;margin-top:.35rem;margin-left:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:500;transition:background .15s;display:inline-block}@media (hover:hover){.wc-chat-retry-btn:hover{background:#6366f173}}.word-companion-chat-form{border:1px solid var(--border-color);background:#1e293bb3;border-radius:9999px;align-items:center;gap:.35rem;padding:.25rem .35rem .25rem .75rem;display:flex}.word-companion-chat-form input,.word-companion-chat-form textarea.form-control{min-width:0;color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:.45rem .25rem;font-size:.85rem}.word-companion-chat-form textarea.form-control{resize:none;width:auto;min-height:0;font-family:inherit;line-height:1.35;display:block;overflow-y:hidden}.word-companion-chat-form input::-moz-placeholder{color:var(--text-dim);opacity:.7}.word-companion-chat-form textarea.form-control::-moz-placeholder{color:var(--text-dim);opacity:.7}.word-companion-chat-form input::placeholder,.word-companion-chat-form textarea.form-control::placeholder{color:var(--text-dim);opacity:.7}.word-companion-chat-form button,.word-companion-send-circle-btn{background:linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #6366f166}@media (hover:hover){.word-companion-chat-form button:hover,.word-companion-send-circle-btn:hover{background:linear-gradient(135deg, var(--primary-hover) 0%, #7c3aed 100%);transform:scale(1.06);box-shadow:0 0 12px #a855f799}}.word-companion-chat-form button:disabled,.word-companion-send-circle-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.word-companion-limit-note{color:var(--text-dim);text-align:center;opacity:.8;margin-top:.5rem;font-size:.68rem}@media (width<=768px){.word-companion-chat-form input,.word-companion-chat-form textarea.form-control{font-size:16px}.word-companion-chat-form{border-radius:22px;align-items:flex-end}.word-companion-chat-form button,.word-companion-send-circle-btn{width:44px;min-width:44px;height:44px;min-height:44px}}@media (pointer:coarse){.word-companion-chat-form button,.word-companion-send-circle-btn{min-width:44px;min-height:44px}}.word-companion-chat-bubble.typing-indicator-bubble{color:var(--text-muted);border:1px dashed var(--primary-glow);background:#1e293bb3;align-items:center;gap:.35rem;padding:.55rem .8rem;font-size:.8rem;font-style:italic;display:flex}.typing-dots{gap:2px;display:inline-flex}.typing-dots span{color:#a5b4fc;font-size:.95rem;font-weight:800;animation:1.4s infinite both typingBlink}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBlink{0%{opacity:.2;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}to{opacity:.2;transform:translateY(0)}}#wordCompanionLoading{text-align:center;color:var(--text-muted);padding:2rem 1rem}#wordCompanionLoading .loading-spinner{margin:0 auto .75rem}#wordCompanionLoading p{font-size:.9rem}.word-companion-section-loading .loading-spinner{vertical-align:middle;width:14px;height:14px;margin-right:.4rem;display:inline-block}.word-companion-section-error span{color:var(--accent-rose);font-size:.82rem}.word-companion-section-error button{padding:.15rem .4rem;font-size:.72rem}#wordCompanionError{text-align:center;color:var(--accent-rose);padding:1rem}.wc-bubble-text{white-space:pre-wrap;word-break:break-word}.word-companion-presets{display:none}#wordCompanionModal[data-mode=chat-only] .word-companion-chat-form{border-radius:22px;flex-wrap:wrap}#wordCompanionModal[data-mode=chat-only] .word-companion-presets{flex-basis:100%}.word-companion-preset-btn{appearance:none;border:1px solid var(--border-color,#ffffff1f);color:var(--text-main,#e2e8f0);cursor:pointer;background:#ffffff0f;border-radius:9999px;padding:.4rem .85rem;font-family:inherit;font-size:.82rem;line-height:1.3;transition:background .15s,border-color .15s,transform .1s}@media (hover:hover){.word-companion-preset-btn:hover{background:#ffffff1f;border-color:#ffffff40}}.word-companion-preset-btn:active{transform:scale(.98)}.word-companion-preset-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}@keyframes plPresetFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.word-companion-preset-btn{transition:none;transform:none}.typing-dots span{animation:none}#wordCompanionModal{transition:none}#wordCompanionModal[data-mode=chat-only] .word-companion-presets{animation:none}}.word-companion-quick-check-card{border-radius:var(--radius-lg,12px);background:#1e293bb3;border:1px solid #6366f140;flex-direction:column;gap:.65rem;padding:.85rem 1rem;animation:.2s ease-out wcQcCardFadeIn;display:flex}.wc-qc-title{color:#c7d2fe;font-size:.92rem;font-weight:600}.wc-qc-sentences{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.wc-qc-sentence-item{color:#f1f5f9;align-items:baseline;gap:.35rem;font-size:.88rem;line-height:1.45;display:flex}.wc-qc-num-badge{color:var(--accent-cyan,#06b6d4);flex-shrink:0;font-weight:700}.wc-qc-sentence-text{flex:1}.wc-qc-buttons{align-items:center;gap:.6rem;margin-top:.2rem;display:flex}.wc-qc-btn{appearance:none;color:#fff;cursor:pointer;background:#6366f126;border:1px solid #6366f166;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}@media (hover:hover){.wc-qc-btn:hover:not(:disabled){background:#6366f159;border-color:#6366f1b3;transform:translateY(-1px)}}.wc-qc-btn:active:not(:disabled){transform:scale(.95)}.wc-qc-btn.is-correct{color:#a7f3d0;background:#10b9814d;border-color:#10b981cc}.wc-qc-feedback{min-height:1.2rem;font-size:.85rem;font-weight:600;line-height:1.3;animation:.15s ease-out wcQcFeedbackFade}.wc-qc-feedback.is-correct{color:#34d399}.wc-qc-feedback.is-wrong{color:#fbbf24}.wc-qc-chips-container{border-top:1px solid #ffffff14;flex-direction:column;gap:.45rem;margin-top:.35rem;padding-top:.55rem;animation:.2s ease-out wcQcCardFadeIn;display:flex}.wc-qc-chips-title{color:#c7d2fe;font-size:.86rem;font-weight:600}.wc-qc-chips{flex-wrap:wrap;gap:.5rem;display:flex}.wc-qc-chip{appearance:none;color:#f1f5f9;border-radius:var(--radius-md,8px);cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;padding:.4rem .85rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:background .15s,border-color .15s,transform .1s}@media (hover:hover){.wc-qc-chip:hover:not(:disabled){background:#6366f140;border-color:#6366f180;transform:translateY(-1px)}}.wc-qc-chip:active:not(:disabled){transform:scale(.95)}.wc-qc-chip.is-correct{color:#a7f3d0;background:#10b98140;border-color:#10b981b3}.wc-qc-chip-feedback{min-height:1.2rem;font-size:.85rem;font-weight:600;line-height:1.3;animation:.15s ease-out wcQcFeedbackFade}.wc-qc-chip-feedback.is-correct{color:#34d399}.wc-qc-chip-feedback.is-wrong{color:#fbbf24}.wc-qc-report-section{border-top:1px solid #ffffff0f;margin-top:.25rem;padding-top:.35rem}.wc-qc-report-btn{appearance:none;color:var(--text-muted,#94a3b8);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:.2rem 0;font-family:inherit;font-size:.78rem;text-decoration:underline;transition:color .15s}@media (hover:hover){.wc-qc-report-btn:hover{color:#cbd5e1}}.wc-qc-report-form{border-radius:var(--radius-md,8px);background:#0f172a99;border:1px solid #ffffff1a;flex-direction:column;gap:.45rem;margin-top:.35rem;padding:.6rem .75rem;animation:.15s ease-out wcQcReportSlideIn;display:flex}.wc-qc-report-label{color:#cbd5e1;font-size:.78rem;font-weight:600}.wc-qc-report-select{color:#f1f5f9;border-radius:var(--radius-sm,6px);background:#1e293be6;border:1px solid #ffffff26;padding:.35rem .5rem;font-family:inherit;font-size:.82rem}.wc-qc-report-select:focus{border-color:var(--accent-indigo,#6366f1);outline:none}.wc-qc-report-note-wrap{flex-direction:column;gap:.2rem;display:flex}.wc-qc-report-note{color:#f1f5f9;border-radius:var(--radius-sm,6px);resize:vertical;background:#1e293be6;border:1px solid #ffffff26;min-height:2.6rem;padding:.4rem .5rem;font-family:inherit;font-size:.82rem}.wc-qc-report-note:focus{border-color:var(--accent-indigo,#6366f1);outline:none}.wc-qc-report-counter{color:var(--text-muted,#94a3b8);text-align:right;font-size:.72rem}.wc-qc-report-actions{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.wc-qc-report-send,.wc-qc-report-cancel{border-radius:var(--radius-sm,6px);cursor:pointer;padding:.3rem .75rem;font-family:inherit;font-size:.8rem}.wc-qc-report-status{font-size:.78rem;font-weight:500}.wc-qc-report-status.is-error{color:#f87171}.wc-qc-report-confirm{color:#34d399;padding:.3rem 0;font-size:.82rem;font-weight:600}@keyframes wcQcCardFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes wcQcReportSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes wcQcFeedbackFade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.word-companion-quick-check-card,.wc-qc-chips-container,.wc-qc-feedback,.wc-qc-chip-feedback,.wc-qc-report-form{animation:none}.wc-qc-btn,.wc-qc-chip,.wc-qc-report-btn{transition:none;transform:none}}@media (width<=768px){#wordCompanionModal.active[data-chat-focus]{inset:auto;top:var(--wc-vvt,0px);height:100vh;height:var(--wc-vvh,100dvh);align-items:stretch;padding:0;left:0;right:0}#wordCompanionModal.active[data-chat-focus] .modal-content{width:100%;max-width:100%;height:100%;max-height:100%;padding:.5rem .75rem;padding-top:max(.5rem, env(safe-area-inset-top,0px));border-radius:0}#wordCompanionModal.active[data-chat-focus]:not([data-mode=chat-only]) .word-companion-modal-header,#wordCompanionModal.active[data-chat-focus] .word-companion-section,#wordCompanionModal.active[data-chat-focus] .word-companion-presets{display:none}#wordCompanionModal.active[data-chat-focus] #wordCompanionBody,#wordCompanionModal.active[data-chat-focus] #wordCompanionContent,#wordCompanionModal.active[data-chat-focus] .word-companion-chat{flex:1;min-height:0;margin-top:0;overflow:hidden}#wordCompanionModal.active[data-chat-focus] .word-companion-chat-history{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:none;overflow-y:auto}}#wordCompanionModal:not([data-mode=chat-only]) .word-companion-chat,#wordCompanionModal[data-mode=chat-only] .word-companion-open-chat-btn{display:none}.word-companion-open-chat-btn{width:100%;min-height:44px;font:inherit;color:var(--text-main,#e2e8f0);border-radius:var(--radius-md,12px);cursor:pointer;background:#6366f129;border:1px solid #a5b4fc66;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-weight:600;display:flex}@media (hover:hover){.word-companion-open-chat-btn:hover{background:#6366f142}}.word-companion-open-chat-btn:focus-visible{outline-offset:2px;outline:2px solid #6366f1}#wordCompanionModal[data-chat-kind=word] .word-companion-presets{display:none}#wordCompanionModal[data-mode=chat-only][data-chat-kind=word] .word-companion-target-lexis{display:inline}#wordCompanionModal[data-mode=chat-only][data-chat-kind=word] .word-companion-chat-history:empty:before{content:"Ask anything about this word."}@media (width<=768px){#wordCompanionModal .modal-content .word-companion-modal-header.modal-header{margin-top:0;margin-left:0;margin-right:0;padding-left:0;padding-right:0;position:static}}.offline-banner{top:.75rem;top:calc(.75rem + env(safe-area-inset-top));z-index:var(--z-offline-banner);background:var(--bg-modal);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;pointer-events:none;max-width:calc(100dvw - 2rem);padding:.55rem 1rem;font-size:.82rem;font-weight:600;line-height:1.4;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080}.offline-banner[hidden]{display:none}@media not all and (width<=768px){.offline-banner{top:calc(var(--app-header-h) + .5rem);top:calc(var(--app-header-h) + .5rem + env(safe-area-inset-top))}body.nav-three:has(#studentNavMenu:not([hidden])) .offline-banner{left:calc(var(--student-rail-width,200px) + (100% - var(--student-rail-width,200px)) / 2);max-width:calc(100vw - var(--student-rail-width,200px) - 2rem);max-width:calc(100dvw - var(--student-rail-width,200px) - 2rem)}}.chip-gem-badge{cursor:pointer;flex-shrink:0;align-items:center;font-size:1rem;line-height:1;transition:transform .2s;display:inline-flex}@media (hover:hover){.chip-gem-badge:hover{transform:scale(1.15)}}@keyframes gemSheenSweep{0%,70%{opacity:0;left:-70%}75%{opacity:.8}85%{opacity:0;left:140%}to{opacity:0;left:140%}}.reward-icon{vertical-align:middle;-o-object-fit:contain;object-fit:contain;display:inline-block}.reward-icon--pixel{image-rendering:auto}.reward-icon--large{display:block}.streak-medal .reward-icon--pixel{vertical-align:middle;width:18px;height:18px}.stats-chip-pill .reward-icon--pixel{vertical-align:-3px;width:18px;height:18px;margin-right:4px}.engagement-gem-cell .reward-icon--pixel{vertical-align:middle;width:18px;height:18px}.streak-counter .reward-icon--pixel,#streakCounter .reward-icon--pixel{vertical-align:-2px;width:18px;height:18px;margin-right:2px}.streak-consolation-title .reward-icon--pixel{vertical-align:-4px;width:22px;height:22px;margin-right:4px}.streak-medal[data-chip-level="1"]:not(:has(.reward-icon)){filter:sepia(.68)saturate(2.6)hue-rotate(-26deg)brightness(.92);justify-content:center;align-items:center;display:inline-flex;overflow:visible;transform:translateZ(0)}.trophy-stat{background:#1e293b99;border:1px solid #47556933;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.15rem;padding:.65rem .5rem;display:flex}.trophy-stat-value{color:#f1f5f9;font-size:1rem;font-weight:800}@media (width<=480px){.trophy-stat{padding:.45rem .5rem}.trophy-stat-value{font-size:.9rem}}.gem-unlock-overlay{padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);z-index:var(--z-overlay-elevated);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#00000080;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.gem-unlock-overlay.gem-unlock-visible{opacity:1}.gem-unlock-art{justify-content:center;align-items:center;margin-bottom:.5rem;animation:.6s cubic-bezier(.34,1.56,.64,1) forwards gemReveal;display:flex}.gem-unlock-art .reward-icon--large{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 28px #ffffff73);width:160px;height:160px}@keyframes gemReveal{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.gem-unlock-glow{opacity:0;pointer-events:none;border-radius:50%;width:200px;height:200px;animation:1.2s ease-out .2s forwards gemGlow;position:absolute}@keyframes gemGlow{0%{opacity:.6;transform:scale(.3)}to{opacity:0;transform:scale(2.5)}}.gem-unlock-name{color:#f1f5f9;opacity:0;margin-top:.75rem;font-size:1.3rem;font-weight:800;animation:.4s .4s forwards gemTextFadeIn}.gem-unlock-flavor{color:var(--text-muted);opacity:0;margin-top:.35rem;font-size:.88rem;font-style:italic;animation:.4s .6s forwards gemTextFadeIn}.gem-unlock-forever{font-size:var(--fs-xs);color:var(--text-dim);opacity:0;margin-top:.75rem;animation:.4s .8s forwards gemTextFadeIn}.gem-unlock-inspect{min-height:44px;color:var(--text-main,#f8fafc);font:inherit;cursor:pointer;background:#f9a8d429;border:1px solid #f9a8d4b3;border-radius:999px;margin:18px auto 0;padding:0 18px;font-weight:700;display:block}@keyframes gemTextFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.streak-consolation-toast{bottom:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom));z-index:var(--z-consolation-toast);opacity:0;pointer-events:auto;cursor:pointer;background:linear-gradient(135deg,#0f172af2,#1e293bf2);border:1px solid #6366f14d;border-radius:12px;width:calc(100% - 2rem);max-width:420px;padding:.75rem 1.25rem;transition:opacity .35s,transform .35s;position:fixed;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 12px 32px #00000080}.streak-consolation-toast.toast-visible{opacity:1;transform:translate(-50%)translateY(0)}.streak-consolation-title{color:#f1f5f9;margin-bottom:.25rem;font-size:.88rem;font-weight:800}.streak-consolation-body{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.45}.engagement-gem-cell{align-items:center;gap:.3rem;font-size:.82rem;display:inline-flex}.engagement-gem-name{color:var(--text-main);font-weight:600}@media (width<=768px){.chip-gem-badge{font-size:.88rem}}.trophy-stat[data-trophy-stat]{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:transform .15s,border-color .2s}.trophy-stat[data-trophy-stat]:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.trophy-stat[data-trophy-stat]{transition:none}.trophy-stat[data-trophy-stat]:active{transform:none}}.pl-entry{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);color:var(--text-main);margin-bottom:1rem;padding:1rem 1.1rem}.pl-entry-title{margin:0 0 .25rem;font-size:1.05rem}.pl-entry-sub{color:var(--text-muted);margin:0 0 .75rem;font-size:.9rem}.pl-overlay{z-index:1000;background:var(--bg-main);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.pl-sheet{background:var(--bg-main);width:100%;max-width:480px;color:var(--text-main);padding:calc(env(safe-area-inset-top,0px) + 4.5rem) 1rem 1.5rem;box-sizing:border-box;position:relative;overflow-y:auto}.pl-overlay>.modal-close{top:calc(env(safe-area-inset-top,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);z-index:2;position:absolute}@media not all and (width<=768px){.pl-overlay{align-items:flex-start;overflow-y:auto}.pl-sheet{max-width:820px;min-height:100%;padding:calc(env(safe-area-inset-top,0px) + 4.5rem) 2rem 2.5rem;overflow-y:visible}.pl-overlay>.modal-close{top:calc(env(safe-area-inset-top,0px) + 1rem);right:calc(env(safe-area-inset-right,0px) + 1.25rem);position:fixed}body[data-module-open] .pl-overlay{inset:var(--app-header-h) 0 0 0;z-index:var(--z-module-overlay,calc(var(--z-header,1000) - 1))}body[data-module-open] .pl-overlay>.modal-close{top:calc(var(--app-header-h) + 1rem)}}.pl-screen{flex-direction:column;gap:.9rem;display:flex}.pl-stage-row{flex-direction:column;gap:.35rem;display:flex}.pl-set-title{color:var(--text-muted);letter-spacing:.03em;font-size:.82rem;font-weight:600;line-height:1.2}.pl-path{justify-content:space-between;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.pl-path-step{color:var(--text-dim);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.pl-path-dot{border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.75rem;display:inline-flex}.pl-path-step--active{color:var(--text-main)}.pl-path-step--active .pl-path-dot{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.pl-path-step--done{color:var(--accent-emerald)}.pl-path-step--done .pl-path-dot{border-color:var(--accent-emerald)}@media (width<=480px){.pl-path-step:not(.pl-path-step--active) .pl-path-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.pl-qhead{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:inherit;justify-content:space-between;align-items:baseline;margin:0;display:flex}.pl-bar{background:var(--border-color);border-radius:6px;height:6px;overflow:hidden}.pl-bar-fill{background:var(--primary);height:100%;transition:width .25s}.pl-bar-fill--0{width:0%}.pl-bar-fill--1{width:1%}.pl-bar-fill--2{width:2%}.pl-bar-fill--3{width:3%}.pl-bar-fill--4{width:4%}.pl-bar-fill--5{width:5%}.pl-bar-fill--6{width:6%}.pl-bar-fill--7{width:7%}.pl-bar-fill--8{width:8%}.pl-bar-fill--9{width:9%}.pl-bar-fill--10{width:10%}.pl-bar-fill--11{width:11%}.pl-bar-fill--12{width:12%}.pl-bar-fill--13{width:13%}.pl-bar-fill--14{width:14%}.pl-bar-fill--15{width:15%}.pl-bar-fill--16{width:16%}.pl-bar-fill--17{width:17%}.pl-bar-fill--18{width:18%}.pl-bar-fill--19{width:19%}.pl-bar-fill--20{width:20%}.pl-bar-fill--21{width:21%}.pl-bar-fill--22{width:22%}.pl-bar-fill--23{width:23%}.pl-bar-fill--24{width:24%}.pl-bar-fill--25{width:25%}.pl-bar-fill--26{width:26%}.pl-bar-fill--27{width:27%}.pl-bar-fill--28{width:28%}.pl-bar-fill--29{width:29%}.pl-bar-fill--30{width:30%}.pl-bar-fill--31{width:31%}.pl-bar-fill--32{width:32%}.pl-bar-fill--33{width:33%}.pl-bar-fill--34{width:34%}.pl-bar-fill--35{width:35%}.pl-bar-fill--36{width:36%}.pl-bar-fill--37{width:37%}.pl-bar-fill--38{width:38%}.pl-bar-fill--39{width:39%}.pl-bar-fill--40{width:40%}.pl-bar-fill--41{width:41%}.pl-bar-fill--42{width:42%}.pl-bar-fill--43{width:43%}.pl-bar-fill--44{width:44%}.pl-bar-fill--45{width:45%}.pl-bar-fill--46{width:46%}.pl-bar-fill--47{width:47%}.pl-bar-fill--48{width:48%}.pl-bar-fill--49{width:49%}.pl-bar-fill--50{width:50%}.pl-bar-fill--51{width:51%}.pl-bar-fill--52{width:52%}.pl-bar-fill--53{width:53%}.pl-bar-fill--54{width:54%}.pl-bar-fill--55{width:55%}.pl-bar-fill--56{width:56%}.pl-bar-fill--57{width:57%}.pl-bar-fill--58{width:58%}.pl-bar-fill--59{width:59%}.pl-bar-fill--60{width:60%}.pl-bar-fill--61{width:61%}.pl-bar-fill--62{width:62%}.pl-bar-fill--63{width:63%}.pl-bar-fill--64{width:64%}.pl-bar-fill--65{width:65%}.pl-bar-fill--66{width:66%}.pl-bar-fill--67{width:67%}.pl-bar-fill--68{width:68%}.pl-bar-fill--69{width:69%}.pl-bar-fill--70{width:70%}.pl-bar-fill--71{width:71%}.pl-bar-fill--72{width:72%}.pl-bar-fill--73{width:73%}.pl-bar-fill--74{width:74%}.pl-bar-fill--75{width:75%}.pl-bar-fill--76{width:76%}.pl-bar-fill--77{width:77%}.pl-bar-fill--78{width:78%}.pl-bar-fill--79{width:79%}.pl-bar-fill--80{width:80%}.pl-bar-fill--81{width:81%}.pl-bar-fill--82{width:82%}.pl-bar-fill--83{width:83%}.pl-bar-fill--84{width:84%}.pl-bar-fill--85{width:85%}.pl-bar-fill--86{width:86%}.pl-bar-fill--87{width:87%}.pl-bar-fill--88{width:88%}.pl-bar-fill--89{width:89%}.pl-bar-fill--90{width:90%}.pl-bar-fill--91{width:91%}.pl-bar-fill--92{width:92%}.pl-bar-fill--93{width:93%}.pl-bar-fill--94{width:94%}.pl-bar-fill--95{width:95%}.pl-bar-fill--96{width:96%}.pl-bar-fill--97{width:97%}.pl-bar-fill--98{width:98%}.pl-bar-fill--99{width:99%}.pl-bar-fill--100{width:100%}.pl-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);padding:1rem 1.1rem}.pl-sentence{margin:0;font-size:1.35rem;line-height:1.7}.pl-gap{text-align:center;border-bottom:2px solid var(--primary);min-width:3.5rem;color:var(--text-main);margin:0 .15rem;padding:0 .5rem;font-weight:700;display:inline-block}.pl-gap[data-filled=false]{color:var(--text-dim)}.pl-options{flex-direction:column;gap:.5rem;display:flex}.pl-option{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);min-height:48px;color:var(--text-main);text-align:left;cursor:pointer;align-items:center;gap:.75rem;padding:.6rem .9rem;font-size:1.05rem;display:flex}.pl-option-key{border-radius:var(--radius-sm,8px);border:1px solid var(--border-color);width:1.75rem;height:1.75rem;color:var(--text-muted);justify-content:center;align-items:center;font-size:.8rem;display:inline-flex}.pl-option--selected{border-color:var(--border-active);background:var(--bg-card-hover)}.pl-option--selected .pl-option-key{background:var(--primary);border-color:var(--primary);color:#fff}.pl-option--right{border-color:var(--accent-emerald)}.pl-option--wrong{border-color:var(--accent-amber)}.pl-option:disabled{cursor:default}.pl-option-tick{color:var(--accent-emerald);margin-left:auto;font-size:1.2rem;font-weight:700}.pl-feedback{border-radius:var(--radius-md,12px);border:1px solid var(--border-color);flex-direction:column;gap:.2rem;padding:.75rem .9rem;font-size:.95rem;display:flex}.pl-feedback--right{border-color:var(--accent-emerald)}.pl-feedback--miss{border-color:var(--accent-amber)}.pl-feedback--quiet{border:0;padding:0}.pl-feedback-text{color:var(--text-muted)}.pl-eyebrow{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .2rem;font-size:.78rem}.pl-title{margin:0;font-size:1.3rem}.pl-subtitle{margin:0 0 .5rem;font-size:.95rem}.pl-subtitle--good{color:var(--accent-emerald)}.pl-score{margin:.4rem 0 0;font-size:2.6rem;font-weight:800;line-height:1}.pl-summary--positive{border-color:var(--accent-emerald)}.pl-body,.pl-note{color:var(--text-muted);margin:.5rem 0 0;font-size:.9rem}.pl-ideas{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.pl-idea{border:1px solid var(--border-color);border-left:3px solid var(--primary);border-radius:var(--radius-sm,8px);padding:.55rem .75rem;font-size:.95rem}.pl-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pl-diag-wrap{overflow-x:auto}.pl-diag-table{border-collapse:collapse;width:100%;font-size:.9rem}.pl-diag-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.pl-diag-table,.pl-diag-table tbody{display:block}.pl-diag-row{-moz-column-gap:1.25rem;border:1px solid var(--border-color);border-radius:var(--radius-sm,8px);border-left-width:3px;grid-template-columns:auto auto 1fr;grid-template-areas:"answer yours.""sentence sentence sentence";gap:.15rem 1.25rem;margin-bottom:.5rem;padding:.55rem .7rem;display:grid}.pl-diag-row td{border-bottom:0;align-items:baseline;gap:.4rem;padding:.1rem 0;display:flex}.pl-diag-row td:before{content:attr(data-caption) ":";color:var(--text-muted);flex:none;font-size:.78rem;font-weight:600}.pl-diag-answer{grid-area:answer}.pl-diag-yours{white-space:nowrap;grid-area:yours}.pl-diag-sentence{grid-area:sentence}.pl-diag-sentence:before{content:none!important}.pl-diag-word,.pl-diag-answer-word{color:var(--accent-emerald);font-weight:700}.pl-diag-row--right{border-left-color:var(--accent-emerald)}.pl-diag-row--miss{border-left-color:var(--accent-amber)}.pl-diag-row--right .pl-diag-yours{color:var(--accent-emerald)}.pl-diag-row--miss .pl-diag-yours{color:var(--accent-amber)}.pl-idea-row{border:1px solid var(--border-color);border-radius:var(--radius-sm,8px);padding:.55rem .75rem;font-size:.95rem}.pl-idea-row[data-missed=true]{border-left:3px solid var(--accent-amber)}.pl-idea-row-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.pl-idea-flag{color:var(--accent-amber);font-size:.8rem;font-weight:700}.pl-fold-head{min-height:44px;color:var(--text-main);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.9rem;font-weight:600;display:inline-flex}.pl-fold-label{text-underline-offset:3px;text-decoration:underline}.pl-fold--right,.pl-fold--read-more{flex-direction:column;width:100%;display:flex}.pl-fold-head--right,.pl-fold-head[data-action=go-deeper]{text-align:right;justify-content:flex-end;align-self:flex-end;margin-left:auto;display:inline-flex}.pl-fold-head[data-action=go-deeper] .pl-fold-label{text-decoration:none}.pl-try{border-color:var(--primary)}.pl-fold-arrow{line-height:1;transition:transform .2s ease-out;display:inline-block}.pl-fold--open .pl-fold-arrow{transform:rotate(90deg)}.pl-fold-body{grid-template-rows:0fr;transition:grid-template-rows .28s ease-out;display:grid}.pl-fold--open .pl-fold-body{grid-template-rows:1fr}.pl-fold-inner{visibility:hidden;min-height:0;overflow:hidden}.pl-fold--open .pl-fold-inner{visibility:visible}.pl-report-wrap{box-sizing:border-box;max-width:100%;margin:.5rem 0 .25rem}.pl-report-head{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.pl-report-trigger{color:var(--text-muted);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-items:center;min-height:36px;padding:.25rem 0;font-size:.85rem;text-decoration:underline;transition:color .15s;display:inline-flex}.pl-report-trigger:focus-visible{color:var(--text-main)}@media (hover:hover){.pl-report-trigger:hover{color:var(--text-main)}}.pl-report-trigger--sent{display:none}.pl-report-msg{font-size:.85rem;display:inline-block}.pl-report-msg--success{color:var(--accent-emerald);font-weight:600}.pl-report-msg--error{color:var(--accent-amber,#f59e0b)}.pl-report-body{grid-template-rows:0fr;transition:grid-template-rows .28s ease-out;display:grid}.pl-report-wrap--open .pl-report-body{grid-template-rows:1fr}.pl-report-inner{visibility:hidden;min-height:0;transition:visibility .28s ease-out;overflow:hidden}.pl-report-wrap--open .pl-report-inner{visibility:visible;flex-direction:column;gap:.5rem;padding:.6rem 0 .25rem;display:flex}.pl-report-chooser{flex-direction:column;gap:.25rem;display:flex}.pl-report-label{color:var(--text-muted);font-size:.82rem;font-weight:600}.pl-report-select{background:var(--bg-main);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-sm,8px);font:inherit;box-sizing:border-box;max-width:100%;padding:.45rem .6rem;font-size:.88rem}.pl-report-heading{color:var(--text-main);margin:0;font-size:.92rem;font-weight:600}.pl-report-reasons{flex-direction:column;gap:.35rem;display:flex}.pl-report-radio-label{color:var(--text-main);cursor:pointer;align-items:center;gap:.5rem;min-height:30px;font-size:.88rem;display:flex}.pl-report-radio{accent-color:var(--primary);cursor:pointer;width:16px;height:16px;margin:0}.pl-report-note{box-sizing:border-box;background:var(--bg-main);width:100%;color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-sm,8px);font:inherit;resize:vertical;min-height:56px;max-height:120px;padding:.5rem .6rem;font-size:.88rem}.pl-report-actions{justify-content:flex-end;gap:.5rem;margin-top:.2rem;display:flex}.pl-report-cancel{padding:.4rem .8rem;font-size:.85rem}.pl-report-send{background:var(--primary);color:#fff;border:1px solid #0000;padding:.4rem 1rem;font-size:.85rem}@media (hover:hover){.pl-report-send:hover:not(:disabled){opacity:.9}}.pl-report-send:disabled{opacity:.5;cursor:not-allowed}.pl-tally-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.pl-tally-header .pl-eyebrow{margin:0}.pl-tally-row{justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}.pl-tally-row+.pl-tally-row{border-top:1px solid var(--border-color)}.pl-tally-label{color:var(--text-main);font-size:.95rem}.pl-tally-value{font-size:1.2rem}.pl-tally-got{color:var(--accent-emerald)}.pl-mastered{border-color:var(--accent-emerald);animation:.3s ease-out .1s both pl-rise}.pl-mastered-ideas{color:var(--text-main);margin:.25rem 0 0;padding-left:1.1rem;font-size:.95rem}.pl-ideas--sorted .pl-idea{border-left-color:var(--accent-emerald)}.pl-review-row{margin:.4rem 0 0;font-size:.9rem}.pl-review-answer{color:var(--accent-emerald);font-weight:600}.pl-rate-row{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.pl-rate-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);min-height:48px;color:var(--text-main);cursor:pointer;font-size:.95rem}.pl-rate-btn--selected{border-color:var(--border-active);background:var(--bg-card-hover)}.pl-compare{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.5rem;display:grid}.pl-compare--with-final{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.pl-compare--with-final.pl-compare--with-attempt{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(0,.8fr)}.pl-compare:not(.pl-compare--with-final,.pl-compare--with-attempt){grid-template-columns:1fr}.pl-compare-col{flex-direction:column;align-items:center;display:flex}.pl-compare-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.pl-compare-value{font-size:1.4rem}.pl-compare-col--now .pl-compare-value{color:var(--accent-emerald)}.pl-compare--improved{border-color:var(--accent-emerald)}.pl-result-table-wrap{overflow-x:auto}.pl-result-table{border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%}.pl-result-table th,.pl-result-table td{border-bottom:1px solid var(--border-color);padding:.65rem .5rem}.pl-result-table thead th{color:var(--text-muted);font-size:.78rem;font-weight:600}@media not all and (width<=768px){.pl-result-table thead th{white-space:nowrap}}.pl-result-table th:first-child{text-align:left}.pl-result-table td,.pl-result-table thead th:not(:first-child){text-align:center}.pl-result-table tbody tr:last-child th,.pl-result-table tbody tr:last-child td{border-bottom:0}.pl-result-table tbody th{font-weight:500}.pl-result-mark{border:1px solid var(--accent-amber,var(--border-active));border-radius:var(--radius-sm,8px);min-width:3.25rem;padding:.18rem .4rem;display:inline-block}.pl-result-mark--secure{border-color:var(--accent-emerald);color:var(--accent-emerald)}.stamp-cell{justify-content:center;align-items:center;gap:.4rem;display:flex}.stamp-score{min-width:1.8rem;font-weight:600}.stamp-tick{border:1.5px solid var(--accent-emerald);width:24px;height:24px;color:var(--accent-emerald);transform-origin:50%;background:#10b9812e;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stamp-target{border:1.5px solid var(--accent-amber);width:24px;height:24px;color:var(--accent-amber);transform-origin:50%;background:#f59e0b26;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.stamp-icon{width:16px;height:16px;display:block}.rank-card{box-shadow:var(--shadow-card,0 12px 32px 0 #0000005e), 0 0 24px #06b6d41a;background:linear-gradient(135deg,#151e30e6 0%,#142438b3 100%);border:1px solid #06b6d459;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative;overflow:visible}.rank-text-block{z-index:2;flex-direction:column;gap:.25rem;min-width:0;display:flex}.rank-title{text-transform:uppercase;letter-spacing:.08em;color:#67e8f9;font-size:.78rem;font-weight:700}.rank-concept-desc{color:var(--text-main);font-size:.92rem;line-height:1.35}.rank-stamp-wrap{z-index:2;flex-shrink:0;justify-content:center;align-items:center;padding:.25rem .5rem;display:flex;position:relative}.stamp-particles{pointer-events:none;z-index:1;width:0;height:0;position:absolute;top:50%;left:50%}.stamp-particles--reduced{display:none!important}.stamp-impact-ring{opacity:0;pointer-events:none;border:2px solid #06b6d4e6;border-radius:50%;width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.4);box-shadow:0 0 18px #06b6d4bf,inset 0 0 12px #06b6d466}.stamp-particle{opacity:0;pointer-events:none;background:#22d3ee;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0);box-shadow:0 0 8px #06b6d4f2}.stamp-p-1{--dx:52px;--dy:0px;width:4px;height:4px}.stamp-p-2{--dx:46px;--dy:24px;width:5px;height:5px}.stamp-p-3{--dx:35px;--dy:42px;width:4px;height:4px}.stamp-p-4{--dx:18px;--dy:54px;width:6px;height:6px}.stamp-p-5{--dx:0px;--dy:58px;width:4px;height:4px}.stamp-p-6{--dx:-22px;--dy:52px;width:5px;height:5px}.stamp-p-7{--dx:-38px;--dy:40px;width:4px;height:4px}.stamp-p-8{--dx:-50px;--dy:20px;width:6px;height:6px}.stamp-p-9{--dx:-56px;--dy:0px;width:4px;height:4px}.stamp-p-10{--dx:-48px;--dy:-24px;width:5px;height:5px}.stamp-p-11{--dx:-36px;--dy:-42px;width:4px;height:4px}.stamp-p-12{--dx:-18px;--dy:-52px;width:6px;height:6px}.stamp-p-13{--dx:0px;--dy:-56px;width:4px;height:4px}.stamp-p-14{--dx:20px;--dy:-50px;width:5px;height:5px}.stamp-p-15{--dx:38px;--dy:-38px;width:4px;height:4px}.stamp-p-16{--dx:48px;--dy:-18px;width:6px;height:6px}.rank-stamp{border:3px double var(--accent-cyan);border-radius:var(--radius-sm,8px);width:88px;height:80px;color:var(--accent-cyan);text-align:center;-webkit-user-select:none;user-select:none;z-index:2;background:#06b6d41f;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;display:flex;position:relative;transform:rotate(-4deg);box-shadow:0 0 18px #06b6d459,inset 0 0 10px #06b6d433}.rank-stamp-label{text-transform:uppercase;letter-spacing:.06em;color:#a5f3fc;opacity:.95;font-size:.56rem;font-weight:800;line-height:1}.rank-stamp-icon{color:#22d3ee;justify-content:center;align-items:center;display:flex}.rank-stamp-icon-svg{width:28px;height:28px;display:block}@keyframes container-impact-shake{0%{transform:translate(0,0)}8%{transform:translate(-3.5px,2px)}16%{transform:translate(3px,-2px)}26%{transform:translate(-2.5px,1.5px)}38%{transform:translate(2px,-1px)}50%{transform:translate(-1.2px,.8px)}64%{transform:translate(.8px,-.5px)}78%{transform:translate(-.4px,.3px)}90%{transform:translate(.2px,-.1px)}to{transform:translate(0,0)}}@keyframes rank-slam{0%{opacity:0;filter:blur(5px);transform:scale(2.6)rotate(14deg)}45%{opacity:1;filter:blur();transform:scale(1)rotate(-4deg)}60%{transform:scale(.92,1.05)rotate(-5.5deg)}75%{transform:scale(1.03,.98)rotate(-3.5deg)}90%{transform:scale(.99,1.005)rotate(-4.2deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}@keyframes ring-radiate{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}1%{opacity:.95;transform:translate(-50%,-50%)scale(.4)}35%{opacity:.75}to{opacity:0;transform:translate(-50%,-50%)scale(2.6)}}@keyframes particle-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}15%{opacity:1;transform:translate(calc(-50% + var(--dx) * .3), calc(-50% + var(--dy) * .3)) scale(1.3)}50%{opacity:.85;transform:translate(calc(-50% + var(--dx) * .75), calc(-50% + var(--dy) * .75)) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.2);filter:blur(1px)}}@keyframes stamp-pop{0%{opacity:0;transform:scale(2)}60%{opacity:1;transform:scale(.9)}85%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.pl-screen--animating .rank-stamp{opacity:0;animation:.55s cubic-bezier(.2,.8,.25,1) 1.9s both rank-slam}.pl-screen--animating .stamp-impact-ring{opacity:0;animation:.85s cubic-bezier(.1,.8,.25,1) 2.15s both ring-radiate}.pl-screen--animating .stamp-particle{opacity:0;animation:.95s cubic-bezier(.12,.85,.25,1) 2.15s both particle-burst}.pl-screen--animating .pl-result-row:first-child .stamp-tick,.pl-screen--animating .pl-result-row:first-child .stamp-target{animation:.3s cubic-bezier(.2,.8,.25,1) .7s both stamp-pop}.pl-screen--animating .pl-result-row:nth-child(2) .stamp-tick,.pl-screen--animating .pl-result-row:nth-child(2) .stamp-target{animation:.3s cubic-bezier(.2,.8,.25,1) 1s both stamp-pop}.pl-screen--animating .pl-result-row:nth-child(3) .stamp-tick,.pl-screen--animating .pl-result-row:nth-child(3) .stamp-target{animation:.3s cubic-bezier(.2,.8,.25,1) 1.3s both stamp-pop}.pl-screen--animating .pl-result-row:nth-child(n+4) .stamp-tick,.pl-screen--animating .pl-result-row:nth-child(n+4) .stamp-target{animation:.3s cubic-bezier(.2,.8,.25,1) 1.5s both stamp-pop}[data-state=mid] .pl-screen--animating{animation:none!important}[data-state=mid] .rank-stamp,[data-state=mid] .stamp-impact-ring,[data-state=mid] .stamp-particle{opacity:0!important;visibility:hidden!important;animation:none!important}[data-state=mid] .stamp-tick,[data-state=mid] .stamp-target{opacity:1!important;animation:none!important;transform:none!important}@media (prefers-reduced-motion:reduce){.pl-screen--animating{animation:none!important;transform:none!important}.pl-screen--animating .rank-stamp{opacity:1!important;filter:none!important;animation:none!important;transform:rotate(-4deg)!important}.pl-screen--animating .stamp-tick,.pl-screen--animating .stamp-target{opacity:1!important;animation:none!important;transform:none!important}.stamp-particles{display:none!important}}.pl-btn{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);min-height:48px;color:var(--text-main);cursor:pointer;padding:.7rem 1rem;font-size:1rem;font-weight:600}.pl-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.pl-help{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;animation:.25s ease-out both pl-fade;display:flex}.pl-btn--ask,.pl-btn--hint{min-height:40px;padding:.45rem .8rem;font-size:.9rem;font-weight:600}.pl-ask-note{overflow-wrap:anywhere;min-width:0;color:var(--text-muted);margin:0;font-size:.85rem}.pl-deep-title{color:var(--text-main);margin:.6rem 0 .2rem;font-size:.95rem}.pl-deep-why,.pl-deep-note{color:var(--text-muted);margin:0;font-size:.9rem}.pl-deep-pair{color:var(--text-main);margin:.2rem 0;font-size:.95rem}.pl-btn:disabled{opacity:.45;cursor:not-allowed}.pl-report{color:var(--text-main);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@media not all and (width<=1024px){.pl-report{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.pl-report-head{flex-wrap:wrap;grid-column:1/-1;gap:1.5rem;display:flex}.pl-report-stat{flex-direction:column;display:flex}.pl-report-stat strong{font-size:1.4rem}.pl-report-rounds{flex-direction:column;gap:.5rem;display:flex}.pl-report-round>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.75rem;min-height:44px;display:flex}.pl-report-items{flex-direction:column;gap:.3rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.pl-report-item{justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.pl-report-mark{text-align:right}@media (width<=480px){.pl-report-item{flex-direction:column;gap:.1rem;padding-bottom:.3rem}.pl-report-mark{text-align:left}}.pl-report-item[data-correct=true] .pl-report-mark{color:var(--accent-emerald)}.pl-report-item[data-correct=false] .pl-report-mark{color:var(--accent-amber)}.pl-tcard-body .pl-report-head{display:none}.pl-roster{flex-direction:column;gap:.5rem;display:flex}.pl-student>summary,.pl-student--idle{flex-wrap:wrap;align-items:center;gap:.4rem .75rem;min-height:44px;display:flex}.pl-student--idle{opacity:.8;justify-content:space-between}.pl-student>summary{cursor:pointer}.pl-tcard-body{flex-direction:column;gap:.5rem;margin-top:.6rem;display:flex}.pl-hint{border:1px solid var(--border-color);border-radius:var(--radius-sm,8px);background:var(--bg-card);gap:.25rem;padding:.75rem .9rem;display:grid}.pl-hint-title{color:var(--text-main)}.pl-learn{gap:.4rem;display:grid}.pl-learn-examples{color:var(--text-main);margin:0;padding-left:1.1rem}.pl-actions{flex-wrap:wrap;justify-content:space-between;gap:.6rem;display:flex}.pl-sessions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}@media not all and (width<=768px){.pl-sessions{grid-template-columns:repeat(3,minmax(0,1fr))}}.pl-session{text-align:left;cursor:pointer;color:var(--text-main);align-content:start;gap:.15rem;padding:.65rem .75rem;display:grid}.pl-session>strong{font-size:.95rem}.pl-session>.pl-note{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.3;display:-webkit-box;overflow:hidden}.pl-session[data-inprogress=true]{border-color:var(--accent-cyan)}.pl-session[data-state=done]{background-image:linear-gradient(#10b9811a,#10b9811a);position:relative}.pl-session-stamp{border:1.5px solid var(--accent-emerald);width:1.4rem;height:1.4rem;color:var(--accent-emerald);background:#10b98129;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;line-height:1;display:inline-flex;position:absolute;top:.45rem;right:.5rem;transform:rotate(-8deg)}.pl-session[data-just-done=true] .pl-session-stamp{animation:.55s cubic-bezier(.2,.9,.3,1.2) .15s both pl-stamp-settle}.pl-session[data-just-done=true]{animation:1.2s ease-out .1s both pl-done-wash}@keyframes pl-stamp-settle{0%{opacity:0;transform:scale(2)rotate(-24deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}@keyframes pl-done-wash{0%{box-shadow:0 0 #10b98173}to{box-shadow:0 0 0 10px #10b98100}}@media (prefers-reduced-motion:reduce){.pl-session[data-just-done=true],.pl-session[data-just-done=true] .pl-session-stamp{animation:none}}.pl-session-mark .pl-note{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.pl-learn,.pl-session{min-height:2.75rem}.pl-hero{text-align:center;flex-direction:column;align-items:center;gap:.25rem;display:flex}.pl-hero .hero-art{--hero-art-size:150px}.pl-hero-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-emerald);margin:.4rem 0 0;font-size:.72rem;font-weight:700}.pl-hero--partial .pl-hero-kicker{color:var(--accent-amber,#fbbf24)}.pl-hero-title{margin:0}.pl-hero-sub{color:var(--text-muted);margin:0;font-size:.85rem}.pl-ba{justify-content:center;align-items:center;gap:.9rem;padding:.6rem .9rem;display:flex}.pl-ba-col{flex-direction:column;align-items:center;gap:.1rem;display:flex}.pl-ba-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:.65rem}.pl-ba-num{font-variant-numeric:tabular-nums;font-size:1.7rem}.pl-ba-num--start{color:var(--accent-amber,#fbbf24)}.pl-ba-num--end{color:var(--accent-emerald)}.pl-ba-arrow{color:var(--text-muted);font-size:1.3rem}.pl-ba-hint{text-align:center;color:var(--accent-emerald);margin:0;font-size:.8rem}.pl-ideas-results{flex-direction:column;gap:.5rem;display:flex}.pl-ideas-results .pl-result-row{border:1px solid var(--border-color);border-radius:var(--radius-md,12px);background:var(--bg-card);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.9rem;display:grid}.pl-ideas-results .pl-idea-row--todo{background:#fbbf240f;border-color:#fbbf2473}.pl-idea-note{color:var(--accent-amber,#fbbf24);margin-top:.1rem;font-size:.72rem;display:block}.pl-idea-flow{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.82rem}.pl-attempt-caption{text-align:center;color:var(--text-muted);margin:0;font-size:.72rem}.pl-btn--unsure{border:1px solid var(--accent-cyan);min-height:48px;color:var(--accent-cyan);background:#06b6d41f;align-self:stretch;font-weight:600}#teacherPrepositionsContainer{font-size:12px;line-height:1.35}.ptc-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.ptc-title{flex:auto;margin:0;font-size:15px;font-weight:600}.ptc-h{margin:.4rem 0;font-size:15px}.ptc-counts,.ptc-muted{color:var(--text-muted);margin:.25rem 0}.ptc-legend{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;flex-wrap:wrap;gap:16px;margin:8px 0 12px;padding:6px 12px;font-size:11px;display:flex}.summary-strip{background:var(--bg-card);border:1px solid #6366f14d;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:8px 12px;font-size:12px;display:flex}.strip-main{color:var(--text-main);flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.strip-tag{color:#c7d2fe;background:#6366f133;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.strip-alerts{flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.strip-alert-pill{color:var(--accent-amber,#fbbf24);background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:4px;padding:2px 6px;font-weight:600}.ptc-select,.ptc-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-main);border-radius:3px;padding:3px 8px;font-size:12px}.ptc-btn{cursor:pointer}.ptc-link{color:var(--text-main);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}@media (hover:hover){.ptc-link:hover{text-decoration:underline}}.ptc-scroll{border:1px solid var(--border-color);border-radius:3px;max-height:72vh;overflow:auto}.ptc-table{border-collapse:collapse;width:100%}.ptc-table th,.ptc-table td{border-bottom:1px solid var(--border-color);text-align:left;vertical-align:top;white-space:nowrap;padding:3px 8px}.ptc-table th{color:var(--text-muted);font-weight:500}.ptc-table--status{table-layout:fixed;min-width:700px}.ptc-table--status th:first-child{width:37%}.ptc-table--status th:nth-child(2){width:16%}.ptc-table--status th:nth-child(3),.ptc-table--status th:nth-child(4){width:17%}.ptc-table--status th:nth-child(5){width:13%}.ptc-num{font-variant-numeric:tabular-nums;text-align:right!important}.ptc-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:0}.ptc-grid thead{z-index:3;background:var(--bg-card);position:sticky;top:0}.ptc-grid thead th{background:var(--bg-surface-opaque,#151e30);border-bottom:1px solid var(--border-color)}.ptc-grid .ptc-corner,.ptc-grid .ptc-idea-label{background:var(--bg-surface-opaque,#151e30);z-index:1;white-space:nowrap;border-right:1px solid var(--border-color);width:1%;min-width:150px;position:sticky;left:0}.ptc-grid thead .ptc-corner{z-index:4}.ptc-grid th.ptc-student{text-align:center;vertical-align:top;border-left:1px solid var(--border-color);white-space:normal;width:42px;min-width:42px;max-width:42px;padding:4px 1px;font-size:11px}.ptc-grid th.ptc-student .ptc-link{flex-direction:column;align-items:center;gap:4px;width:100%;font-size:11px;line-height:1.25;display:flex}.ptc-name-v{writing-mode:vertical-rl;white-space:nowrap;text-overflow:ellipsis;max-height:8.5rem;overflow:hidden;transform:rotate(180deg)}.ptc-grid thead .ptc-num{border-left:1px solid var(--border-color);width:42px;min-width:42px;max-width:42px;color:var(--text-muted);padding:2px;font-size:11px;text-align:center!important}.ptc-grid thead .ptc-secure-hdr,.ptc-secure-col{white-space:normal;width:78px;min-width:78px;padding:3px 6px;line-height:1.25;text-align:right!important}.ptc-secure-hdr-line{white-space:nowrap;display:block}.ptc-secure-hdr-line--nowrap{white-space:nowrap;justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.ptc-grid thead th.ptc-count-cell,.ptc-grid tbody td.ptc-count-cell{letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;padding-left:1px;padding-right:1px;font-size:10px;overflow:hidden}.ptc-grid .ptc-group{text-align:center;border-left:1px solid var(--border-color);color:var(--text-muted);padding:2px 4px;font-size:11px;font-weight:600}.ptc-grid .ptc-band{background:var(--bg-surface-opaque,#151e30)}.ptc-grid .ptc-band-cell{background:var(--bg-surface-opaque,#151e30);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);color:var(--text-main);text-align:left;z-index:1;padding:6px 8px;font-size:12px;font-weight:700;position:sticky;left:0}.ptc-cell{border-left:1px solid var(--border-color);width:42px;min-width:42px;max-width:42px;color:var(--text-dim);font-weight:600;text-align:center!important;padding:3px 0!important}.ptc-grid .ptc-secure{border-left:1px solid var(--border-color);font-variant-numeric:tabular-nums;width:78px;min-width:78px;padding:3px 8px;text-align:right!important}.ptc-cell--secure{color:var(--accent-emerald);background:#10b9811f}.ptc-cell--getting-there{color:var(--accent-amber);background:#f59e0b24}.ptc-cell--needs-work{color:var(--accent-red);background:#f8717124}.ptc-cell--unverified{color:var(--text-dim);text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ptc-band-toggle{padding:0}.ptc-band-toggle:before{content:"▾ "}.ptc-band-toggle[aria-expanded=false]:before{content:"▸ "}.ptc-set-summary{border-left:1px solid var(--border-color);width:42px;min-width:42px;max-width:42px;color:var(--text-dim);font-weight:600;text-align:center!important;padding:3px 0!important}.ptc-set-summary[data-status=secure]{color:var(--accent-emerald)}.ptc-set-summary[data-status=partial]{color:var(--accent-amber)}.ptc-more-bar{align-items:center;gap:8px;margin:8px 0;display:flex}.ptc-appear{animation:.2s ease-out pl-fade}@media (prefers-reduced-motion:reduce){.ptc-appear{animation:none}}.ptc-amber{color:var(--accent-amber)}.ptc-lower{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px;display:grid}.ptc-box{border:1px solid var(--border-color);border-radius:3px;min-width:0;margin-bottom:12px;padding:6px 8px;overflow-x:auto}.ptc-lower .ptc-box{margin-bottom:0}.ptc-box-h{color:var(--text-muted);margin:0 0 4px;font-size:12px;font-weight:600}.ptc-pick{cursor:pointer}@media (hover:hover){.ptc-pick:hover td{background:var(--bg-card-hover)}}.ptc-lesson{border-top:1px solid var(--border-color);margin-top:8px;padding-top:6px}.ptc-lesson p,.ptc-lesson ul{margin:3px 0}.ptc-lesson ul{padding-left:1.1rem}.ptc-run{border-top:1px solid var(--border-color)}.ptc-run-head,.ptc-run-sum{font-variant-numeric:tabular-nums;grid-template-columns:37% 16% 17% 17% 13%;min-width:700px;display:grid}.ptc-run-head{color:var(--text-muted);border-bottom:1px solid var(--border-color);font-weight:500}.ptc-run-head>span,.ptc-run-sum>span{white-space:nowrap;padding:3px 8px}.ptc-run-sum{cursor:pointer;list-style:none}.ptc-run-sum::-webkit-details-marker{display:none}.ptc-run-sum>span:first-child:before{content:"▸";width:1.1em;color:var(--text-muted);display:inline-block}.ptc-run[open] .ptc-run-sum>span:first-child:before{content:"▾"}@media (hover:hover){.ptc-run-sum:hover{background:var(--bg-card-hover)}}.ptc-run-sum:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:-2px}.ptc-run-body{padding:6px 0 0}.ptc-run-meta{color:var(--text-muted);flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;display:flex}@media (width<=480px){.ptc-lower{grid-template-columns:1fr}}.ptc-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.ptc-form{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.ptc-field{gap:2px;display:grid}.ptc-assigned{margin-top:12px}.ptc-subnav{border-bottom:1px solid var(--border-color);flex-wrap:wrap;align-items:baseline;gap:4px;margin-bottom:8px;display:flex}.ptc-subnav-right{align-items:baseline;gap:8px;margin-left:auto;display:flex}.ptc-subnav-right .ptc-tab-note{text-align:right;margin:0;font-style:italic}@media (width<=768px){.ptc-subnav-right--note{flex-basis:100%;min-width:0;margin-left:0}.ptc-subnav-right--note .ptc-tab-note{text-align:left}}.ptc-subnav-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:3px 10px;font-size:12px;font-weight:500}@media (hover:hover){.ptc-subnav-btn:hover{color:var(--text-main)}}.ptc-subnav-btn.active,.ptc-subnav-btn[aria-selected=true]{color:var(--text-main);border-bottom-color:var(--primary,#6366f1)}.ptc-subnav-csv,.ptc-root .ptc-subnav-csv{box-shadow:none;font-family:inherit;font-size:12px;font-weight:500;line-height:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:0;padding:3px 10px}.ptc-subnav-csv:focus,.ptc-root .ptc-subnav-csv:focus{color:var(--text-main)}@media (hover:hover){.ptc-subnav-csv:hover,.ptc-root .ptc-subnav-csv:hover{color:var(--text-main)}}.ptc-subnav-csv:focus-visible,.ptc-root .ptc-subnav-csv:focus-visible{outline:2px solid var(--primary,#6366f1);outline-offset:1px}.ptc-subnav-csv:focus:not(:focus-visible),.ptc-root .ptc-subnav-csv:focus:not(:focus-visible){outline:none}.ptc-assignments-summary{border:1px solid var(--accent-cyan);background:var(--bg-card);border-radius:3px;margin:6px 0 10px;padding:6px 10px}.ptc-assignments-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.ptc-assignments-title{margin:0;font-size:13px;font-weight:600}.ptc-assignments-count{text-align:right}.ptc-assigned-table{border-collapse:collapse;width:100%;min-width:360px}.ptc-assign-actions{text-align:right;white-space:nowrap}.prog-bar-wrap{align-items:center;gap:8px;width:190px;display:flex}.prog-track{background:#ffffff1a;border-radius:3px;flex:1;height:6px;overflow:hidden}.prog-fill{background:var(--accent-emerald,#10b981);border-radius:3px;height:100%;transition:width .2s ease-out}.prog-text{font-variant-numeric:tabular-nums;color:var(--text-muted);width:55px;font-size:11px}.assign-details-row{background:#0f162499}.assign-details-row td{border-bottom:2px solid var(--border-color);padding:10px 14px!important}.assign-two-lists{background:#131b2e;border:1px solid #ffffff14;border-radius:6px;grid-template-columns:1fr 1fr;gap:16px;padding:10px 14px;display:grid}.assign-list-block{font-size:11px}.assign-list-head{align-items:center;gap:6px;margin-bottom:4px;font-size:11px;font-weight:700;display:flex}.assign-list-head--pending{color:var(--accent-amber,#fbbf24)}.assign-list-head--completed{color:var(--accent-emerald,#10b981)}.assign-list-names{color:var(--text-muted);line-height:1.4}@media (width<=768px){.assign-two-lists{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.prog-fill{transition:none!important}}.ptc-sets-table{margin-bottom:12px}.ptc-set-num{width:150px;font-weight:600}.ptc-set-ideas{white-space:normal}.ptc-set-qcount{width:60px}.ptc-set-assigned{white-space:normal;color:var(--text-muted)}.ptc-actions{white-space:nowrap;width:150px}.ptc-set-details-row>td,.ptc-set-assign-row>td{white-space:normal;max-width:0}.ptc-details-wrap .ptc-table th,.ptc-details-wrap .ptc-table td{white-space:normal}.ptc-details-wrap{box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border-color);border-radius:3px;max-width:100%;padding:8px 12px;animation:.2s ease-out pl-fade;overflow-x:auto}@media (prefers-reduced-motion:reduce){.ptc-details-wrap{animation:none}}.ptc-details-assigned{border-bottom:1px solid var(--border-color);margin-bottom:10px;padding-bottom:8px}.ptc-details-idea{border-top:1px solid var(--border-color);margin-top:10px;padding-top:8px}.ptc-details-idea:first-of-type{border-top:none;margin-top:4px;padding-top:0}.ptc-details-h{margin:4px 0;font-size:13px;font-weight:600}.ptc-rule{margin:2px 0 4px}.ptc-parts-list{margin:4px 0;padding-left:18px}.ptc-fold{margin:3px 0}.ptc-fold-sum{cursor:pointer;color:var(--text-muted);font-size:12px}.ptc-fold[open]>.ptc-fold-sum{color:var(--text-main)}.ptc-fold-body{margin:2px 0 4px 14px;animation:.2s ease-out pl-fade}@media (prefers-reduced-motion:reduce){.ptc-fold-body{animation:none}}.ptc-deeper{margin:4px 0}.ptc-sources{margin:4px 0 8px}.ptc-q-table{margin:6px 0 10px;font-size:11px}.ptc-q-sentence{white-space:normal}.ptc-reports-section{margin-top:16px}.ptc-report-intro{margin:4px 0 10px;font-size:12px;line-height:1.4}.ptc-reports-ctrl-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.ptc-report-filter{align-items:center;gap:6px;display:inline-flex}.ptc-filter-btn{cursor:pointer;font-size:12px;font-weight:500}.ptc-filter-btn--active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.ptc-sort-btn{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}@media (hover:hover){.ptc-sort-btn:hover{color:var(--text-main)}}.ptc-sort-btn:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:1px}.ptc-sort-arrow{color:var(--text-dim);font-size:10px}.ptc-filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.ptc-filter-group{align-items:center;gap:4px;display:inline-flex}.ptc-copy-all-wrap{align-items:center;gap:8px;display:inline-flex}.ptc-btn-copy-all,.ptc-btn-copy,.ptc-btn-action{cursor:pointer;font-size:12px}@media (hover:hover){.ptc-btn-action:hover:not(:disabled),.ptc-btn-copy:hover:not(:disabled),.ptc-btn-copy-all:hover:not(:disabled){background:var(--bg-card-hover)}}.ptc-report-group{border:1px solid var(--border-color);background:var(--bg-card);border-radius:4px;margin-bottom:10px;padding:10px 12px;transition:opacity .2s,transform .2s}.ptc-report-group--leaving{opacity:0;transform:translateY(-6px)}@media (prefers-reduced-motion:reduce){.ptc-report-group{transition:none}}.ptc-report-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.ptc-report-idea{color:var(--text-main);font-size:13px;font-weight:600}.ptc-report-status{background:var(--bg-main);border:1px solid var(--border-color);color:var(--text-muted);border-radius:3px;padding:2px 6px;font-size:11px;font-weight:600}.ptc-report-status--open{color:var(--accent-amber);border-color:#f59e0b4d}.ptc-report-status--triaged{color:var(--accent-cyan);border-color:#22d3ee4d}.ptc-report-status--fixed{color:var(--accent-emerald);border-color:#10b9814d}.ptc-report-status--dismissed{color:var(--text-dim)}.ptc-report-question{background:var(--bg-main);border-left:2px solid var(--primary);border-radius:2px;flex-direction:column;gap:3px;margin:6px 0;padding:6px 8px;display:flex}.ptc-report-sentence{color:var(--text-main);font-size:12px}.ptc-report-blank{text-align:center;border-bottom:1.5px solid var(--text-muted);min-width:2.2rem;color:var(--text-dim);margin:0 3px;font-weight:600;display:inline-block}.ptc-report-options{color:var(--text-muted);font-size:11px}.ptc-report-keyed{color:var(--accent-emerald);font-weight:700}.ptc-report-reasons{color:var(--text-muted);margin:4px 0;font-size:11px}.ptc-report-notes{margin:6px 0;font-size:11px}.ptc-report-notes-list{color:var(--text-main);margin:2px 0 0;padding-left:16px}.ptc-report-note-item{margin:2px 0}.ptc-reporter-role{color:var(--accent-cyan);font-weight:400}.ptc-reporter-role[data-role=teacher]{font-weight:700}.ptc-report-admin-note-row{margin:6px 0}.ptc-admin-note-input{box-sizing:border-box;width:100%;max-width:480px}.ptc-report-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.ptc-report-expl{margin:4px 0 0;font-size:11px}.ptc-report-confirm{color:var(--accent-emerald);font-size:11px;font-weight:600}.ptc-report-feedback{align-items:center;margin-left:4px;display:inline-flex}.pl-card .pl-options,.pl-card .pl-feedback{margin-top:.6rem}@keyframes pl-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pl-fade{0%{opacity:0}to{opacity:1}}@keyframes pl-pop{0%{transform:scale(.96)}60%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes pl-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes pl-fill{0%{opacity:.4;transform:scaleX(.4)}to{opacity:1;transform:scaleX(1)}}.pl-screen.pl-enter{animation:.28s ease-out both pl-rise}.pl-feedback,.pl-hint{animation:.3s ease-out 80ms both pl-rise}.pl-option{transition:background-color .15s,border-color .15s}.pl-option--right.pl-option--new{animation:.34s ease-out both pl-pop}.pl-option--wrong.pl-option--new{animation:.3s ease-out both pl-shake}.pl-gap[data-filled=true]{animation:.25s ease-out both pl-fade}.pl-bar-fill{transform-origin:0;animation:.45s ease-out both pl-fill}.pl-session{animation:.32s ease-out both pl-rise}.pl-session:nth-child(2){animation-delay:60ms}.pl-session:nth-child(3){animation-delay:.12s}.pl-score{animation:.4s ease-out .1s both pl-pop}@media (prefers-reduced-motion:reduce){.pl-screen.pl-enter,.pl-feedback,.pl-hint,.pl-help,.pl-option--new,.pl-gap[data-filled=true],.pl-bar-fill,.pl-session,.pl-score,.pl-mastered{animation:none}.pl-fold-body,.pl-fold-arrow,.pl-report-body{transition:none}}.pl-learn-part{gap:.2rem;margin-bottom:.7rem;display:grid}.pl-learn-title,.pl-rule-heading{color:#fff;margin:0;font-size:1.05rem;font-weight:700}.pl-learn-part .pl-learn-examples{margin:0}.pl-learn-rule,.pl-rule-text{color:var(--text-muted);margin:.2rem 0 .4rem}.pl-learn-rule strong,.pl-rule-text strong{color:var(--text-muted);font-weight:600}.pl-rule-highlight,.pl-rule-pattern{color:var(--accent-emerald);font-weight:700}.pl-fix{color:var(--text-main)}.pl-fix-wrong{color:var(--accent-amber);text-decoration:line-through}.pl-fix-right{color:var(--accent-emerald)}@media (width<=480px){.pl-screen[data-screen=rule-page]{gap:.35rem}.pl-screen[data-screen=rule-page] .pl-card{padding:.65rem 1rem}.pl-screen[data-screen=rule-page] .pl-try>.pl-eyebrow{display:none}.pl-screen[data-screen=rule-page] .pl-learn{gap:.25rem}.pl-screen[data-screen=rule-page] .pl-learn-part{gap:.1rem;margin-bottom:.2rem}.pl-screen[data-screen=rule-page] .pl-learn-title{font-size:.95rem}.pl-screen[data-screen=rule-page] .pl-learn-rule{margin:0 0 .1rem}.pl-screen[data-screen=rule-page] .pl-eyebrow{margin-bottom:0}.pl-screen[data-screen=rule-page] .pl-stage-row{gap:.2rem}.pl-screen[data-screen=rule-page] .pl-sentence{font-size:1.15rem}.pl-screen[data-screen=rule-page] .pl-options{gap:.3125rem;margin-top:.25rem}.pl-screen[data-screen=rule-page] .pl-option{min-height:44px;padding-top:.5rem;padding-bottom:.5rem}}.ptc-wrong{color:var(--accent-red);font-weight:600}.ptc-box--orange{border-color:var(--accent-amber)}.pl-btn--next-glow{border-color:var(--accent-purple);color:#fff;background:linear-gradient(135deg, var(--accent-purple), #d946ef);animation:2.4s ease-in-out infinite pl-next-glow;position:relative;overflow:hidden;box-shadow:0 0 14px #a855f78c,0 0 28px #d946ef4d}.pl-btn--next-glow:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#fff6 50%,#0000 70%);animation:2.4s ease-in-out infinite pl-next-shimmer;position:absolute;inset:0;transform:translate(-120%)}@keyframes pl-next-glow{0%,to{box-shadow:0 0 10px #a855f773,0 0 20px #d946ef38}50%{box-shadow:0 0 20px #a855f7cc,0 0 38px #d946ef73}}@keyframes pl-next-shimmer{0%,35%{transform:translate(-120%)}75%,to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.pl-btn--next-glow,.pl-btn--next-glow:after{animation:none}}.pl-result-table tbody th{white-space:nowrap;font-size:clamp(.6rem,2.7vw,.9rem)}.pl-result-table th:first-child{width:auto}.pl-result-table th:nth-child(2),.pl-result-table td:nth-child(2){width:3.3rem}.pl-result-table th:nth-child(3),.pl-result-table td:nth-child(3){width:5.4rem}.pl-result-table th,.pl-result-table td{padding-left:.25rem;padding-right:.25rem}.pl-result-table .pl-result-mark{min-width:0}#studentPrepositionsSection{animation:.3s cubic-bezier(.16,1,.3,1) prepositionsFadeIn}@keyframes prepositionsFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){#studentPrepositionsSection{animation:none!important;transform:none!important}}.pl-session-mark{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.pl-pill{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;padding:.12rem .65rem;font-size:.74rem;font-weight:700;line-height:1.5;animation:.2s ease-out pl-fade;display:inline-block}.pl-pill--progress{color:#67e8f9;border-color:var(--accent-cyan);background:#06b6d429}.pl-pill--done{color:var(--accent-emerald);border-color:var(--accent-emerald);background:#10b98124}@media (prefers-reduced-motion:reduce){.pl-pill{animation:none}}.ptc-lbl-ok{color:var(--accent-emerald)!important}.ptc-lbl-warn{color:var(--accent-amber)!important}.ptc-secure-hdr.ptc-lbl-ok{font-weight:700!important}.ptc-key-ok{color:var(--accent-emerald);font-weight:700}.ptc-key-amber{color:var(--accent-amber);font-weight:700}.ptc-key-red{color:var(--accent-red);font-weight:700}.ptc-key-nodata{color:var(--text-dim);font-weight:700}.ptc-link--brand{color:var(--accent-purple)}.ptc-link--underline{text-underline-offset:2px;text-decoration:underline}.ptc-grid{table-layout:auto;width:100%}.ptc-col-label{width:200px;min-width:160px;max-width:220px}.ptc-col-student{width:42px}.ptc-col-secure{width:78px}.ptc-grid th.ptc-student,.ptc-grid td.ptc-cell{width:42px;min-width:42px;max-width:42px}.ptc-box .ptc-table th.ptc-num,.ptc-box .ptc-table td.ptc-num{white-space:nowrap;width:78px;min-width:78px;text-align:right!important}.ptc-box .ptc-table td{white-space:normal}.ptc-attn-detail{overflow-wrap:break-word;max-width:260px;color:var(--text-muted);line-height:1.35;white-space:normal!important}.ptc-attn-name{white-space:nowrap;font-weight:500}.ptc-attn-reason{white-space:normal}.ptc-howto-body p{color:var(--text-muted);margin:4px 0;font-size:12px;line-height:1.45}.ptc-sets-table td.ptc-set-ideas,.ptc-sets-table td.ptc-set-assigned{white-space:normal}.ptc-root{font-size:12px;line-height:1.4}.ptc-root .ptc-table th,.ptc-root .ptc-table td{font-size:12px}.ptc-root .ptc-btn,.ptc-root .ptc-link{font-size:12px;font-weight:400}.ptc-info{vertical-align:middle;margin-left:6px;display:inline-block;position:relative}.ptc-info-btn{color:var(--text-muted);cursor:help;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.ptc-info-btn:focus-visible{color:var(--text-main)}@media (hover:hover){.ptc-info-btn:hover{color:var(--text-main)}}.ptc-info-pop{z-index:20;border:1px solid var(--border-color);background:var(--bg-surface-opaque,#151e30);width:280px;color:var(--text-main);text-transform:none;opacity:0;visibility:hidden;border-radius:4px;margin-top:4px;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .15s;position:absolute;top:100%;left:0}.ptc-info:focus-within .ptc-info-pop,.ptc-info:active .ptc-info-pop{opacity:1;visibility:visible}@media (hover:hover){.ptc-info:hover .ptc-info-pop{opacity:1;visibility:visible}}.ptc-report-saved-note{margin:4px 0}.ptc-grid.ptc-grid--compact{width:max-content;min-width:0}.ptc-sets-table .ptc-set-row.is-open td{background:#6366f10d}.ptc-sets-table .ptc-set-details-row>td{padding:0}.ptc-idea-title{color:var(--text-main);margin-bottom:3px;font-size:13px;font-weight:700}.ptc-rule{color:var(--text-muted)}.ptc-fold-sum{font-weight:600}.ptc-fold-body{border-left:2px solid #ffffff14;padding-left:10px}.ptc-parts-list{padding-left:0;list-style:none}.ptc-parts-list li{color:var(--text-muted);margin:3px 0}.ptc-parts-list strong{color:var(--text-main);font-weight:600}.ptc-counter-ex{flex-direction:column;gap:3px;margin:6px 0 4px;display:flex}.ptc-counter-item{color:var(--text-muted)}del.ptc-wrong{color:var(--accent-red);font-weight:600;text-decoration:line-through}.ptc-right{color:var(--accent-emerald);font-weight:700}.ptc-deeper-compare{color:var(--text-muted);font-size:11px}.ptc-deeper-compare strong{color:var(--accent-cyan,#06b6d4)}.ptc-q-num,.ptc-q-diff{color:var(--text-muted);width:60px}.ptc-q-keyed{color:var(--accent-emerald);font-weight:700}.ptc-q-options{color:var(--text-muted);width:160px}.ptc-sources-list{color:var(--text-muted);margin:0;padding-left:16px;font-size:11px;font-style:italic}.ptc-type-badge{color:var(--accent-cyan,#06b6d4);letter-spacing:.4px;text-transform:uppercase;background:#06b6d41a;border:1px solid #06b6d466;border-radius:3px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.ptc-target-name{color:var(--accent-cyan,#06b6d4)}.ptc-due--overdue{color:var(--accent-amber);font-weight:700}.ptc-due--none{color:var(--text-dim,var(--text-muted))}.ptc-assigned-table .prog-track{height:4px}.prog-bar-wrap[data-state=partial] .prog-fill{background:var(--accent-amber)}.prog-bar-wrap[data-state=complete] .prog-text{color:var(--accent-emerald);font-weight:700}.ptc-reason-badge{border:1px solid var(--border-color);color:var(--text-muted);border-radius:3px;margin-right:5px;padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.ptc-reason-badge[data-tone=bad]{color:var(--accent-red);background:#f8717114;border-color:#f8717166}.ptc-reason-badge[data-tone=warn]{color:var(--accent-amber);background:#f59e0b14;border-color:#f59e0b66}.ptc-srows{border:1px solid var(--border-color);border-radius:8px;margin:12px 0}.ptc-srows-sum{cursor:pointer;padding:6px 2px;font-weight:600;list-style-position:inside}.ptc-srow-head,.ptc-srow-sum{grid-template-columns:2fr 1.5fr 1.5fr 1.2fr;gap:8px;padding:6px 10px;font-size:13px;display:grid}.ptc-srow-head{color:var(--text-muted);font-size:12px}.ptc-srow-sum{cursor:pointer}.ptc-srow+.ptc-srow{border-top:1px solid var(--border-color)}.ptc-srow-body{color:var(--text-muted);padding:4px 14px 10px;font-size:12px}.ptc-srow-runs{margin:0;padding-left:18px}.ptc-content-editor{flex-direction:column;gap:1rem;animation:.2s ease-out pl-fade;display:flex}@media (prefers-reduced-motion:reduce){.ptc-content-editor,.ptc-publish-panel,.ptc-idea-card,.ptc-item-edit-form,.ptc-idea-edit-form,.ptc-revision-history{animation:none!important}}.ptc-content-head{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;padding-bottom:.5rem;display:flex}.ptc-content-title-block h3{margin:0 0 .2rem}.ptc-content-head-actions{align-items:center;gap:.5rem;display:flex}.ptc-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:2px 6px;font-size:11px;font-weight:600;line-height:1.2;display:inline-block}.ptc-badge--draft{color:var(--accent-amber,#f59e0b);background:#f59e0b24;border:1px solid #f59e0b59}.ptc-badge--fixed-in-draft{color:var(--accent-emerald,#10b981);background:#10b98124;border:1px solid #10b98159}.ptc-btn--publish.ptc-btn--active{border-color:var(--accent-amber,#f59e0b);color:var(--accent-amber,#f59e0b)}.ptc-publish-panel{background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;padding:.9rem 1rem;animation:.2s ease-out pl-fade}.ptc-pending-drafts-list{flex-direction:column;gap:.4rem;margin:.6rem 0;display:flex}.ptc-pending-draft-row{border:1px solid var(--border-color);background:#1e293b;border-radius:3px;flex-direction:column;gap:.15rem;padding:.45rem .65rem;font-size:12px;display:flex}.ptc-pending-title{color:var(--text-main);font-size:12px;font-weight:600}.ptc-pending-detail{color:var(--text-muted);font-family:monospace;font-size:11px}.ptc-publish-checks{border:1px solid var(--border-color);background:#1e293b;border-radius:4px;margin:.75rem 0;padding:.75rem}.ptc-checks-title{color:var(--text-main);margin:0 0 .5rem;font-size:13px;font-weight:600}.ptc-checks-summary{border-radius:3px;margin-bottom:.6rem;padding:.4rem .6rem;font-size:12px;font-weight:500}.ptc-checks-summary--pass{color:var(--accent-emerald,#10b981);background:#10b9811f;border:1px solid #10b98159}.ptc-checks-summary--warning{color:var(--accent-amber,#f59e0b);background:#f59e0b1f;border:1px solid #f59e0b59}.ptc-checks-summary--blocked{color:#ef4444;background:#ef44441f;border:1px solid #ef444459}.ptc-checks-list{flex-direction:column;gap:.4rem;display:flex}.ptc-check-row{background:var(--bg-card);border:1px solid var(--border-color);border-radius:3px;flex-direction:column;gap:.2rem;padding:.4rem .6rem;font-size:12px;display:flex}.ptc-check-row--blocked{border-color:#ef444466}.ptc-check-row--warning{border-color:#f59e0b66}.ptc-check-row-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ptc-check-target{color:var(--text-main);font-size:12px;font-weight:600}.ptc-check-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:700;display:inline-block}.ptc-check-badge--pass{color:var(--accent-emerald,#10b981);background:#10b98126}.ptc-check-badge--warning{color:var(--accent-amber,#f59e0b);background:#f59e0b26}.ptc-check-badge--blocked{color:#ef4444;background:#ef444426}.ptc-check-citations{font-size:11px}.ptc-check-errors{color:#ef4444;font-size:11px}.ptc-check-warnings{color:var(--accent-amber,#f59e0b);font-size:11px}.ptc-evidence-field{flex-direction:column;gap:.25rem;display:flex}.ptc-evidence-summary{border:1px solid var(--border-color);background:#1e293b;border-radius:3px;flex-direction:column;gap:.35rem;padding:.45rem .6rem;font-size:12px;display:flex}.ptc-evidence-head-summary{color:var(--text-muted);font-size:11px;font-weight:600}.ptc-evidence-list{flex-direction:column;gap:.25rem;display:flex}.ptc-evidence-item{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:11px;display:flex}.ptc-evidence-src{color:var(--text-main);font-weight:500}.ptc-confirm-label{cursor:pointer;align-items:center;gap:.45rem;margin:.6rem 0;font-size:12px;display:flex}.ptc-publish-result{margin-top:.5rem;font-size:12px}.ptc-ideas-container{flex-direction:column;gap:1rem;display:flex}.ptc-idea-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;padding:.75rem 1rem;animation:.2s ease-out pl-fade}.ptc-idea-head{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-bottom:.5rem;display:flex}.ptc-idea-title-row{align-items:center;gap:.5rem;display:flex}.ptc-idea-title{font-size:13px;font-weight:600}.ptc-idea-id-badge{color:var(--text-dim);font-family:monospace;font-size:11px}.ptc-idea-rule-line{flex:100%;margin:.15rem 0;font-size:12px}.ptc-idea-rule-text{color:var(--text-main)}.ptc-items-list{flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}.ptc-item-row{border-radius:3px;grid-template-columns:140px 1fr 180px 130px;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:12px;transition:background .1s;display:grid}@media (hover:hover){.ptc-item-row:hover{background:#ffffff05}}.ptc-item-row--targeted{background:#3b82f61a;border:1px solid #3b82f659}.ptc-item-meta{align-items:center;gap:.4rem;display:flex}.ptc-item-id{color:var(--text-muted);font-family:monospace;font-size:11px}.ptc-item-diff{color:var(--text-dim);font-size:11px}.ptc-item-sentence{font-size:12px;line-height:1.4}.ptc-item-gap{color:var(--accent-emerald,#10b981);font-weight:700}.ptc-item-options{color:var(--text-muted);font-size:12px}.ptc-option-key{color:var(--text-main);font-weight:700}.ptc-item-actions{justify-content:flex-end;gap:.3rem;display:flex}.ptc-item-edit-form,.ptc-idea-edit-form{border:1px solid var(--border-color);background:#1e293b;border-radius:3px;margin:.4rem 0;padding:.75rem .9rem;animation:.15s ease-out pl-fade}.ptc-form-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .6rem;font-size:12px;font-weight:600}.ptc-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem;display:grid}.ptc-field-head{justify-content:space-between;align-items:baseline;display:flex}.ptc-options-inputs{gap:.4rem;display:flex}.ptc-opt-input{flex:1}.ptc-rule-counter{color:var(--text-muted);font-size:11px}.ptc-sources-readonly{color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border-color);border-radius:3px;padding:.4rem .6rem;font-size:11px}.ptc-source-item{padding:.15rem 0}.ptc-form-errors{flex-direction:column;gap:.2rem;margin:.4rem 0;display:flex}.ptc-error-line{color:var(--accent-amber,#f59e0b);font-size:11px}.ptc-form-actions{align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.ptc-form-status{font-size:12px}.ptc-revision-history{border:1px solid var(--border-color);background:#1e293b;border-radius:3px;margin:.4rem 0;padding:.6rem .8rem;animation:.15s ease-out pl-fade}.ptc-history-title{color:var(--text-muted);margin:0 0 .4rem;font-size:12px;font-weight:600}.ptc-table--history{width:100%;margin-bottom:.5rem;font-size:11px}.ptc-history-row--live{background:#10b9810d}.ptc-history-row--draft{background:#f59e0b0d}.ptc-ref{display:block}.ptc-ref-cert{margin-bottom:8px}.ptc-ref-bar{flex-wrap:wrap;margin-bottom:8px}.ptc-ref-table{margin-bottom:12px}.ptc-ref-status{max-width:320px}.ptc-ref-detail{min-width:220px}.ptc-ref-cite{font-size:12px}.ptc-ref-note{max-width:360px}.ptc-review-view{flex-direction:column;gap:12px;width:100%;max-width:680px;margin:0 auto;display:flex}.ptc-review-top-bar{border-bottom:1px solid #333;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 0;display:flex}.ptc-review-filter-group{align-items:center;gap:6px;font-size:13px;display:inline-flex}.ptc-review-filter-label{color:var(--text-muted,#999);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.ptc-review-filter-select,.ptc-review-concept-select{color:var(--text-main,#eee);background:#1e1e1e;border:1px solid #444;border-radius:4px;padding:4px 8px;font-size:12px}.ptc-review-sample-coverage{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:4px;padding:6px 10px;font-size:12px}.ptc-review-nav-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.ptc-review-counter{color:var(--text-muted,#aaa);font-size:13px;font-weight:600}.ptc-review-nav-buttons{gap:6px;display:flex}.ptc-review-card{background:#1a1a1a;border:1px solid #333;border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.ptc-review-meta-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.ptc-review-concept-badge{background:#ffffff14;border-radius:4px;padding:2px 6px;font-weight:600}.ptc-review-draft-badge{color:var(--accent-amber,#fbbf24);background:#f59e0b1f;border:1px solid #f59e0b59;border-radius:4px;padding:2px 6px;font-weight:600}.ptc-review-diff{color:var(--text-muted,#aaa)}.ptc-review-checked-status{border-radius:4px;padding:2px 6px;font-size:11px;font-weight:500}.ptc-badge--teacher-checked{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d}.ptc-badge--not-checked{color:var(--text-muted,#888);background:#ffffff0d;border:1px solid #ffffff1a}.ptc-review-sentence-block{background:#0003;border:1px solid #ffffff0d;border-radius:6px;padding:10px 12px}.ptc-review-sentence{color:var(--text-main,#f3f4f6);font-size:16px;line-height:1.4}.ptc-review-gap{text-underline-offset:4px;color:var(--accent-cyan,#38bdf8);font-weight:700;text-decoration:underline}.ptc-review-options-block{font-size:13px}.ptc-review-options-title{color:var(--text-muted,#999)}.ptc-review-options{flex-wrap:wrap;gap:4px 6px;display:inline-flex}.ptc-review-option-pill{background:#ffffff0f;border-radius:4px;padding:2px 6px}.ptc-review-option-pill.ptc-review-key{color:#86efac;background:#22c55e33;border:1px solid #22c55e66;font-weight:700}.ptc-review-rule-card,.ptc-review-sources-card,.ptc-review-ladder-card{background:#00000026;border-left:2px solid #444;border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.4}.ptc-review-sources-list,.ptc-review-checks-list{margin:4px 0 0 16px;padding:0}.ptc-review-check-entry.ptc-check-pass{color:#4ade80}.ptc-review-check-entry.ptc-check-fail{color:#f87171}.ptc-review-check-entry.ptc-check-flag{color:#fbbf24}.ptc-review-learner-signal{color:#fde047;background:#eab30814;border:1px solid #eab3084d;border-radius:4px;padding:8px 10px;font-size:12px}.ptc-review-actions-block{flex-direction:column;gap:8px;display:flex}.ptc-review-actions-title{color:var(--text-muted,#aaa);font-size:12px;font-weight:600}.ptc-review-optional-note-wrap{width:100%}.ptc-review-optional-note-input{box-sizing:border-box;width:100%;min-height:40px;color:var(--text-main,#eee);background:#202020;border:1px solid #444;border-radius:6px;padding:8px 12px;font-size:14px;transition:border-color .15s}.ptc-review-optional-note-input:focus{border-color:#10b981;outline:none}.ptc-verdict-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (width<=480px){.ptc-verdict-grid{grid-template-columns:repeat(2,1fr)}.ptc-verdict-btn--other{grid-column:span 2}}.ptc-verdict-btn{cursor:pointer;touch-action:manipulation;text-align:center;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:8px 12px;font-size:14px;font-weight:600;line-height:1.25;transition:background-color .15s,border-color .15s;display:inline-flex}.ptc-verdict-btn--ok{color:#dcfce7;background:#14532d;border-color:#22c55e}@media (hover:hover){.ptc-verdict-btn--ok:hover:not(:disabled){background:#166534}}.ptc-verdict-btn--key-best{color:#ccfbf1;background:#064e3b;border-color:#14b8a6}@media (hover:hover){.ptc-verdict-btn--key-best:hover:not(:disabled){background:#0f766e}}.ptc-verdict-btn--ambiguous{color:#fef9c3;background:#713f12;border-color:#eab308}@media (hover:hover){.ptc-verdict-btn--ambiguous:hover:not(:disabled){background:#854d0e}}.ptc-verdict-btn--wrong-key{color:#fee2e2;background:#7f1d1d;border-color:#ef4444}@media (hover:hover){.ptc-verdict-btn--wrong-key:hover:not(:disabled){background:#991b1b}}.ptc-verdict-btn--too-hard,.ptc-verdict-btn--odd,.ptc-verdict-btn--other{color:#f4f4f5;background:#27272a;border-color:#52525b}@media (hover:hover){.ptc-verdict-btn--too-hard:hover:not(:disabled),.ptc-verdict-btn--odd:hover:not(:disabled),.ptc-verdict-btn--other:hover:not(:disabled){background:#3f3f46}}.ptc-review-note-panel{background:#202020;border:1px solid #444;border-radius:6px;flex-direction:column;gap:8px;padding:10px;display:flex}.ptc-review-note-header{justify-content:space-between;align-items:center;font-size:13px;display:flex}.ptc-review-note-input{color:#fff;resize:vertical;background:#121212;border:1px solid #444;border-radius:4px;width:100%;min-height:70px;padding:8px;font-size:13px}.ptc-review-note-submit{align-self:flex-start}.ptc-review-ack{color:#4ade80;background:#22c55e26;border:1px solid #22c55e4d;border-radius:4px;padding:6px 10px;font-size:12px}.ptc-review-error{color:#f87171;background:#ef444426;border:1px solid #ef44444d;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.ptc-review-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:24px;display:flex}.ptc-ovr{border:1px solid var(--border-color,#80808059);border-radius:6px;margin-top:12px;padding:12px}.ptc-ovr-field{margin:8px 0;display:block}.ptc-ovr-label{margin-bottom:2px;font-size:12px;display:block}.ptc-ovr-input{box-sizing:border-box;width:100%}.ptc-ovr-confirm{margin:8px 0;font-size:13px;display:block}.ptc-ovr-status{margin:8px 0}.ptc-ovr-row{margin:4px 0;font-size:12px}.rq-overlay{z-index:1000;background:var(--bg-main);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.rq-sheet{background:var(--bg-main);width:100%;max-width:480px;color:var(--text-main);padding:calc(env(safe-area-inset-top,0px) + 4.5rem) 1rem 1.5rem;box-sizing:border-box;position:relative;overflow-y:auto}.rq-overlay>.modal-close{top:calc(env(safe-area-inset-top,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);z-index:2;position:absolute}@media not all and (width<=768px){.rq-overlay{align-items:flex-start;overflow-y:auto}.rq-sheet{max-width:820px;min-height:100%;padding:calc(env(safe-area-inset-top,0px) + 4.5rem) 2rem 2.5rem;overflow-y:visible}.rq-overlay>.modal-close{top:calc(env(safe-area-inset-top,0px) + 1rem);right:calc(env(safe-area-inset-right,0px) + 1.25rem);position:fixed}}.rq-screen{flex-direction:column;gap:.9rem;display:flex}.rq-title{margin:0;font-size:1.3rem}.rq-body{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.55}.rq-progress{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem}.rq-actions{flex-direction:column;gap:.5rem;display:flex}.rq-notsure{border:1px solid var(--accent-cyan);border-radius:var(--radius-md,12px);min-height:48px;color:var(--accent-cyan);cursor:pointer;background:#06b6d41f;padding:.6rem .9rem;font-size:1rem;font-weight:600}.rq-notsure:focus-visible{background:#06b6d438}@media (hover:hover){.rq-notsure:hover{background:#06b6d438}}.rq-summary-score{margin:0;font-size:1.4rem;font-weight:700}.rq-review{margin-top:.25rem}.rq-review .pl-diag-row--unsure{border-left-color:var(--accent-cyan)}.rq-review .pl-diag-row--unsure .pl-diag-yours{color:var(--accent-cyan)}.rq-review .pl-diag-row--slow .pl-diag-yours{flex-wrap:wrap}.rq-review .pl-diag-tag{color:var(--accent-amber);font-size:.78rem;font-weight:600}.rq-feedback--notsure{border-color:var(--accent-cyan)}.rq-thanks{color:var(--accent-cyan);align-items:center;gap:.5rem;font-weight:600;display:flex}.rq-settle{background:var(--accent-cyan);border-radius:50%;width:.6rem;height:.6rem;animation:.6s ease-out rq-settle;display:inline-block}@keyframes rq-settle{0%{opacity:.3;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.rq-cards{flex-direction:column;gap:.6rem;display:flex}.rq-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);-moz-column-gap:.7rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.1rem .7rem;padding:.65rem .8rem;display:grid}.rq-card>*{grid-column:1}.rq-card>button{white-space:nowrap;grid-area:1/2/span 3;align-self:center}.rq-markers-box{gap:.4rem;display:grid}.rq-markers-cap{color:var(--text-muted);margin:0;font-size:.8rem}.rq-markers{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.rq-marker{box-sizing:border-box;border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;font-size:.75rem;font-weight:700;line-height:1;display:inline-grid}.rq-marker--filled{background:var(--accent-cyan);border:1px solid var(--accent-cyan);color:#04222a}.rq-marker--outline{border:1px solid var(--text-muted);color:var(--text-main);background:0 0}.rq-marker--todo{border:1px dashed var(--border-color);color:var(--text-muted);opacity:.8;background:0 0}.rq-legend{color:var(--text-muted);flex-wrap:wrap;gap:.3rem 1rem;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.rq-marker--key{width:.85rem;height:.85rem}.rq-entry-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);color:var(--text-main);margin-bottom:1rem;padding:1rem 1.1rem}.rq-retry-row{justify-content:center;margin-top:.75rem;display:flex}.rq-retry{color:var(--text-muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:.4rem .6rem;font-size:.85rem;text-decoration:underline}@media (prefers-reduced-motion:reduce){.rq-settle{animation:none}}.rq-quiz-header-with-map{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.rq-quiz-meta{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.rq-corner-map-wrapper{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.3rem;display:flex}.rq-corner-map{border-radius:var(--radius-md,12px);transform-origin:100% 0;background:radial-gradient(circle,#06b6d41a 0%,#0b0f1999 80%);border:1px solid #06b6d440;width:195px;height:64px;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #06b6d414}.rq-corner-map-svg{width:100%;height:100%;display:block}.rq-corner-map-cap{color:var(--text-dim,#64748b);letter-spacing:.03em;font-size:.7rem}.rq-minimap-sweep{transform-origin:260px 130px;opacity:0;pointer-events:none}.rq-minimap-sweep.animating{animation:1.2s cubic-bezier(.2,.8,.4,1) forwards rq-radarSweepOnce}@keyframes rq-radarSweepOnce{0%{opacity:0;transform:rotate(0)}10%{opacity:.9}85%{opacity:.9}to{opacity:0;transform:rotate(360deg)}}.rq-sky-node-base{fill:#334155;stroke:#ffffff1f;stroke-width:1px;transition:fill .18s ease-out,stroke .18s ease-out,filter .18s ease-out}.rq-corner-map.sweep-active .rq-sky-node-base{fill:#22d3ee;stroke:#67e8f9;filter:drop-shadow(0 0 3.5px #06b6d4d9);transition:fill .12s ease-out,stroke .12s ease-out,filter .12s ease-out}.rq-sky-node-label{fill:#64748b;text-anchor:middle;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:9px;font-weight:600}.rq-marker-ping{fill:none;stroke-width:2.2px;transform-origin:50%;transform-box:fill-box;animation:.7s cubic-bezier(.1,.75,.2,1) forwards rq-radarPing}.rq-marker-ping--correct{stroke:#34d399}.rq-marker-ping--unsure{stroke:#06b6d4}.rq-marker-ping--review{stroke:#f59e0b}@keyframes rq-radarPing{0%{r:3px;stroke-width:2.5px;opacity:.95}to{r:20px;stroke-width:.5px;opacity:0}}.rq-marker-body{transform-origin:50%;transform-box:fill-box;animation:.7s cubic-bezier(.16,1,.3,1) forwards rq-markerSettle}@keyframes rq-markerSettle{0%{opacity:0;transform:scale(.2)}40%{opacity:1;transform:scale(1.22)}75%{opacity:1;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.rq-sheet--map-result{max-width:1180px}.rq-result-grid{grid-template-columns:1fr;align-items:start;gap:1.5rem;display:grid}@media not all and (width<=768px){.rq-result-grid{grid-template-columns:1.25fr 1fr;gap:1.75rem;margin-top:1rem}}.rq-result-map-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg,16px);flex-direction:column;gap:1rem;padding:1.25rem;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #0006}.rq-result-map-head{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.rq-result-map-title{color:var(--text-main);align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.rq-map-canvas-wrap{border-radius:var(--radius-md,12px);aspect-ratio:16/9;transform-origin:0 0;background:radial-gradient(circle,#06b6d414 0%,#0b0f19cc 80%);border:1px solid #06b6d433;width:100%;min-height:280px;position:relative;overflow:hidden}.rq-result-map-svg{width:100%;height:100%;display:block}.rq-target-breath-ring{fill:none;stroke-width:1.8px;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite rq-gentleBreathe}.rq-target-breath-ring--1{stroke:var(--accent-purple,#a855f7)}.rq-target-breath-ring--2{stroke:#8b5cf6}.rq-target-breath-ring--3{stroke:var(--accent-cyan,#06b6d4)}.rq-target-breath-ring--gentle{stroke:var(--accent-cyan,#06b6d4);stroke-width:1.8px;stroke-dasharray:4 4;animation:1.4s linear infinite rq-marchAnts}.rq-target-glow{fill:#06b6d447;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite rq-glowPulse}@keyframes rq-marchAnts{to{stroke-dashoffset:-16px}}@keyframes rq-glowPulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:.75;transform:scale(1.35)}}@keyframes rq-gentleBreathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:.98;transform:scale(1.06)}}.rq-svg-connect-line{fill:none;stroke-linecap:round;stroke-dasharray:4 3;animation:20s linear infinite rq-dashMove}@keyframes rq-dashMove{to{stroke-dashoffset:-100px}}.rq-line-rank-1{stroke:var(--accent-purple,#a855f7);stroke-width:2.2px;opacity:.85}.rq-line-rank-2{stroke:#8b5cf6;stroke-width:1.8px;opacity:.75}.rq-line-rank-3{stroke:var(--accent-cyan,#06b6d4);stroke-width:1.4px;opacity:.65}.rq-map-legend{color:var(--text-muted);border-top:1px solid #ffffff0f;flex-wrap:wrap;gap:.75rem 1rem;padding-top:.5rem;font-size:.78rem;display:flex}.rq-legend-item{align-items:center;gap:.35rem;display:inline-flex}.rq-leg-gem-icon{width:10px;height:10px;display:inline-block}.rq-leg-ring-dot{border:1.5px solid var(--accent-cyan,#06b6d4);border-radius:50%;justify-content:center;align-items:center;width:9px;height:9px;display:inline-flex}.rq-leg-ring-dot:after{content:"";background:var(--accent-cyan,#06b6d4);border-radius:50%;width:3px;height:3px}.rq-leg-diamond{background:var(--accent-amber);width:8px;height:8px;display:inline-block;transform:rotate(45deg)}.rq-leg-ring{border:1.8px solid var(--accent-purple,#a855f7);border-radius:50%;width:10px;height:10px;display:inline-block}.rq-cards-column{flex-direction:column;gap:.85rem;display:flex;position:relative}.rq-cards-header{text-align:right;white-space:nowrap;justify-content:flex-end;align-items:baseline;margin:0 0 .45rem;display:flex;position:absolute;bottom:100%;right:0}@media (width<=768px){.rq-cards-header{margin-bottom:.65rem;position:static}}.rq-cards-title{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:700}.rq-cards-hint{color:var(--text-muted);font-size:inherit;font-weight:400}.rq-cards-stack{flex-direction:column;gap:.85rem;display:flex}.rq-rec-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md,12px);opacity:0;flex-direction:column;gap:.65rem;padding:1.15rem 1.25rem;transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1),border-color .15s,background .15s;display:flex;position:relative;transform:translateY(10px)}.rq-rec-card.card-revealed{opacity:1;transform:none}@media (hover:hover){.rq-rec-card:hover{background:var(--bg-card-hover,#1e2a44f2)}}.rq-rec-card.rank-1{border-color:var(--accent-purple,#a855f7);background:linear-gradient(135deg, #a855f714 0%, var(--bg-card) 60%);box-shadow:0 0 20px #a855f726}.rq-rec-card.rank-2{border-color:#8b5cf680}.rq-rec-card.rank-3{border-color:#06b6d466}.rq-rec-card-top{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;display:flex}.rq-rank-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex:none;align-items:center;gap:.35rem;margin-left:auto;padding:.18rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.rq-rank-pill--1{color:#d8b4fe;border:1px solid var(--accent-purple,#a855f7);background:#a855f733}.rq-rank-pill--2{color:#c4b5fd;background:#8b5cf626;border:1px solid #8b5cf699}.rq-rank-pill--3{color:#67e8f9;background:#06b6d426;border:1px solid #06b6d499}.rq-rec-set-title{color:var(--text-main);white-space:nowrap;flex:none;margin:0;font-size:1.15rem;font-weight:700}.rq-rec-reason{color:#e2e8f0;border-left:3px solid var(--accent-cyan);background:#00000040;border-radius:4px;margin:0;padding:.45rem .75rem;font-size:.92rem;line-height:1.45}.rq-rec-card.rank-1 .rq-rec-reason{border-left-color:var(--accent-purple,#a855f7)}.rq-rec-card.rank-2 .rq-rec-reason{border-left-color:#8b5cf6}.rq-rec-topic{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:min(10rem,100%);margin:0;font-size:.82rem;overflow:hidden}.rq-rec-card-action{margin-top:.25rem;display:flex}.rq-flip-ghost{z-index:1100;pointer-events:none;border-radius:var(--radius-md,12px);border:1px solid var(--accent-cyan);transform-origin:0 0;will-change:transform, width, height;background:radial-gradient(circle,#06b6d426 0%,#0b0f19f2 80%);position:fixed;overflow:hidden;box-shadow:0 16px 48px #0009}@media (width<=480px){.rq-rec-topic{flex-basis:100%}.rq-quiz-header-with-map{flex-direction:column;align-items:stretch}.rq-corner-map-wrapper{align-items:flex-start;width:100%}.rq-corner-map{width:100%;height:60px}.rq-map-canvas-wrap{min-height:220px}}@media (prefers-reduced-motion:reduce){.rq-minimap-sweep,.rq-marker-ping,.rq-target-breath-ring,.rq-svg-connect-line,.rq-target-glow{animation:none!important}.rq-minimap-sweep{display:none!important}.rq-corner-map.sweep-active .rq-sky-node-base{filter:none!important}.rq-marker-ping{display:none!important}.rq-marker-body{opacity:1!important;animation:none!important;transform:none!important}.rq-target-breath-ring{opacity:.8!important;transform:none!important}.rq-rec-card{opacity:1!important;transition:none!important;transform:none!important}}.ptc-qc{margin-bottom:.75rem}.ptc-qc-sum{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:.2rem 1rem;padding:.3rem 0;display:flex}@media not all and (width<=768px){.ptc-qc-tip{text-align:right;max-width:34rem;margin-left:auto}}.ptc-qc-h{color:var(--text-muted);margin:.6rem 0 .3rem;font-size:.8rem;font-weight:600}.ptc-qc-grid{grid-template-columns:1fr;gap:.6rem 1.5rem;display:grid}@media not all and (width<=768px){.ptc-qc-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start}}.ptc-qc-list,.ptc-qc-sets{margin:0;padding:0;list-style:none}.ptc-qc-q{align-items:baseline;gap:.35rem;padding:.12rem 0;line-height:1.35;display:flex}.ptc-qc-sentence{flex:1;min-width:0}.ptc-qc-setlabel{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;width:6ch;margin-left:auto;font-size:.78rem;font-weight:400}.ptc-qc-setlabel--right{color:#22c55e}.ptc-qc-setlabel--wrong{color:#ff3b3b}.ptc-qc-setlabel--unsure{color:var(--text-muted)}.ptc-qc-sethead{color:var(--text-muted);padding-top:.4rem;font-size:.78rem;font-weight:600;list-style:none}.ptc-qc-sethead:first-child{padding-top:0}@media (width<=768px){.ptc-qc-q{padding:.1rem 0;display:block}.ptc-qc-sentence{display:inline}.ptc-qc-setlabel{white-space:nowrap;margin-left:.35rem;font-size:.7rem;display:inline}}.ptc-qc-sets{gap:.35rem;display:grid}.ptc-qc-set{border:1px solid var(--accent-cyan);border-radius:6px;flex-direction:row;align-items:center;gap:.5rem;padding:.3rem .5rem;display:flex}.ptc-qc-set-head{color:inherit;font:inherit;cursor:default;text-align:right;background:0 0;border:none;order:2;align-items:baseline;gap:.4rem;margin-left:auto;padding:0;display:flex}.ptc-qc-set-name{justify-items:end;line-height:1.15;display:grid}.ptc-qc-set-topic{font-size:.72rem}.ptc-qc-chev{display:none}.ptc-qc-set-body{flex-wrap:wrap;flex:1;order:1;gap:.25rem;display:flex}.ptc-qc-pill{color:#67e8f9;white-space:nowrap;border:1px solid #06b6d48c;border-radius:999px;padding:0 .45rem;font-size:.7rem;line-height:1.6}@media (width<=768px){.ptc-qc-set{flex-direction:column;align-items:stretch;gap:.25rem}.ptc-qc-set-head{cursor:pointer;order:0;justify-content:space-between;align-items:center;width:100%;margin-left:0}.ptc-qc-set-name{margin-left:auto}.ptc-qc-chev{color:var(--text-muted);display:inline}.ptc-qc-set-body{order:1;display:none}.ptc-qc-set.is-open .ptc-qc-set-body{display:flex}}.ptc-qc-n{font-weight:800}.ptc-qc-n--right{color:#22c55e}.ptc-qc-n--wrong{color:#ff3b3b}.ptc-qc-n--unsure{color:var(--text-muted)}.ptc-qc-answer{color:var(--accent-emerald)}del.ptc-qc-wrong{color:#ff3b3b;font-weight:700;text-decoration:line-through;text-decoration-thickness:2px}.pl-entry-row{grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem;display:grid}.pl-entry-row>.pl-entry{flex-direction:column;margin-bottom:0;display:flex}.pl-entry-row .pl-actions{margin-top:auto}@media not all and (width<=768px){.pl-entry-row{grid-template-columns:1fr 1fr}}.pl-entry--skeleton{pointer-events:none;-webkit-user-select:none;user-select:none}.pl-skeleton-bar{background:var(--border-color);border-radius:6px;animation:1.4s ease-in-out infinite pl-skeleton-pulse}.pl-skeleton-bar--title{width:55%;height:1.2rem;margin:0 0 .25rem}.pl-skeleton-bar--text{height:.85rem;margin:0 0 .4rem}.pl-skeleton-bar--short{width:70%;margin-bottom:.75rem}.pl-skeleton-bar--button{border-radius:var(--radius-md,12px);width:9rem;height:3rem}@keyframes pl-skeleton-pulse{0%,to{opacity:.45}50%{opacity:.9}}.rq-action-card--swap-in{animation:.2s ease-out pl-fade}@media (prefers-reduced-motion:reduce){.pl-skeleton-bar,.rq-action-card--swap-in{animation:none}.pl-skeleton-bar{opacity:.7}}.rq-suggested-line{flex-wrap:wrap;align-items:center;gap:.4rem;max-width:100%;margin:0 0 .75rem;font-size:.85rem;display:flex}.rq-suggested-label{color:var(--text-main)}.rq-pick-chips{flex-wrap:nowrap;gap:.4rem;display:inline-flex}.rq-pick-chip{border:1px solid var(--accent-purple);white-space:nowrap;max-width:100%;color:var(--accent-purple);cursor:pointer;background:#a855f71f;border-radius:999px;flex:none;padding:.15rem .6rem;font-size:.78rem;font-weight:700;line-height:1.5;display:inline-block}.pl-pill--suggested{color:var(--accent-purple);border-color:var(--accent-purple);background:#a855f71f}.rq-sky{border:1px solid var(--border-color);border-radius:var(--radius-md,12px);background:radial-gradient(circle at 50% 0,#06b6d414 0%,#0000 70%);justify-content:center;align-items:center;height:72px;display:flex;overflow:hidden}.rq-sky-svg{width:100%;height:100%;overflow:visible}.rq-sky-ring{stroke:#ffffff12;stroke-dasharray:2 3}.rq-sky-ring--outer{stroke:#ffffff0a;stroke-dasharray:2 4}.rq-sky-node{fill:#64748b}.rq-sky-node--glow{fill:var(--accent-cyan);animation:3.6s ease-in-out infinite rq-sky-glow}.rq-sky-node--g1{animation-delay:1.8s}.rq-sky-arm{transform-origin:180px 32px;animation:12s linear infinite rq-sky-sweep}@keyframes rq-sky-sweep{to{transform:rotate(-360deg)}}@keyframes rq-sky-glow{0%,to{opacity:.45}15%,45%{opacity:1}}@media (prefers-reduced-motion:reduce){.rq-sky-arm{display:none}.rq-sky-node--glow{opacity:1;animation:none}}.pl-sessions .pl-session{position:relative}.pl-sessions .pl-session>strong{white-space:nowrap;padding-right:6.5rem}.pl-sessions .pl-session-mark{flex-wrap:nowrap;gap:.25rem;position:absolute;top:.5rem;right:.55rem}@media (width<=480px){.pl-sessions .pl-session>strong{text-overflow:ellipsis;min-width:0;padding-right:0;overflow:hidden}.pl-sessions .pl-session-mark{flex-wrap:wrap;margin-top:.2rem;position:static}}.pl-sessions .pl-pill{white-space:nowrap;padding:.02rem .45rem;font-size:.65rem;line-height:1.5}.ptc-table--ideas{table-layout:fixed;min-width:560px}.ptc-table--ideas th:first-child{width:46%}.ptc-muted.ptc-ideas-key{margin:0 0 .3rem;font-size:.75rem}.ptc-row--amber td{color:#f5a524}.ptc-row--red td{color:#ff3b3b}.ptc-row--red td:not(:first-child){font-weight:800}.ptc-qc-h-note{font-size:.72rem;font-weight:400}.ptc-cqc-tip{margin:0 0 .5rem}.ptc-cqc-row--none td{color:var(--text-muted)}.ptc-cqc-table td .ptc-qc-pill{margin-right:.15rem}.ptc-info-pop{visibility:visible;opacity:1;white-space:normal;width:min(260px,70vw);transition:none;display:none}.ptc-info:focus-within .ptc-info-pop,.ptc-info:active .ptc-info-pop{display:block}@media (hover:hover){.ptc-info:hover .ptc-info-pop{display:block}}.ptc-secure-hdr .ptc-info-pop{text-align:left;left:auto;right:0}.ptc-scroll .ptc-grid thead th.ptc-secure-hdr.ptc-secure-col{white-space:nowrap;width:9.5rem;min-width:9.5rem}.ptc-grid .ptc-band-toggle{z-index:2;position:sticky;left:8px}.rq-next-row{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1rem}.rq-next-row-text{flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;min-width:0;display:flex}.rq-next-row-then{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem}.rq-next-row .rq-rec-set-title{font-size:1rem}.bottom-sheet-overlay{z-index:1200;background:var(--bg-overlay);opacity:0;justify-content:center;align-items:flex-end;transition:opacity .18s;display:flex;position:fixed;inset:0}.bottom-sheet-overlay.is-open{opacity:1}.bottom-sheet{background:var(--bg-surface-opaque,var(--bg-modal,#151e30));width:100%;max-width:36rem;min-height:0;max-height:min(78dvh,34rem);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md) var(--radius-md) 0 0;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;flex-direction:column;transition:transform .22s cubic-bezier(.32,.72,.35,1);display:flex;overflow:hidden;transform:translateY(100%);box-shadow:0 -12px 40px #00000080}.bottom-sheet-overlay.is-open .bottom-sheet{transform:translateY(0)}.bottom-sheet-grabber{background:var(--border-color);border-radius:999px;flex:none;width:2.5rem;height:.25rem;margin:.5rem auto 0}.bottom-sheet-header{border-bottom:1px solid var(--border-color);flex:none;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem 1rem;display:flex}.bottom-sheet-title{min-width:0;color:var(--text-main);overflow-wrap:break-word;flex:auto;margin:0;font-size:.95rem;font-weight:700}.bottom-sheet-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:1rem;overflow-y:auto}@media (prefers-reduced-motion:reduce){.bottom-sheet-overlay,.bottom-sheet{transition:none}.bottom-sheet{transform:none}}.anchored-popover{z-index:1200;background:var(--bg-surface-opaque,var(--bg-modal,#151e30));width:min(24rem,100vw - 24px);min-height:0;max-height:min(70dvh,28rem);color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-md);opacity:0;transform-origin:0 0;flex-direction:column;transition:opacity .14s,transform .14s;display:flex;position:fixed;overflow:hidden;transform:scale(.97);box-shadow:0 12px 40px #0006}.anchored-popover.is-open{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.anchored-popover{transition:none;transform:none}}@media (width<=768px){.app-header{-webkit-backdrop-filter:none;backdrop-filter:none}#studentNavMenu{z-index:var(--z-nav);padding:4px 4px 0;padding-bottom:max(6px, env(safe-area-inset-bottom,0px));background:var(--bg-main);border:none;border-top:1px solid var(--border-color);border-radius:0;flex-direction:row;align-items:stretch;gap:0;max-width:none;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:visible;box-shadow:0 -4px 20px #0006}#studentNavMenu .nav-item-btn{min-width:0;min-height:46px;box-shadow:none;white-space:normal;background:0 0;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:3px 0;position:relative}#studentNavMenu .nav-item-btn:active{transform:scale(.95)}#studentNavMenu .nav-btn-icon{font-size:1.35rem;line-height:1}#studentNavMenu .nav-btn-label{font-size:var(--fs-xs);letter-spacing:-.01em;white-space:nowrap;font-weight:600;line-height:1.2;display:inline}#studentNavMenu .nav-item-btn.active{color:var(--primary);box-shadow:none;background:0 0}#studentNavMenu .nav-item-btn.active .nav-btn-label{color:#fff;font-weight:700}#studentNavMenu .nav-item-btn.active:after{content:"";background:linear-gradient(90deg, var(--primary), var(--accent-cyan));opacity:1;visibility:visible;border:none;border-radius:0 0 4px 4px;height:2.5px;padding:0;position:absolute;top:0;left:20%;right:20%;transform:none;box-shadow:0 2px 8px #6366f1cc}#studentView{padding-bottom:calc(52px + max(6px, env(safe-area-inset-bottom,0px)))}body.chat-keyboard-open #studentNavMenu{display:none!important}body.nav-three:has(#learnSection:not([hidden]),#readSection:not([hidden]) #readingStageSubView:not([hidden]),#studentGrammarSection:not([hidden]) #studentGrammarDetail:not([hidden])) #studentNavMenu{display:none!important}body.nav-three:has(#learnSection:not([hidden]),#readSection:not([hidden]) #readingStageSubView:not([hidden]),#studentGrammarSection:not([hidden]) #studentGrammarDetail:not([hidden])) #studentView{padding-bottom:max(6px, env(safe-area-inset-bottom,0px))}}@media not all and (width<=768px){body.nav-three .app-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg-header-solid)}body.nav-three #studentNavMenu{top:var(--app-header-h);width:var(--student-rail-width);z-index:var(--z-nav);background:var(--bg-main);border:none;border-right:1px solid var(--border-color);border-radius:0;flex-direction:column;align-items:stretch;gap:4px;max-width:none;padding:16px 12px;display:flex;position:fixed;bottom:0;left:0;overflow:hidden auto}body.nav-three #studentNavMenu[hidden]{display:none}body.nav-three #studentNavMenu .nav-item-btn[data-nav3]{border-radius:var(--radius-md);min-height:44px;box-shadow:none;color:var(--text-muted);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;padding:8px 12px;font-size:.95rem;font-weight:600;display:flex;position:relative}body.nav-three #studentNavMenu .nav-item-btn[data-nav3] .nav-btn-icon{flex-shrink:0;display:inline-flex}body.nav-three #studentNavMenu .nav-item-btn[data-nav3] .nav-btn-label{font-size:inherit;display:inline}body.nav-three #studentNavMenu .nav-item-btn[data-nav3] .nav-badge,body.nav-three #studentNavMenu .nav-item-btn[data-nav3] .pe-remind-dot{flex-shrink:0;margin-left:auto;position:static}@media (hover:hover){body.nav-three #studentNavMenu .nav-item-btn[data-nav3]:hover{background:var(--student-rail-hover-bg);color:var(--text-main)}}body.nav-three #studentNavMenu .nav-item-btn[data-nav3]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}body.nav-three #studentNavMenu .nav-item-btn[data-nav3].active{background:var(--primary-soft);color:var(--text-main)}body.nav-three:not([data-module-open],:has(#learnSection:not([hidden]),#readSection:not([hidden]) #readingStageSubView:not([hidden]),#studentGrammarSection:not([hidden]) #studentGrammarDetail:not([hidden]))) .topbar-title:is([data-tab=start],[data-tab=lounge]) .topbar-title-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body.nav-three:has(#studentNavMenu:not([hidden])) .main-container{width:min(1200px, calc(100% - var(--student-rail-width)));margin-left:max(var(--student-rail-width), calc((100% + var(--student-rail-width) - 1200px) / 2));margin-right:auto}body.nav-three[data-module-open] #studentNavMenu{display:none}body.nav-three:has(#learnSection:not([hidden]),#readSection:not([hidden]) #readingStageSubView:not([hidden]),#studentGrammarSection:not([hidden]) #studentGrammarDetail:not([hidden])) #studentNavMenu{display:none}body.nav-three:has(#learnSection:not([hidden]),#readSection:not([hidden]) #readingStageSubView:not([hidden]),#studentGrammarSection:not([hidden]) #studentGrammarDetail:not([hidden])) .main-container{width:100%;margin-left:auto}}
