:root{--bg:#F4F7FD;--surface:#FFFFFF;--surface-2:#EEF3FC;--surface-3:#DFE8F8;--sidebar-bg:#0B1B3F;--text:#0B1B3F;--text-soft:#5B6788;--border:#E1E8F5;--border-strong:#CCD7EC;--primary:#12B76A;--primary-shade:#0E9A58;--primary-soft:#DCF7EA;--primary-strong:#077342;--coral:#FF7A1A;--coral-shade:#E8630A;--coral-soft:#FFEEDF;--coral-strong:#B04A04;--amber:#F5B400;--amber-shade:#D99A00;--amber-soft:#FFF5D3;--amber-strong:#7F5A00;--blue:#0EA5E9;--blue-shade:#0284C7;--blue-soft:#DFF3FD;--blue-strong:#03689E;--purple:#1F5BFF;--purple-shade:#1747D6;--purple-soft:#E5ECFF;--purple-strong:#1238A8;--pink:#F0479A;--pink-shade:#D22F7E;--pink-soft:#FDE6F1;--pink-strong:#A31C5C;--red:#F04438;--red-soft:#FEE7E5;--red-strong:#B42318;--absent:#B3BDD3;--grad:linear-gradient(135deg, #2F6BFF 0%, #1238C9 100%);--grad-warm:linear-gradient(135deg, #FF7A1A 0%, #FFA53D 100%);--ink:#0B1B3F;--shadow:0 18px 40px -20px rgba(18,56,201,.36);--shadow-sm:0 1px 2px rgba(11,27,63,.05), 0 10px 26px -16px rgba(18,56,201,.26);--radius:20px;--font:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:var(--font);--cream:var(--surface-2);--card:var(--surface);--ink-soft:var(--text-soft);--teal:var(--primary);--teal-dark:var(--primary-strong);--teal-light:var(--primary-soft);--coral-light:var(--coral-soft);--amber-light:var(--amber-soft);color-scheme:light}[data-theme=dark]{--bg:#07122B;--surface:#0F1E3D;--surface-2:#16284D;--surface-3:#20345E;--sidebar-bg:#050D20;--text:#EEF3FF;--text-soft:#9AA9C9;--border:#1F3157;--border-strong:#2C4170;--purple:#4D7DFF;--purple-shade:#3367FF;--primary-soft:#0D3A28;--primary-strong:#5EE3A1;--coral-soft:#4A2610;--coral-strong:#FFB27A;--amber-soft:#3D3210;--amber-strong:#FFD866;--blue-soft:#0B3149;--blue-strong:#7DD3FC;--purple-soft:#152B66;--purple-strong:#A9C0FF;--pink-soft:#461D36;--pink-strong:#FF9CCB;--red-soft:#4A1F22;--red-strong:#FF8A80;--absent:#3A4A6E;--shadow:0 18px 40px -18px rgba(0,0,0,.6);--shadow-sm:0 1px 2px rgba(0,0,0,.3), 0 10px 26px -16px rgba(0,0,0,.6);color-scheme:dark}.c-green{--c:var(--primary);--c-shade:var(--primary-shade);--c-soft:var(--primary-soft);--c-strong:var(--primary-strong)}.c-coral{--c:var(--coral);--c-shade:var(--coral-shade);--c-soft:var(--coral-soft);--c-strong:var(--coral-strong)}.c-amber{--c:var(--amber);--c-shade:var(--amber-shade);--c-soft:var(--amber-soft);--c-strong:var(--amber-strong)}.c-blue{--c:var(--blue);--c-shade:var(--blue-shade);--c-soft:var(--blue-soft);--c-strong:var(--blue-strong)}.c-purple{--c:var(--purple);--c-shade:var(--purple-shade);--c-soft:var(--purple-soft);--c-strong:var(--purple-strong)}.c-pink{--c:var(--pink);--c-shade:var(--pink-shade);--c-soft:var(--pink-soft);--c-strong:var(--pink-strong)}.ic{display:inline-block;flex-shrink:0;vertical-align:middle;--ic-b:color-mix(in srgb, currentColor 45%, #ffffff)}[data-theme=dark] .ic{--ic-b:color-mix(in srgb, currentColor 55%, #1E1F22)}.ic .a{fill:currentColor}.ic .b{fill:var(--ic-b)}.ic .w{fill:#fff}.ic .s{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.ic .r{fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round}.ic .r.thin{stroke-width:2.2}.ic .r.b-stroke{stroke:var(--ic-b)}.ic-color{color:var(--c, var(--primary))}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-weight:400;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}button{font-family:inherit}[hidden]{display:none!important}code{font-family:ui-monospace,Consolas,monospace;font-size:.9em;background:var(--surface-2);padding:1px 5px;border-radius:6px}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)}75%{transform:translate(7px)}}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.btn-primary{width:100%;padding:13px 18px;background:var(--primary);color:#fff;border:none;border-radius:16px;font-size:15px;font-weight:800;letter-spacing:.04em;text-transform:none;cursor:pointer;margin-top:6px;box-shadow:0 10px 22px -12px var(--primary-shade);transition:transform .08s,box-shadow .08s,filter .15s}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active:not(:disabled){transform:scale(.97);box-shadow:0 0 0 var(--primary-shade)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.link-btn{background:none;border:none;color:var(--purple);font-size:14px;font-weight:800;cursor:pointer;padding:0;text-decoration:none}.link-btn:hover{text-decoration:underline}.logout-link{font-size:12px;font-weight:700;color:var(--text-soft);cursor:pointer;background:none;border:none;padding:0}.logout-link:hover{color:var(--red-strong)}.select-speak-bar{position:fixed;z-index:60;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;transform:translate(-50%);width:max-content;max-width:min(300px,calc(100vw - 24px))}.select-translation{flex-basis:100%;margin:0;padding:9px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 20px #00000026;font-size:15px;font-weight:800;color:var(--text);line-height:1.35;overflow-wrap:anywhere;max-height:40vh;overflow-y:auto}.select-translation small{display:block;margin-top:3px;font-size:11.5px;font-weight:700;color:var(--text-soft)}.select-speak.save{width:auto;min-width:110px;background:var(--amber);box-shadow:0 10px 22px -12px var(--amber-shade),0 8px 20px #0003}.select-speak.save:disabled{cursor:default;opacity:1}.select-speak{width:110px;padding:9px 12px;border:none;border-radius:99px;cursor:pointer;background:var(--blue);color:#fff;font-family:inherit;font-size:14px;font-weight:900;box-shadow:0 10px 22px -12px var(--blue-shade),0 8px 20px #0003;animation:bounce-in .25s ease-out}.select-speak:active{transform:scale(.97);box-shadow:0 0 0 var(--blue-shade)}.speak-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:4px;vertical-align:middle;border:none;border-radius:50%;background:var(--blue-soft);color:var(--blue-strong);font-size:16px;line-height:1;cursor:pointer;box-shadow:0 10px 22px -12px color-mix(in srgb,var(--blue) 40%,transparent);transition:transform .1s}.speak-btn:hover{transform:scale(1.08)}.speak-btn:active{transform:scale(.97);box-shadow:none}.speak-btn.mini{width:24px;height:24px;font-size:12px;margin-left:2px}.game-board .speak-btn{background:#fff;color:#0b5b46;box-shadow:0 10px 22px -12px #00000026}.game-clue.solved .speak-btn{background:#ddf3fe}.icon-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center;font-size:17px;cursor:pointer;flex-shrink:0;box-shadow:var(--shadow-sm);transition:transform .08s}.icon-btn:active{transform:scale(.97);box-shadow:none}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:14px;margin-bottom:10px;font-size:15px;font-weight:600;background:var(--surface-2);font-family:inherit;color:var(--text);transition:border-color .15s,box-shadow .15s,background .15s}input::placeholder,textarea::placeholder{color:var(--text-soft);opacity:.8}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px var(--primary-soft)}textarea{min-height:110px;resize:vertical;line-height:1.5}#auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:2rem 16px;background:radial-gradient(circle at 12% 18%,var(--primary-soft) 0,transparent 32%),radial-gradient(circle at 88% 12%,var(--coral-soft) 0,transparent 30%),radial-gradient(circle at 80% 90%,var(--blue-soft) 0,transparent 34%),var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:28px;padding:2rem 1.75rem 1.75rem;width:100%;max-width:400px;text-align:center;box-shadow:var(--shadow);animation:rise .4s ease-out}.brand-mark{width:64px;height:64px;border-radius:18px;box-shadow:0 10px 22px -12px var(--primary-shade);animation:bounce-in .6s ease-out,float 4s ease-in-out 1s infinite}.logo{font-size:24px;font-weight:900;margin:10px 0 2px;color:var(--primary-strong);letter-spacing:-.02em}.tagline{font-size:14px;color:var(--text-soft);margin:0 0 1.4rem}.role-toggle,.mode-toggle{display:flex;gap:4px;margin-bottom:14px;background:var(--surface-2);padding:5px;border-radius:16px}.role-toggle button,.mode-toggle button{flex:1;padding:9px;border:none;background:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:800;color:var(--text-soft);transition:background .15s,color .15s}.role-toggle button.active,.mode-toggle button.active{background:var(--surface);color:var(--primary-strong);box-shadow:var(--shadow-sm)}.auth-msg{font-size:14px;border-radius:14px;padding:10px 14px;margin:0 0 12px;text-align:left;animation:rise .25s}.auth-msg.error{background:var(--red-soft);color:var(--red-strong)}.auth-msg.ok{background:var(--primary-soft);color:var(--primary-strong)}.auth-footer{margin-top:16px;font-size:13px;color:var(--text-soft)}.auth-forgot{display:block;margin:-4px 0 12px auto;padding:4px 2px;background:none;border:0;color:var(--purple);font:inherit;font-size:14px;font-weight:700;text-align:right;cursor:pointer}.auth-forgot small{display:block;font-weight:500;font-size:12px;color:var(--text-soft)}.auth-forgot:hover{text-decoration:underline}.auth-reset-now{display:block;width:100%;margin:0 0 12px;padding:12px;border-radius:14px;border:2px solid var(--coral);background:var(--coral-soft, transparent);color:var(--text);font:inherit;font-weight:700;cursor:pointer}.hint{font-size:12px;color:var(--text-soft);text-align:left;margin:-4px 0 10px 4px}.setup-warning{max-width:400px;width:100%;margin-bottom:14px;background:var(--amber-soft);color:var(--amber-strong);border-radius:16px;padding:12px 14px;font-size:14px}#loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-soft);font-size:15px;font-weight:800}.shell{min-height:100vh;background:var(--bg)}.shell-main{min-width:0}.shell.student .shell-main{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.shell-content{max-width:600px;margin:0 auto}.shell.teacher .shell-content{max-width:960px}.screen{padding:18px 16px;animation:rise .35s cubic-bezier(.2,.8,.2,1)}header.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}header.topbar .logo{font-size:21px;margin:0;display:flex;align-items:center}.logo-tag{margin-left:8px;font-size:11px;font-weight:800;color:var(--purple-strong);background:var(--purple-soft);padding:2px 8px;border-radius:99px;letter-spacing:.03em}.topbar-right{display:flex;align-items:center;gap:8px;min-width:0}.level-pill{background:var(--amber-soft);color:var(--amber-strong)}.avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--primary),var(--blue))}.avatar-btn{border:none;cursor:pointer;box-shadow:0 10px 22px -12px var(--primary-shade)}.avatar-btn:active{transform:scale(.97);box-shadow:none}nav.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;justify-content:center;gap:2px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}nav.tabbar button{flex:1;max-width:96px;background:none;border:2px solid transparent;border-radius:16px;padding:6px 2px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--text-soft);font-size:11px;font-weight:800;transition:background .15s,color .15s,border-color .15s}nav.tabbar .icon{transition:transform .2s cubic-bezier(.3,1.6,.5,1)}nav.tabbar button.active{color:var(--c-strong, var(--primary-strong));background:var(--c-soft, var(--primary-soft));border-color:var(--c, var(--primary))}nav.tabbar button.active .icon{transform:scale(1.15) translateY(-1px)}.pill-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px 16px 2px;scrollbar-width:none}.pill-tabs::-webkit-scrollbar{display:none}.pill-tabs button{flex-shrink:0;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);border-radius:99px;padding:8px 14px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:var(--shadow-sm)}.pill-tabs button{display:inline-flex;align-items:center;gap:6px}.pill-tabs button.active{background:var(--c-soft, var(--primary-soft));border-color:var(--c, var(--primary));color:var(--c-strong, var(--primary-strong));box-shadow:0 10px 22px -12px var(--c, var(--primary))}.sidebar{display:none}.sidebar-logo{font-size:28px;margin:4px 12px 22px}.side-nav{display:flex;flex-direction:column;gap:6px;flex:1}.side-item{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:14px;border:2px solid transparent;background:none;color:var(--text-soft);font-size:15px;font-weight:800;letter-spacing:.03em;text-transform:none;cursor:pointer;text-align:left;transition:background .15s,color .15s}.side-item:hover{background:var(--surface-2)}.side-item.active{background:var(--c-soft, var(--primary-soft));border-color:var(--c, var(--primary));color:var(--c-strong, var(--primary-strong))}.side-icon{transition:transform .2s cubic-bezier(.3,1.6,.5,1)}.side-item:hover .side-icon,.side-item.active .side-icon{transform:scale(1.12) rotate(-6deg)}.side-user{display:flex;align-items:center;gap:8px;padding:10px;border-radius:16px;background:var(--surface-2)}.side-user .avatar{width:36px;height:36px;font-size:13px}.side-user-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.side-user-text strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user-text small{font-size:12px;color:var(--text-soft)}.side-user .icon-btn{width:32px;height:32px;font-size:15px;border-radius:10px}@media(min-width:900px){.shell{display:grid;grid-template-columns:260px 1fr}.sidebar{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:24px 14px 16px;background:var(--sidebar-bg);border-right:1px solid var(--border)}header.topbar,nav.tabbar,.pill-tabs{display:none}.shell.student .shell-main{padding-bottom:40px}.screen{padding:28px 24px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}.pill{display:inline-block;font-size:12px;padding:3px 10px;border-radius:99px;font-weight:800;white-space:nowrap}.pill.teal{background:var(--primary-soft);color:var(--primary-strong)}.pill.coral{background:var(--coral-soft);color:var(--coral-strong)}.pill.amber{background:var(--amber-soft);color:var(--amber-strong)}h2.screen-title{font-size:24px;font-weight:900;margin:0 0 14px;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.muted{color:var(--text-soft);font-size:14px}.preview-note{font-size:13px;font-weight:700;color:var(--amber-strong);background:var(--amber-soft);border-radius:14px;padding:9px 14px;margin-bottom:14px}.section-label{font-size:13px;font-weight:900;color:var(--text-soft);text-transform:none;letter-spacing:.06em;margin:24px 0 8px}.empty{padding:26px 8px;text-align:center;color:var(--text-soft);font-size:15px}.hero{position:relative;overflow:hidden;border-radius:26px;padding:22px 20px 18px;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,#19A3A0 55%,var(--blue) 100%);box-shadow:0 10px 22px -12px var(--primary-shade)}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff1f}.hero:before{width:180px;height:180px;right:-50px;top:-70px}.hero:after{width:110px;height:110px;right:60px;bottom:-60px}.hero>*{position:relative}.hero-kicker{margin:0;font-size:15px;opacity:.9}.hero h1{margin:0;font-size:30px;font-weight:900;letter-spacing:-.02em;line-height:1.15}.hero-sub{margin:4px 0 16px;font-size:15px;opacity:.95}.hero-tip{margin:14px 0 0;font-size:13px;opacity:.95;background:#ffffff26;border-radius:12px;padding:6px 10px}.hero-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}@media(max-width:420px){.hero-actions .quick{font-size:12px;letter-spacing:.02em;padding:9px 2px 7px}}.quick{background:#fff;border:none;border-radius:16px;padding:10px 6px 8px;cursor:pointer;color:var(--c-strong, #333);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:14px;font-weight:900;text-transform:none;letter-spacing:.04em;box-shadow:0 10px 22px -12px #00000026;transition:transform .08s,box-shadow .08s}[data-theme=dark] .quick{color:var(--c-shade)}.quick .ic{margin-bottom:2px}.quick:active{transform:scale(.97);box-shadow:none}.mat-icon{width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--coral-soft);display:flex;align-items:center;justify-content:center;font-size:22px}.mat-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.mat-row:first-of-type{border-top:none}.mat-row strong,.mat-card-text strong{display:block;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-row small,.mat-card-text small{display:block;font-size:12.5px;color:var(--text-soft)}.mat-add{display:flex;flex-direction:column;gap:10px;border:2px dashed var(--border-strong);border-radius:16px;padding:12px}.mat-add input:not([type=file]){margin:0}.mat-file{display:flex;align-items:center;justify-content:center;padding:18px;border-radius:14px;background:var(--surface-2);font-weight:800;color:var(--text-soft);cursor:pointer;position:relative;text-align:center;overflow:hidden}.mat-file:hover{color:var(--primary-strong)}.mat-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.mat-words{display:flex;flex-wrap:wrap;gap:6px;max-height:260px;overflow-y:auto}.mat-word{display:flex;flex-direction:column;position:relative;background:var(--surface-2);border-radius:12px;padding:5px 26px 5px 10px;max-width:100%}.mat-word strong{font-size:14px;letter-spacing:.5px}.mat-word small{font-size:11px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.mat-word button{position:absolute;top:3px;right:5px;border:none;background:none;color:var(--text-soft);font-size:16px;cursor:pointer;padding:0 2px}.mat-word button:hover{color:var(--red-strong)}.mat-meanings summary{cursor:pointer;font-weight:800;color:var(--purple-strong)}.mat-meanings[open]{display:flex;flex-direction:column;gap:8px}.mat-meanings textarea{margin:0}.my-materials{margin-bottom:6px}.my-materials .section-label{margin-top:4px}.mat-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:10px 12px;margin-bottom:8px;animation:rise .3s ease-out}.mat-card-text{flex:1;min-width:140px}.mat-card-actions{display:flex;gap:6px;flex-wrap:wrap}.mat-play{background:var(--primary-soft);color:var(--primary-strong)}.gm-source{display:flex;align-items:center;gap:10px;background:var(--coral-soft);border-radius:16px;padding:10px 12px;margin:-4px 0 14px;animation:bounce-in .35s ease-out}.gm-source small{display:block;font-size:12px;color:var(--coral-strong)}.gm-source strong{display:block;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed{display:flex;flex-direction:column;gap:12px}.feed>.screen-title{margin-bottom:2px}.feed>.gm-back{align-self:flex-start}.feed-channels{display:flex;flex-direction:column;gap:10px}.feed-channel{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);transition:transform .08s,box-shadow .08s,border-color .15s;animation:rise .35s ease-out backwards}.feed-channel:nth-child(2){animation-delay:.04s}.feed-channel:nth-child(3){animation-delay:.08s}.feed-channel:nth-child(4){animation-delay:.12s}.feed-channel:nth-child(5){animation-delay:.16s}.feed-channel:nth-child(6){animation-delay:.2s}.feed-channel:hover{border-color:var(--c);box-shadow:0 10px 22px -12px var(--c)}.feed-channel:active{transform:scale(.97);box-shadow:none}.feed-channel-icon{width:48px;height:48px;flex-shrink:0;border-radius:14px;background:var(--c-soft);display:flex;align-items:center;justify-content:center;font-size:26px}.feed-channel-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.feed-channel-text strong{font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feed-channel-text small{font-size:13px;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-new{font-size:11px;font-weight:900;color:#fff;background:var(--red);padding:1px 8px;border-radius:99px;animation:pop .3s}.feed-count{font-size:13px;font-weight:900;color:var(--c-strong);background:var(--c-soft);border-radius:99px;padding:2px 10px}.feed-channel-head{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.feed-channel-title{display:flex;align-items:center;gap:12px}.feed-channel-title h2{margin:0;font-size:22px;font-weight:900;line-height:1.2}.feed-channel-title small{color:var(--text-soft);font-size:14px}.feed-compose-open{text-align:left;padding:14px 16px;border-radius:16px;border:2px dashed var(--border-strong);background:var(--surface);color:var(--text-soft);font-size:15px;font-weight:800;cursor:pointer}.feed-compose-open:hover{border-color:var(--primary);color:var(--primary-strong)}.feed-compose{background:var(--surface);border:2px solid var(--primary);border-radius:18px;padding:12px;animation:rise .25s ease-out}.feed-compose textarea{min-height:90px}.feed-compose .journal-bar .btn-primary{padding:10px 22px}.feed-pinned{background:var(--surface);border:2px solid var(--pink);border-radius:20px;padding:10px 12px 12px;box-shadow:0 10px 22px -12px var(--pink-soft);animation:rise .3s ease-out}.feed-pinned-title{margin:0 0 8px;font-weight:900;color:var(--pink-strong)}.feed-pinned-link{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--text);border-color:var(--coral);box-shadow:0 10px 22px -12px var(--coral-soft);transition:transform .08s,box-shadow .08s}.feed-pinned-link:active{transform:scale(.97);box-shadow:none}.feed-pinned-link .feed-pinned-title{margin:0;color:var(--coral-strong)}.feed-pinned-link small{font-size:14px;color:var(--text-soft)}.feed-pinned-go{align-self:flex-start;margin-top:4px;font-size:13px;font-weight:900;color:#fff;background:var(--coral);padding:4px 12px;border-radius:99px}.yt{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;margin-top:8px}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.yt-poster{position:absolute;inset:0;border:0;padding:0;cursor:pointer;background:#000}.yt-poster img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .15s}.yt-poster:hover img{opacity:1}.yt-play{position:absolute;left:50%;top:50%;width:64px;height:46px;margin:-23px 0 0 -32px;border-radius:14px;background:#f03;color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0006}.picks{background:var(--surface);border:2px solid var(--amber);border-radius:22px;padding:12px;box-shadow:0 10px 22px -12px var(--amber-soft);animation:rise .3s ease-out}.picks-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.picks-title{margin:0;font-size:18px;font-weight:900;color:var(--amber-strong)}.picks-head small{color:var(--text-soft);font-size:13px}.picks-row{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x mandatory;scrollbar-width:thin}.pick-card{position:relative;flex:0 0 118px;scroll-snap-align:start;display:flex;flex-direction:column;gap:3px;text-align:left;background:none;border:none;padding:0;cursor:pointer;color:var(--text);font-family:inherit}.pick-card img,.pick-noposter{width:118px;height:177px;object-fit:cover;border-radius:14px;background:var(--surface-2);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-size:36px;transition:transform .15s,box-shadow .15s}.pick-card:hover img{transform:translateY(-3px)}.pick-card.open img{box-shadow:0 0 0 3px var(--amber),0 4px 0 var(--amber-shade)}.pick-card strong{font-size:13.5px;font-weight:900;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pick-card small{font-size:11.5px;color:var(--text-soft)}.pick-rank{position:absolute;top:6px;left:6px;z-index:1;background:var(--amber);color:#fff;font-weight:900;font-size:13px;border-radius:99px;padding:1px 8px;box-shadow:0 10px 22px -12px var(--amber-shade)}.pick-rank.static{position:static;flex-shrink:0}.pick-detail{border-top:1px solid var(--border);margin-top:6px;padding-top:10px;display:flex;flex-direction:column;gap:8px;animation:rise .25s ease-out}.pick-detail-title{margin:0;font-size:18px;font-weight:900}.pick-note{margin:0;background:var(--amber-soft);color:var(--text);border-radius:14px;padding:8px 12px;font-size:15px}.pick-overview{margin:0;font-size:14.5px;color:var(--text-soft)}.pick-where{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.pick-where img{width:32px;height:32px;border-radius:8px}.pick-links{display:flex;gap:6px;flex-wrap:wrap}.pick-links a{text-decoration:none}.picks-credit{margin:8px 0 0;font-size:11px;color:var(--text-soft)}.picks-editor{display:flex;flex-direction:column;gap:8px}.picks-slot{background:var(--surface-2);border-radius:16px;padding:8px 10px}.picks-slot-row{display:flex;align-items:center;gap:10px}.picks-slot-row img,.pick-thumb-empty{width:36px;height:54px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--surface-3);display:flex;align-items:center;justify-content:center}.picks-slot-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picks-slot-row small{display:block;font-size:12px}.picks-choose{display:flex;flex-direction:column;gap:8px;margin-top:10px}.picks-choose .wc-row input{margin:0}.picks-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.picks-result{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:6px;cursor:pointer;text-align:left;font-family:inherit;color:var(--text)}.picks-result:hover{border-color:var(--amber)}.picks-result img,.picks-result .pick-noposter{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:none;font-size:28px}.picks-result strong{font-size:12.5px;line-height:1.2}.picks-result small{font-size:11px;color:var(--text-soft)}.picks-chosen{display:flex;flex-direction:column;gap:8px}.picks-chosen textarea{margin:0}iframe.spotify{display:block;width:100%;border:0;border-radius:14px;margin-top:8px;background:var(--surface-2)}.forum-topics{display:flex;flex-direction:column;gap:8px}.forum-topic{display:flex;align-items:center;gap:12px;padding:10px 12px;text-align:left;cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px;transition:border-color .15s,transform .08s;animation:rise .3s ease-out backwards}.forum-topic:hover{border-color:var(--primary)}.forum-topic:active{transform:scale(.99)}.forum-topic.pinned{border-color:var(--amber);background:linear-gradient(90deg,var(--amber-soft),var(--surface) 60%)}.forum-topic .avatar{width:36px;height:36px;font-size:12px}.forum-topic-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.forum-topic-text strong{font-size:15px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-topic-text small{font-size:12.5px;color:var(--text-soft);display:flex;align-items:center;gap:5px}.forum-topic-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;font-weight:800;color:var(--text-soft);flex-shrink:0}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 14px;animation:rise .3s ease-out}.post-card.by-teacher{border-color:var(--amber)}.post-head{display:flex;align-items:center;gap:10px}.post-who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.post-who strong{font-size:15px;font-weight:900;display:flex;align-items:center;gap:6px}.post-who small{font-size:12px;color:var(--text-soft)}.teacher-badge{font-size:10px;font-weight:900;text-transform:none;letter-spacing:.05em;color:var(--amber-strong);background:var(--amber-soft);padding:1px 7px;border-radius:99px}.post-title{margin:10px 0 0;font-size:17px;font-weight:900}.post-body{margin:6px 0 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.post-body[role=button]{cursor:pointer}.post-body a,.reply-bubble a{color:var(--purple);font-weight:800;word-break:break-all}.post-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.post-btn{background:var(--surface-2);border:none;border-radius:99px;padding:6px 12px;font-size:13px;font-weight:800;color:var(--text-soft);cursor:pointer;transition:transform .1s,background .15s}.post-btn:hover{background:var(--surface-3)}.post-btn:active{transform:scale(.94)}.post-btn.liked{background:var(--red-soft);color:var(--red-strong)}.post-btn.danger{margin-left:auto}.thread{display:flex;flex-direction:column;gap:10px}.thread .section-label{margin:10px 0 0}.reply{display:flex;gap:8px;align-items:flex-start;animation:rise .25s ease-out}.reply .avatar{width:34px;height:34px;font-size:12px}.reply-bubble{background:var(--surface);border:1px solid var(--border);border-radius:4px 16px 16px;padding:8px 12px;max-width:85%}.reply.mine{flex-direction:row-reverse}.reply.mine .reply-bubble{background:var(--primary-soft);border-color:transparent;border-radius:16px 4px 16px 16px}.reply.by-teacher .reply-bubble{border-color:var(--amber)}.reply-bubble strong{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:900}.reply-bubble strong small{font-weight:700;color:var(--text-soft);font-size:11px}.reply-bubble p{margin:2px 0 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.reply-form{display:flex;gap:8px;position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));background:var(--bg);padding:8px 0}.reply-form input{margin:0}.reply-form .btn-primary{width:auto;margin:0;padding:0 18px}@media(min-width:900px){.reply-form{bottom:0}}.shell.teacher .reply-form{bottom:0}.progress-card{margin-top:14px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:14px;box-shadow:var(--shadow-sm);animation:rise .35s ease-out}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pstat{display:flex;flex-direction:column;align-items:center;gap:0;padding:8px 4px;border-radius:16px;background:var(--c-soft);line-height:1.15}.pstat strong{font-size:22px;font-weight:900;color:var(--c-strong)}.pstat small{font-size:11.5px;font-weight:800;color:var(--text-soft)}.pstat.c-coral:not(.lit) .ic{filter:grayscale(1);opacity:.5}.pstat.lit .ic{animation:pop .5s ease-out}.week-dots{display:flex;justify-content:space-between;gap:4px;margin:12px 2px 6px}.wdot{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1}.wdot b{width:30px;height:30px;border-radius:50%;background:var(--surface-3);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center}.wdot.done b{background:var(--primary);box-shadow:0 10px 22px -12px var(--primary-shade)}.wdot.is-today b{outline:3px solid var(--amber);outline-offset:2px}.wdot small{font-size:11px;font-weight:900;color:var(--text-soft)}.progress-hint{margin:6px 0 0;text-align:center;font-size:14px;font-weight:800}.class-goal{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.class-goal-head{display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:800;flex-wrap:wrap}.class-goal-head b{color:var(--amber-strong)}.class-goal small{font-size:12.5px;color:var(--text-soft)}.streak-pill{display:inline-flex;align-items:center;gap:3px;font-weight:900;font-size:14px;color:var(--text-soft);padding:3px 9px;border-radius:99px;background:var(--surface-2)}.streak-pill .ic{color:var(--coral);filter:grayscale(1);opacity:.6}.streak-pill.lit{color:var(--coral-strong);background:var(--coral-soft)}.streak-pill.lit .ic{filter:none;opacity:1}.xp-toast{position:fixed;left:50%;top:76px;z-index:70;transform:translate(-50%);pointer-events:none;background:var(--amber);color:#fff;font-weight:900;font-size:18px;padding:8px 18px;border-radius:99px;box-shadow:0 10px 22px -12px var(--amber-shade),0 10px 24px #0003;animation:xp-rise 2.2s ease-out forwards}@keyframes xp-rise{0%{opacity:0;transform:translate(-50%,12px) scale(.7)}15%{opacity:1;transform:translate(-50%) scale(1.1)}25%{transform:translate(-50%) scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-24px)}}.activity-bars{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;align-items:end;height:90px}.abar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px}.abar span{width:100%;border-radius:6px 6px 3px 3px;background:var(--surface-3)}.abar span.on{background:var(--primary)}.abar small{font-size:10px;color:var(--text-soft);font-weight:800}.card.attention{border-color:var(--coral)}nav.tabbar button,.side-item,.pill-tabs button{position:relative}.nav-count{position:absolute;top:2px;right:calc(50% - 26px);min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--red);color:#fff;font-size:11.5px;font-weight:900;line-height:20px;text-align:center;box-shadow:0 0 0 2px var(--surface);animation:pop .4s ease-out}.side-item .nav-count,.nav-count.static{position:static;margin-left:auto}.pill-tabs button .nav-count{top:-6px;right:-6px}.post-btn.on{background:var(--purple-soft);color:var(--purple-strong)}.post-btn.fresh{background:var(--amber-soft);color:var(--amber-strong)}.new-dot{margin-left:6px;background:var(--red);color:#fff;font-size:10px;font-weight:900;text-transform:none;padding:1px 6px;border-radius:99px}.journal-entry.fresh{border-color:var(--amber);box-shadow:0 10px 22px -12px var(--amber-soft)}.feedback-note{font-size:12.5px;font-weight:800;align-self:center;color:var(--primary-strong)}.comments{margin-top:10px;padding-top:10px;border-top:2px dashed var(--border);gap:8px}.reply-form.inline{position:static;padding:4px 0 0;background:none}.mirror{display:flex;flex-direction:column;gap:10px}.mirror-text{margin:0;font-size:15px;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.mirror-text .aux.on{background:var(--purple);color:#fff}.mirror-chips{display:flex;flex-wrap:wrap;gap:6px}.mirror-chip{border:2px solid var(--purple-soft);background:var(--surface);color:var(--purple-strong);border-radius:99px;padding:4px 10px;font-size:13px;font-weight:800;cursor:pointer}.mirror-chip b{color:var(--text-soft)}.mirror-chip.on{background:var(--purple-soft);border-color:var(--purple)}.mirror-note{animation:rise .25s ease-out}.mirror-note p:last-child{margin:0}.mirror-challenge{margin:0;font-size:13.5px;font-weight:700}.chat{display:flex;flex-direction:column;gap:8px}.chat-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:calc(100vh - 290px);min-height:180px;background:var(--surface-2);border-radius:18px;padding:12px}.chat.compact .chat-list{max-height:340px;min-height:90px}.tutor-chat .chat-list{max-height:calc(100vh - 330px);min-height:260px}.tutor-chat.compact .chat-list{max-height:380px;min-height:140px}.tutor-bubble{max-width:88%}.tutor-text{font-size:15px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}.tutor-text p{margin:0 0 6px}.tutor-text p:last-child{margin-bottom:0}.tutor-text ul{margin:2px 0 6px;padding-left:20px}.tutor-text li{margin:2px 0}.tutor-text strong{font-weight:900;color:var(--primary-strong)}.tutor-bubble small{align-items:center}.tutor-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;max-width:460px;padding:14px 4px}.tutor-empty p{margin:0;font-weight:700;color:var(--text-soft)}.tutor-avatar.big{font-size:40px;width:72px;height:72px;border-radius:22px;background:var(--amber-soft);display:flex;align-items:center;justify-content:center}.tutor-starters{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.tutor-starters button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:14px;padding:7px 11px;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer;text-align:left}.tutor-starters button:hover{border-color:var(--primary)}.tutor-typing{display:flex;gap:5px;padding:12px 14px}.tutor-typing span{width:8px;height:8px;border-radius:50%;background:var(--text-soft);animation:tutor-dot 1s infinite ease-in-out}.tutor-typing span:nth-child(2){animation-delay:.15s}.tutor-typing span:nth-child(3){animation-delay:.3s}@keyframes tutor-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.tutor-form{display:flex;gap:8px;align-items:flex-end}.tutor-form textarea{flex:1;min-width:0;resize:none;font:inherit;font-size:15px;font-weight:600;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.tutor-form textarea:focus{outline:none;border-color:var(--primary)}.tutor-form .btn-primary{width:auto;flex:0 0 auto;margin:0;padding-left:20px;padding-right:20px}.tutor-note{margin:0;font-size:12.5px;font-weight:700;color:var(--text-soft)}.tutor-row{width:100%;background:none;border:none;border-bottom:1px solid var(--border);font:inherit;color:var(--text);text-align:left;cursor:pointer}.tutor-try{margin:10px 0 4px}.chat-empty{margin:auto;text-align:center;color:var(--text-soft);font-weight:700;max-width:340px;padding:20px 8px}.chat-day{text-align:center;font-size:11.5px;font-weight:900;text-transform:none;letter-spacing:.05em;color:var(--text-soft);margin:8px 0 2px}.bubble{max-width:80%;width:fit-content;background:var(--surface);border:1px solid var(--border);border-radius:4px 18px 18px;padding:7px 12px;animation:rise .2s ease-out}.bubble.mine{margin-left:auto;background:var(--primary);border-color:var(--primary);color:#fff;border-radius:18px 4px 18px 18px}.bubble p{margin:0;font-size:15px;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.bubble small{display:flex;gap:8px;justify-content:flex-end;font-size:11px;font-weight:700;opacity:.75;margin-top:2px}.bubble.mine a,.bubble.mine .logout-link{color:#fff}.chat-title{display:flex;align-items:center;gap:10px;margin:6px 0 12px}.chat-title strong{font-size:17px;font-weight:900}.convo-list{padding:6px}.convo{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:none;background:none;border-radius:14px;cursor:pointer;text-align:left;color:var(--text);font:inherit}.convo:hover{background:var(--surface-2)}.convo-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.convo-text strong{font-weight:900;font-size:15px}.convo-text small{color:var(--text-soft);font-size:12.5px}.convo.unread .convo-text strong{color:var(--pink-strong, var(--coral-strong))}.convo-search{margin-bottom:10px}.pill-btn{border:none;cursor:pointer;margin-right:6px;font-family:inherit}.save-word-btn{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle;border:none;border-radius:99px;padding:5px 11px;background:var(--amber-soft);color:var(--amber-strong);font:inherit;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px -12px color-mix(in srgb,var(--amber) 45%,transparent)}.save-word-btn.done{background:var(--primary-soft);color:var(--primary-strong);box-shadow:none;cursor:default}.save-word-btn small{font-weight:700}.gm-card.mw-entry{flex-direction:row;align-items:center;gap:12px;width:100%;margin-bottom:12px}.mw-entry .gm-icon{font-size:28px;margin:0;flex-shrink:0}.mw-entry-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.mw-hero{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border-radius:20px;background:var(--c-soft);margin-bottom:12px}.mw-hero>div{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}.mw-hero strong{font-size:18px;font-weight:900;color:var(--c-strong)}.mw-hero small{font-size:13px;color:var(--text-soft);font-weight:700}.mw-hero .btn-primary{width:auto;margin:0;padding:11px 22px}.mw-add{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.mw-add input{margin:0}.mw-add .btn-primary{width:auto;margin:0;padding:11px 18px}.mw-msg{grid-column:1 / -1;margin:0}@media(max-width:520px){.mw-add{grid-template-columns:1fr auto}.mw-add input:nth-child(2){grid-column:1;grid-row:2}}.mw-list{padding:4px 14px}.mw-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.mw-row:last-child{border-bottom:none}.mw-word{flex:1;min-width:0;display:flex;flex-direction:column}.mw-word strong{font-size:16px;font-weight:900}.mw-word small{font-size:13px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-add-meaning{font-size:13px;text-align:left}.mw-boxes{display:flex;gap:3px}.mw-boxes i{width:9px;height:9px;border-radius:3px;background:var(--surface-3)}.mw-boxes i.on{background:var(--purple)}.mw-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:26px 18px;text-align:center;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;align-items:center;animation:bounce-in .3s ease-out}.mw-hint{font-size:13px;font-weight:900;text-transform:none;letter-spacing:.05em;color:var(--text-soft)}.mw-front{margin:0;font-size:30px;font-weight:900;overflow-wrap:anywhere}.mw-card form{display:flex;flex-direction:column;gap:10px;width:100%;max-width:340px}.mw-card input{text-align:center;font-size:18px;margin:0}.mw-card .btn-primary{margin:0}.mw-back{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%;max-width:340px;animation:rise .25s ease-out}.mw-back p{margin:0;font-size:18px;font-weight:800}.mw-back.good p{color:var(--primary-strong)}.mw-back.bad p{color:var(--red-strong)}.mw-grade{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.btn-primary.mw-no{background:var(--coral);box-shadow:0 10px 22px -12px var(--coral-shade)}.say-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:4px;vertical-align:middle;border:none;border-radius:50%;background:var(--pink-soft);color:var(--pink-strong);font-size:16px;line-height:1;cursor:pointer;box-shadow:0 10px 22px -12px color-mix(in srgb,var(--pink) 40%,transparent);transition:transform .1s}.say-btn:hover{transform:scale(1.08)}.say-btn.mini{width:24px;height:24px;font-size:12px;margin-left:2px}.say-btn.big{width:72px;height:72px;font-size:32px;background:var(--pink);box-shadow:0 10px 22px -12px var(--pink-shade)}.say-btn.listening{background:var(--red);color:#fff;animation:mic-pulse 1s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--red) 50%,transparent)}50%{box-shadow:0 0 0 10px transparent}}.say-result{display:inline-block;margin-left:6px;font-size:13px;font-weight:800;padding:2px 10px;border-radius:99px;vertical-align:middle;animation:rise .2s ease-out}.say-result.block{display:block;flex-basis:100%;margin:10px 0 0;border-radius:14px;padding:6px 12px;white-space:normal}.say-actions{flex-wrap:wrap;justify-content:center}.say-result.perfect{background:var(--primary-soft);color:var(--primary-strong)}.say-result.almost{background:var(--amber-soft);color:var(--amber-strong)}.say-result.again{background:var(--red-soft);color:var(--red-strong)}.say-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:22px 16px;text-align:center;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;align-items:center}.say-target{margin:0;font-size:34px;font-weight:900;line-height:1.3}.say-target.sentence{font-size:22px}.say-target .missed{color:var(--red-strong);text-decoration:underline wavy var(--red);text-underline-offset:5px}.say-actions{display:flex;align-items:center;gap:14px}.say-actions .speak-btn{width:48px;height:48px;font-size:22px;margin:0}.say-help{margin:0;font-size:12.5px;font-weight:800;color:var(--text-soft)}.say-feedback{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-radius:16px;font-size:14px;font-weight:700;animation:bounce-in .25s ease-out}.say-feedback strong{font-size:18px;font-weight:900}.say-feedback.perfect{background:var(--primary-soft);color:var(--primary-strong)}.say-feedback.almost{background:var(--amber-soft);color:var(--amber-strong)}.say-feedback.again{background:var(--red-soft);color:var(--red-strong)}.say-card .btn-primary{width:auto;min-width:180px;margin:0}.journal-mode{display:inline-flex;gap:4px;padding:4px;border-radius:99px;background:var(--surface-2);margin-bottom:10px}.journal-mode button{border:none;background:none;padding:7px 16px;border-radius:99px;font:inherit;font-size:14px;font-weight:800;color:var(--text-soft);cursor:pointer}.journal-mode button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.voice-box{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-bottom:10px}.voice-rec{display:flex;flex-direction:column;gap:4px}.rec-btn{display:inline-flex;align-items:center;gap:8px;border:none;border-radius:99px;padding:12px 22px;cursor:pointer;background:var(--pink);color:#fff;font:inherit;font-size:16px;font-weight:900;box-shadow:0 10px 22px -12px var(--pink-shade)}.rec-btn:active{transform:scale(.97);box-shadow:none}.rec-btn.on{background:var(--red);box-shadow:0 10px 22px -12px var(--red-strong)}.rec-dot{width:12px;height:12px;border-radius:50%;background:#fff;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.voice-preview{display:flex;flex-direction:column;gap:2px;width:100%}.voice-preview audio,.voice-audio{width:100%;max-width:420px;height:40px}textarea.short{min-height:70px}.voice-play{border:none;border-radius:99px;padding:8px 16px;margin:4px 0 8px;cursor:pointer;font:inherit;font-size:14px;font-weight:900;background:var(--pink-soft);color:var(--pink-strong)}.journal-entry .voice-audio{margin:4px 0 8px}.today{display:grid;gap:12px;margin-top:14px}.today-card{background:var(--surface);border:1px solid var(--border);border-top:6px solid var(--c);border-radius:22px;padding:14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:6px;animation:rise .35s ease-out}.today-kicker{margin:0;font-size:12.5px;font-weight:900;text-transform:none;letter-spacing:.06em;color:var(--c-strong)}.today-word{margin:0;font-size:32px;font-weight:900;line-height:1.15;overflow-wrap:anywhere}.today-meaning{margin:0;font-size:16px;font-weight:800;color:var(--text-soft)}.today-example{margin:2px 0 0;font-size:15px;font-style:italic}.today-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.today-actions .save-word-btn{margin:0}.today-actions .muted{font-size:12.5px;font-weight:700}.today-video-title{margin:0;font-size:16px;font-weight:900}.today-note{margin:4px 0 0;font-size:14px;font-weight:700;background:var(--c-soft);color:var(--c-strong);padding:8px 12px;border-radius:14px}.daily-picks{margin-top:14px}.daily-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.daily-summary{margin:6px 0 0;font-size:14px;line-height:1.6}.daily-form{display:flex;flex-direction:column;gap:8px;margin-top:12px}.daily-form input,.daily-form .muted{margin:0}.daily-form .btn-primary{width:auto;align-self:flex-start;margin:0}.planner-empty{padding:14px 8px}.hw-list{display:flex;flex-direction:column;gap:10px}.hw-card{display:flex;align-items:flex-start;gap:12px;background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--blue);border-radius:18px;padding:12px;box-shadow:var(--shadow-sm);animation:rise .3s ease-out}.hw-card.soon{border-left-color:var(--amber)}.hw-card.late{border-left-color:var(--red)}.hw-card.done{border-left-color:var(--primary);opacity:.75}.hw-card.done strong{text-decoration:line-through}.hw-check{width:30px;height:30px;flex-shrink:0;border-radius:10px;border:3px solid var(--border);background:var(--surface);color:#fff;font-size:17px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center}.hw-check.on{background:var(--primary);border-color:var(--primary);animation:pop .35s ease-out}.hw-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hw-body strong{font-size:16px;font-weight:900}.hw-body p{margin:2px 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.hw-due{font-size:12.5px;font-weight:800;color:var(--text-soft)}.hw-due.soon{color:var(--amber-strong)}.hw-due.late{color:var(--red-strong)}.btn-primary.hw-go{width:auto;margin:0;padding:9px 14px;font-size:14px;align-self:center}.planner-done-toggle{margin:10px 0 0}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:10px}.wday{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;padding:7px 2px;border-radius:14px;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;line-height:1.15}.wday small{font-size:10.5px;font-weight:900;text-transform:none;color:var(--text-soft)}.wday strong{font-size:18px;font-weight:900}.wday i{position:absolute;top:-6px;right:-4px;min-width:18px;height:18px;border-radius:99px;background:var(--amber);color:#fff;font-size:11px;font-style:normal;font-weight:900;line-height:18px}.wday.on{background:var(--amber-soft);border-color:var(--amber);box-shadow:0 10px 22px -12px var(--amber)}.planner-day{padding:6px 14px 12px}.planner-title{flex:1;min-width:0;overflow-wrap:anywhere}.planner-title .late{color:var(--red-strong);font-weight:800}.hw-mini{font-size:14px;color:var(--blue-strong)}.hw-form{display:flex;flex-direction:column;gap:8px}.hw-form input,.hw-form textarea,.hw-form select{margin:0}.hw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hw-form-row label,.hw-audience>span{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:800;color:var(--text-soft)}.hw-audience{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hw-audience .journal-mode{margin:0}.hw-level{width:auto}.hw-pick{display:flex;flex-wrap:wrap;gap:6px}.hw-pick label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;border:1px solid var(--border);font-size:14px;font-weight:700;cursor:pointer}.hw-pick label.on{border-color:var(--blue);background:var(--blue-soft)}.hw-pick input{width:16px;height:16px;margin:0}.hw-pick small{color:var(--text-soft)}.hw-assignment{padding:0;overflow:hidden;margin-bottom:10px}.hw-assignment-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text);font:inherit}.hw-assignment-text{flex:1;min-width:0;display:flex;flex-direction:column}.hw-assignment-text strong{font-size:15px;font-weight:900}.hw-assignment-text small{font-size:12.5px;color:var(--text-soft);font-weight:700}.hw-progress{display:flex;flex-direction:column;align-items:flex-end;gap:4px;width:80px}.hw-progress b{font-size:15px;font-weight:900;color:var(--primary-strong)}.hw-progress .bar{width:100%;height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.hw-progress .bar span{display:block;height:100%;background:var(--primary);border-radius:99px}.hw-who{padding:0 14px 12px;display:flex;flex-direction:column;gap:6px}.hw-who .muted{margin:0 0 4px;white-space:pre-wrap}.hw-who-row{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.hw-who-row .avatar{width:28px;height:28px;font-size:11px}.hw-who-row span:nth-child(2){flex:1}.hw-who-row small{color:var(--text-soft);font-weight:800}.hw-who-row.done small{color:var(--primary-strong)}.hw-who .logout-link{align-self:flex-start;margin-top:6px}.quiz-setup .hw-form-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.quiz-setup select{margin:0}.quiz-preview{margin:6px 0 12px;padding-left:22px;font-size:14px;max-height:220px;overflow:auto;color:var(--text-soft)}.quiz-preview strong{color:var(--text)}.quiz-stage{display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;padding:8px 0 20px}.quiz-top{display:flex;align-items:center;gap:12px;width:100%;justify-content:space-between}.quiz-big{margin:0;font-size:clamp(28px,5vw,48px);font-weight:900;line-height:1.1}.quiz-sub{margin:0;font-size:17px;font-weight:700;color:var(--text-soft)}.quiz-lobby{display:flex;flex-direction:column;gap:14px;align-items:center;padding:20px 0}.quiz-players{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:720px}.quiz-players span{background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:8px 16px;font-size:18px;font-weight:900;animation:bounce-in .3s ease-out}.btn-primary.quiz-go{width:auto;min-width:220px;font-size:20px;padding:14px 28px;margin:0}.quiz-ask{margin:0;font-size:15px;font-weight:900;text-transform:none;letter-spacing:.06em;color:var(--text-soft)}.quiz-prompt{margin:0;font-size:clamp(34px,7vw,64px);font-weight:900;line-height:1.1;overflow-wrap:anywhere}.quiz-prompt.small{font-size:30px}.quiz-timer{display:flex;align-items:center;gap:14px}.quiz-timer b{width:70px;height:70px;border-radius:50%;background:var(--purple);color:#fff;font-size:30px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px -12px var(--purple-shade)}.quiz-timer span{font-size:17px;font-weight:800;color:var(--text-soft)}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:960px}.quiz-opt{--q:var(--red);display:flex;align-items:center;gap:12px;min-height:84px;padding:14px 18px;border:none;border-radius:18px;background:var(--q);color:#fff;font:inherit;font-size:clamp(18px,2.6vw,28px);font-weight:900;text-align:left;box-shadow:0 10px 22px -12px color-mix(in srgb,var(--q) 70%,#000);transition:opacity .25s,transform .1s}button.quiz-opt{cursor:pointer}button.quiz-opt:active{transform:scale(.97);box-shadow:none}.quiz-opt.q-red{--q:var(--red)}.quiz-opt.q-blue{--q:var(--blue)}.quiz-opt.q-amber{--q:var(--amber)}.quiz-opt.q-green{--q:var(--primary)}.quiz-opt .shape{font-size:1.1em;opacity:.9}.quiz-opt .txt{flex:1;overflow-wrap:anywhere}.quiz-opt .cnt{background:#fff3;border-radius:99px;padding:2px 12px}.quiz-opt.wrong{opacity:.35}.quiz-opt.right{outline:5px solid var(--text);outline-offset:3px;animation:pop .4s ease-out}.quiz-reveal{font-size:15px}.quiz-after{display:flex;flex-direction:column;gap:14px;align-items:center;width:100%}.quiz-board{list-style:none;margin:0;padding:0;width:100%;max-width:520px;display:flex;flex-direction:column;gap:6px}.quiz-board li{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 14px;font-size:18px;font-weight:800;animation:rise .3s ease-out}.quiz-board .rank{width:28px;height:28px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:14px}.quiz-board .name{flex:1;text-align:left}.quiz-podium{display:flex;align-items:flex-end;justify-content:center;gap:10px;width:100%;max-width:560px;margin:10px 0}.pod{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:18px 18px 6px 6px;background:var(--c-soft, var(--surface-2));animation:rise .5s ease-out}.pod span{font-size:36px}.pod strong{font-size:17px;font-weight:900;overflow-wrap:anywhere}.pod b{font-size:20px;font-weight:900;color:var(--amber-strong)}.pod.p1{order:2;min-height:190px;background:var(--amber-soft)}.pod.p2{order:1;min-height:150px;background:var(--blue-soft)}.pod.p3{order:3;min-height:120px;background:var(--coral-soft)}.quiz-banner{position:fixed;left:50%;transform:translate(-50%);bottom:calc(92px + env(safe-area-inset-bottom));z-index:40;border:none;border-radius:99px;padding:14px 24px;cursor:pointer;background:var(--coral);color:#fff;font:inherit;font-size:17px;font-weight:900;box-shadow:0 10px 22px -12px var(--coral-shade),0 10px 30px #0004;animation:quiz-in .4s ease-out,wiggle 2.5s 1s ease-in-out infinite;white-space:nowrap}@keyframes quiz-in{0%{transform:translate(-50%) scale(.3);opacity:0}70%{transform:translate(-50%) scale(1.08);opacity:1}to{transform:translate(-50%) scale(1)}}@keyframes wiggle{0%,90%,to{transform:translate(-50%) rotate(0)}93%{transform:translate(-50%) rotate(-3deg)}96%{transform:translate(-50%) rotate(3deg)}}@media(min-width:900px){.quiz-banner{bottom:24px}}.quiz-overlay{position:fixed;inset:0;z-index:80;background:var(--bg);overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:calc(16px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));text-align:center;animation:rise .25s ease-out}.quiz-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:18px;cursor:pointer;color:var(--text)}.quiz-center{flex:1;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}.quiz-center .btn-primary{width:auto;min-width:180px}.quiz-center.result.good .quiz-big{color:var(--primary-strong)}.quiz-center.result.bad .quiz-big{color:var(--red-strong)}.quiz-points{margin:0;font-size:44px;font-weight:900;color:var(--amber-strong);animation:pop .5s ease-out}.quiz-phone-top{display:flex;justify-content:space-between;align-items:center;font-weight:900;color:var(--text-soft);padding-right:48px}.quiz-phone-top b{font-size:22px;color:var(--purple-strong)}.quiz-phone-top b.hurry{color:var(--red-strong);animation:pop .5s ease-out infinite}.quiz-options.phone{grid-template-columns:1fr;flex:1;align-content:end}.quiz-options.phone .quiz-opt{min-height:72px;font-size:22px}@media(prefers-reduced-motion:reduce){.quiz-banner{animation:none}}.progress-report{display:block;margin:10px auto 0}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.report-overlay{position:fixed;inset:0;z-index:85;background:var(--bg);overflow-y:auto;padding:0 12px 30px}.report-toolbar{position:sticky;top:0;z-index:2;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:var(--bg)}.report-toolbar select{width:auto;margin:0}.report-sheet{max-width:800px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:16px}.report-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:3px solid var(--primary);padding-bottom:12px}.report-head .logo{margin:0;font-size:26px}.report-head small{color:var(--text-soft);font-weight:800}.report-who{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.report-who strong{font-size:22px;font-weight:900}@media(max-width:520px){.report-who{align-items:flex-start;text-align:left}}.report-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:520px){.report-stats{grid-template-columns:repeat(2,1fr)}}.report-stat{background:var(--c-soft);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:2px}.report-stat strong{font-size:28px;font-weight:900;color:var(--c-strong);line-height:1.1}.report-stat small{font-size:12.5px;font-weight:800;color:var(--text-soft)}.report-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-width:420px;margin:0 auto;width:100%}.report-cal small{text-align:center;font-size:11px;font-weight:900;color:var(--text-soft)}.cal-day{aspect-ratio:1;border-radius:9px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--text-soft)}.cal-day.on{background:var(--primary);color:#fff}.report-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:620px){.report-cols{grid-template-columns:1fr}}.report-sheet h3{margin:0 0 8px;font-size:16px;font-weight:900}.report-list{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14.5px;font-weight:700}.report-next{margin:10px 0 0;font-size:14px}.report-note{background:var(--amber-soft);border-radius:16px;padding:14px}.report-note p{margin:0;white-space:pre-wrap;font-size:15px;font-weight:600}.report-note textarea{margin:0 0 8px;background:var(--surface)}.report-foot{margin:0;text-align:center;font-size:12.5px;font-weight:800;color:var(--text-soft)}.print-only{display:none}@media print{body *{visibility:hidden}.report-sheet,.report-sheet *{visibility:visible}.report-overlay{position:absolute;inset:0;padding:0;overflow:visible;background:#fff}.report-sheet{position:absolute;left:0;top:0;width:100%;max-width:none;border:none;border-radius:0;background:#fff;color:#111;padding:0}.report-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print,.report-note textarea{display:none!important}.print-only{display:block}}.lib-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.lib-filter button{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);border-radius:99px;padding:6px 14px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}.lib-filter button.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong)}.lib-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.lib-card{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border-radius:18px;cursor:pointer;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .1s,border-color .15s;animation:rise .3s ease-out}.lib-card:hover{border-color:var(--primary)}.lib-card:active{transform:scale(.97);box-shadow:none}.lib-card.done{opacity:.7}.lib-card-emoji{font-size:30px;width:52px;height:52px;border-radius:16px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.lib-card-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.lib-card-text strong{font-size:16px;font-weight:900}.lib-card-text small{font-size:13px;color:var(--text-soft)}.lib-card-tags{font-size:12px;font-weight:800;color:var(--text-soft);margin-top:3px}.lib-card-tags b{color:var(--primary-strong)}.lib-lesson{display:flex;flex-direction:column;gap:14px}.lib-head{display:flex;gap:14px;align-items:center}.lib-emoji{font-size:44px;width:76px;height:76px;border-radius:22px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-sm)}.lib-head h2{margin:0;font-size:26px;font-weight:900;line-height:1.15}.lib-head p{margin:2px 0 6px;color:var(--text-soft);font-weight:700}.lib-tags{display:flex;gap:6px;flex-wrap:wrap}.lib-notes{background:var(--amber-soft);border:2px dashed var(--amber);border-radius:18px;padding:12px 14px}.lib-notes ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px}.lib-section{display:flex;flex-direction:column;gap:12px}.lib-step{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--c);color:#fff;align-items:center;justify-content:center;font-size:12px;margin-right:4px}.lib-intro{margin:-4px 0 0;font-size:15px;font-weight:700}.lib-ask{margin:0 0 8px;font-weight:800;font-size:15px}.lib-text p{margin:0 0 10px;font-size:16.5px;line-height:1.7}.lib-source{display:block;font-size:12px;color:var(--text-soft);font-style:italic}.lib-def{background:var(--c-soft);border-radius:16px;padding:12px 14px}.lib-def strong{font-size:24px;font-weight:900;color:var(--c-strong)}.lib-def p{margin:4px 0;font-size:16px;font-weight:700}.lib-def small{font-size:14px;font-weight:700;color:var(--text-soft)}.lib-facts{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.lib-facts li{background:var(--c-soft);border-radius:14px;padding:10px 12px;font-size:15px;font-weight:700;line-height:1.45}.lib-ticks{display:flex;flex-wrap:wrap;gap:8px}.lib-ticks button{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:8px 12px;font:inherit;font-size:14.5px;font-weight:700;color:var(--text);cursor:pointer;text-align:left}.lib-ticks button.on{background:var(--c-soft);border-color:var(--c);color:var(--c-strong)}.lib-vocab{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.lib-word{background:var(--surface-2);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.4}.lib-word strong{font-size:17px;font-weight:900}.lib-word small{font-weight:700;color:var(--text-soft)}.lib-word em{font-size:13.5px;color:var(--text-soft)}.lib-word .save-word-btn{align-self:flex-start;margin:6px 0 0}.lib-informal{font-size:10px;font-weight:900;text-transform:none;color:var(--red-strong);background:var(--red-soft);padding:1px 6px;border-radius:99px;margin-left:6px;vertical-align:middle}.lib-questions{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:700}.lib-questions li::marker{color:var(--c-strong);font-weight:900}.lib-phrases{display:flex;flex-wrap:wrap;gap:6px}.lib-phrases span{background:var(--c-soft);color:var(--c-strong);border-radius:99px;padding:6px 12px;font-size:14px;font-weight:800}.lib-task{background:var(--surface-2);border-left:5px solid var(--c);border-radius:12px;padding:10px 14px}.lib-task p{margin:0;font-size:15.5px;font-weight:800}.lib-journal{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}.lib-journal small{font-size:13px;color:var(--text-soft);font-weight:700;flex-basis:100%}.lib-quiz{display:flex;flex-direction:column;gap:10px}.lib-quiz-q{margin:0;font-size:19px;font-weight:900}.lib-quiz-q small{display:block;font-size:12px;color:var(--text-soft)}.lib-quiz-options{display:flex;flex-direction:column;gap:8px}.lib-quiz-options button{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:12px 14px;text-align:left;font:inherit;font-size:15.5px;font-weight:700;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm)}.lib-quiz-options button:hover{border-color:var(--c)}.lib-quiz-options button:active{transform:scale(.97);box-shadow:none}.lib-quiz-result{text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;padding:10px 0;animation:bounce-in .35s ease-out}.lib-quiz-result strong{font-size:28px;font-weight:900;color:var(--c-strong)}.lib-quiz-result p{margin:0;font-size:16px;max-width:520px}.lib-quiz-result .lib-journal{justify-content:center}.lib-news{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.lib-news-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.lib-news-n{font-size:11px;font-weight:900;text-transform:none;letter-spacing:.06em;color:var(--text-soft)}.lib-news-card h4{margin:0;font-size:17px;font-weight:900;line-height:1.25}.lib-news-card p{margin:0;font-size:14.5px;line-height:1.5}.lib-news-card details{font-size:13.5px}.lib-news-card summary{cursor:pointer;font-weight:800;color:var(--text-soft)}.lib-news-card details ul{margin:4px 0 0;padding-left:18px}.lib-rf{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.lib-rf button{border:none;border-radius:12px;padding:10px;font:inherit;font-weight:900;font-size:15px;color:#fff;cursor:pointer}.lib-rf .real{background:var(--primary);box-shadow:0 10px 22px -12px var(--primary-shade)}.lib-rf .fake{background:var(--red);box-shadow:0 10px 22px -12px var(--red-strong)}.lib-reveal{border-radius:12px;padding:8px 12px;font-size:14px;animation:bounce-in .3s ease-out;margin-top:auto}.lib-reveal.good{background:var(--primary-soft);color:var(--primary-strong)}.lib-reveal.bad{background:var(--red-soft);color:var(--red-strong)}.lib-reveal.wait{background:var(--amber-soft);color:var(--amber-strong)}.lib-sort{display:flex;flex-direction:column;gap:10px}.lib-sort-item{background:var(--surface-2);border-radius:14px;padding:10px 12px}.lib-sort-item p{margin:0 0 8px;font-size:15px;font-weight:700}.lib-sort-btns{display:flex;gap:6px;flex-wrap:wrap}.lib-sort-btns button{border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:5px 14px;font:inherit;font-size:14px;font-weight:800;color:var(--text-soft);cursor:pointer}.lib-sort-btns button.on{border-color:var(--c);background:var(--c-soft);color:var(--c-strong)}.lib-sort-btns button.good{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.lib-sort-btns button.bad{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-strong)}.lib-sort-note{display:block;margin-top:6px;font-size:13px;font-weight:800;color:var(--text-soft)}.lib-fill{display:flex;flex-direction:column;gap:8px}.lib-fill-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:15.5px;font-weight:700}.lib-fill-row input{width:auto;flex:1;min-width:140px;margin:0;padding:8px 10px}.lib-fill-bit{display:contents}.lib-count{margin:0;font-weight:900;color:var(--c-strong)}.lib-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.lib-people button{display:flex;flex-direction:column;gap:2px;text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:10px 12px;font:inherit;color:var(--text);cursor:pointer}.lib-people button strong{font-size:15.5px;font-weight:900}.lib-people button small{font-size:13px;color:var(--text-soft);line-height:1.35}.lib-people button.on{border-color:var(--c);background:var(--c-soft)}.lib-people button:disabled{opacity:.45;cursor:default}.lib-why{display:flex;flex-direction:column;gap:8px}.lib-why textarea{margin:0}.lib-why .btn-primary{width:auto;align-self:flex-start;margin:0}.lib-finish{text-align:center;padding:6px 0 20px}.lib-finish .btn-primary{width:auto;min-width:260px}.lib-import{display:flex;flex-direction:column;gap:8px}.lib-import .muted{margin:0}.lib-report{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:700}.lib-report .new{color:var(--primary-strong)}.lib-report .updated{color:var(--blue-strong)}.lib-report .error{color:var(--red-strong)}.lib-admin-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 8px}.lib-admin{padding:4px 12px}.lib-admin-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.lib-admin-row:last-child{border-bottom:none}.lib-admin-row.off .lib-admin-text,.lib-admin-row.off .lib-card-emoji{opacity:.55}.lib-admin-row .lib-card-emoji{width:42px;height:42px;font-size:24px}.lib-admin-text{flex:1;min-width:160px;display:flex;flex-direction:column;line-height:1.3}.lib-admin-text strong{font-weight:900}.lib-admin-text small{font-size:12.5px;color:var(--text-soft);font-weight:700}.lib-switch{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;cursor:pointer}.lib-switch input{width:18px;height:18px;margin:0;accent-color:var(--primary)}.lib-preview-levels{align-items:center;margin-bottom:10px}.lib-preview-levels small{font-weight:800;color:var(--text-soft);margin-right:4px}.foryou{display:flex;flex-direction:column;gap:14px}.foryou-top{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}.foryou-top p{margin:0;flex:1;min-width:200px}.foryou-topics{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:8px}.foryou-topics small{color:var(--text-soft);font-weight:700}.foryou-topics>div{display:flex;flex-wrap:wrap;gap:6px}.foryou-topics button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:99px;padding:6px 12px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}.foryou-topics button.on{background:var(--coral-soft);border-color:var(--coral);color:var(--coral-strong);text-decoration:line-through}.foryou-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px}.foryou-card{display:flex;flex-direction:column;border-radius:22px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;animation:rise .3s ease-out}.foryou-card.done{opacity:.75}.foryou-main{display:flex;gap:14px;align-items:center;text-align:left;padding:16px 16px 10px;border:none;background:none;font:inherit;color:var(--text);cursor:pointer}.foryou-emoji{font-size:40px;width:72px;height:72px;border-radius:20px;background:var(--primary-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}.foryou-text{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.3}.foryou-text strong{font-size:18px;font-weight:900}.foryou-text>span{font-size:14px;color:var(--text-soft)}.foryou-reason{align-self:flex-start;font-size:12px;font-weight:900;color:var(--primary-strong);background:var(--primary-soft);border-radius:99px;padding:2px 10px;margin-bottom:2px}.foryou-tags{font-size:12.5px!important;font-weight:800;margin-top:2px}.foryou-tags b{color:var(--primary-strong)}.foryou-actions{display:flex;gap:8px;align-items:center;padding:0 16px 14px}.foryou-react{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;width:44px;height:40px;font-size:18px;cursor:pointer;filter:grayscale(.6);transition:transform .1s}.foryou-react.on{border-color:var(--primary);background:var(--primary-soft);filter:none}.foryou-react:active{transform:scale(.9)}.foryou-go{margin-left:auto}.foryou-shelf{display:flex;flex-direction:column;gap:10px}.foryou-shelf-head{align-self:flex-start;border:none;background:none;font:inherit;font-weight:900;font-size:15px;color:var(--text-soft);cursor:pointer;padding:6px 0}.foryou-shelf p{margin:0}.talk-list{display:flex;flex-direction:column;gap:12px}.why{margin-top:10px;display:flex;flex-direction:column;gap:6px;animation:rise .25s ease-out}.why-ask{margin:0;font-size:14px;font-weight:800;color:var(--text-soft)}.why-row{display:flex;gap:6px}.why-row input{margin:0;flex:1;min-width:0}.why-msg{font-size:13px;font-weight:800;color:var(--primary-strong)}.tot-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.tot-or{font-weight:900;color:var(--text-soft);font-size:14px}.tot-side{min-height:64px;border:none;border-radius:18px;padding:12px;font:inherit;font-size:18px;font-weight:900;color:#fff;cursor:pointer;transition:transform .12s,opacity .2s}.tot-side.left{background:var(--blue);box-shadow:0 10px 22px -12px var(--blue-shade, var(--blue-strong))}.tot-side.right{background:var(--coral);box-shadow:0 10px 22px -12px var(--coral-shade)}.tot-side:active{transform:scale(.97);box-shadow:none}.tot-side.on{transform:scale(1.04);outline:4px solid var(--amber);outline-offset:2px}.tot-side.off{opacity:.4}.wyr-q{margin:0 0 8px;font-weight:900;font-size:16px}.wyr-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:480px){.wyr-options{grid-template-columns:1fr}}.wyr-opt{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:12px;font:inherit;font-size:15.5px;font-weight:800;color:var(--text);cursor:pointer;text-align:left;box-shadow:var(--shadow-sm)}.wyr-opt.a.on{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-strong)}.wyr-opt.b.on{border-color:var(--pink);background:var(--pink-soft);color:var(--pink-strong)}.wyr-opt.off{opacity:.5}.opinion-s{margin:0 0 8px;font-size:16.5px;font-weight:800}.opinion-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.opinion-scale button{display:flex;flex-direction:column;align-items:center;gap:2px;border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:8px 2px;cursor:pointer;font:inherit;color:var(--text-soft)}.opinion-scale button span{font-size:18px}.opinion-scale button small{font-size:10.5px;font-weight:800;line-height:1.15;text-align:center}.opinion-scale .op-0.on,.opinion-scale .op-1.on{border-color:var(--red);background:var(--red-soft);color:var(--red-strong)}.opinion-scale .op-2.on{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-strong)}.opinion-scale .op-3.on,.opinion-scale .op-4.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.situation p{margin:0;font-size:16px;font-weight:800}.situation,.opinion,.wyr,.tot{background:var(--surface-2);border-radius:18px;padding:12px 14px}.roleplay{background:var(--surface-2);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.roleplay-title{margin:0;font-size:17px;font-weight:900}.roleplay-tabs{align-self:flex-start;margin:0}.roleplay-role{margin:0;font-size:15.5px;font-weight:700;background:var(--surface);border-radius:14px;padding:10px 12px}.roleplay-goal{margin:0;font-weight:800;color:var(--c-strong, var(--primary-strong))}.mystery{display:flex;flex-direction:column;gap:10px}.mystery-story{margin:0;font-size:16px;line-height:1.6;font-weight:600}.mystery-clues{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.mystery-clues li{background:var(--amber-soft);color:var(--amber-strong);border-radius:12px;padding:8px 12px;font-weight:800;font-size:14.5px;animation:bounce-in .3s ease-out}.mystery-q{margin:4px 0 0;font-size:16.5px;font-weight:900}.mystery-show,.mystery .post-btn{align-self:flex-start}.talk{display:flex;flex-direction:column;gap:12px}.talk-modes{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.talk-modes::-webkit-scrollbar{display:none}.talk-modes button{flex-shrink:0;border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:7px 13px;font:inherit;font-size:14px;font-weight:800;color:var(--text-soft);cursor:pointer}.talk-modes button.on{border-color:var(--amber);background:var(--amber-soft);color:var(--amber-strong)}.talk-settings{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.talk-settings select{width:auto;margin:0}.talk-settings .journal-mode{margin:0}.talk-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px;animation:bounce-in .3s ease-out;min-height:180px;justify-content:center}.talk-card>.tot,.talk-card>.wyr,.talk-card>.opinion,.talk-card>.situation,.talk-card>.roleplay{background:none;padding:0}.talk-topic{font-size:12px;font-weight:900;text-transform:none;letter-spacing:.06em;color:var(--amber-strong)}.talk-q{margin:0;font-size:24px;font-weight:900;line-height:1.3}.talk-next{display:flex;justify-content:space-between;align-items:center;gap:10px}.talk-next .btn-primary{width:auto;margin:0;padding:12px 24px}.talk.tv .talk-q{font-size:clamp(28px,4.5vw,52px)}.talk.tv .tot-side{min-height:120px;font-size:clamp(22px,3vw,36px)}.talk.tv .wyr-opt,.talk.tv .opinion-s,.talk.tv .situation p,.talk.tv .roleplay-role,.talk.tv .mystery-story{font-size:clamp(18px,2.4vw,28px)}.talk.tv .wyr-q{font-size:clamp(20px,2.6vw,30px)}.talk.tv .talk-card{min-height:320px;padding:28px}.quiz-view-switch{margin-bottom:14px}.photo-strip-wrap{margin-top:14px}.photo-strip-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.photo-strip-head .section-label{margin:0}.photo-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}.photo-tile{flex-shrink:0;width:92px;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--text)}.photo-tile img,.photo-tile .photo-missing,.photo-tile.add .plus{width:84px;height:84px;border-radius:22px;object-fit:cover;border:3px solid var(--coral);box-shadow:0 0 0 3px var(--surface) inset;display:flex;align-items:center;justify-content:center;background:var(--surface-2);font-size:28px}.photo-tile.add .plus{border:3px dashed var(--primary);color:var(--primary-strong);font-size:34px;font-weight:900;box-shadow:none;background:var(--primary-soft)}.photo-tile small{font-size:12px;font-weight:800;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-tile:hover img{transform:scale(1.04)}.photo-tile img{transition:transform .15s}.photo-empty{align-self:center;margin:0}.teacher-photos{padding-bottom:0!important}.photo-overlay{position:fixed;inset:0;z-index:85;background:var(--bg);overflow-y:auto;padding:calc(12px + env(safe-area-inset-top)) 12px calc(24px + env(safe-area-inset-bottom));animation:rise .2s ease-out}.photo-compose,.photo-view{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.photo-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.photo-head h2{margin:0;font-size:22px;font-weight:900}.photo-head .quiz-close{position:static}.photo-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-pick-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 10px;border-radius:22px;cursor:pointer;font:inherit;font-weight:900;font-size:16px;border:3px dashed var(--c);background:var(--c-soft);color:var(--c-strong)}.photo-pick-btn span{font-size:36px}.photo-preview{position:relative}.photo-preview img{width:100%;max-height:48vh;object-fit:contain;border-radius:20px;background:var(--surface-2)}.photo-preview .post-btn{position:absolute;right:10px;bottom:10px}.photo-starters small{font-size:12.5px;font-weight:800;color:var(--text-soft)}.photo-starters div{display:flex;gap:6px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.photo-starters button{flex-shrink:0;border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:6px 12px;font:inherit;font-size:13.5px;font-weight:800;color:var(--text);cursor:pointer}.photo-starters button:hover{border-color:var(--primary)}.photo-compose textarea{margin:0}.photo-meta{display:flex;justify-content:space-between;align-items:center;margin-top:-6px}.checker{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px}.checker-text{margin:0;font-size:16px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}mark.issue{background:none;color:inherit;text-decoration:underline wavy;text-underline-offset:4px;text-decoration-thickness:2px}mark.issue.error{text-decoration-color:var(--red)}mark.issue.spelling{text-decoration-color:var(--coral)}mark.issue.hint{text-decoration-color:var(--blue)}.issue-card{border-left:4px solid var(--red);background:var(--surface-2);border-radius:10px;padding:8px 12px;animation:rise .2s ease-out}.issue-card.spelling{border-left-color:var(--coral)}.issue-card.hint{border-left-color:var(--blue)}.issue-what{margin:0;font-weight:800;display:flex;gap:8px;align-items:center}.issue-what s{text-decoration-color:var(--red)}.issue-tag{font-size:10px;font-weight:900;text-transform:none;background:var(--blue-soft);color:var(--blue-strong);border-radius:99px;padding:1px 7px}.issue-card.spelling .issue-tag{background:var(--coral-soft);color:var(--coral-strong)}.issue-msg{margin:4px 0 6px;font-size:14px}.issue-fixes{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.issue-fix{border:none;background:var(--primary);color:#fff;border-radius:99px;padding:6px 12px;font:inherit;font-size:14px;font-weight:900;cursor:pointer;box-shadow:0 10px 22px -12px var(--primary-shade)}.issue-fix:active{transform:scale(.97);box-shadow:none}.checker-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.check-btn{background:var(--purple-soft);color:var(--purple-strong);font-size:15px;padding:9px 16px}.checker-msg{font-size:13.5px;font-weight:800}.checker-privacy{font-size:11.5px;color:var(--text-soft);margin-top:-6px}.checker-privacy a{color:inherit}.photo-who{align-self:flex-start;margin:0}.photo-confirm{margin:0;background:var(--amber-soft);color:var(--amber-strong);border-radius:12px;padding:8px 12px;font-size:14px;font-weight:700}.photo-post{margin:0}.photo-author{display:flex;align-items:center;gap:10px}.photo-author>span:last-child{display:flex;flex-direction:column;line-height:1.25}.photo-author strong{display:flex;gap:6px;align-items:center}.photo-author small{color:var(--text-soft);font-size:12.5px}.photo-big{width:100%;max-height:62vh;object-fit:contain;border-radius:20px;background:var(--surface-2)}.photo-caption{margin:0;font-size:17px;font-weight:700;white-space:pre-wrap;overflow-wrap:anywhere}.photo-checked{font-size:12.5px;font-weight:800;color:var(--purple-strong);background:var(--purple-soft);border-radius:99px;padding:4px 10px;align-self:center}.icon-btn.top-nav{position:relative}.icon-btn.top-nav .nav-count{top:-6px;right:-6px}.icon-btn.top-nav.active{border-color:var(--c);background:var(--c-soft)}@media(min-width:900px){.icon-btn.top-nav{display:none}}.profile-head{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:18px;box-shadow:var(--shadow-sm);animation:rise .3s ease-out}@media(max-width:520px){.profile-head{flex-direction:column;align-items:center;text-align:center}.profile-facts,.profile-interests,.profile-tags{justify-content:center}}.profile-avatar{border-radius:50%;object-fit:cover;flex-shrink:0;border:4px solid var(--pink);box-shadow:0 0 0 4px var(--surface) inset;display:flex;align-items:center;justify-content:center}.profile-avatar.initials{background:var(--pink-soft);color:var(--pink-strong);font-weight:900}.profile-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.profile-main h2{margin:0;font-size:24px;font-weight:900;display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media(max-width:520px){.profile-main h2{justify-content:center}}.profile-tags{display:flex;gap:6px;flex-wrap:wrap}.profile-bio{margin:0;font-size:15.5px;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.profile-facts{list-style:none;margin:0;padding:0;display:flex;gap:12px;flex-wrap:wrap;font-size:14px;font-weight:700;color:var(--text-soft)}.profile-interests{display:flex;gap:6px;flex-wrap:wrap}.profile-interests span{background:var(--purple-soft);color:var(--purple-strong);border-radius:99px;padding:4px 11px;font-size:13px;font-weight:800}.profile-edit{align-self:flex-start}@media(max-width:520px){.profile-edit{align-self:center}}.profile-page .progress-card{margin-top:14px}.profile-grid-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.profile-grid-head .section-label{margin:0}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px;border-radius:16px;overflow:hidden}.profile-cell{position:relative;aspect-ratio:1;border:none;padding:0;background:var(--surface-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:28px}.profile-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .15s}.profile-cell:hover img{opacity:.85}.profile-cell i{position:absolute;top:6px;right:6px;font-style:normal;font-size:14px;background:var(--surface);border-radius:99px;padding:1px 5px}.profile-empty{padding:18px 8px}.profile-form{display:flex;flex-direction:column;gap:10px}.profile-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:800}.profile-form label small{font-weight:600;color:var(--text-soft)}.profile-form input,.profile-form textarea{margin:0}.profile-form-avatar{display:flex;align-items:center;gap:14px}.profile-form-avatar .profile-avatar{width:88px;height:88px}.profile-overlay{padding:0}.profile-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.profile-avatar-btn{position:relative;border:none;background:none;padding:0;cursor:pointer;border-radius:50%}.profile-avatar-btn:hover .profile-avatar{filter:brightness(.92)}.profile-avatar-btn.busy{opacity:.6;cursor:wait}.profile-avatar-cam{position:absolute;right:-2px;bottom:-2px;width:34px;height:34px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:var(--shadow-sm)}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}.avatar:has(.avatar-img){padding:0;overflow:hidden}.photo-author.link{cursor:pointer}.photo-author.link:hover strong{text-decoration:underline}.news{display:flex;flex-direction:column;gap:12px}.news-admin{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.news-sections{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.news-sections::-webkit-scrollbar{display:none}.news-sections button{flex-shrink:0;border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:6px 13px;font:inherit;font-size:14px;font-weight:800;color:var(--text-soft);cursor:pointer}.news-sections button.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-strong)}.news-list{display:flex;flex-direction:column;gap:12px}.news-card{display:grid;grid-template-columns:200px 1fr;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:12px;animation:rise .3s ease-out}@media(max-width:620px){.news-card{grid-template-columns:1fr}}.news-img{display:block;border-radius:14px;overflow:hidden;background:var(--surface-2);aspect-ratio:3/2}.news-img img{width:100%;height:100%;object-fit:cover;display:block}.news-body{display:flex;flex-direction:column;gap:6px;min-width:0}.news-meta{font-size:12px;font-weight:700;color:var(--text-soft);text-transform:none;letter-spacing:.04em}.news-meta b{color:var(--blue-strong)}.news-body h3{margin:0;font-size:18px;font-weight:900;line-height:1.3}.news-body h3 a{color:var(--text);text-decoration:none}.news-body h3 a:hover{text-decoration:underline}.news-body p{margin:0;font-size:15px;line-height:1.5}.news-by{font-size:12.5px;color:var(--text-soft);font-weight:700}.news-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.news-actions a.post-btn{text-decoration:none}.news-credit{margin:4px 0 0;font-size:12px;color:var(--text-soft);text-align:center}.news-credit a{color:inherit;font-weight:800}.journal-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 0}.journal-bar .btn-primary{width:auto;padding:11px 22px;margin:0}.journal-status{font-size:13px;color:var(--primary-strong);min-height:18px;margin:10px 0 0;font-weight:700}.journal-status.error{color:var(--red-strong)}.journal-entry{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 14px;margin-bottom:10px;animation:rise .3s ease-out}.journal-entry .d{font-size:12px;color:var(--text-soft);margin:0 0 4px;display:flex;justify-content:space-between;gap:8px}.journal-entry .t{margin:0;font-size:15px;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.journal-entry .who{font-weight:900;font-size:14px;color:var(--text);cursor:pointer}.journal-entry .who:hover{color:var(--primary-strong)}.card .journal-entry{border:none;border-bottom:1px solid var(--border);border-radius:0;margin:0;padding:12px 0}.card .journal-entry:last-child{border-bottom:none}.xp-bar-track{background:var(--surface-3);border-radius:99px;height:16px;overflow:hidden;margin:8px 0 4px}.xp-bar-fill{height:100%;border-radius:99px;background:var(--amber);box-shadow:inset 0 -4px #0000001a,inset 0 4px #ffffff40}.lesson-row{display:flex;align-items:center;gap:14px;padding:12px 14px;margin-bottom:10px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm)}.lesson-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.streak-badge{display:flex;align-items:center;gap:8px;background:var(--coral-soft);color:var(--coral-strong);padding:12px 16px;border-radius:16px;font-size:15px;font-weight:900;margin-bottom:14px}.planner-item{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:15px}.planner-item:last-child{border-bottom:none}.planner-item input[type=checkbox]{width:22px;height:22px;margin:0;accent-color:var(--primary);flex-shrink:0}.planner-item.done span{text-decoration:line-through;color:var(--text-soft)}.page-title{font-size:28px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:8px}@media(max-width:700px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:14px;position:relative;box-shadow:var(--shadow-sm)}.stat-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--c-soft, var(--surface-2));margin-bottom:8px}.stat-card .num{font-size:28px;font-weight:900;margin:0;color:var(--c-strong, var(--text));line-height:1.1}.stat-card .label{font-size:13px;font-weight:800;color:var(--text-soft);margin:0}.stat-card .soon{font-size:11px;color:var(--text-soft);margin:2px 0 0}.roster-row{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;border-radius:16px;border:2px solid transparent;transition:background .15s,border-color .15s}.roster-row:hover{background:var(--surface-2)}.roster-row.selected{background:var(--primary-soft);border-color:var(--primary)}.detail-panel{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:18px 20px;margin-top:16px;animation:rise .3s}.detail-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:15px;margin:12px 0 0;align-items:center}.detail-grid dt{color:var(--text-soft);font-size:14px}.detail-grid dd{margin:0}.detail-grid select{width:auto;margin:0;padding:7px 12px}.vocab-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border);font-size:15px;flex-wrap:wrap}.vocab-row:first-child{border-top:none}.vocab-row strong{letter-spacing:1px;min-width:90px;font-weight:900}.vocab-example{display:block;font-size:13px;color:var(--text-soft);font-style:italic;margin-top:2px}.vocab-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.vocab-options label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:800}.vocab-options select,.vocab-options input{margin:0;padding:9px 12px}.gm-hub{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(min-width:600px){.gm-hub{grid-template-columns:repeat(3,1fr)}}.gm-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:14px 12px 12px;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:var(--text);box-shadow:var(--shadow-sm);transition:transform .1s,box-shadow .1s,border-color .15s;animation:rise .35s ease-out backwards}.gm-card:nth-child(2){animation-delay:.03s}.gm-card:nth-child(3){animation-delay:.06s}.gm-card:nth-child(4){animation-delay:.09s}.gm-card:nth-child(5){animation-delay:.12s}.gm-card:nth-child(6){animation-delay:.15s}.gm-card:nth-child(7){animation-delay:.18s}.gm-card:nth-child(8){animation-delay:.21s}.gm-card:nth-child(9){animation-delay:.24s}.gm-card:hover{border-color:var(--c, var(--primary));box-shadow:0 10px 22px -12px var(--c, var(--primary))}.gm-card:active{transform:scale(.97);box-shadow:0 0 0 var(--border)}.gm-card .gm-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--c);background:var(--c-soft, var(--surface-2));margin-bottom:4px;transition:transform .2s cubic-bezier(.3,1.6,.5,1)}.gm-card:hover .gm-icon{transform:rotate(-8deg) scale(1.08)}.gm-card strong{font-size:16px;font-weight:900}.gm-card small{font-size:12.5px;color:var(--text-soft);line-height:1.35}.gm-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.gm-header h2{font-size:22px;font-weight:900;margin:0;flex:1}.gm-back{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:6px 12px;font-size:14px;font-weight:800;cursor:pointer;color:var(--text-soft);box-shadow:var(--shadow-sm)}.gm-back:active{transform:scale(.97);box-shadow:none}.gm-score{font-weight:900;font-size:15px;background:var(--amber-soft);color:var(--amber-strong);padding:5px 12px;border-radius:99px}.gm-panel{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:16px 14px;display:flex;flex-direction:column;align-items:center;gap:12px;animation:rise .3s ease-out}.gm-help{font-size:14px;color:var(--text-soft);margin:0;text-align:center}.gm-clue{margin:0;font-size:15px;font-weight:800;background:var(--coral-soft);color:var(--coral-strong);padding:7px 16px;border-radius:99px;text-align:center}.gm-msg{min-height:22px;margin:0;font-size:15px;font-weight:800;text-align:center}.gm-lives{margin:0;font-size:22px;letter-spacing:3px}.gm-actions{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.gm-actions .btn-primary{width:auto;min-width:180px;margin:0}.gm-end{text-align:center;width:100%;padding:6px 4px;animation:bounce-in .45s ease-out}.gm-end p{margin:0 0 8px}.gm-end .big{font-size:24px;font-weight:900;color:var(--primary-strong)}.gm-end .btn-primary{width:auto;min-width:200px}.gm-end-body{max-width:520px;margin:0 auto 14px}.gm-end-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin-top:12px}.gm-end>.btn-primary{display:block;margin:6px auto 0}.gm-end>.link-btn{display:block;margin:12px auto 0}.gm-review{text-align:left;background:var(--surface-2);border-radius:14px;padding:10px 14px;margin-bottom:10px;font-size:14px}.gm-review p{margin:0 0 3px}.gm-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.gm-option{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:15px 8px;cursor:pointer;font-size:16px;font-weight:900;color:var(--text);letter-spacing:.03em;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:var(--shadow-sm);transition:transform .08s,box-shadow .08s,background .15s}.gm-option:hover:not(:disabled){background:var(--surface-2)}.gm-option:active:not(:disabled){transform:scale(.97);box-shadow:none}.gm-option small{font-size:13px;font-weight:600;color:var(--text-soft);letter-spacing:0}.gm-option.right{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong);box-shadow:0 10px 22px -12px var(--primary);animation:pop .3s}.gm-option.wrong{background:var(--red-soft);border-color:var(--red);color:var(--red-strong);box-shadow:0 10px 22px -12px var(--red);animation:shake .35s}.gm-option.dim{opacity:.5}.gm-option:disabled{cursor:default}.gm-keyboard{display:flex;flex-direction:column;gap:7px;width:100%;user-select:none;-webkit-user-select:none}.gm-krow{display:flex;gap:5px;justify-content:center}.gm-key{flex:1;max-width:38px;height:50px;border:none;border-radius:10px;background:var(--surface-3);color:var(--text);font-weight:900;font-size:15px;cursor:pointer;padding:0;box-shadow:var(--shadow-sm);transition:transform .06s}.gm-key:active:not(:disabled){transform:scale(.97);box-shadow:none}.gm-key.wide{max-width:62px;flex:1.6;font-size:12px}.gm-key.correct{background:var(--primary);color:#fff;box-shadow:0 10px 22px -12px var(--primary-shade)}.gm-key.present{background:var(--amber);color:#fff;box-shadow:0 10px 22px -12px var(--amber-shade)}.gm-key.absent,.gm-key.used{background:var(--absent);color:#fff;box-shadow:none}.gm-key:disabled{opacity:.55;cursor:default}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50}.confetti i{position:absolute;top:-16px;width:9px;height:15px;border-radius:3px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.5,1);animation-fill-mode:forwards}@keyframes confetti-fall{to{transform:translate(var(--drift),70vh) rotate(var(--spin));opacity:0}}.game-board{position:relative;border-radius:26px;padding:18px 14px 20px;color:#fff;background:linear-gradient(160deg,#22c497,#14a38e 45%,#0e7e7a);display:flex;flex-direction:column;align-items:center;gap:14px;user-select:none;-webkit-user-select:none;box-shadow:0 10px 22px -12px #0b6660}.game-clue{margin:0;font-size:15px;text-align:center;background:#ffffff26;padding:7px 16px;border-radius:99px}.game-clue strong{color:#ffe3d8}.game-clue.solved{background:#fff;color:#0b5b46;animation:pop .3s}.game-clue.solved strong{color:var(--coral)}.game-clues{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%}.game-clue-chip{display:flex;flex-direction:column;align-items:center;gap:0;min-width:78px;padding:5px 10px;border-radius:12px;background:#ffffff26;border:2px solid #FFFFFF40;color:#fff;font-family:inherit;cursor:pointer;line-height:1.25;transition:background .15s,transform .1s}button.game-clue-chip:hover{background:#ffffff3d}button.game-clue-chip:active{transform:scale(.95)}.game-clue-chip b{font-size:14px;font-weight:900;letter-spacing:1px;white-space:nowrap}.game-clue-chip small{font-size:11.5px;font-weight:700;opacity:.9;max-width:130px;text-align:center}.game-clue-chip.found{background:#fff;border-color:#fff;color:#0b5b46;animation:pop .3s;cursor:default}.game-next{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#ffffff26;border-radius:16px;padding:8px 8px 8px 14px;animation:bounce-in .35s ease-out}.game-next span{font-size:14px;font-weight:800}.game-next .btn-primary{width:auto;margin:0;padding:10px 16px;background:var(--coral);box-shadow:0 10px 22px -12px var(--coral-shade)}.game-next .btn-primary:active{box-shadow:0 0 0 var(--coral-shade)}.game-grid{display:grid;gap:5px;justify-content:center}.game-cell{background:#ffffffe0;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:clamp(15px,4.8vw,21px);color:#0b5b46;box-shadow:0 10px 22px -12px #00000026}.game-cell.found{background:#0b5b46;color:#fff;animation:pop .25s ease-out}.game-cell.main{background:var(--coral);color:#fff;box-shadow:0 10px 22px -12px var(--coral-shade);animation:pop .25s ease-out}.game-cell.hinted{background:#fff;color:var(--coral)}.game-status{min-height:36px;display:flex;align-items:center;justify-content:center}.game-typing{background:#fff;color:#0b5b46;font-weight:900;font-size:22px;letter-spacing:4px;padding:3px 18px;border-radius:12px;box-shadow:0 10px 22px -12px #00000026}.game-msg{font-size:15px;font-weight:800;padding:6px 16px;border-radius:99px;background:#ffffff26}.game-msg.ok{background:#fff;color:#0b5b46}.game-msg.bonus{background:#fff2d6;color:#8a5a00}.game-msg.bad{background:#ffe3e3;color:#c62828}.shake{animation:shake .35s}.game-controls{position:relative;display:flex;justify-content:center;width:100%}.wheel{position:relative;border-radius:50%;background:#fffe;touch-action:none;flex-shrink:0;box-shadow:0 10px 22px -12px #00000026,0 12px 30px #0003}.wheel-lines{position:absolute;inset:0;pointer-events:none}.wheel-lines polyline{fill:none;stroke:var(--coral);stroke-width:10;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.wheel-letter{position:absolute;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:900;color:#0b5b46;pointer-events:none;transition:background .1s,color .1s,transform .1s}.wheel-letter.on{background:var(--coral);color:#fff;transform:scale(1.08)}.wheel-shuffle{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:none;background:none;color:#6b6f7a;font-size:26px;cursor:pointer}.wheel-shuffle:hover{background:#ddf6ee}.game-side{position:absolute;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;gap:8px}.game-round-btn{width:52px;height:52px;border-radius:50%;border:none;background:#fff;cursor:pointer;font-size:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 10px 22px -12px #0003}.game-round-btn:active{transform:scale(.97);box-shadow:none}.game-round-btn span{font-size:9px;font-weight:800;color:#6b6f7a;margin-top:2px}.game-bonus{font-size:13px;font-weight:800;background:#ffffff26;padding:3px 10px;border-radius:99px}.game-done{position:relative;background:var(--surface);color:var(--text);border-radius:20px;padding:18px 20px;text-align:center;width:100%;max-width:320px;animation:bounce-in .45s ease-out}.game-done p{margin:0 0 8px}.game-done .big{font-size:24px;font-weight:900;color:var(--primary-strong)}.game-done .btn-primary{margin-top:8px}.wd-board{display:grid;gap:6px}.wd-tile{width:var(--wd-tile);height:var(--wd-tile);border:2px solid var(--border-strong);border-radius:10px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:24px}.wd-tile.filled{border-color:var(--text-soft);animation:pop .15s}.wd-tile.correct{background:var(--primary);border-color:var(--primary);color:#fff;animation:pop .3s}.wd-tile.present{background:var(--amber);border-color:var(--amber);color:#fff;animation:pop .3s}.wd-tile.absent{background:var(--absent);border-color:var(--absent);color:#fff}.hm-word{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:6px 0 4px}.hm-gallows{display:block;margin:0 auto;width:auto;height:clamp(84px,15dvh,130px);fill:none;stroke-linecap:round;stroke-linejoin:round}.hm-wood line{stroke:var(--text-soft);stroke-width:3.5}.hm-wood .hm-rope{stroke:var(--amber-shade);stroke-width:2.5}.hm-man>*{stroke:var(--text);stroke-width:3.5;animation:hm-draw .35s ease-out both}.hm-gallows.dead .hm-man>*{stroke:var(--red)}.hm-gallows.saved .hm-man>*{stroke:var(--primary)}.hm-face{stroke:var(--text);stroke-width:1.6}.hm-face circle{fill:var(--text);stroke:none}.hm-gallows.dead .hm-face{stroke:var(--red)}@keyframes hm-draw{0%{opacity:0;transform:scale(.6);transform-origin:70px 50px}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.hm-man>*{animation:none}}.hm-left{margin:0;font-size:13px;font-weight:800;color:var(--text-soft);text-align:center}.ml-label{margin:10px 0 6px;font-size:13px;font-weight:800;color:var(--text-soft)}.ml-tiers{margin-bottom:12px}.ml-modes{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.ml-mode{display:flex;align-items:center;gap:12px;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 14px;cursor:pointer;box-shadow:var(--shadow-sm)}.ml-mode:hover{border-color:var(--purple)}.ml-mode-ic{font-size:28px;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:var(--purple-soft);flex-shrink:0}.ml-mode b{display:block;font-size:15.5px}.ml-mode small{color:var(--text-soft);font-size:13px}.ml-ask{text-align:center;margin:4px 0 12px}.ml-ask p{margin:0 0 6px;font-size:17px;font-weight:700;line-height:1.35}.ml-play{font:inherit;font-weight:800;border:none;border-radius:999px;padding:10px 20px;background:var(--grad);color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);margin-top:6px}.ml-last{text-align:center;font-size:20px;margin:4px 0 10px;min-height:30px}.ml-hint{text-align:center;margin:6px 0}.ml-piano{position:relative;display:flex;height:clamp(120px,22dvh,170px);margin:0 0 12px;border-radius:0 0 12px 12px;overflow:hidden;box-shadow:var(--shadow);user-select:none;-webkit-user-select:none;touch-action:manipulation}.ml-white{flex:1;border:1px solid #c9ced8;border-top:none;background:linear-gradient(#fff,#f3f4f7);border-radius:0 0 8px 8px;display:flex;align-items:flex-end;justify-content:center;padding:0 0 6px;cursor:pointer;font:inherit}.ml-white:active{background:#e8ecf5}.ml-white span{font-size:11px;font-weight:800;color:#2b3242}.ml-black{position:absolute;top:0;height:60%;z-index:2;border:none;border-radius:0 0 6px 6px;background:linear-gradient(#2a2f3b,#0f1218);cursor:pointer;display:flex;align-items:flex-end;justify-content:center;padding:0 0 5px;font:inherit}.ml-black:active{background:#3a4152}.ml-black span{font-size:9px;font-weight:800;color:#fff}.ml-white.on,.ml-black.on{background:var(--purple-soft);box-shadow:inset 0 -6px 0 var(--purple)}.ml-white.ok,.ml-black.ok{background:var(--primary)}.ml-white.no,.ml-black.no{background:var(--red)}.ml-white.hint{background:color-mix(in srgb,var(--primary) 30%,#fff)}.ml-black.hint{background:color-mix(in srgb,var(--primary) 70%,#000)}.ml-white.ok span,.ml-white.no span,.ml-black.ok span,.ml-black.no span{color:#fff}.ml-neck-wrap{overflow-x:auto;margin:0 0 12px;-webkit-overflow-scrolling:touch}.ml-neck{min-width:330px;background:linear-gradient(#7a4a24,#5b3418);border-radius:10px;padding:6px 6px 2px;box-shadow:var(--shadow)}.ml-string{display:flex;align-items:center;position:relative}.ml-string:before{content:"";position:absolute;left:34px;right:0;top:50%;height:2px;background:linear-gradient(#e9e2cf,#b8ae93);pointer-events:none}.ml-sname{width:28px;flex-shrink:0;font-size:11px;font-weight:800;color:#f6e7c9;text-align:center}.ml-fret{flex:1;position:relative;height:32px;border:none;border-right:2px solid #c7c2b6;background:transparent;cursor:pointer;padding:0;font:inherit;display:grid;place-items:center}.ml-fret.open{flex:0 0 26px;border-right:5px solid #efe9da}.ml-fret i{width:20px;height:20px;border-radius:50%;position:relative;z-index:1}.ml-fret span{position:absolute;z-index:2;font-size:10px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.ml-fret:active i{background:#ffffff59}.ml-fret.on i{background:var(--purple)}.ml-fret.ok i{background:var(--primary);box-shadow:0 0 0 2px #fff}.ml-fret.no i{background:var(--red);box-shadow:0 0 0 2px #fff}.ml-fret.hint i{background:color-mix(in srgb,var(--primary) 75%,transparent);box-shadow:0 0 0 2px #fff}.ml-fretnums{display:flex;padding:2px 0 0}.ml-fretnums span{flex:1;text-align:center;font-size:10px;color:#f6e7c9;font-weight:700}.ml-fretnums span:nth-child(2){flex:0 0 26px;font-size:9px}.ml-fretnums span.dot:after{content:" •"}.ml-chord-bar{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin:0 0 12px}.ml-chord-bar .btn-small{width:auto}.ml-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}.ml-choice{font-size:16px;min-height:54px;text-transform:none}.ml-bars{display:flex;flex-direction:column;gap:8px;margin:0 0 10px}.ml-bar-row{display:flex;gap:8px;align-items:stretch}.ml-bar-opt{flex:1;background:var(--surface);border:2px solid var(--border);border-radius:16px;padding:6px 10px;cursor:pointer;color:var(--text);display:flex;justify-content:center}.ml-bar-opt:disabled{cursor:default}.ml-bar-opt.right{border-color:var(--primary);background:var(--primary-soft)}.ml-bar-opt.wrong{border-color:var(--red);background:var(--red-soft)}.ml-bar-opt.dim{opacity:.55}.ml-hear{flex:0 0 46px;border:none;border-radius:14px;background:var(--purple-soft);color:var(--purple-strong);font-size:18px;cursor:pointer}.ml-bar{height:58px;max-width:100%;color:var(--text)}.ml-bar .ml-staff{stroke:currentColor;stroke-width:1.5;opacity:.5}.ml-bar .ml-stem{stroke:currentColor;stroke-width:2}.ml-bar .ml-beam{stroke:currentColor;stroke-width:5}.ml-bar .ml-head{fill:none;stroke:currentColor;stroke-width:2}.ml-bar .ml-head.filled{fill:currentColor}.ml-bar .ml-rest{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.ml-bar .ml-time{font:800 15px var(--font-display);fill:currentColor}.ml-bar .ml-pname{font:700 11px var(--font);fill:var(--text-soft)}.ml-values{display:flex;flex-direction:column;gap:10px}.ml-value{display:flex;align-items:center;gap:12px;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px 12px;cursor:pointer;flex-wrap:wrap}.ml-value .ml-bar{height:48px;flex:0 1 220px}.ml-value small{display:block;color:var(--text-soft);font-size:12.5px}.of-ask{display:flex;gap:10px;align-items:flex-end;margin:0 0 12px}.of-who{font-size:30px;line-height:1;flex-shrink:0;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm)}.of-bubble{position:relative;flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:18px 18px 18px 6px;padding:11px 14px;font-size:15.5px;line-height:1.45;box-shadow:var(--shadow-sm)}.of-listen{display:block;margin-top:4px;font-size:13px}.of-stage{display:flex;gap:14px;align-items:stretch;justify-content:center;margin:0 0 10px}.of-spot{position:relative;flex:0 0 auto;display:grid;place-items:center;padding:14px 26px 6px;border-radius:24px;background:radial-gradient(ellipse at 50% 18%,color-mix(in srgb,#fff 70%,var(--purple-soft)) 0%,var(--purple-soft) 55%,color-mix(in srgb,var(--purple) 22%,var(--purple-soft)) 100%);box-shadow:inset 0 -26px 30px -22px color-mix(in srgb,var(--purple) 35%,transparent),var(--shadow-sm);overflow:hidden}.of-spot:after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:30px;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--purple) 18%,transparent),transparent 70%);pointer-events:none}.of-figure{height:clamp(230px,36dvh,340px);width:auto;position:relative;z-index:1;filter:drop-shadow(0 8px 14px rgba(20,24,40,.18))}.of-hint{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:12.5px;font-weight:700;color:var(--purple-strong);z-index:2}.of-badge{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:2;background:var(--grad-warm);color:#fff;font-weight:800;font-size:12.5px;padding:5px 12px;border-radius:999px;box-shadow:var(--shadow-sm);white-space:nowrap;animation:of-pop .45s ease-out both}@keyframes of-pop{0%{transform:translate(-50%,-6px) scale(.85);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.of-stage.done .of-spot{box-shadow:inset 0 -26px 30px -22px color-mix(in srgb,var(--coral) 30%,transparent),0 0 0 3px color-mix(in srgb,var(--coral) 35%,transparent),var(--shadow)}.of-result{flex:1;min-width:0;font-size:14px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:12px 14px;box-shadow:var(--shadow-sm);align-self:center}.of-result .ioa-fb-title{margin:0 0 6px}.of-result .ioa-fb-title.good{color:var(--primary-strong)}.of-result .ioa-fb-title.bad{color:var(--red-strong)}.of-stars{margin:0;font-size:24px;letter-spacing:2px}.of-check{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13.5px;line-height:1.35}.of-check small{color:var(--text-soft)}.of-check .no{color:var(--red-strong)}.of-check .extra{color:var(--text-soft)}.of-sentence{text-align:center;margin:0 0 12px;font-weight:700;font-size:14.5px;line-height:1.4;font-style:italic;color:var(--text)}.of-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;margin:0 0 10px;background:var(--surface-2);border-radius:999px;scrollbar-width:none}.of-tabs::-webkit-scrollbar{display:none}.of-tabs button{flex-shrink:0;font:inherit;font-size:13.5px;font-weight:800;border:none;background:transparent;color:var(--text-soft);border-radius:999px;padding:8px 13px;cursor:pointer;transition:background .15s,color .15s}.of-tabs button.on{background:var(--surface);color:var(--purple-strong);box-shadow:var(--shadow-sm)}.of-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0 0 12px}.of-tile{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px;border:1.5px solid var(--border);border-radius:18px;background:var(--surface);cursor:pointer;font:inherit;color:var(--text);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,border-color .12s}.of-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.of-tile:active{transform:scale(.97)}.of-tile-pic{display:grid;place-items:center;aspect-ratio:1;border-radius:13px;padding:8px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--tile) 10%,var(--surface)),color-mix(in srgb,var(--tile) 20%,var(--surface-2)))}.of-tile.on{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 25%,transparent),var(--shadow-sm)}.of-tick{position:absolute;top:8px;right:8px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:#fff;font-style:normal;font-weight:900;font-size:13px;box-shadow:var(--shadow-sm)}.of-tile small{display:flex;align-items:center;justify-content:center;gap:5px;font-size:11.5px;font-weight:800;text-align:center;line-height:1.2;padding:0 2px 2px}.of-dot{width:9px;height:9px;border-radius:50%;background:var(--tile);box-shadow:0 0 0 1px #00000026;flex-shrink:0}.of-tile-img{width:100%;height:100%;filter:drop-shadow(0 3px 4px rgba(20,24,40,.18))}.of-tile-pic.photo{padding:0;overflow:hidden;background:var(--surface-2)}.of-tile-pic.photo img{width:100%;height:100%;object-fit:cover;display:block}.of-tile.picking{border-color:var(--coral);box-shadow:0 0 0 3px color-mix(in srgb,var(--coral) 28%,transparent),var(--shadow-sm)}.of-tick{box-shadow:0 0 0 2px #fff,var(--shadow-sm)}.of-colors-pick{display:flex;flex-direction:column;gap:8px;padding:12px;margin:0 0 10px;border-radius:18px;border:1.5px solid var(--coral);background:var(--surface);box-shadow:var(--shadow)}.of-colors-pick p{margin:0;display:flex;align-items:center;gap:6px}.of-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.of-swatch{display:flex;flex-direction:column;gap:4px;align-items:stretch;padding:6px;border-radius:14px;border:1.5px solid var(--border);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--tile) 10%,var(--surface)),color-mix(in srgb,var(--tile) 22%,var(--surface-2)));color:var(--text);font:inherit;cursor:pointer}.of-swatch .of-tile-img{height:84px}.of-swatch span{display:flex;align-items:center;justify-content:center;gap:5px;font-size:13px;font-weight:800}.of-swatch span i{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1px #0003}.of-swatch.on{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 25%,transparent)}.of-look-btn{position:absolute;top:10px;right:10px;z-index:2;border:none;border-radius:999px;padding:5px 10px;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--text);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;box-shadow:var(--shadow-sm)}.of-lookpick{display:flex;flex-direction:column;gap:8px;padding:12px;margin:0 0 10px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}.of-lookrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.of-lookrow>b{width:44px;font-size:13px}.of-sw{width:30px;height:30px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border);cursor:pointer}.of-sw.on{box-shadow:0 0 0 3px var(--purple)}.of-actionbar{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin:0 0 6px;border-radius:20px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);box-shadow:var(--shadow)}.of-count{font-size:13px;font-weight:800;color:var(--text-soft)}.of-done{flex:1 1 180px;width:auto}.of-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px}.of-word{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm)}.of-word-pic{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--tile) 10%,var(--surface)),color-mix(in srgb,var(--tile) 20%,var(--surface-2)))}.of-word-pic img{width:100%;height:100%;object-fit:cover;display:block}.of-word-pic .of-tile-img{width:70%;height:70%}.of-word-text{padding:8px 10px 10px}.pf-title{margin:0 0 4px;font-family:var(--font-display)}.pf-progress{position:relative;height:26px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin:10px 0 6px}.pf-progress i{position:absolute;inset:0 auto 0 0;background:var(--grad-warm);transition:width .4s ease}.pf-progress span{position:relative;display:block;text-align:center;line-height:26px;font-size:12.5px;font-weight:700;color:var(--text)}.pf-small{font-size:12.5px}.pf-actions{display:flex;gap:8px;margin-top:8px}.pf-actions .btn-primary{width:auto}.of-word-pic.photo .of-tile-img{width:100%;height:100%;object-fit:cover}.of-word-credit{display:block;margin-top:3px;font-size:10.5px;color:var(--text-soft);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.of-word b{font-size:15.5px}.of-word small{display:block;color:var(--text-soft);font-size:12.5px}.of-credit{display:block;margin-top:4px;font-size:10.5px;color:var(--text-soft);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.of-colors{display:flex;flex-wrap:wrap;gap:8px}.of-color{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 12px 5px 6px}.of-color i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.of-color small{color:var(--text-soft);font-weight:600}@media(max-width:520px){.of-stage{flex-direction:column;align-items:center}.of-spot{width:100%}.of-result{width:100%;box-sizing:border-box}}@media(prefers-reduced-motion:reduce){.of-tile,.of-badge{transition:none;animation:none}}.hm-letter{width:34px;height:44px;border-bottom:4px solid var(--primary);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;color:var(--primary-strong)}.hm-letter.shown{animation:pop .25s}.hm-letter.missed{color:var(--red-strong);border-color:var(--red)}.ws-grid{display:grid;gap:3px;touch-action:none;user-select:none;-webkit-user-select:none}.ws-cell{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:clamp(14px,4vw,18px);border-radius:8px;background:var(--surface-2);color:var(--text);cursor:pointer;transition:background .1s,transform .1s}.ws-cell.sel{background:var(--coral);color:#fff;transform:scale(1.06)}.f0{--found:#1CB38B}.f1{--found:#FF7043}.f2{--found:#E0A000}.f3{--found:#8B5CF6}.f4{--found:#FF5FA2}.f5{--found:#1CB0F6}.ws-cell[class*=" f"]{background:var(--found);color:#fff}.ws-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.ws-list li{background:var(--surface-2);border-radius:12px;padding:5px 11px;display:flex;flex-direction:column;align-items:center;font-size:14px}.ws-list li small{color:var(--text-soft);font-size:12px}.ws-list li.done{background:var(--found);color:#fff}.ws-list li.done strong{text-decoration:line-through}.ws-list li.done small{color:#fffc}.sc-answer{width:100%;min-height:92px;border:2px dashed var(--border-strong);border-radius:18px;padding:10px;display:flex;flex-wrap:wrap;gap:7px;align-content:flex-start;transition:background .2s,border-color .2s}.sc-answer.right{border-style:solid;border-color:var(--primary);background:var(--primary-soft)}.sc-answer.wrong{border-color:var(--red);animation:shake .35s}.sc-answer.shown{border-style:solid;border-color:var(--amber);background:var(--amber-soft)}.sc-placeholder{color:var(--text-soft);font-size:14px;padding:6px}.sc-pool{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;min-height:44px}.sc-chip{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 12px;font-size:16px;font-weight:800;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);animation:pop .2s}.sc-chip:active{transform:scale(.97);box-shadow:none}.sc-chip.placed{background:var(--primary);color:#fff;border-color:var(--primary-shade);box-shadow:0 10px 22px -12px var(--primary-shade)}.wc-chain{width:100%;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:7px;padding:2px}.wc-link{max-width:75%;padding:8px 14px;border-radius:18px;display:flex;flex-direction:column;animation:rise .25s}.wc-link.app{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:6px}.wc-link.you{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:6px}.wc-link strong{letter-spacing:1px;font-weight:900}.wc-link em{font-style:normal;color:var(--coral);text-decoration:underline}.wc-link.you em{color:#ffe0d3}.wc-link small{font-size:12px;opacity:.8}.wc-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:8px}.wc-row{display:flex;gap:8px;width:100%}.wc-row input{margin:0;text-transform:none;letter-spacing:1px;font-weight:800}.wc-row .btn-primary{width:auto;margin:0;padding:0 20px}.wc-need{color:var(--coral);font-size:18px;font-weight:900}.ct-card{width:100%;border-radius:20px;padding:24px 12px;text-align:center;color:#fff;display:flex;flex-direction:column;gap:2px;background:linear-gradient(135deg,var(--purple),var(--blue));box-shadow:0 10px 22px -12px var(--purple-shade);animation:bounce-in .35s ease-out}.ct-card strong{font-size:28px;font-weight:900;letter-spacing:2px}.ct-card small{font-size:14px;opacity:.9}.ct-buckets{display:grid;grid-template-columns:1fr;gap:10px;width:100%}.aux{display:inline;font:inherit;font-weight:900;color:var(--purple-strong);background:var(--purple-soft);border:none;border-bottom:3px solid var(--purple);border-radius:6px;padding:0 4px;margin:0 1px;cursor:pointer;transition:background .15s,transform .1s}.aux:hover{background:color-mix(in srgb,var(--purple) 25%,var(--purple-soft))}.aux:active{transform:translateY(1px)}.aux.static{cursor:default}.aux.big{display:inline-block;font-size:22px;padding:2px 10px;margin-bottom:6px}.lesson{display:flex;flex-direction:column;gap:14px}.ls-head h2{font-size:24px;font-weight:900;margin:6px 0 0;line-height:1.2}.ls-card{background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--c, var(--primary));border-radius:20px;padding:14px 16px;animation:rise .35s ease-out backwards;position:relative}.lesson>.ls-card:nth-of-type(2){animation-delay:.05s}.lesson>.ls-card:nth-of-type(3){animation-delay:.1s}.lesson>.ls-card:nth-of-type(4){animation-delay:.15s}.ls-kicker{margin:0 0 6px;font-size:13px;font-weight:900;text-transform:none;letter-spacing:.06em;color:var(--c-strong, var(--text-soft))}.ls-help{margin:-2px 0 8px;font-size:13px;color:var(--text-soft)}.ls-situation{margin:0;font-size:16px}.ls-talk{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:6px}.ls-talk li{background:var(--surface-2);border-radius:14px;padding:8px 12px;font-size:15px}.ls-text{display:flex;flex-direction:column;gap:8px;font-size:17px;line-height:1.7}.ls-text.story .ls-line,.ls-line{margin:0}.ls-line.said{display:flex;flex-direction:column;background:var(--surface-2);border-radius:16px;padding:8px 12px;max-width:92%}.ls-line.said:nth-child(2n){align-self:flex-end;background:var(--blue-soft)}.ls-speaker{font-size:12px;font-weight:900;color:var(--text-soft);text-transform:none;letter-spacing:.05em}.ls-tip{margin-top:10px;background:var(--purple-soft);color:var(--text);border-radius:14px;padding:10px 34px 10px 12px;font-size:15px;position:relative;animation:bounce-in .3s ease-out}.ls-tip-close{position:absolute;top:6px;right:8px;background:none;border:none;font-size:20px;color:var(--text-soft);cursor:pointer}.ls-discover{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.ls-aux-card{background:var(--surface-2);border-radius:16px;padding:12px}.ls-aux-meaning{margin:0 0 8px;font-size:15px}.ls-example{margin:0 0 4px;font-size:15px;line-height:1.7}.ls-vocab{display:flex;flex-wrap:wrap;gap:8px}.ls-word{background:var(--surface-2);border-radius:12px;padding:6px 12px;display:flex;flex-direction:column;line-height:1.3}.ls-word small{color:var(--text-soft);font-size:12px}.ls-reflect{margin:0 0 12px;font-size:17px;font-weight:800}.ls-cta{font-size:16px}.ls-result{text-align:center}.ls-result .big{font-size:26px;font-weight:900;margin:0;color:var(--primary-strong)}.ls-practice{border-left-width:2px;display:flex;flex-direction:column;gap:12px}.ls-progress{height:16px;background:var(--surface-3);border-radius:99px;overflow:hidden}.ls-progress div{height:100%;background:var(--primary);border-radius:99px;transition:width .4s cubic-bezier(.3,1.4,.5,1);box-shadow:inset 0 4px #ffffff40}.ls-ex{display:flex;flex-direction:column;gap:12px;animation:rise .3s ease-out}.ls-prompt{margin:0;font-size:20px;font-weight:800}.ls-feedback{min-height:8px}.ls-feedback p{margin:0 0 4px;font-weight:800}.ls-feedback.right p:first-child{color:var(--primary-strong)}.ls-feedback.wrong p:first-child{color:var(--red-strong)}.ls-waiting{text-align:center}.ls-waiting .big{font-size:22px;font-weight:900;margin:0 0 6px}.ls-float{font-size:44px;margin:0;animation:float 3s ease-in-out infinite}.ls-themes{display:flex;flex-wrap:wrap;gap:6px}.ls-ideas{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.ls-ideas span{background:var(--surface);border:1px solid var(--border);border-radius:99px;padding:4px 12px;font-size:13px}.ls-meter{height:10px;background:var(--surface-3);border-radius:99px;overflow:hidden;margin-top:-2px}.ls-meter div{height:100%;background:var(--amber);border-radius:99px;transition:width .3s}.ls-meter div.ok{background:var(--primary)}.ls-consent{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px;margin-bottom:12px;font-size:14px;cursor:pointer}.ls-consent input{width:22px;height:22px;margin:2px 0 0;flex-shrink:0;accent-color:var(--primary)}.ls-path{list-style:none;padding:10px 0 20px;margin:0;display:flex;flex-direction:column;gap:18px;align-items:center}.ls-step{display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(var(--offset, 0));max-width:260px;text-align:center;animation:rise .4s ease-out backwards}.ls-step:nth-child(2){animation-delay:.05s}.ls-step:nth-child(3){animation-delay:.1s}.ls-step:nth-child(4){animation-delay:.15s}.ls-node{width:72px;height:72px;border-radius:50%;border:none;font-size:30px;font-weight:900;color:#fff;cursor:pointer;background:var(--primary);box-shadow:0 10px 22px -12px var(--primary-shade);transition:transform .08s,box-shadow .08s}.ls-node:active:not(:disabled){transform:translateY(7px);box-shadow:none}.ls-step.open .ls-node{background:var(--amber);box-shadow:0 10px 22px -12px var(--amber-shade);animation:float 2.4s ease-in-out infinite}.ls-step.locked .ls-node{background:var(--surface-3);box-shadow:var(--shadow-sm);cursor:not-allowed;font-size:24px}.ls-step-text{display:flex;flex-direction:column;line-height:1.3}.ls-step-text strong{font-size:15px;font-weight:900}.ls-step-text small{font-size:12.5px;color:var(--text-soft)}.ls-step.locked .ls-step-text strong{color:var(--text-soft)}.sp-intro{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong)}.sp-name{font-size:22px;font-weight:900;margin:0 0 12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sp-story{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow-y:auto;margin:0 0 8px;background:var(--surface-2);border-radius:14px;padding:10px 12px;font-size:15px}.sp-step{display:flex;flex-direction:column;gap:8px}.sp-step textarea{margin:0}.sp-howto{margin:0;padding-left:20px;font-size:14px;color:var(--text-soft)}.sp-copy{background:var(--purple);box-shadow:0 10px 22px -12px var(--purple-shade);text-transform:none;letter-spacing:0}.sp-copy:active:not(:disabled){box-shadow:0 0 0 var(--purple-shade)}.sp-plan{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}.sp-lesson>div,.sp-lesson{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sp-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sp-preview{display:flex;flex-direction:column;gap:8px}.sp-preview .card{margin:0}.sp-preview-row{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:10px 12px;font-size:15px;font-weight:800;color:var(--text);cursor:pointer}.sp-preview-row:hover{border-color:var(--primary)}.sp-save{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sp-save .btn-primary{width:auto}.sp-next{display:flex;flex-direction:column;gap:8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.confetti{display:none}}.lib-pt{display:inline-block;font-size:10px;font-weight:900;letter-spacing:.05em;background:var(--c-soft, var(--surface-3));color:var(--c-strong, var(--text-soft));border-radius:6px;padding:1px 5px;margin-right:3px;vertical-align:middle}.lessons-switch{padding-bottom:0!important}.lessons-switch .journal-mode{margin:0}.lessons-switch+.screen{padding-top:12px}.news-hot{color:var(--coral-strong);text-transform:none;letter-spacing:0}.pred{display:flex;flex-direction:column;gap:12px}.pred-rules{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:12px 14px;border-radius:18px;background:var(--primary-soft);border:2px solid var(--primary);color:var(--primary-strong)}.pred-rules span{font-weight:900}.pred-rules small{flex-basis:100%;font-weight:700;color:var(--text-soft)}.pred-rules b{color:var(--primary-strong)}.pred-mine{margin-left:auto;font-weight:900}.pred-tabs{display:flex;gap:6px;flex-wrap:wrap}.pred-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);border-radius:99px;padding:7px 14px;font:inherit;font-size:14px;font-weight:900;cursor:pointer}.pred-tabs button.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong)}.pred-tabs.small button{padding:5px 12px;font-size:13px}.pred-add{align-self:flex-start}.pred-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-sm);padding:12px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:10px;animation:rise .3s ease-out}.pred-head{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:900;color:var(--text-soft);text-transform:none;letter-spacing:.03em}.pred-time{margin-left:auto;text-transform:none;letter-spacing:0}.pred-status{border-radius:99px;padding:2px 9px;font-size:11px}.pred-status.open{background:var(--primary-soft);color:var(--primary-strong)}.pred-status.live{background:var(--coral-soft);color:var(--coral-strong)}.pred-status.final{background:var(--surface-2);color:var(--text-soft)}.pred-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;text-align:center}.pred-teams strong{font-size:17px;font-weight:900;overflow-wrap:anywhere}.pred-teams strong.win{color:var(--primary-strong)}.pred-vs{font-weight:900;color:var(--text-soft);font-size:13px}.pred-final{font-size:24px;font-weight:900;background:var(--surface-2);border-radius:12px;padding:2px 12px}.pred-winner-line{margin:0;text-align:center;font-weight:900;color:var(--primary-strong)}.pred-guess{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.pred-dash{font-weight:900;font-size:20px;color:var(--text-soft)}.pred-stepper{display:flex;align-items:center;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface-2)}.pred-stepper button{width:38px;height:40px;border:none;background:none;font:inherit;font-size:20px;font-weight:900;color:var(--primary-strong);cursor:pointer}.pred-stepper span{min-width:30px;text-align:center;font-size:20px;font-weight:900}.pred-save{width:auto;margin:0;padding-left:18px;padding-right:18px}.pred-odds{display:flex;gap:8px}.pred-odd{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 6px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .1s}.pred-odd span{font-weight:900;font-size:14.5px;overflow-wrap:anywhere}.pred-odd small{font-size:11.5px;font-weight:800;color:var(--text-soft)}.pred-odd.on{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 10px 22px -12px var(--primary)}.pred-odd:active{transform:scale(.97);box-shadow:none}.pred-split small{display:block;margin-top:4px;font-size:12px;font-weight:700;color:var(--text-soft)}.pred-bar{display:flex;height:8px;border-radius:99px;overflow:hidden;background:var(--surface-2)}.pred-bar i{display:block;height:100%}.pred-bar .h{background:var(--primary)}.pred-bar .d{background:var(--amber)}.pred-bar .a{background:var(--coral)}.pred-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13.5px;font-weight:700}.pred-myguess b{font-weight:900}.pred-pts{font-style:normal;margin-left:6px;padding:1px 8px;border-radius:99px;font-size:12px;font-weight:900;background:var(--surface-2);color:var(--text-soft)}.pred-pts.plus{background:var(--primary-soft);color:var(--primary-strong)}.pred-foot .link-btn{margin-left:0}.pred-manage{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12.5px}.pred-result-form{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:var(--amber-soft)}.pred-result-form small{font-weight:800}.pred-all{list-style:none;margin:0;padding:8px 10px;border-radius:14px;background:var(--surface-2);display:flex;flex-direction:column;gap:4px}.pred-all li{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:700}.pred-all li span{flex:1;min-width:0}.pred-comments{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);padding-top:8px}.pred-comment p{margin:0;font-size:14.5px;overflow-wrap:anywhere}.pred-comment small{display:flex;gap:8px;font-size:11.5px;color:var(--text-soft);font-weight:700}.pred-form{display:flex;flex-direction:column;gap:10px}.pred-form label{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:14px}.pred-form input:not([type=radio]):not([type=checkbox]),.pred-form select{font:inherit;font-size:15px;padding:9px 11px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.pred-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pred-kind{display:flex;flex-wrap:wrap;gap:6px 16px}.pred-kind label{flex-direction:row;align-items:center;gap:6px;font-weight:700}.pred-form-actions{display:flex;justify-content:flex-end;gap:8px}.pred-form-actions .btn-primary{width:auto;margin:0}.pred-ranking{list-style:none;margin:8px 0 0;padding:6px 12px}.pred-ranking li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.pred-ranking li:last-child{border-bottom:none}.pred-ranking li.me{color:var(--primary-strong)}.pred-rank{width:30px;text-align:center;font-weight:900;font-size:18px}.pred-name{flex:1;min-width:0;font-weight:900}.pred-ranking small{font-weight:700;color:var(--text-soft)}.pred-ranking b{min-width:58px;text-align:right;font-weight:900}@media(max-width:420px){.pred-form-row{grid-template-columns:1fr}.pred-ranking small{display:none}}.pred-crest{width:22px;height:22px;object-fit:contain;vertical-align:-5px;margin-right:6px}.pred-status.off{background:var(--surface-2);color:var(--coral-strong)}.pred-auto{margin:0;font-size:13px;font-weight:700}.pred-credit{margin:4px 0 0;font-size:12px;font-weight:700;color:var(--text-soft)}.pred-panel{display:flex;flex-direction:column;gap:8px;padding:10px 14px}.pred-panel p{margin:0}.pred-comps{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 12px}.pred-comps label{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px;cursor:pointer}.pred-comps input{width:17px;height:17px;accent-color:var(--primary)}.pred-filter{margin:0}.seat-0{--seat:var(--coral);--seat-soft:var(--coral-soft)}.seat-1{--seat:var(--blue);--seat-soft:var(--blue-soft)}.seat-2{--seat:var(--amber);--seat-soft:var(--amber-soft)}.seat-3{--seat:var(--purple);--seat-soft:var(--purple-soft)}.seat-4{--seat:var(--pink);--seat-soft:var(--pink-soft)}.seat-5{--seat:var(--primary);--seat-soft:var(--primary-soft)}.pt-entry{margin-bottom:12px}.pt,.gt{display:flex;flex-direction:column;gap:10px}.pt>p,.gt>p{margin:0}.gt-head{display:flex;align-items:center;gap:10px}.gt-head strong{font-size:18px;font-weight:900;flex:1}.gt-head .gm-back{margin:0}.pt-list{padding:4px 12px}.pt-room{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.pt-room:last-child{border-bottom:none}.pt-room-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.pt-room-text strong{font-weight:900}.pt-room-text small{color:var(--text-soft);font-weight:700;font-size:12.5px}.pt-emoji{font-size:26px}.pt-emoji.big{font-size:34px}.pt-go{width:auto;margin:0;padding:8px 18px}.pt-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:10px}.pt-game{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .1s}.pt-game:hover{border-color:var(--primary)}.pt-game:active{transform:scale(.97);box-shadow:none}.pt-game strong{font-size:17px;font-weight:900}.pt-game small{color:var(--text-soft);font-weight:700;font-size:13px;line-height:1.35}.pt-game em{font-style:normal;font-size:12px;font-weight:900;color:var(--primary-strong);margin-top:auto}.gt-players{display:flex;flex-wrap:wrap;gap:6px}.gt-player{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:99px;background:var(--seat-soft);border:2px solid transparent;font-weight:800;font-size:13.5px}.gt-player i{width:10px;height:10px;border-radius:50%;background:var(--seat)}.gt-player.turn{border-color:var(--seat);animation:bounce-in .3s ease-out}.gt-lobby p{margin:0 0 8px}.gt-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gt-buttons .btn-primary,.gt-end .btn-primary,.pk-result .btn-primary{width:auto;margin:0;padding-left:18px;padding-right:18px}.gt-turn{font-weight:900;color:var(--text-soft);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.gt-turn.mine{color:var(--primary-strong);font-size:17px}.gt-last{margin:0;text-align:center;font-size:13px;font-weight:700;color:var(--text-soft)}.gt-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:16px;background:var(--surface-2);text-align:center}.gt-end.won{background:var(--primary-soft)}.gt-end strong{font-size:18px;font-weight:900}.gt-rules ul{margin:0 0 8px;padding-left:20px}.gt-rules li{margin:3px 0}.gt-rules p{margin:0;font-size:14px}.gt-chat{display:flex;flex-direction:column;gap:8px;padding:10px 12px}.gt-chat-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.gt-chat-list p{margin:0;font-size:14.5px;overflow-wrap:anywhere}.gt-chat-list p.mine b{color:var(--primary-strong)}.gt-quick{display:flex;flex-wrap:wrap;gap:5px}.gt-quick button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:99px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}.gt-leave{align-self:flex-start}.cc{display:flex;flex-direction:column;gap:10px}.cc-table{display:flex;justify-content:center;gap:24px;padding:14px;border-radius:20px;background:var(--surface-2)}.cc-pile{display:flex;flex-direction:column;align-items:center;gap:6px}.cc-pile small{font-weight:800;color:var(--text-soft);display:flex;align-items:center;gap:5px}.cc-card{--cc:var(--text-soft);width:62px;height:90px;border-radius:12px;background:var(--cc);color:#fff;display:inline-flex;align-items:center;justify-content:center;border:3px solid var(--surface);box-shadow:0 10px 22px -12px #0003;font:inherit;font-size:24px;font-weight:900;flex-shrink:0;padding:0}.cc-card span{display:flex;align-items:center;justify-content:center;width:44px;height:62px;border-radius:30px;background:#fff3;transform:rotate(-12deg)}.cc-card.small{width:auto;min-width:64px;height:44px;font-size:14px;padding:0 8px}.cc-card.small span{width:auto;height:auto;background:none;transform:none;border-radius:0}.cc-r{--cc:var(--coral)}.cc-y{--cc:var(--amber)}.cc-g{--cc:var(--primary)}.cc-b{--cc:var(--blue)}.cc-w{background:conic-gradient(var(--coral) 0 25%,var(--amber) 0 50%,var(--primary) 0 75%,var(--blue) 0)}.cc-back{background:var(--purple-strong);font-size:15px}.cc-back:disabled{opacity:.55;cursor:default}.cc-card.clickable{cursor:pointer}.cc-card.playable{transform:translateY(-8px);box-shadow:0 10px 22px -12px #00000026,0 0 0 3px var(--primary)}.cc-hand{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}.cc-hand .cc-card:not(.playable){opacity:.85}.cc-dot{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--cc)}.cc-colors{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 26px #0003}.pk{display:flex;flex-direction:column;gap:10px}.pk-felt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px;border-radius:24px;background:var(--primary-soft);border:3px solid var(--primary)}.pk-felt small{font-weight:800;color:var(--primary-strong)}.pk-board{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.pk-pot{font-size:17px;font-weight:900}.pk-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:44px;height:62px;border-radius:9px;background:var(--surface);color:var(--text);border:1px solid var(--border);font-weight:900;font-size:17px;line-height:1}.pk-card b{font-size:18px}.pk-card.red{color:var(--coral-strong)}.pk-card.back{background:repeating-linear-gradient(45deg,var(--blue) 0 6px,var(--blue-shade) 6px 12px);border-color:var(--surface)}.pk-seats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.pk-seat{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 10px;border-radius:14px;background:var(--seat-soft);border:2px solid transparent;font-size:13.5px;font-weight:800}.pk-seat.acting{border-color:var(--seat)}.pk-seat.folded,.pk-seat.out{opacity:.5}.pk-name{flex-basis:100%;display:flex;align-items:center;gap:5px;font-weight:900}.pk-dealer{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--surface);border:2px solid var(--text-soft);font-size:10px}.pk-bet{color:var(--primary-strong)}.pk-tag{font-size:11.5px;color:var(--text-soft)}.pk-shown{display:flex;gap:3px;flex-basis:100%}.pk-shown .pk-card{width:32px;height:44px;font-size:13px}.pk-shown .pk-card b{font-size:13px}.pk-mine{display:flex;flex-direction:column;align-items:center;gap:4px}.pk-mine small{font-weight:900;color:var(--text-soft)}.pk-mine>div{display:flex;gap:6px}.pk-mine .pk-card{width:58px;height:82px;font-size:22px}.pk-mine .pk-card b{font-size:24px}.pk-result{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border-radius:16px;background:var(--amber-soft);text-align:center}.pk-result p{margin:0;font-weight:800}.pk-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.pk-actions .btn-primary{width:auto;margin:0;padding-left:18px;padding-right:18px}.pk-raise{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.pk-raise input{width:150px;accent-color:var(--primary)}.mc{display:flex;flex-direction:column;gap:6px}.mc-label{margin:0;font-weight:900;color:var(--seat);text-align:center}.mc-board{display:flex;align-items:stretch;gap:6px;padding:10px;border-radius:28px;background:var(--amber-soft);border:3px solid var(--amber)}.mc-store{width:56px;border-radius:24px;background:var(--surface);border:3px solid var(--seat);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex-shrink:0}.mc-store b{font-size:20px;font-weight:900}.mc-rows{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.mc-row{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.mc-pit{aspect-ratio:1;min-width:0;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit;color:var(--text);padding:2px}.mc-pit b{font-size:14px;font-weight:900}.mc-pit.mine.playable{border-color:var(--primary);cursor:pointer;box-shadow:0 0 0 3px var(--primary-soft)}.mc-pit:disabled{cursor:default}.mc-seeds{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:36px}.mc-seeds i{width:6px;height:6px;border-radius:50%;background:var(--amber-shade)}.c4{display:flex;flex-direction:column;gap:6px;align-items:center}.c4-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:8px;border-radius:18px;background:var(--blue);width:min(100%,420px)}.c4-col{display:flex;flex-direction:column;gap:4px;padding:3px;border:none;border-radius:10px;background:none;cursor:pointer}.c4-col:disabled{cursor:default}.c4-col.playable:hover{background:#fff3}.c4-cell{aspect-ratio:1;border-radius:50%;background:var(--surface)}.c4-cell.on{background:var(--seat);box-shadow:inset 0 -3px #00000026}.c4-cell.win{outline:4px solid var(--surface);outline-offset:-4px}.ck{display:flex;flex-direction:column;gap:6px;align-items:center}.ck-board{display:grid;grid-template-columns:repeat(8,1fr);width:min(100%,420px);border-radius:12px;overflow:hidden;border:4px solid var(--amber-shade)}.ck-sq{aspect-ratio:1;border:none;padding:0;display:flex;align-items:center;justify-content:center;position:relative}.ck-sq.light{background:var(--amber-soft)}.ck-sq.dark{background:var(--amber-strong);cursor:pointer}.ck-sq.last{box-shadow:inset 0 0 0 3px #fff6}.ck-sq.can .ck-piece{box-shadow:0 0 0 3px var(--surface)}.ck-sq.sel{box-shadow:inset 0 0 0 4px var(--primary)}.ck-sq.target:after{content:"";width:30%;height:30%;border-radius:50%;background:var(--primary);opacity:.85}.ck-piece{width:78%;height:78%;border-radius:50%;background:var(--seat);box-shadow:inset 0 -4px #0003;display:flex;align-items:center;justify-content:center;font-size:15px}.db{display:flex;flex-direction:column;gap:6px;align-items:center}.db-svg{width:min(100%,360px);height:auto;background:var(--surface);border-radius:18px;border:1px solid var(--border)}.db-dot{fill:var(--text)}.db-line{stroke:var(--border);stroke-width:4;stroke-linecap:round;stroke-dasharray:2 7}.db-line.on{stroke:var(--seat);stroke-width:7;stroke-dasharray:none}.db-line.on.last{stroke-width:9}.db-hit{stroke:transparent;stroke-width:22;cursor:pointer}.db-hit:hover{stroke:var(--primary-soft)}.db-box{fill:var(--seat-soft);stroke:var(--seat);stroke-width:2}.db-initial{fill:var(--seat);font-weight:900;font-size:20px;font-family:inherit}.db-score{margin:0 5px;color:var(--seat);font-weight:900}.pred-more{align-self:center}h1,h2,h3,.screen-title,.logo,.gm-card strong,.pt-game strong,.foryou-text strong,.gt-head strong,.pred-teams strong,.mw-entry-text strong{font-family:var(--font-display);letter-spacing:-.025em}h2.screen-title{font-size:26px;font-weight:800}.section-label{font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.01em;margin:22px 0 10px}.card{border-radius:22px;box-shadow:var(--shadow-sm)}.logo{color:var(--text)}.logo .logo-dot{color:var(--coral)}.btn-primary{background:var(--grad-warm);border-radius:14px;font-weight:700;letter-spacing:0;box-shadow:0 12px 24px -12px #e8630ab3;transition:transform .12s,box-shadow .2s,filter .2s}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 16px 28px -12px #e8630abf}.btn-primary:active:not(:disabled){transform:scale(.97);box-shadow:0 8px 18px -12px #e8630ab3}.post-btn{font-weight:700}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 4px var(--purple-soft);outline:none}.hero{background:var(--grad);border-radius:28px;box-shadow:0 22px 40px -22px #1f5bffd9}.hero h1{font-family:var(--font-display);font-size:28px;font-weight:800;line-height:1.1}.hero-kicker{font-weight:600}.quick{background:var(--c);color:#fff;border-radius:18px;font-weight:700;letter-spacing:0;padding:10px 4px 9px;box-shadow:0 12px 22px -14px var(--c-shade);transition:transform .12s,filter .15s}.quick:hover{filter:brightness(1.06)}.quick .ic{background:#fff;border-radius:11px;padding:3px;width:34px;height:34px}.quick.c-amber{color:#3a2600}[data-theme=dark] .quick{color:#fff}[data-theme=dark] .quick.c-amber{color:#3a2600}.hero .quick{border:1.5px solid #ffffff40}header.topbar{border-bottom:1px solid var(--border)}.avatar{background:var(--grad-warm)}.level-pill{background:var(--purple-soft);color:var(--purple-strong)}.shell.student .shell-main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}nav.tabbar{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:7px 6px;background:#0b1b3f;border:none;border-radius:24px;box-shadow:0 18px 36px -14px #0b1b3f99}[data-theme=dark] nav.tabbar{background:#221c4d;box-shadow:0 18px 36px -14px #000c}nav.tabbar button{color:#9c96c6;border:none;border-radius:16px;font-weight:600;font-size:10.5px;padding:6px 2px 5px}nav.tabbar button .icon{opacity:.85}nav.tabbar button.active{background:var(--purple);color:#fff;box-shadow:0 10px 20px -10px #1f5bffe6}nav.tabbar button.active .ic-color{color:#fff}nav.tabbar button.active .icon{opacity:1}.pill-tabs button{font-weight:700}.pill-tabs button.active{background:var(--grad);color:#fff;border-color:transparent}.pill-tabs button.active .ic-color{color:#fff}@media(min-width:900px){.sidebar{background:var(--sidebar-bg);border-right:none}}.sidebar .logo{color:#fff}.side-item{color:#a9a3cf;font-weight:600;letter-spacing:0;border:none}.side-item:hover{background:#ffffff12;color:#fff}.side-item.active{background:var(--grad);color:#fff;box-shadow:0 12px 24px -14px #1f5bffe6}.side-item.active .ic-color{color:#fff}.side-user{background:#ffffff10;color:#fff}.side-user-text small{color:#a9a3cf}.side-user .icon-btn{background:#ffffff14;border-color:transparent}.gm-card,.pt-game,.foryou-card,.pred-card,.lib-card{border-radius:22px}.gm-card:hover,.pt-game:hover,.lib-card:hover{border-color:var(--purple)}.gm-card.pt-entry{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 18px 34px -18px #1f5bffcc}.gm-card.pt-entry small{color:#ffffffd9}.gm-card.pt-entry .gm-icon{background:#ffffff2e}.logo{font-family:var(--font-display);font-weight:800;letter-spacing:-.045em;text-transform:none}.logo-word{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.logo .logo-dot{color:var(--coral);-webkit-text-fill-color:var(--coral)}.sidebar .logo-word,[data-theme=dark] .logo-word{background:linear-gradient(135deg,#b39bff,#4fe3d6);-webkit-background-clip:text;background-clip:text}@media print{.logo-word{-webkit-text-fill-color:var(--purple);color:var(--purple);background:none}}:root{--logo-ink:#1F5BFF}[data-theme=dark],.sidebar{--logo-ink:#FFFFFF}.root-logo{display:inline-flex;align-items:center;gap:.28em;line-height:1;vertical-align:middle}.root-mark{display:inline-flex;flex-shrink:0;box-sizing:content-box}.root-mark img{display:block;height:100%;width:auto}.root-word{display:inline-block;height:.92em;aspect-ratio:2.617;background:var(--logo-ink);-webkit-mask:url(/logo/root-word.png) center/contain no-repeat;mask:url(/logo/root-word.png) center/contain no-repeat;-webkit-print-color-adjust:exact;print-color-adjust:exact}.root-mark.brand-mark{width:auto;box-shadow:none;border-radius:0}@media print{.root-logo{--logo-ink:#1F5BFF}}nav.tabbar{transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .25s ease}.shell.nav-away nav.tabbar,.shell.nav-hidden nav.tabbar{transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none}.reply-form{transition:bottom .32s cubic-bezier(.2,.8,.2,1)}.shell.nav-away .reply-form,.shell.nav-hidden .reply-form{bottom:calc(10px + env(safe-area-inset-bottom))}.shell.student.nav-hidden .shell-main{padding-bottom:calc(24px + env(safe-area-inset-bottom))}@media(prefers-reduced-motion:reduce){nav.tabbar,.reply-form{transition:none}}.pick-card.game img{aspect-ratio:16/9;object-fit:cover;height:auto}.game-slot{display:flex;flex-direction:column;gap:6px}.game-slot input:not([type=checkbox]){margin:0}.game-platforms{display:flex;flex-wrap:wrap;gap:6px 14px}.game-platforms label{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:14px}.game-platforms input{width:17px;height:17px;margin:0;accent-color:var(--purple)}.game-search{display:flex;gap:8px}.game-search input{margin:0;flex:1;min-width:0}.game-slot-form{display:flex;flex-direction:column;gap:6px}.game-results{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.game-result{display:flex;align-items:center;gap:10px;padding:6px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.game-result:hover{border-color:var(--purple)}.game-result img{width:72px;aspect-ratio:16/9;object-fit:cover;border-radius:9px;flex-shrink:0}.game-result>span{display:flex;flex-direction:column;min-width:0}.game-result strong{font-weight:800}.game-result small{color:var(--text-soft);font-size:12.5px}.game-chosen{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px}.game-cover-big{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px}.game-score{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;margin-left:8px;padding:0 6px;border-radius:8px;font-size:14px;font-weight:800;background:var(--surface-3);color:var(--text);vertical-align:middle}.game-score.ok{background:var(--amber);color:#3a2600}.game-score.good{background:var(--primary);color:#fff}.teacher-switch{margin-bottom:16px;max-width:420px}.pt-hint{display:inline-block;margin-left:6px;font-size:.78em;font-weight:600;opacity:.8;font-style:italic;letter-spacing:0}.pt-hint.block{display:block;margin:4px 0 0}.quick .pt-hint{display:block;margin:0;font-size:10.5px;opacity:.9}.screen-title .pt-hint{font-family:var(--font);font-size:14px;color:var(--text-soft)}.pt-toggle{display:flex;align-items:center;gap:12px;cursor:pointer}.pt-toggle input{width:20px;height:20px;margin:0;accent-color:var(--purple);flex-shrink:0}.pt-toggle span{display:flex;flex-direction:column;line-height:1.35}.pt-toggle small{color:var(--text-soft);font-weight:600}.welcome-overlay{position:fixed;inset:0;z-index:90;background:#0b1b3f8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.welcome-card{position:relative;width:100%;max-width:380px;background:var(--surface);border-radius:28px;padding:34px 24px 22px;text-align:center;box-shadow:var(--shadow);animation:bounce-in .35s ease-out;display:flex;flex-direction:column;align-items:center;gap:8px}.welcome-card h2{margin:6px 0 0;font-size:24px;font-weight:800}.welcome-card p{margin:0;color:var(--text-soft);line-height:1.5}.welcome-emoji{font-size:44px;width:84px;height:84px;border-radius:26px;background:var(--grad);display:flex;align-items:center;justify-content:center;box-shadow:0 16px 30px -16px #1f5bffcc}.welcome-skip{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-soft);font:inherit;font-weight:700;cursor:pointer}.welcome-dots{display:flex;gap:6px;margin:8px 0 6px}.welcome-dots i{width:8px;height:8px;border-radius:99px;background:var(--surface-3);transition:width .2s,background .2s}.welcome-dots i.on{width:22px;background:var(--purple)}.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.today-focus{margin-top:14px;padding:16px 18px;border-radius:22px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden}.today-focus:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--grad)}.today-kicker{font-size:12.5px;font-weight:700;color:var(--purple-strong)}.today-focus strong{font-family:var(--font-display);font-size:19px;font-weight:800;letter-spacing:-.02em}.today-focus p{margin:0;color:var(--text-soft);font-size:14.5px}.today-focus .btn-primary{align-self:flex-start;width:auto;margin-top:8px;padding-left:20px;padding-right:20px}.install-hint{margin-top:14px;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--purple-soft);color:var(--purple-strong);position:relative}.install-hint p{margin:0;flex:1;font-size:13.5px;line-height:1.4}.install-hint .btn-primary{width:auto;margin:0;padding:9px 14px}.install-hint .close{background:none;border:none;font-size:22px;line-height:1;color:inherit;cursor:pointer;padding:0 2px}.trophy-road{margin-top:14px;padding:16px 0 12px;border-radius:24px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;position:relative}.tr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 18px}.tr-head small{display:block;font-size:12.5px;font-weight:700;color:var(--purple-strong)}.tr-head strong{font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.02em}.tr-xp{font-family:var(--font-display);font-weight:800;font-size:14px;padding:5px 11px;border-radius:99px;background:var(--grad-warm);color:#fff;white-space:nowrap}.tr-new{margin:8px 18px 0;padding:8px 12px;border-radius:14px;background:var(--amber-soft);color:var(--amber-strong);font-weight:700;font-size:14px}.tr-next{padding:8px 18px 0}.tr-bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.tr-bar i{display:block;height:100%;border-radius:99px;background:var(--grad-warm);transition:width .6s ease}.tr-next small{display:block;margin-top:5px;font-size:12.5px;font-weight:700;color:var(--text-soft)}.tr-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-behavior:smooth;margin-top:4px}.tr-scroll::-webkit-scrollbar{display:none}.tr-map{position:relative;height:176px}.tr-path{position:absolute;left:0;top:0}.tr-road{fill:none;stroke:var(--surface-3);stroke-width:10;stroke-linecap:round;stroke-dasharray:1 16}.tr-done{fill:none;stroke-width:10;stroke-linecap:round}.tr-node{position:absolute;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font:inherit;background:var(--surface-2);box-shadow:inset 0 0 0 3px var(--surface-3);transition:transform .15s}.tr-node:active{transform:translate(-50%,-50%) scale(.95)}.tr-emoji{font-size:24px;line-height:1}.tr-node.locked .tr-emoji{font-size:17px;opacity:.55}.tr-node.passed{background:var(--grad);box-shadow:0 8px 18px -10px #1f5bffcc}.tr-node.here{width:64px;height:64px;background:var(--grad);box-shadow:0 0 0 5px var(--purple-soft),0 12px 26px -10px #1f5bffe6;animation:tr-pulse 2.4s ease-in-out infinite}@keyframes tr-pulse{0%,to{box-shadow:0 0 0 5px var(--purple-soft),0 12px 26px -10px #1f5bffe6}50%{box-shadow:0 0 0 10px var(--purple-soft),0 12px 26px -10px #1f5bffe6}}.tr-me{position:absolute;top:-18px;right:-12px;width:30px;height:30px;border-radius:50%;background:var(--grad-warm);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;border:3px solid var(--surface);overflow:hidden}.tr-me img{width:100%;height:100%;object-fit:cover}.tr-label{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:11px;font-weight:800;color:var(--text);text-align:center;line-height:1.2}.tr-label em{display:block;font-style:normal;font-weight:600;color:var(--text-soft);font-size:10.5px}.tr-node.locked .tr-label{color:var(--text-soft)}.tr-pop{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:2;white-space:nowrap;padding:7px 11px;border-radius:12px;background:var(--ink);color:#fff;font-size:12px;font-weight:600;line-height:1.35;text-align:center;box-shadow:var(--shadow)}.tr-how{margin:2px 18px 0;font-size:12.5px;font-weight:600;color:var(--text-soft)}[data-theme=dark] .tr-pop{background:var(--surface-3)}@media(prefers-reduced-motion:reduce){.tr-node.here{animation:none}.tr-bar i{transition:none}}.feed-chevron{font-size:24px;font-weight:700;line-height:1;color:var(--text-soft);padding:0 4px}.avatar-btn.active{outline:3px solid var(--primary);outline-offset:2px}.logout-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:18px 0 8px;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--coral-strong);font:inherit;font-weight:800;cursor:pointer}.logout-row:active{transform:scale(.98)}@media(max-width:899px){.tutor-chat .chat-list{max-height:calc(100dvh - 430px);min-height:220px}}.today{display:flex;flex-direction:column;gap:12px}.word-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}.word-pair>:only-child{grid-column:1 / -1}.word-tile{display:flex;flex-direction:column;gap:4px;padding:14px;min-width:0}.word-tile .today-kicker{font-size:11.5px;letter-spacing:0}.word-tile .today-word{font-family:var(--font-display);font-size:24px;letter-spacing:-.02em;-webkit-hyphens:auto;hyphens:auto;margin-top:2px}.word-tile .today-word.long{font-size:20px}.word-tile .today-word.xlong{font-size:17px}.word-tile-sound{display:flex;gap:6px}.word-tile .today-meaning{font-size:13.5px;line-height:1.3}.word-tile .today-example{font-size:13px;line-height:1.35;color:var(--text-soft)}.word-tile .today-actions{margin-top:auto;padding-top:6px}.word-tile .save-word-btn{font-size:13px}.word-tile.phrase{background:linear-gradient(160deg,var(--c-soft),var(--surface) 70%);border-color:var(--c-soft)}.word-tile.phrase .today-word{line-height:1.15;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word}.word-tile .word-again{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding:8px 10px;border-radius:12px;border:1px dashed var(--c, var(--amber));background:var(--surface)}.word-again-k{font-size:11px;font-weight:700;color:var(--text-soft)}.word-again-w{font-family:var(--font-display);font-weight:700;font-size:15px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.word-again-m{all:unset;cursor:pointer;font-size:12.5px;color:var(--text-soft);text-decoration:underline dotted;overflow-wrap:anywhere}.word-again-m.open{text-decoration:none;color:var(--text);font-weight:600}.word-again-m:focus-visible{outline:2px solid var(--purple);outline-offset:2px;border-radius:4px}.word-tile.week{background:linear-gradient(160deg,var(--purple-soft),var(--surface) 70%);border-color:var(--purple-soft)}@media(min-width:600px){.word-tile{padding:16px 18px}.word-tile .today-word{font-size:28px}.word-tile .today-word.long{font-size:24px}.word-tile .today-word.xlong{font-size:20px}}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:99px;padding:6px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.chip.on{background:var(--purple);border-color:var(--purple);color:#fff}.chip:disabled{opacity:.6;cursor:default}.error-text{color:var(--red-strong);font-weight:700}.reminder-card{display:flex;flex-direction:column;gap:10px;margin-top:14px}.reminder-card.invite{border-color:var(--purple-soft);background:linear-gradient(160deg,var(--purple-soft),var(--surface) 65%)}.reminder-head{display:flex;gap:12px;align-items:flex-start}.reminder-head>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.reminder-head small{color:var(--text-soft);font-size:13px}.reminder-bell{font-size:26px;line-height:1}.reminder-hours{display:flex;flex-wrap:wrap;gap:6px}.reminder-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.reminder-social{display:flex;align-items:center;gap:10px;margin:10px 0 4px;padding:10px 12px;border-radius:14px;background:var(--surface-2);font-size:14px;font-weight:600;cursor:pointer}.reminder-social input{width:20px;height:20px;margin:0;accent-color:var(--purple);flex:none}.reminder-actions .btn-primary{width:auto;margin:0;padding-left:20px;padding-right:20px}.reminder-msg{margin:0;font-size:13px;white-space:pre-line;line-height:1.45}.placement-link{display:flex;gap:12px;align-items:center;width:100%;margin-top:14px;text-align:left;font:inherit;color:var(--text);cursor:pointer;font-size:24px}.placement-link span{display:flex;flex-direction:column;gap:2px;font-size:15px}.placement-link small{color:var(--text-soft);font-size:13px}.post-btn.ai-btn{background:var(--purple-soft);color:var(--purple-strong)}.ai-fb{margin-top:10px;padding:12px 14px;border-radius:16px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px;font-size:14.5px}.ai-fb.loading{flex-direction:row;align-items:center;gap:8px;color:var(--text-soft);font-weight:700}.ai-spark{display:inline-block;animation:ai-pulse 1s ease-in-out infinite}@keyframes ai-pulse{50%{transform:scale(1.3);opacity:.6}}.ai-fb.error{background:var(--red-soft);color:var(--red-strong);font-weight:700}.ai-praise{margin:0;padding:10px 12px;border-radius:12px;background:var(--primary-soft);color:var(--primary-strong);font-weight:700}.ai-fixes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ai-fixes li{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.ai-fixes li p{margin:0}.ai-fixes s{color:var(--red-strong);text-decoration-thickness:2px}.ai-fixes b{color:var(--primary-strong)}.ai-fixes small{color:var(--text-soft);font-size:13px}.ai-kind{font-size:11.5px;font-weight:800;color:var(--coral-strong)}.ai-fixes li.natural .ai-kind{color:var(--blue-strong)}.ai-better p{margin:6px 0 0;padding:10px 12px;border-left:3px solid var(--purple);background:var(--surface);border-radius:0 12px 12px 0}.ai-tip{margin:0;font-weight:700;color:var(--amber-strong)}.ai-note{margin:0;font-size:12.5px;color:var(--text-soft)}.tutor-saved{display:block;margin:6px 0 0;text-align:left}.mw-pair{display:grid;gap:10px;margin-bottom:10px}.mw-pair .gm-card{margin:0}@media(min-width:600px){.mw-pair{grid-template-columns:1fr 1fr}}.mk-pair{font-size:15px;line-height:1.4}.mk-pair s{color:var(--red-strong)}.mk-pair b{color:var(--primary-strong)}.mk-add{display:flex;flex-direction:column;gap:10px;margin:10px 0}.mk-add label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;color:var(--text-soft)}.mk-add input{font:inherit;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.mk-add-actions{display:flex;gap:12px;align-items:center}.mk-add-actions .btn-primary{width:auto;margin:0}.mk-wrong{font-size:20px;font-weight:800;margin:6px 0 14px;color:var(--text)}.mk-right{font-size:20px;margin:0 0 6px}.mk-right b{color:var(--primary-strong)}.snd-sets{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(min-width:700px){.snd-sets{grid-template-columns:repeat(3,1fr)}}.snd-set{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.snd-set:active{transform:scale(.98)}.snd-emoji{font-size:28px;margin-bottom:4px}.snd-set small{color:var(--text-soft);font-size:12.5px}.snd-how{margin:0 0 12px;background:var(--amber-soft);color:var(--amber-strong);border-radius:14px;padding:8px 12px;font-size:14px}.snd-how summary{cursor:pointer;font-weight:800}.snd-how p{margin:6px 0 2px}.snd-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}.snd-options.three{grid-template-columns:1fr}.snd-option{padding:16px 10px;border-radius:16px;border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:20px;font-weight:800;cursor:pointer}.snd-option:active{transform:scale(.98)}.snd-option.right{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.snd-option.wrong{border-color:var(--red-strong);background:var(--red-soft);color:var(--red-strong)}.snd-option:disabled{cursor:default}.snd-tip{background:var(--amber-soft);color:var(--amber-strong);border-radius:14px;padding:10px 12px;font-size:14px;text-align:left}.dict-form{display:flex;flex-direction:column;gap:10px;width:100%}.dict-form textarea{font:inherit;font-size:17px;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:none}.dict-answer{margin:4px 0 0;font-size:17px;line-height:1.5;color:var(--text)}.dict-answer .ok{color:var(--primary-strong)}.dict-answer .miss{color:var(--red-strong);text-decoration:underline wavy;text-underline-offset:4px}.cw-banner{background:var(--purple-soft)}.cw-banner small{color:var(--purple-strong)}.cw-banner.on{background:var(--primary-soft)}.cw-banner.on small{color:var(--primary-strong)}.cw-words{white-space:normal!important;font-size:14px}.class-words{border-color:var(--purple-soft)}.cw-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.cw-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border-radius:99px;background:var(--purple-soft);color:var(--purple-strong);font-size:13px}.cw-chip small{color:var(--text-soft)}.cw-chip em{font-style:normal;font-size:11px;font-weight:800;background:var(--surface);border-radius:99px;padding:1px 6px}.cw-chip button{border:none;background:none;color:inherit;cursor:pointer;font-size:13px;padding:2px 6px}.placement{position:fixed;inset:0;z-index:90;background:var(--bg);overflow-y:auto;display:flex;justify-content:center;padding:24px 16px}.placement-box{position:relative;width:100%;max-width:520px;margin:auto 0}.placement-close{position:absolute;top:-8px;right:0;border:none;background:var(--surface-2);color:var(--text);width:36px;height:36px;border-radius:50%;font-size:16px;cursor:pointer}.placement-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-top:24px}.placement-intro h2{font-family:var(--font-display);margin:0}.placement-intro .btn-primary{width:auto;padding-left:32px;padding-right:32px}.placement-big{font-size:56px}.placement-q{display:flex;flex-direction:column;gap:14px;padding-top:40px}.placement-steps{display:flex;gap:6px}.placement-steps span{flex:1;text-align:center;font-size:12px;font-weight:800;padding:6px 0;border-radius:99px;background:var(--surface-2);color:var(--text-soft)}.placement-steps span.done{background:var(--primary-soft);color:var(--primary-strong)}.placement-steps span.here{background:var(--grad);color:#fff}.placement-question{font-family:var(--font-display);font-size:22px;font-weight:700;margin:0;line-height:1.35}.placement-options{display:grid;gap:10px}.placement-options .snd-option{font-size:17px;text-align:left;padding:14px 16px}.placement-inbox{border-color:var(--purple-soft)}.pi-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--border)}.pi-row>div{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px}.pi-row .btn-primary{width:auto;margin:0;padding:8px 16px}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}@media(min-width:700px){.mission-grid{grid-template-columns:repeat(3,1fr)}}.mission-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.mission-card:active{transform:scale(.98)}.mission-card strong{font-size:15px;line-height:1.25}.mission-card small{color:var(--text-soft);font-size:12px;font-weight:700}.mission-card.band-mid small{color:var(--blue-strong)}.mission-card.band-hard small{color:var(--coral-strong)}.mission-card.is-done{cursor:default;opacity:.75;background:var(--primary-soft);border-color:var(--primary-soft)}.mission-card.is-done small{color:var(--primary-strong)}.mission-emoji{font-size:30px}.mission-emoji.big{font-size:48px}.mission-feed{display:flex;flex-direction:column;gap:12px}.mission-feed-row{display:flex;gap:10px;font-size:14px}.mission-feed-row>span{font-size:22px}.mission-feed-row p{margin:2px 0 0;color:var(--text-soft)}.mission-detail{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:10px}.mission-detail h2{font-family:var(--font-display);margin:0}.mission-detail p{margin:0}.mission-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.mission-form label{display:flex;flex-direction:column;gap:6px}.mission-form textarea{font:inherit;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical}.mission-photo{flex-direction:row!important;align-items:center;justify-content:center;padding:12px;border:2px dashed var(--border-strong);border-radius:14px;cursor:pointer;font-weight:700;color:var(--text-soft)}.mission-vis{align-self:flex-start}.speak-btn.wide{width:auto;height:auto;min-height:36px;padding:6px 14px;border-radius:99px;font-size:14px;font-weight:800;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.tutor-switch{margin-bottom:14px}.tq-intro{margin-top:0}.tq-mode{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;padding:16px;margin-bottom:12px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm)}.tq-mode:active{transform:scale(.99)}.tq-mode>span:last-child{display:flex;flex-direction:column;gap:4px}.tq-mode strong{font-family:var(--font-display);font-size:18px}.tq-mode small{color:var(--text-soft);font-size:14px}.tq-mode-emoji{font-size:40px;line-height:1;width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--c-soft);flex-shrink:0}.tq-choose{font-family:var(--font-display);margin:6px 0 12px}.tq-cats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tq-cat{display:flex;flex-direction:column;align-items:center;gap:4px;padding:18px 10px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm)}.tq-cat>span:first-child{font-size:34px}.tq-cat:disabled{opacity:.6}.tq-play{display:flex;flex-direction:column;gap:12px}.tq-progress{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-soft)}.tq-genie{position:relative;text-align:center;padding:24px 18px 18px;border-radius:24px;background:linear-gradient(160deg,var(--purple-soft),var(--surface) 70%);border:1px solid var(--purple-soft);display:flex;flex-direction:column;align-items:center;gap:10px}.tq-genie-face{font-size:56px;line-height:1;animation:tq-float 3s ease-in-out infinite}.tq-genie.thinking .tq-genie-face{animation:tq-spin 1s linear infinite}@keyframes tq-float{50%{transform:translateY(-6px)}}@keyframes tq-spin{to{transform:rotate(360deg)}}.tq-question{font-family:var(--font-display);font-size:22px;font-weight:700;margin:0;line-height:1.3}.tq-guess{font-family:var(--font-display);font-size:28px;font-weight:800;margin:0;color:var(--purple-strong)}.tq-replies{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:6px}.tq-replies.two{grid-template-columns:1fr 1fr}.tq-reply{padding:13px 8px;border-radius:14px;border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:16px;font-weight:800;cursor:pointer}.tq-reply:active{transform:scale(.98)}.tq-reply.yes{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.tq-reply.no{border-color:var(--coral-soft);background:var(--coral-soft);color:var(--coral-strong)}.tq-reply.dont_know{grid-column:1 / -1}.tq-reply:disabled{opacity:.55;cursor:default}.tq-thinking{margin:0}.tq-history{background:var(--surface-2);border-radius:14px;padding:8px 12px;font-size:14px}.tq-history summary{cursor:pointer;font-weight:800}.tq-history ol{margin:8px 0 2px;padding-left:22px;display:flex;flex-direction:column;gap:4px}.tq-history em{font-style:normal;font-weight:800;color:var(--purple-strong);margin-left:6px}.tq-quit{align-self:center}.tq-end{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.tq-tell{display:flex;flex-direction:column;gap:8px;width:100%;max-width:340px}.tq-tell input,.tq-input{flex:1;min-width:0;font:inherit;font-size:15px;padding:11px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.tq-secret{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:var(--primary-soft);color:var(--primary-strong);font-size:15px}.tq-secret>span:first-child{font-size:24px}.tq-turns{display:flex;flex-direction:column;gap:10px;max-height:calc(100dvh - 470px);min-height:120px;overflow-y:auto}.tq-turn{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.tq-turn .bubble{margin:0}.tq-answer{align-self:flex-start;font-weight:800;font-size:14px;padding:6px 12px;border-radius:99px;background:var(--surface-2)}.tq-answer.yes{background:var(--primary-soft);color:var(--primary-strong)}.tq-answer.no{background:var(--coral-soft);color:var(--coral-strong)}.tq-answer.maybe{background:var(--amber-soft);color:var(--amber-strong)}.tq-answer.warn{background:var(--red-soft);color:var(--red-strong)}.tq-better{align-self:flex-start;color:var(--text-soft);font-size:13px}.tq-better b{color:var(--text)}.tq-ideas{display:flex;flex-wrap:wrap;gap:6px}.tq-tip{margin:0;font-size:13px}@media(prefers-reduced-motion:reduce){.tq-genie-face{animation:none!important}}.jh-card{position:relative;margin-top:14px;padding:18px;border-radius:24px;border:2px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--grad-warm) border-box;box-shadow:0 14px 30px -18px var(--coral);display:flex;flex-direction:column;gap:8px;animation:bounce-in .35s ease-out}.jh-head{display:flex;justify-content:space-between;align-items:center}.jh-badge{font-size:12.5px;font-weight:800;color:#fff;background:var(--grad-warm);padding:4px 10px;border-radius:99px}.jh-xp{font-size:12.5px;font-weight:800;color:var(--amber-strong);background:var(--amber-soft);padding:4px 10px;border-radius:99px}.jh-card h2{font-family:var(--font-display);font-size:22px;margin:2px 0 0;letter-spacing:-.02em}.jh-idea{margin:0;font-size:16px;font-weight:600;line-height:1.4;color:var(--text)}.jh-comments{align-self:flex-start;font-size:13px;font-weight:800;color:var(--purple-strong);background:var(--purple-soft);padding:4px 10px;border-radius:99px}.jh-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}.jh-write{width:auto;margin:0;padding:14px 26px;font-size:16px;flex:1 1 auto}.jh-speak{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:800;padding:13px 16px;border-radius:16px;cursor:pointer}.jh-open{align-self:flex-start;margin:0}.jh-done{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:12px 14px;border-radius:18px;border:1px solid var(--primary-soft);background:var(--primary-soft);color:var(--text);font:inherit;text-align:left;cursor:pointer}.jh-check{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900;flex-shrink:0}.jh-done-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.jh-done-text strong{color:var(--primary-strong)}.jh-done-text small{color:var(--text-soft);font-size:13px}.jh-done .jh-comments{font-size:12.5px}.jh-link{font-size:13px;font-weight:800;color:var(--primary-strong);white-space:nowrap}.journal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.journal-head .btn-primary{width:auto;margin:0;padding:10px 16px}.jw-overlay{position:fixed;inset:0;z-index:95;background:var(--bg);overflow-y:auto;animation:jw-up .25s ease-out}@keyframes jw-up{0%{transform:translateY(24px);opacity:0}}.jw-sheet{max-width:680px;margin:0 auto;padding:0 16px 32px;display:flex;flex-direction:column;gap:12px;min-height:100%}.jw-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 0;background:var(--bg)}.jw-top strong{flex:1;font-family:var(--font-display);font-size:17px}.jw-close{border:none;background:var(--surface-2);color:var(--text);width:38px;height:38px;border-radius:50%;font-size:16px;cursor:pointer}.jw-save{width:auto;margin:0;padding:10px 22px}.jw-prompt{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:18px;background:var(--amber-soft)}.jw-prompt>small:first-child{font-weight:800;color:var(--amber-strong)}.jw-prompt p{margin:0;font-size:17px;font-weight:700;line-height:1.4}.jw-prompt .link-btn{align-self:flex-start;margin:2px 0 0}.jw-text{min-height:42vh;font:inherit;font-size:17px;line-height:1.55;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical}.jw-text.short{min-height:110px}.jw-text:focus{outline:none;border-color:var(--primary)}.jw-foot{font-size:13px}.jw-done{max-width:420px;margin:0 auto;padding:80px 20px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.jw-done h2{font-family:var(--font-display);margin:0}.jw-done .btn-primary{width:auto;padding-left:40px;padding-right:40px}.jw-done-big{font-size:64px;animation:bounce-in .4s ease-out}@media(prefers-reduced-motion:reduce){.jw-overlay,.jh-card,.jw-done-big{animation:none}}.path-view .pv-current{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;border:none;cursor:pointer;font:inherit;color:#fff;background:var(--grad);border-radius:24px;padding:18px 20px;box-shadow:var(--shadow);margin:6px 0 14px}.pv-current small{font-size:12.5px;font-weight:700;opacity:.9}.pv-current strong{font-family:var(--font-display);font-size:20px;line-height:1.25}.pv-current span{font-size:14px;font-weight:600;opacity:.95}.pv-current .pv-next{align-self:flex-start;margin-top:8px;padding:7px 14px;border-radius:99px;background:#ffffff38;font-weight:800;opacity:1}.pv-current.done{cursor:default;background:var(--grad-warm)}.pv-progress{margin:0 2px 14px}.pv-progress span{display:block;font-size:13px;font-weight:700;color:var(--text-soft);margin-bottom:6px}.pv-cert,.pv-test{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;font-size:26px;cursor:pointer;border:1px solid var(--border);border-radius:18px;padding:12px 16px;margin-bottom:10px;background:var(--amber-soft);color:var(--text)}.pv-test{background:var(--purple-soft);border-color:var(--purple);animation:bounce-in .3s ease-out}.pv-cert span,.pv-test span{display:flex;flex-direction:column}.pv-cert strong,.pv-test strong{font-size:15px}.pv-cert small,.pv-test small{font-size:12.5px;font-weight:600;color:var(--text-soft)}.pv-books{margin-top:6px}.pv-book-title{margin:8px 2px 10px;font-size:14px;color:var(--text-soft)}.pv-book-title b{color:var(--text);font-family:var(--font-display)}.pv-units{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pv-unit{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:10px 14px;cursor:pointer;box-shadow:var(--shadow-sm)}.pv-unit:disabled{cursor:default;box-shadow:none;background:var(--surface-2);color:var(--text-soft)}.pv-unit.current{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.pv-unit.before{opacity:.7}.pv-code{flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;background:var(--surface-2)}.pv-unit.current .pv-code{background:var(--grad);color:#fff}.pv-unit.done .pv-code{background:var(--primary-soft);font-size:20px}.pv-unit-text{flex:1;min-width:0;display:flex;flex-direction:column}.pv-unit-text strong{font-size:14.5px;line-height:1.3}.pv-unit-text small{font-size:12.5px;color:var(--text-soft);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-unit-state{flex:none;font-size:12.5px;font-weight:800;color:var(--text-soft)}.pv-unit.done .pv-unit-state{color:var(--primary-strong)}.pv-skip{font-size:12.5px;margin:10px 2px 0}.pv-old{display:block;margin:20px auto 0}.pu-hero{background:var(--c-soft);border:1px solid var(--border);border-radius:24px;padding:18px 20px;margin:8px 0 14px;display:flex;flex-direction:column;gap:6px}.pu-hero small{font-size:12.5px;font-weight:700;color:var(--text-soft)}.pu-hero h2{margin:0;font-family:var(--font-display);font-size:21px;line-height:1.25;color:var(--c-strong)}.pu-hero p{margin:0;font-size:14px;font-weight:600}.pu-hero .tr-bar{margin-top:6px;background:var(--surface)}.pu-grammar{color:var(--text)}.pu-steps{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.pu-step{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:11px 14px;cursor:pointer;box-shadow:var(--shadow-sm)}.pu-step:active{transform:scale(.99)}.pu-step.done{background:var(--primary-soft);border-color:transparent;box-shadow:none}.pu-step.check{border:2px solid var(--purple)}.pu-step.check.done{border-color:var(--primary)}.pu-step.pu-lesson{border:1px dashed var(--amber);background:var(--amber-soft)}.pu-step.pu-lesson.done{background:var(--primary-soft);border:1px solid transparent}.pu-step-emoji{flex:none;font-size:24px;width:32px;text-align:center}.pu-step-text{flex:1;min-width:0;display:flex;flex-direction:column}.pu-step-text strong{font-size:15px}.pu-step-text small{font-size:12.5px;color:var(--text-soft);font-weight:600}.pu-xp{flex:none;font-size:12px;font-weight:800;color:var(--amber-strong);background:var(--amber-soft);border-radius:99px;padding:3px 9px}.pu-words{padding:16px}.pu-words-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}.pu-games-btn{width:auto;padding:8px 14px;font-size:13.5px}.pu-vocab{list-style:none;margin:10px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px}.pu-vocab li{font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pu-speaking{font-size:13px;margin:6px 0 0}.ps-body{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:18px;box-shadow:var(--shadow-sm)}.ps-body>.btn-primary{align-self:stretch}.ps-kicker{margin:0;font-size:12.5px;font-weight:800;color:var(--text-soft);letter-spacing:.02em}.ps-episode,.ps-grammar-title{margin:0;font-family:var(--font-display);font-size:20px;line-height:1.3}.ps-story p{margin:0 0 12px;font-size:16.5px;line-height:1.65}.ps-story p:last-child{margin-bottom:0}.ps-verse{position:relative;padding:12px 44px 12px 16px;border-radius:14px;background:var(--purple-soft);font-style:italic;color:var(--purple-strong)}.ps-verse p{margin:0;font-size:15px;line-height:1.5;padding-left:1.2em;text-indent:-1.2em}.ps-verse p+p{margin-top:3px}.ps-verse .speak-btn{position:absolute;top:8px;right:8px}.ps-hint{margin:0;font-size:13px}.ps-note{margin:0;padding:12px 14px;border-radius:14px;background:var(--amber-soft);font-size:14.5px;line-height:1.5}.ps-intro{margin:0;font-size:15.5px;line-height:1.55}.ps-pt{margin:0;padding:10px 12px;border-radius:12px;background:var(--surface-2);font-size:14px;color:var(--text-soft)}.ps-rule{border-left:4px solid var(--purple);background:var(--purple-soft);border-radius:0 14px 14px 0;padding:10px 14px;display:flex;flex-direction:column;gap:6px}.ps-rule.cplus{border-left-color:var(--coral);background:var(--coral-soft)}.ps-rule ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.ps-rule li{font-size:15px;line-height:1.45}.ps-formula{align-self:flex-start;font-family:ui-monospace,Consolas,monospace;font-size:13.5px;background:var(--surface);border-radius:8px;padding:4px 8px;white-space:pre-wrap}.ps-tip{margin:0;font-size:14.5px;padding:10px 12px;border-radius:12px;background:var(--amber-soft)}.ps-q{display:flex;flex-direction:column;gap:8px;margin:0}.ps-q>p{margin:0;font-size:15.5px;font-weight:600;line-height:1.45}.ps-options{display:flex;flex-direction:column;gap:6px}.ps-option{text-align:left;font:inherit;font-size:15px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;padding:10px 14px;cursor:pointer}.ps-option:disabled{cursor:default;opacity:.75}.ps-option.right{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong);opacity:1}.ps-option.wrong{background:var(--coral-soft);border-color:var(--coral);color:var(--coral-strong);opacity:1}.ps-fill{display:flex;gap:8px;align-items:stretch;margin:0}.ps-fill input{flex:1;min-width:0;margin:0}.ps-fill .btn-primary{width:auto;padding:0 18px}.ps-built{margin:0;min-height:44px;padding:10px 12px;border-radius:12px;background:var(--surface-2);font-size:16px;font-weight:700}.ps-words{display:flex;flex-wrap:wrap;gap:6px}.ps-words .chip:disabled{opacity:.3;cursor:default}.ps-order-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.ps-order-actions .btn-primary{width:auto;padding:10px 22px}.ps-end{align-items:center;text-align:center}.ps-end .big{margin:0;font-family:var(--font-display);font-size:26px;font-weight:800}.ps-end p{margin:0}.ps-wrong{margin:0;padding:12px 14px;border-radius:14px;background:var(--coral-soft);color:var(--coral-strong);font-size:16px;font-weight:700}.ps-journal{margin:0;font-size:16.5px;font-weight:700;line-height:1.45;padding:12px 14px;border-radius:14px;background:var(--purple-soft)}.lace-map .tr-map{height:200px}.tr-node.checkpoint.locked{box-shadow:inset 0 0 0 3px var(--amber)}.tr-node.picked{outline:3px solid var(--purple);outline-offset:3px}.lm-info{margin:0 18px 4px;padding:10px 14px;border-radius:14px;background:var(--surface-2);display:flex;flex-direction:column;gap:2px;font-size:13.5px;animation:bounce-in .2s ease-out}.lm-info small{font-size:12px;font-weight:700;color:var(--text-soft)}.lm-info b{font-size:15px}.lm-info .link-btn{align-self:flex-start;margin-top:4px}.lm-continue{display:block;width:auto;margin:8px 18px 0}.cert-overlay{padding-top:10px}.cert-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:880px;margin:0 auto 12px}.cert-actions .btn-primary{width:auto;padding:10px 18px}.cert{max-width:880px;margin:0 auto;background:#fffdf7;color:#0b1b3f;border-radius:8px;padding:18px;box-shadow:var(--shadow)}.cert-border{border:3px double #B08A2E;outline:1px solid #E6D3A0;outline-offset:-10px;border-radius:4px;padding:40px 30px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.cert-logo{font-size:30px}.cert-kicker{margin:6px 0 0;font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#b08a2e}.cert-this{margin:8px 0 0;font-style:italic;color:#6b6790}.cert-name{margin:0;font-family:var(--font-display);font-size:clamp(26px,6vw,42px);line-height:1.15;border-bottom:2px solid #E6D3A0;padding:0 20px 8px}.cert-text{margin:4px 0 0;max-width:560px;font-size:16px;line-height:1.55}.cert-book{margin:0;font-weight:700}.cert-score{margin:0;font-size:14px;color:#6b6790}.cert-foot{display:flex;justify-content:space-around;gap:16px;width:100%;margin-top:26px;flex-wrap:wrap}.cert-foot>div{display:flex;flex-direction:column;align-items:center;min-width:150px;border-top:1px solid #B9B4D6;padding-top:6px}.cert-foot span{font-weight:700;font-size:14px}.cert-foot small{font-size:11.5px;color:#6b6790;text-transform:uppercase;letter-spacing:.1em}.cert-sign{font-family:Brush Script MT,Segoe Script,cursive;font-size:26px!important;font-weight:400!important}@media print{@page{size:A4 landscape;margin:12mm}.cert{box-shadow:none;background:#fffdf7!important}}.pc-lead{margin:0 0 14px;font-size:13.5px}.pc-list{display:flex;flex-direction:column;gap:10px}.pc-row{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm)}.pc-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pc-name{font-size:15.5px}.pc-level{font-size:12px;font-weight:800;padding:2px 8px;border-radius:99px;background:var(--purple-soft);color:var(--purple-strong)}.pc-cert{font-size:12px;font-weight:800;padding:2px 8px;border-radius:99px;background:var(--amber-soft);color:var(--amber-strong)}.pc-now{font-size:14px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pc-steps{display:inline-flex;gap:2px;margin-left:auto}.pc-steps i{font-style:normal;font-size:15px;filter:grayscale(1);opacity:.3}.pc-steps i.on{filter:none;opacity:1}.pc-bar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden}.pc-bar i{display:block;height:100%;background:var(--grad)}.pc-stats{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12.5px;font-weight:700;color:var(--text-soft)}.pc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:700}.pc-actions select{margin:0 0 0 4px;width:auto;max-width:100%;padding:6px 10px;font-size:13px}.pc-actions label{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%}.pc-actions label select{flex:1 1 auto;min-width:0}.pc-detail{border-top:1px solid var(--border);padding-top:8px;font-size:13px;overflow-x:auto}.pc-detail p{margin:0 0 8px}.pc-pass{color:var(--primary-strong);font-weight:700}.pc-fail{color:var(--coral-strong);font-weight:700}.pc-table{border-collapse:collapse;font-size:12.5px}.pc-table th,.pc-table td{padding:4px 8px;border-bottom:1px solid var(--border);text-align:center}.pc-table td:first-child{font-weight:800;text-align:left}.quiz-shelf{margin:0 0 14px}.quiz-shelf-head{display:flex;align-items:baseline;gap:8px;margin:0 2px 8px}.quiz-shelf-head strong{font-family:var(--font-display);font-size:17px}.quiz-shelf-head small{color:var(--text-soft);font-weight:700;font-size:12.5px}.quiz-cards{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,46%);gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;scrollbar-width:thin}@media(min-width:700px){.quiz-cards{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}.quiz-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--c);border-radius:18px;padding:12px;cursor:pointer;box-shadow:var(--shadow-sm)}.quiz-card:active{transform:scale(.98)}.quiz-card-emoji{font-size:26px;line-height:1}.quiz-card strong{font-size:14.5px;line-height:1.25}.quiz-card small{font-size:12px;color:var(--text-soft);font-weight:600;line-height:1.3;flex:1}.quiz-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.quiz-level{font-size:11px;font-weight:800;padding:2px 7px;border-radius:99px;background:var(--c-soft);color:var(--c-strong)}.quiz-best{font-size:12px;font-weight:800}.quiz-best.new{color:var(--text-soft)}.quiz-overlay{z-index:90}.quiz-wrap{max-width:640px;margin:0 auto;padding:12px 0 30px;display:flex;flex-direction:column;gap:12px}.quiz-top{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:2;background:var(--bg);padding:6px 0}.quiz-top .gm-back{margin:0}.quiz-clock{font-family:var(--font-display);font-size:20px;font-weight:800;padding:4px 14px;border-radius:99px;background:var(--surface);border:1px solid var(--border);font-variant-numeric:tabular-nums}.quiz-clock.hurry{background:var(--coral-soft);color:var(--coral-strong);border-color:var(--coral);animation:quiz-pulse 1s ease-in-out infinite}@keyframes quiz-pulse{50%{transform:scale(1.06)}}.quiz-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:20px;background:var(--c-soft)}.quiz-emoji{font-size:34px}.quiz-head h2{margin:0;font-family:var(--font-display);font-size:19px;color:var(--c-strong)}.quiz-head p{margin:2px 0 0;font-size:13px;font-weight:600;color:var(--text-soft)}.quiz-head>div{flex:1;min-width:0}.quiz-score{font-family:var(--font-display);font-size:22px;font-variant-numeric:tabular-nums}.quiz-start{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px}.quiz-start p{margin:0;font-size:15px;line-height:1.5}.quiz-easy{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.quiz-easy input{width:18px;height:18px;margin:0}.quiz-input{display:flex;gap:8px;position:sticky;top:52px;z-index:2;background:var(--bg);padding:4px 0}.quiz-input input{flex:1;min-width:0;margin:0;font-size:17px}.quiz-input.nope input{border-color:var(--coral);animation:quiz-shake .3s}@keyframes quiz-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.quiz-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;font-size:14.5px}.quiz-table th{text-align:left;font-size:12px;font-weight:800;color:var(--text-soft);padding:8px 12px;background:var(--surface-2)}.quiz-table td{padding:8px 12px;border-top:1px solid var(--border);vertical-align:middle}.quiz-clue{width:55%}.quiz-clue.emoji{font-size:22px;letter-spacing:2px}.quiz-answer{font-weight:800}.quiz-table tr.ok .quiz-answer{color:var(--primary-strong)}.quiz-table tr.ok{background:var(--primary-soft)}.quiz-table tr.just{animation:bounce-in .3s ease-out}.quiz-table tr.missed .quiz-answer{color:var(--coral-strong)}.quiz-hint{font-family:ui-monospace,Consolas,monospace;letter-spacing:1px;color:var(--text-soft);font-weight:600}.quiz-choice{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px}.quiz-count{margin:0;font-size:12.5px;font-weight:800;color:var(--text-soft)}.quiz-q{margin:0;font-family:var(--font-display);font-size:21px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quiz-choice .link-btn{align-self:center}.quiz-review{margin:0;padding:12px 12px 12px 34px;background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:6px;font-size:14.5px}.quiz-review li.ok{color:var(--primary-strong)}.quiz-review li.missed{color:var(--coral-strong)}.quiz-again{display:flex;justify-content:center}.quiz-again .btn-primary{width:auto;padding:10px 24px}@media(prefers-reduced-motion:reduce){.quiz-clock.hurry,.quiz-input.nope input{animation:none}}.person-link{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:inherit;border-radius:8px}.person-link:hover{text-decoration:underline;text-underline-offset:2px}.person-link:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.person-link .avatar{cursor:pointer;transition:transform .15s}.person-link:hover .avatar{transform:scale(1.06)}.avatar.has-photo{background:var(--surface-2);overflow:hidden;padding:0}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.profile-page.ok{max-width:1040px}.shell-content:has(>.profile-page.ok),.shell-content:has(>div:not([hidden])>.profile-page.ok){max-width:1040px}.ok-layout{display:flex;flex-direction:column;gap:14px;margin-top:4px}@media(min-width:900px){.ok-layout{display:grid;grid-template-columns:300px 1fr;align-items:start;gap:18px}.ok-side{position:sticky;top:12px}}.ok-main{display:flex;flex-direction:column;gap:14px;min-width:0}.ok-main .progress-card{margin:0}.ok-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:0 18px 18px;overflow:hidden;box-shadow:var(--shadow-sm)}.ok-cover{align-self:stretch;height:86px;margin:0 -18px;background:var(--grad)}.ok-card.teacher .ok-cover{background:var(--grad-warm)}.ok-photo-btn{position:relative;margin-top:-62px;border:none;background:none;padding:0;border-radius:28px;cursor:pointer}div.ok-photo-btn{cursor:default}.ok-photo{display:flex;align-items:center;justify-content:center;width:124px;height:124px;border-radius:28px;object-fit:cover;border:5px solid var(--surface);box-shadow:var(--shadow);background:var(--surface-2)}.ok-photo.initials{background:var(--pink-soft);color:var(--pink-strong);font-family:var(--font-display);font-size:42px;font-weight:800}button.ok-photo-btn:hover .ok-photo{filter:brightness(.93)}.ok-photo-btn.busy{opacity:.6;cursor:wait}.ok-cam{position:absolute;right:-4px;bottom:-4px;width:36px;height:36px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-size:17px}.ok-name{margin:2px 0 0;font-family:var(--font-display);font-size:22px;line-height:1.2;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}.ok-mood{margin:0;font-size:15px;font-style:italic;color:var(--purple-strong);line-height:1.4}.ok-mood.empty{color:var(--text-soft);font-size:13.5px}.ok-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.ok-stats{align-self:stretch;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-top:4px}.ok-stats button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 4px;background:var(--surface);border:none;font:inherit;color:var(--text);cursor:pointer}.ok-stats button+button{border-left:1px solid var(--border)}.ok-stats button:hover{background:var(--surface-2)}.ok-stats b{font-family:var(--font-display);font-size:19px;line-height:1.1}.ok-stats small{font-size:11.5px;font-weight:700;color:var(--text-soft)}.ok-since{font-size:12px;font-weight:600;color:var(--text-soft)}.ok-action{align-self:stretch;margin-top:2px}.ok-box{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:0 16px 16px;overflow:hidden;box-shadow:var(--shadow-sm);scroll-margin-top:70px}.ok-title{margin:0 -16px 12px;padding:10px 16px;background:var(--purple-soft);color:var(--purple-strong);font-family:var(--font-display);font-size:15.5px;font-weight:800;border-bottom:1px solid var(--border)}.ok-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 -16px 12px;padding:6px 12px 6px 16px;background:var(--purple-soft);border-bottom:1px solid var(--border)}.ok-title-row .ok-title{margin:0;padding:4px 0;border:none;background:none}.ok-bio{margin:0 0 12px;font-size:15.5px;line-height:1.55}.ok-empty{margin:0 0 4px;font-size:14px}.ok-box .profile-grid{margin-top:0}.ok-social{margin:0;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;overflow:hidden}.ok-social>div{display:grid;grid-template-columns:minmax(118px,36%) 1fr;font-size:14px}.ok-social>div:nth-child(odd){background:var(--surface-2)}.ok-social dt{padding:9px 12px;font-weight:800;color:var(--text-soft);font-size:13px}.ok-social dd{margin:0;padding:9px 12px;font-weight:600;overflow-wrap:anywhere}.ok-add-favs{display:block;width:100%;margin-top:10px;text-align:left;font:inherit;font-size:13.5px;font-weight:700;color:var(--purple-strong);background:var(--purple-soft);border:1px dashed var(--purple);border-radius:14px;padding:10px 12px;cursor:pointer}.ok-scrap-form{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.ok-scrap-form textarea{margin:0;min-height:62px;resize:vertical}.ok-scrap-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.ok-scrap-bar small{font-size:12px}.ok-scrap-bar .btn-primary{width:auto;padding:9px 18px}.ok-scraps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ok-scraps li{display:flex;gap:10px;align-items:flex-start}.ok-scraps .avatar{width:40px;height:40px;font-size:13px}.ok-scrap{flex:1;min-width:0;background:var(--surface-2);border-radius:4px 16px 16px;padding:9px 12px}.ok-scraps li.by-teacher .ok-scrap{background:var(--amber-soft)}.ok-scrap-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ok-scrap-name{font-weight:800;font-size:14px}.ok-scrap-head small{font-size:12px;color:var(--text-soft);font-weight:600}.ok-scrap p{margin:3px 0 0;font-size:15px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.ok-scrap .logout-link{margin-top:2px}.ok-more{display:block;margin:10px auto 0}.ok-posts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ok-posts li{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-top:1px solid var(--border)}.ok-posts li:first-child{border-top:none;padding-top:0}.ok-posts small{font-size:12px;font-weight:700;color:var(--text-soft)}.ok-posts strong{font-size:14.5px}.ok-posts p{margin:0;font-size:14px;color:var(--text-soft);overflow-wrap:anywhere}.profile-form-avatar .ok-photo{width:96px;height:96px;border-width:3px}.ok-fav-label{margin:6px 0 0}.ok-fav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:4px 12px}.feed-tabs{position:sticky;top:60px;z-index:6;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 10px;padding:8px 16px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);scroll-behavior:smooth}.feed-tabs::-webkit-scrollbar{display:none}@media(min-width:900px){.feed-tabs{top:0;margin:0 0 12px;padding:8px 0;border-radius:0}}.feed-tab{position:relative;flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s,color .15s}.feed-tab:hover{border-color:var(--border-strong)}.feed-tab-icon{display:inline-flex;font-size:16px;line-height:1}.feed-tab.on{background:var(--c, var(--purple));border-color:transparent;color:#fff;cursor:default}.feed-tabs.c-purple .feed-tab.on,.feed-tabs.c-pink .feed-tab.on,.feed-tabs.c-green .feed-tab.on,.feed-tabs.c-blue .feed-tab.on,.feed-tabs.c-coral .feed-tab.on,.feed-tabs.c-amber .feed-tab.on{background:var(--c)}.feed-tab.on .ic-color{color:#fff}.feed-tab-dot{position:absolute;top:3px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 2px var(--surface)}@media(prefers-reduced-motion:reduce){.feed-tabs{scroll-behavior:auto}}.lessons-home{display:flex;flex-direction:column;gap:14px}.lessons-home .screen-title{margin-bottom:0}.lh-sub{padding-bottom:0!important}.lh-sub+.screen{padding-top:8px}.lh-continue{display:flex;flex-direction:column;gap:4px;color:#fff;background:var(--grad);border-radius:24px;padding:18px 20px;box-shadow:var(--shadow)}.lh-continue small{font-size:12.5px;font-weight:700;opacity:.9}.lh-continue strong{font-family:var(--font-display);font-size:21px;line-height:1.25}.lh-continue-grammar{font-size:14px;font-weight:600;opacity:.95}.lh-continue.done{background:var(--grad-warm)}.lh-continue-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.lh-continue-actions button{font:inherit;font-weight:800;font-size:15px;border-radius:99px;padding:10px 18px;cursor:pointer;border:none}.lh-continue .btn-light{background:#fff;color:#0b1b3f;box-shadow:0 4px 14px #00000026}.lh-continue-extra{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.45)!important}.lh-section{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}.lh-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.lh-head h3{margin:0;font-family:var(--font-display);font-size:18px}.lh-head .muted{font-size:12.5px;font-weight:700}.lh-bar{margin:0}.lh-section .pv-cert,.lh-section .pv-test{margin-bottom:0}.lh-books{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--surface-2);border-radius:16px;padding:4px}.lh-books button{font:inherit;border:none;background:none;border-radius:12px;padding:7px 4px;cursor:pointer;color:var(--text-soft);display:flex;flex-direction:column;align-items:center;line-height:1.2}.lh-books button b{font-size:14px}.lh-books button small{font-size:11px;font-weight:700}.lh-books button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.lh-section .pv-book-title{margin:0 2px;font-family:var(--font-display);font-weight:700;color:var(--text)}.lh-units,.lh-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lh-unit,.lh-row,.lh-missions{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:9px 12px;cursor:pointer}.lh-unit:hover,.lh-row:hover,.lh-missions:hover{border-color:var(--border-strong)}.lh-unit:disabled{cursor:default;background:var(--surface-2);color:var(--text-soft);border-color:transparent}.lh-unit.current{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft)}.lh-unit.before{opacity:.75}.lh-ep{flex:none;width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13.5px;background:var(--surface-2)}.lh-unit.current .lh-ep{background:var(--grad);color:#fff}.lh-unit.done .lh-ep{background:var(--primary-soft);font-size:18px}.lh-unit-text,.lh-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.lh-unit-text strong,.lh-row-text strong{font-size:14.5px;line-height:1.3}.lh-unit-text small,.lh-row-text small.muted{font-size:12px;color:var(--text-soft);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lh-state{flex:none;font-size:12.5px;font-weight:800;color:var(--text-soft)}.lh-unit.done .lh-state{color:var(--primary-strong)}.lh-more{align-self:flex-start;font-size:13.5px}.lh-search{font:inherit;font-size:15px;width:100%;padding:10px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.lh-search:focus{outline:2px solid var(--purple);outline-offset:1px;background:var(--surface)}.lh-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px}.lh-chips::-webkit-scrollbar{display:none}.lh-chips button{flex:none;font:inherit;font-size:13px;font-weight:700;padding:6px 12px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap}.lh-chips button.on{background:var(--purple);border-color:transparent;color:#fff}.lh-row-emoji{flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--surface-2)}.lh-row .foryou-reason{align-self:flex-start;font-size:11px;padding:1px 8px;margin-bottom:2px}.lh-row.done{background:var(--surface-2)}.lh-row-go{flex:none;font-size:20px;font-weight:800;color:var(--text-soft)}.lh-row.done .lh-row-go{color:var(--primary-strong);font-size:16px}.lh-shelf .foryou-shelf-head{margin:2px 0 6px}.lh-missions{border-radius:20px;padding:14px 16px;box-shadow:var(--shadow-sm);background:var(--amber-soft);border-color:transparent}.lh-missions>span:first-child{font-size:28px}.lh-missions>span:nth-child(2){flex:1;display:flex;flex-direction:column}.lh-missions small{font-size:12.5px;font-weight:600;color:var(--text-soft)}.lessons-home .pv-old{margin-top:0}.pu-step.next{border:2px solid var(--purple);box-shadow:0 0 0 4px var(--purple-soft)}.pu-next{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:var(--purple);border-radius:99px;padding:2px 8px;margin-left:8px;vertical-align:2px}.lp{gap:12px}.lp-bar{position:sticky;top:60px;z-index:6;display:flex;align-items:center;gap:10px;margin:0 -16px;padding:8px 16px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}@media(min-width:900px){.lp-bar{top:0;margin:0;border-radius:0 0 16px 16px}}.lp-back{flex:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:18px;font-weight:800;cursor:pointer}.lp-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.lp-title strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-progress{display:flex;gap:4px}.lp-seg{flex:1;height:7px;border-radius:99px;border:none;padding:0;background:var(--surface-2);cursor:pointer;box-shadow:inset 0 0 0 1px var(--border)}.lp-seg.done{background:var(--primary);box-shadow:none}.lp-seg.on{background:var(--purple);box-shadow:none}.lp-count{flex:none;font-size:13px;font-weight:800;color:var(--text-soft);min-width:32px;text-align:right}.lp-head{margin-top:4px}.lp-nav{display:flex;justify-content:space-between;gap:10px;padding:4px 0 20px}.lp-nav .btn-primary{width:auto;flex:1;max-width:320px;margin-left:auto}.lp-nav .post-btn:disabled{visibility:hidden}.lp-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:26px 18px}.lp-done-emoji{font-size:60px;animation:bounce-in .4s ease-out}.lp-done strong{font-family:var(--font-display);font-size:22px}.lp-react{display:flex;align-items:center;gap:8px}.lp-react small{font-weight:700;color:var(--text-soft)}.lp-done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.lp-done-actions .btn-primary{width:auto;padding-left:28px;padding-right:28px}@media(prefers-reduced-motion:reduce){.lp-done-emoji{animation:none}}.wordkit{border:1px dashed var(--border-strong);border-radius:16px;padding:6px 10px;display:flex;flex-direction:column;gap:8px;background:var(--surface)}.wordkit.open{border-style:solid;background:var(--surface-2)}.wordkit-toggle{align-self:flex-start;font:inherit;font-weight:800;font-size:14px;border:none;background:none;color:var(--purple-strong, var(--purple));cursor:pointer;padding:4px 2px}.wordkit-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.wordkit-tabs::-webkit-scrollbar{display:none}.wordkit-tabs button{flex:none;font:inherit;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.wordkit-tabs button.on{background:var(--purple);color:#fff;border-color:transparent}.wordkit-phrases{display:flex;flex-wrap:wrap;gap:6px}.wordkit-phrases button,.wordkit-phrases span{font:inherit;font-size:14px;padding:6px 11px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.wordkit-phrases button{cursor:pointer}.wordkit-phrases button:active{transform:scale(.97)}.wordkit small{font-size:12px}.circle-home{display:flex;align-items:center;gap:14px;width:100%;margin-top:14px;text-align:left;font:inherit;color:var(--text);cursor:pointer;border:1px solid var(--border);border-radius:22px;padding:14px 16px;background:linear-gradient(135deg,var(--purple-soft),var(--surface) 70%);box-shadow:var(--shadow-sm)}.circle-home-emoji{flex:none;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--surface);box-shadow:var(--shadow-sm)}.circle-home-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.circle-home-text small{font-size:12px;font-weight:800;color:var(--purple-strong, var(--purple))}.circle-home-text strong{font-family:var(--font-display);font-size:18px}.circle-home-text>span{font-size:13px;color:var(--text-soft);font-weight:600}.circle-overlay{padding:0 16px calc(40px + env(safe-area-inset-bottom));text-align:left}.circle-overlay .circle-top,.circle-overlay .circle-steps{max-width:720px;width:100%;margin-left:auto;margin-right:auto}.circle-post header .avatar,.showcase-item header .avatar{flex:none;width:40px;height:40px;font-size:14px}.circle-post header .post-btn{flex:none}.circle-post>.logout-link{align-self:flex-start}.circle-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:12px;padding:12px 0;background:var(--bg)}.circle-top>div{display:flex;flex-direction:column}.circle-top small{font-size:12px;font-weight:800;color:var(--text-soft)}.circle-top strong{font-family:var(--font-display);font-size:19px}.circle-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;background:var(--surface-2);border-radius:16px;padding:4px}.circle-steps button{font:inherit;font-size:13px;font-weight:800;border:none;background:none;border-radius:12px;padding:8px 4px;cursor:pointer;color:var(--text-soft)}.circle-steps button b{display:inline-flex;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;background:var(--surface);font-size:11px;margin-right:2px}.circle-steps button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.circle-steps button.on b{background:var(--purple);color:#fff}.circle-card{display:flex;flex-direction:column;gap:12px;padding:18px;max-width:720px;width:100%;margin:0 auto}.circle-card .btn-primary{align-self:flex-start;width:auto;padding-left:22px;padding-right:22px}.circle-story{font-size:17px;line-height:1.6;margin:0}.circle-question{font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1.35;margin:0}.circle-done{align-items:center;text-align:center}.circle-done>span{font-size:56px}.circle-done strong{font-family:var(--font-display);font-size:22px}.circle-share{display:flex;flex-direction:column;gap:12px;max-width:720px;width:100%;margin:0 auto}.circle-cta{text-align:left;font:inherit;font-size:15px;color:var(--text);cursor:pointer;background:var(--amber-soft);border-color:transparent}.circle-post{display:flex;flex-direction:column;gap:8px;padding:14px 16px}.circle-post.starred{border:2px solid var(--amber)}.circle-post header{display:flex;align-items:center;gap:10px}.circle-post header>div{flex:1;min-width:0;display:flex;flex-direction:column}.circle-body{margin:0;font-size:15.5px;line-height:1.55;white-space:pre-wrap}.voice-comment{display:flex;flex-direction:column;gap:6px}.showcase{margin-top:14px;display:flex;flex-direction:column;gap:8px}.showcase-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 2px}.showcase-head strong{font-family:var(--font-display);font-size:17px}.showcase-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px}.showcase-row::-webkit-scrollbar{display:none}.showcase-item{flex:none;width:min(280px,80vw);display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:20px;background:var(--amber-soft);border:1px solid transparent}.showcase-item header{display:flex;align-items:center;gap:8px;font-weight:800}.showcase-note{margin:0;font-weight:800;color:var(--amber-strong)}.showcase-excerpt{margin:0;font-size:14px;line-height:1.5}.roleplay{display:flex;flex-direction:column;gap:12px}.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.rp-card{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px;cursor:pointer;box-shadow:var(--shadow-sm)}.rp-card:hover{border-color:var(--border-strong)}.rp-card:disabled{opacity:.6;cursor:wait}.rp-emoji{font-size:30px}.rp-card strong{font-size:15px}.rp-card small{font-size:12.5px;color:var(--text-soft);line-height:1.35}.rp-hard{position:absolute;top:10px;right:10px;font-style:normal;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:99px;background:var(--coral-soft);color:var(--coral-strong, var(--coral))}.rp-history summary{cursor:pointer;font-weight:800;padding:6px 0}.rp-history .lh-row{margin-top:6px}.rp-scene{display:flex;flex-direction:column;gap:10px}.rp-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;background:var(--purple-soft)}.rp-head>span{font-size:32px}.rp-head>div{display:flex;flex-direction:column;gap:2px}.rp-head small{font-size:12.5px;color:var(--text-soft);font-weight:600}.rp-chat .chat-list.rp-turns{max-height:none;min-height:0;overflow:visible}.rp-chat .bubble small{display:flex;align-items:center;gap:6px}.rp-input{position:static}.rp-end{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.rp-feedback{display:flex;flex-direction:column;gap:8px;padding:18px}.rp-feedback>strong{font-family:var(--font-display);font-size:20px}.rp-feedback ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.rp-feedback .btn-primary{align-self:flex-start;width:auto;padding-left:22px;padding-right:22px}.rp-fixes s{color:var(--coral-strong, var(--coral))}.inbox{display:flex;flex-direction:column;gap:12px}.circle-admin{display:flex;flex-direction:column;gap:10px;padding:16px;background:linear-gradient(135deg,var(--purple-soft),var(--surface) 70%)}.circle-admin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.circle-admin-head>div:first-child{display:flex;flex-direction:column;gap:2px}.circle-admin-head small{font-size:12px;font-weight:700}.circle-admin-head strong{font-family:var(--font-display);font-size:18px}.circle-admin-btns{display:flex;gap:8px;flex-wrap:wrap}.circle-admin-form{display:flex;flex-direction:column;gap:10px}.circle-admin-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:800}.circle-admin-form input,.circle-admin-form textarea{font:inherit;font-size:15px;font-weight:500;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.circle-admin-form .btn-primary{width:auto}.inbox-item{display:flex;flex-direction:column;gap:8px;padding:14px 16px}.inbox-item header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inbox-item header .link-btn{font-weight:900;font-size:15px}.inbox-body{margin:0;white-space:pre-wrap;line-height:1.55}.inbox-ai{background:var(--surface-2);border-radius:12px;padding:8px 12px;font-size:14px}.inbox-ai summary{cursor:pointer;font-weight:800}.inbox-ai ul{margin:6px 0 0;padding-left:18px}.inbox-actions{display:flex;gap:8px;flex-wrap:wrap}.inbox-note{font-size:12.5px;text-align:center}.consistency,.mistake-map{display:flex;flex-direction:column;gap:6px;padding:12px 14px}.cons-row,.mm-row{display:grid;grid-template-columns:minmax(90px,1.2fr) 2fr auto auto;align-items:center;gap:10px;width:100%;font:inherit;color:var(--text);background:none;border:none;padding:6px 2px;cursor:pointer;text-align:left}.mm-row{grid-template-columns:minmax(120px,1.3fr) 2fr auto}.cons-name,.mm-name{font-weight:800;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cons-bar,.mm-bar{height:10px;border-radius:99px;background:var(--surface-2);overflow:hidden}.cons-bar i,.mm-bar i{display:block;height:100%;border-radius:99px;background:var(--primary)}.cons-bar i.cramming{background:var(--amber)}.cons-bar i.irregular{background:var(--purple)}.cons-bar i.none,.mm-bar i{background:var(--coral)}.cons-num,.mm-num{font-size:12.5px;font-weight:800;color:var(--text-soft);min-width:44px;text-align:right}.cons-tag{font-size:12px;font-weight:800;white-space:nowrap}@media(max-width:520px){.cons-row{grid-template-columns:1fr auto}.cons-row .cons-bar{grid-column:1 / -1;grid-row:2}.cons-tag{display:none}}.mm-examples{margin:0 0 6px;padding-left:20px;font-size:13.5px;display:flex;flex-direction:column;gap:3px}.mm-examples s{color:var(--coral-strong, var(--coral))}.shield-line{margin:8px 2px 0;font-size:13.5px;font-weight:700}.wdot.shield b{background:var(--purple-soft)}.streak-shield{margin-left:3px;font-size:12px}.shell.teacher .shell-main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.shell.teacher.nav-hidden .shell-main{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.shell.teacher .reply-form{bottom:calc(84px + env(safe-area-inset-bottom))}@media(min-width:900px){.shell.teacher .shell-main{padding-bottom:40px}.shell.teacher .reply-form{bottom:0}}nav.tabbar button{max-width:84px;font-size:11px;gap:2px}.top-bell{position:relative}.top-bell .nav-count{top:-5px;right:-5px}.top-bell.active{border-color:var(--coral);background:var(--coral-soft)}.icon-btn.top-bell{width:40px;height:40px;border-radius:50%}.side-bell{margin-top:6px}button.side-user{border:none;font:inherit;color:#fff;cursor:pointer;text-align:left;width:100%;transition:background .15s}button.side-user:hover{background:#ffffff1c}button.side-user.active{background:#ffffff26;box-shadow:inset 0 0 0 2px #ffffff40}.side-user-go{font-size:15px;opacity:.75}.streak-pill{white-space:nowrap}.stories{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 12px;margin:0 -2px 4px;scrollbar-width:none}.stories::-webkit-scrollbar{display:none}.story{flex:0 0 auto;width:68px;display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;padding:0;cursor:pointer;color:var(--text);font:inherit}.story small{font-size:11.5px;font-weight:700;max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-ring{width:66px;height:66px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,#ff7a1a,#ffa53d,#2f6bff,#1238c9,#ff7a1a)}.story-ring.seen{background:var(--border-strong)}.story-ring.add{background:none;padding:0}.story-ring.circle{background:conic-gradient(from 0deg,#0ea5e9,#1f5bff,#ff7a1a,#f5b400,#0ea5e9)}.story-in{position:relative;width:100%;height:100%;border-radius:50%;border:3px solid var(--bg);background:var(--surface-2);display:flex;align-items:center;justify-content:center;overflow:visible}.story-ring.add .story-in{border:2px dashed var(--border-strong)}.story-in>img,.story-in .avatar,.story-in .person-avatar{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover;font-size:18px}.story-in>img{display:block}.story-initials{font-weight:900;color:var(--purple-strong);font-size:18px}.story-emoji{font-size:28px;background:var(--surface)}.story-plus{position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;border-radius:50%;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;border:2px solid var(--bg)}.stories-empty{align-self:center;color:var(--text-soft);font-weight:600;font-size:13px;padding:0 6px;white-space:nowrap}.story-bars{display:flex;gap:4px;margin:0 0 8px}.story-bars i{flex:1;height:3px;border-radius:3px;background:var(--border-strong)}.story-bars i.on{background:var(--purple)}.photo-big-wrap{position:relative}.story-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:none;background:#0b1b3fcc;color:#fff;font-size:24px;line-height:1;cursor:pointer}.story-nav.prev{left:8px}.story-nav.next{right:8px}.screen.home{display:flex;flex-direction:column;gap:12px}.screen.home>*{margin-top:0;margin-bottom:0}.today-plan{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}.tp-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.tp-head strong{font-family:var(--font-display);font-size:19px}.tp-head small{font-size:12.5px;font-weight:700;color:var(--text-soft)}.tp-row{display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;background:var(--surface-2);border:none;font:inherit;color:var(--text);text-align:left;width:100%}button.tp-row{cursor:pointer}button.tp-row:hover{background:var(--surface-3)}.tp-row.done{background:var(--primary-soft)}.tp-ic{flex:0 0 auto;width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--c-soft, var(--surface));color:var(--c-strong, var(--text));font-weight:900}.tp-row.done .tp-ic{background:var(--primary);color:#fff}.tp-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tp-text b{font-size:14.5px;line-height:1.3}.tp-text small{font-size:12.5px;color:var(--text-soft);font-weight:600;line-height:1.35}.tp-idea{color:var(--text)!important;font-size:13.5px!important}.tp-btns{display:flex;gap:6px;flex:0 0 auto}.tp-go{flex:0 0 auto;background:var(--grad-warm);color:#fff;border:none;border-radius:99px;padding:8px 16px;font:inherit;font-weight:800;font-size:13.5px;cursor:pointer}.tp-go.ghost{background:var(--surface);color:var(--text);border:1px solid var(--border)}.tp-mic{width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:16px}.tp-chev{color:var(--text-soft);font-size:20px;font-weight:800}.tp-week{display:flex;align-items:center;gap:5px;margin-top:2px}.tp-week i{flex:1;height:6px;border-radius:6px;background:var(--surface-3);max-width:60px}.tp-week i.on{background:var(--primary)}.tp-week span{font-size:12px;font-weight:800;color:var(--text-soft);margin-left:4px;white-space:nowrap}.tp-journal{margin-left:auto;font-size:12.5px;white-space:nowrap}.class-feed{display:flex;flex-direction:column;gap:12px}.cf-compose{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:20px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;color:var(--text-soft);font-weight:600;text-align:left}.cf-compose>span:nth-child(2){flex:1;background:var(--surface-2);border-radius:99px;padding:9px 14px}.cf-item.post-card,.cf-item .post-card{margin:0}.cf-item.pinned .post-card{border:2px solid var(--amber)}.cf-words .today,.cf-words .word-pair{margin:0}.where-chip{display:inline-block;font-size:11px;font-weight:800;padding:1px 8px;border-radius:99px;margin-right:6px;background:var(--c-soft, var(--surface-2));color:var(--c-strong, var(--text-soft))}.cf-photo-img{display:block;width:100%;padding:0;border:none;background:var(--surface-2);border-radius:16px;overflow:hidden;cursor:pointer;margin:8px 0 2px}.cf-photo-img img{display:block;width:100%;max-height:420px;object-fit:cover}.cf-highlight{background:linear-gradient(135deg,var(--amber-soft),var(--pink-soft));border-color:color-mix(in srgb,var(--amber) 40%,transparent)}.cf-hl-note{margin:8px 0 0;font-style:italic;color:var(--purple-strong);font-weight:600}.cf-more{align-self:center;border:1px solid var(--border);background:var(--surface);border-radius:99px;padding:9px 22px;font:inherit;font-weight:800;cursor:pointer;color:var(--text)}.cm-search{width:100%;margin:0 0 4px;border-radius:99px;padding:11px 16px;border:1px solid var(--border);background:var(--surface);font:inherit;font-size:14.5px;color:var(--text)}.cm-search:focus{outline:none;border-color:var(--purple)}.community .feed-tabs{position:static;margin-bottom:6px}.cm-groups{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}.cm-groups::-webkit-scrollbar{display:none}.cm-group{position:relative;flex:0 0 132px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border-radius:18px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;font:inherit;color:var(--text);text-align:left}.cm-group:hover{border-color:var(--c, var(--purple))}.cm-group-icon{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--c-soft);color:var(--c);margin-bottom:4px}.cm-group strong{font-size:13.5px;line-height:1.25}.cm-group small{font-size:11.5px;color:var(--text-soft);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cm-group .feed-new{margin:4px 0 0}.cm-topics{display:flex;flex-direction:column;gap:8px}.cm-topic{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:var(--text);text-align:left;width:100%}.cm-topic-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.cm-topic-text strong{font-size:14.5px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.cm-topic-text small{font-size:12px;color:var(--text-soft);font-weight:600}.cm-topic-time{font-size:12px;font-weight:700;color:var(--text-soft);white-space:nowrap;align-self:flex-start}.chats{position:relative}.chips{display:flex;gap:8px;overflow-x:auto;padding:6px 0 10px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip-btn{flex:0 0 auto;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:99px;padding:7px 13px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.chip-btn.on{background:var(--text);color:var(--bg);border-color:var(--text)}.chat-list-rows{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden}.chat-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border:none;border-bottom:1px solid var(--border);background:var(--surface);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer}.chat-row:last-child{border-bottom:none}.chat-row:hover{background:var(--surface-2)}.chat-new .chat-row{border:1px solid var(--border);border-radius:16px}.chat-face{flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;background:var(--c-soft, var(--surface-2))}.chat-face.grad{background:var(--grad)}.chat-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-row-text strong{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:15px}.chat-row-text strong small{font-size:11.5px;font-weight:700;color:var(--text-soft);white-space:nowrap}.chat-row-text>span{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-soft);font-weight:600}.chat-row-text em{font-style:normal;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-unread{flex:0 0 auto;width:11px;height:11px;border-radius:50%;background:var(--primary)}.chats-note{font-size:12px;margin:12px 4px 0}.chat-fab{position:fixed;right:18px;bottom:calc(98px + env(safe-area-inset-bottom));z-index:9;border:none;border-radius:18px;padding:14px 18px;background:var(--grad);color:#fff;font:inherit;font-weight:900;font-size:14.5px;box-shadow:0 14px 28px -12px #1f5bffcc;cursor:pointer}.shell.nav-away .chat-fab{bottom:calc(20px + env(safe-area-inset-bottom))}@media(min-width:900px){.chat-fab{position:sticky;float:right;bottom:20px;margin-top:14px}}.chat-full{position:fixed;inset:0;z-index:30;background:var(--bg);display:flex;flex-direction:column;animation:rise .25s ease-out}.chat-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border)}.chat-head .chat-face{width:40px;height:40px;font-size:19px}.chat-back{border:none;background:none;font-size:24px;font-weight:800;color:var(--text);cursor:pointer;padding:2px 6px}.chat-who{min-width:0;display:flex;flex-direction:column}.chat-who strong{font-size:15.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-who small{font-size:12px;font-weight:700;color:var(--primary-strong)}.chat-body{flex:1;min-height:0;overflow-y:auto;padding:12px 12px calc(14px + env(safe-area-inset-bottom));background:var(--surface-2)}.chat-body.kind-tutor{display:flex;flex-direction:column;overflow:hidden}.chat-body.kind-tutor .tutor-chat{flex:1;min-height:0}.chat-body.kind-tutor .tutor-chat .chat-list{flex:1;max-height:none;min-height:0}.chat-body .reply-form{bottom:0}.rp-scene.bare .rp-goal{margin:0;font-size:13px;font-weight:700;color:var(--text-soft);background:var(--surface);border-radius:14px;padding:8px 12px}@media(min-width:900px){.chat-full{position:relative;inset:auto;z-index:auto;height:100vh;max-width:760px;margin:0 auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}}.notif-top{display:flex;align-items:center;gap:6px}.notif-top .screen-title{margin:0}.notif-top .gm-back{margin:0;font-size:20px}.notif-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden}.notif-list:empty{display:none}.notif{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:none;border-bottom:1px solid var(--border);background:var(--surface);width:100%;text-align:left;font:inherit;color:var(--text);cursor:pointer}.notif:last-child{border-bottom:none}.notif.new{background:color-mix(in srgb,var(--purple-soft) 60%,var(--surface))}.notif:hover{background:var(--surface-2)}.notif-face{position:relative;flex:0 0 auto}.notif-face em{position:absolute;right:-5px;bottom:-5px;width:22px;height:22px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px}.notif-app{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;background:var(--amber-soft)}.notif-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.4}.notif-text q{color:var(--text-soft);font-style:italic}.notif-text small{font-size:12px;color:var(--text-soft);font-weight:700}.ok-card{align-items:flex-start;text-align:left}.ok-cover{height:96px}.ok-photo-btn{margin-top:-58px}.ok-photo{width:108px;height:108px;border-radius:50%}.ok-name{justify-content:flex-start;font-size:23px}.ok-headline{margin:0;font-size:15px;font-weight:600;line-height:1.4}.ok-meta{margin:0;font-size:13px;color:var(--text-soft);font-weight:600}.ok-meta:empty{display:none}.ok-actions{display:flex;gap:8px;align-self:stretch}.ok-actions .ok-action{flex:1;margin:0}.ok-action.ghost{border:1.5px solid var(--purple);background:var(--surface);color:var(--purple-strong);border-radius:99px;font:inherit;font-weight:800;cursor:pointer;padding:10px 14px}.my-progress{display:flex;flex-direction:column;gap:14px}.my-progress .progress-card,.my-progress .lace-map{margin:0}.certs .cert-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;border:none;border-top:1px solid var(--border);background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.certs .cert-row:first-of-type{border-top:none}.certs .cert-row.todo{opacity:.55;cursor:default}.cert-ic{flex:0 0 auto;width:44px;height:44px;border-radius:13px;background:var(--amber-soft);display:flex;align-items:center;justify-content:center;font-size:22px}.cert-text{flex:1;min-width:0;display:flex;flex-direction:column}.cert-text strong{font-size:14.5px}.cert-text small{font-size:12.5px;color:var(--text-soft);font-weight:600}.settings{display:flex;flex-direction:column;gap:10px}.settings .card{margin:0}.set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.set-row>span:first-child{display:flex;flex-direction:column}.set-row small{font-size:12px;color:var(--text-soft);font-weight:600}.seg-mini{display:inline-flex;background:var(--surface-2);border-radius:12px;padding:3px}.seg-mini button{border:none;background:none;font:inherit;font-size:13px;font-weight:800;padding:7px 10px;border-radius:9px;color:var(--text-soft);cursor:pointer}.settings .logout-row{margin:4px 0 0}.skills{display:flex;flex-direction:column;gap:12px;margin:12px 0}.next-class{background:linear-gradient(135deg,var(--purple-soft),var(--primary-soft));border-radius:20px;padding:14px}.next-class-title{margin:0 0 8px;font-weight:900;font-size:15px}.next-class ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.next-class li{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border-radius:14px;padding:10px 12px}.next-class-emoji{font-size:20px;line-height:1.2}.next-class li strong{display:block;font-size:14.5px}.next-class li small{display:block;font-size:13px;color:var(--text-soft);font-weight:600;line-height:1.4}.skills-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:10px}.skills-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.skills-head strong{font-size:15px}.skills-head small{font-size:12.5px;color:var(--text-soft);font-weight:700}.skill-row{display:grid;grid-template-columns:118px 1fr 52px;align-items:center;gap:4px 10px}.skill-name{font-weight:800;font-size:14px}.skill-bar{height:10px;border-radius:10px;background:var(--surface-3);overflow:hidden}.skill-bar i{display:block;height:100%;border-radius:10px;background:var(--primary)}.skill-bar i.ok{background:var(--amber)}.skill-bar i.low{background:var(--coral)}.skill-acc{font-size:12.5px;font-weight:800;color:var(--primary-strong);text-align:right}.skill-detail{grid-column:2 / -1;font-size:11.5px;color:var(--text-soft);font-weight:600;margin-top:-2px}.skills-note{font-size:11.5px}.report-sheet .skills{margin:16px 0}@media print{.skill-bar i{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.teacher-home{display:flex;flex-direction:column;gap:12px}.teacher-home .section-label{margin:6px 0 0}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:700px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}.kpi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);font:inherit;color:var(--text);text-align:left}button.kpi{cursor:pointer}button.kpi:hover{border-color:var(--c)}.kpi .ic-color{color:var(--c)}.kpi b{font-family:var(--font-display);font-size:26px;line-height:1.1}.kpi small{font-size:12.5px;color:var(--text-soft);font-weight:700}.todo-list{display:flex;flex-direction:column;gap:8px}.todo-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;border:1px solid var(--border);background:var(--surface);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer}.todo-row:hover{border-color:var(--purple)}.todo-ic{font-size:22px}.todo-text{flex:1;min-width:0;display:flex;flex-direction:column}.todo-text strong{font-size:14.5px}.todo-text small{font-size:12.5px;color:var(--text-soft);font-weight:600}.todo-done{margin:0;padding:12px 14px;border-radius:18px;background:var(--primary-soft);color:var(--primary-strong);font-weight:800}details.fold{padding:0;overflow:hidden;margin:0}details.fold>summary{cursor:pointer;padding:14px 16px;font-weight:800;list-style:none}details.fold>summary::-webkit-details-marker{display:none}details.fold>summary:after{content:"›";float:right;transition:transform .2s;color:var(--text-soft)}details.fold[open]>summary:after{transform:rotate(90deg)}details.fold[open]>*:not(summary){padding:0 16px 14px}.more-menu{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden}.more-row{display:flex;align-items:center;gap:12px;padding:14px;border:none;border-bottom:1px solid var(--border);background:var(--surface);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer}.more-row:last-child{border-bottom:none}.more-row:hover{background:var(--surface-2)}.more-ic{width:44px;height:44px;border-radius:13px;background:var(--c-soft);color:var(--c);display:flex;align-items:center;justify-content:center}.more-text{flex:1;min-width:0;display:flex;flex-direction:column}.more-text strong{font-size:15.5px}.more-text small{font-size:12.5px;color:var(--text-soft);font-weight:600}.tp-row.journal{flex-wrap:wrap}.tp-row.journal .tp-text{flex:1 1 calc(100% - 60px)}.tp-row.journal .tp-btns{margin-left:54px}.tp-row.journal .tp-go{padding:9px 22px}@media(min-width:600px){.tp-row.journal{flex-wrap:nowrap}.tp-row.journal .tp-text{flex:1}.tp-row.journal .tp-btns{margin-left:0}}.notif-quote{color:var(--text-soft);font-style:italic}.ws-cell.sel{background:var(--purple);color:#fff}.save-word-hint{display:block;margin-top:6px;font-size:12.5px;font-weight:700;color:var(--text-soft);line-height:1.4}.gm-key.enter{flex:1;max-width:none;height:48px;background:var(--primary);color:#fff;font-size:16px;font-weight:900;letter-spacing:.02em;box-shadow:0 10px 22px -12px var(--primary-shade)}.gm-key.enter:active{transform:scale(.98)}.howto-overlay{z-index:60}.howto-card{background:var(--surface);color:var(--text);border-radius:24px;padding:20px 18px;width:min(420px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:var(--shadow);text-align:center}.howto-card h3{margin:0;font-family:var(--font-display);font-size:20px}.howto-caption{margin:0;min-height:42px;font-weight:800;font-size:15px;display:flex;align-items:center}.howto-row{display:grid;grid-template-columns:repeat(5,48px);gap:6px;--wd-tile:48px}.howto-row .wd-tile{width:48px;height:48px;transition:background .3s,color .3s,transform .3s}.howto-enter{width:min(240px,80%);padding:10px;border-radius:12px;background:var(--primary);color:#fff;font-weight:900;transition:transform .15s,box-shadow .15s;opacity:.9}.howto-enter.press{transform:scale(.94);box-shadow:0 0 0 5px var(--primary-soft);opacity:1}.howto-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left;width:100%}.howto-legend li{display:flex;align-items:center;gap:10px;font-size:14px;opacity:.35;transition:opacity .4s}.howto-legend li.on{opacity:1}.howto-legend .wd-tile{width:32px;height:32px;font-size:16px;flex:0 0 auto}.howto-card .btn-primary{margin:4px 0 0}.game-board{gap:10px;padding:14px 12px 16px}.game-status{min-height:32px}.game-clues{border-top:1px solid #FFFFFF33;padding-top:10px;margin-top:2px}.game-clues-title{width:100%;margin:0 0 2px;text-align:center;font-size:12.5px;font-weight:800;opacity:.85}.home-carousel{margin:0 -16px}.hc-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:2px 16px 6px;scrollbar-width:none;overscroll-behavior-x:contain}.hc-track::-webkit-scrollbar{display:none}.hc-slide{flex:0 0 calc(100% - 44px);scroll-snap-align:start;display:flex;min-width:0}.hc-slide:last-child{margin-right:16px}.hc-slide>*{flex:1;min-width:0;margin:0!important}.hc-dots{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:6px}.hc-dot{height:8px;width:8px;padding:0;border:none;border-radius:99px;background:var(--border-strong);cursor:pointer;transition:width .25s,background .25s;font:inherit}.hc-dot.on{width:auto;height:22px;padding:0 10px;background:var(--purple);color:#fff}.hc-dot.on span{font-size:11.5px;font-weight:800;white-space:nowrap}.tp-swipe{font-size:12px;font-weight:700;color:var(--text-soft)}.tp-week{justify-content:space-between}@media(min-width:900px){.home-carousel{margin:0}.hc-track{padding:2px 0 6px;scroll-padding:0}.hc-slide{flex-basis:calc(100% - 60px)}}.community .feed-tabs{position:sticky;top:60px;z-index:5;background:var(--bg);margin:0 -16px 10px;padding:8px 16px}@media(min-width:900px){.community .feed-tabs{top:0;margin:0 -24px 10px;padding:8px 24px}}.cm-feed{display:flex;flex-direction:column;gap:12px}.cm-post .post-card{margin:0}.cm-post.open .post-card{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.inline-thread{background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius);padding:0 14px 12px;margin-top:-1px}.inline-thread .thread{margin:0}.inline-thread .section-label{margin:4px 0 8px;font-size:12px}.inline-thread .reply-form{position:static;background:transparent;padding:6px 0 0}.community .cf-compose{margin-bottom:12px}.cm-compose{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:14px 14px 14px 16px;border:none;border-radius:22px;background:var(--grad);color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 10px 24px -10px color-mix(in srgb,var(--purple) 70%,transparent);transition:transform .15s ease,box-shadow .15s ease}.cm-compose:after{content:"";position:absolute;right:-30px;top:-40px;width:140px;height:140px;border-radius:50%;background:#ffffff1f;pointer-events:none}.cm-compose:hover{transform:translateY(-1px);box-shadow:0 14px 28px -10px color-mix(in srgb,var(--purple) 80%,transparent)}.cm-compose:active{transform:scale(.99)}.cm-compose .person-avatar,.cm-compose>:first-child{box-shadow:0 0 0 3px #ffffff8c;border-radius:50%;flex-shrink:0}.cm-compose-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.cm-compose-text b{color:#fff;font-family:var(--font-display);font-size:16px;line-height:1.25}.cm-compose-text small{color:#ffffffd9;font-size:12.5px;font-weight:600;line-height:1.3}.cm-compose-go{position:relative;z-index:1;flex-shrink:0;background:var(--grad-warm);color:#fff;font-weight:800;font-size:14px;padding:10px 16px;border-radius:999px;box-shadow:0 4px 12px #0000002e;white-space:nowrap}@media(prefers-reduced-motion:reduce){.cm-compose{transition:none}.cm-compose:hover{transform:none}}.cm-prompts{margin:0 0 14px}.cm-prompts-title{margin:0 0 6px;font-size:13px;font-weight:800;color:var(--text-soft)}.cm-prompts-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.cm-prompt{flex:0 0 auto;max-width:240px;text-align:left;scroll-snap-align:start;font:inherit;font-size:13.5px;font-weight:700;line-height:1.35;color:var(--amber-strong);background:var(--amber-soft);border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);border-radius:14px;padding:9px 12px;cursor:pointer;white-space:normal}.cm-prompts-more{margin:6px 0 0;font-size:12.5px}.fw-sec{margin:0 0 16px}.fw-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px}.fw-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:16px}.fw-empty{font-size:14px;line-height:1.5}.fw-add{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px;margin:0 0 10px}.fw-add input{margin:0}.fw-add .btn-small{width:auto;align-self:flex-start}.fw-add small{line-height:1.5}.fw-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.fw-look{flex:0 0 min(300px,82vw);margin:0;scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.fw-look .sv{margin:0;border-radius:0}.fw-look figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-weight:700;font-size:13.5px}.fw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}@media(max-width:480px){.fw-grid{grid-template-columns:repeat(2,1fr)}}.fw-photo{padding:0;border:none;border-radius:12px;overflow:hidden;cursor:pointer;display:block}.fw-photo img{width:100%;height:100%;object-fit:cover;display:block}.fw-viewer{position:fixed;inset:0;z-index:90;background:#080c18d9;display:grid;place-items:center;padding:16px}.fw-viewer figure{margin:0;max-width:520px;width:100%;background:var(--surface);border-radius:18px;overflow:hidden}.fw-viewer img{width:100%;max-height:62dvh;object-fit:contain;background:#000;display:block}.fw-viewer figcaption{padding:8px 14px 0;font-size:13px;color:var(--text-soft)}.fw-viewer-actions{display:flex;gap:12px;align-items:center;padding:10px 14px 14px}.fw-viewer-actions .btn-primary{flex:1}.fc-topic{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--text-soft)}.fc-topic select{flex:1;margin:0;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:700}.stories-empty{white-space:normal;flex:1 1 150px;min-width:150px;line-height:1.35}.cm-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.cm-head .screen-title{margin:0}.cm-head-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.cm-menu-btn{position:relative;flex:0 0 auto;width:44px;height:44px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:22px;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm)}.cm-menu-btn:hover{border-color:var(--purple)}.menu-open .cm-menu-btn{background:var(--purple);border-color:var(--purple);color:#fff}.cm-menu-dot{position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;background:var(--coral);border:2px solid var(--surface)}.cm-current{border:none;background:none;padding:0;font:inherit;font-size:13.5px;font-weight:800;color:var(--purple-strong);cursor:pointer;display:inline-flex;align-items:center;gap:5px}.cm-current .ic-color{color:var(--c, var(--purple))}.cm-layout{display:block}.cm-main{min-width:0}.cm-side{position:fixed;top:0;bottom:0;left:0;z-index:45;width:min(290px,84vw);overflow-y:auto;background:var(--surface);box-shadow:0 0 40px #0b1b3f59;padding:calc(14px + env(safe-area-inset-top)) 10px calc(24px + env(safe-area-inset-bottom));transform:translate(-105%);transition:transform .28s cubic-bezier(.2,.8,.2,1);visibility:hidden}.menu-open .cm-side{transform:none;visibility:visible}.cm-scrim{position:fixed;inset:0;z-index:44;border:none;background:#0b1b3f73;cursor:pointer;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.cm-side-top{display:flex;align-items:center;justify-content:space-between;padding:2px 8px 8px}.cm-side-top strong{font-family:var(--font-display);font-size:18px}.cm-side-close{border:none;background:var(--surface-2);width:34px;height:34px;border-radius:50%;font-size:15px;cursor:pointer;color:var(--text)}.cm-side-sec{display:flex;flex-direction:column;gap:2px;padding:4px 0;border-top:1px solid var(--border)}.cm-side-sec:first-of-type{border-top:none}.cm-side-title{margin:8px 10px 4px;font-size:12px;font-weight:800;color:var(--text-soft);letter-spacing:.02em}.cm-side-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:none;border-radius:12px;background:none;font:inherit;font-size:14.5px;font-weight:700;color:var(--text);text-align:left;cursor:pointer}.cm-side-item:hover{background:var(--surface-2)}.cm-side-item.on{background:var(--purple-soft);color:var(--purple-strong)}.cm-side-icon{flex:0 0 auto;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:17px;background:var(--c-soft, var(--surface-2));color:var(--c, var(--text))}.cm-side-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-side-new{flex:0 0 auto;min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:var(--coral);color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center}@media(prefers-reduced-motion:reduce){.cm-side{transition:none}}@media(min-width:900px){.community .cm-side-close{display:none}.cm-layout{display:grid;grid-template-columns:0 1fr;gap:0;align-items:start;transition:grid-template-columns .28s cubic-bezier(.2,.8,.2,1)}.menu-open .cm-layout{grid-template-columns:230px 1fr;gap:18px}.cm-side{position:sticky;top:12px;z-index:auto;width:auto;max-height:calc(100vh - 24px);box-shadow:none;border:1px solid var(--border);border-radius:20px;padding:10px 8px;transform:none;transition:opacity .2s;opacity:0;overflow:hidden auto}.menu-open .cm-side{opacity:1}.cm-scrim{display:none}.community.screen{max-width:none}}.shell-content:has(>div:not([hidden]) .community.menu-open){max-width:900px}.mw-pair{grid-template-columns:1fr 1fr}@media(max-width:599px){.mw-pair .gm-card.mw-entry{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.mw-pair .mw-entry .gm-icon{width:40px;height:40px;font-size:20px}.mw-pair .mw-entry-text strong{font-size:15px}.mw-pair .mw-entry-text small{font-size:12px}.mw-pair .nav-count.static{position:absolute;top:10px;right:10px}.mw-pair .gm-card{position:relative}}.shell-content:has(>div:not([hidden]) .home-wide){max-width:1040px}.home-wide{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.home-main{display:flex;flex-direction:column;gap:12px;min-width:0}.home-rail{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:thin}.home-rail .progress-card,.home-rail .lace-map{margin:0}.home-rail>*{flex-shrink:0}.screen.home.home-wide{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.roster-detail .roster-back,.roster-pick{display:none}@media(max-width:899px){.roster.has-detail .roster-list{display:none}.roster.has-detail .roster-back{display:inline-flex}}@media(min-width:900px){.roster{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.roster-list{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow-y:auto;padding-right:4px}.roster-detail .detail-panel{margin-top:0}.roster-pick{display:block;margin:40px 0 0;padding:30px;border:2px dashed var(--border);border-radius:20px;color:var(--text-soft);font-weight:700;text-align:center}}.sv{margin:8px 0 4px;display:flex;flex-direction:column;align-items:center;gap:6px}.sv-poster{position:relative;width:min(100%,330px);aspect-ratio:9/12;border:none;border-radius:18px;cursor:pointer;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font:inherit;overflow:hidden}.sv.tiktok .sv-poster{background:linear-gradient(160deg,#111,#2b2b2b 55%,#111);box-shadow:inset 3px 0 #25f4ee,inset -3px 0 #fe2c55}.sv.instagram .sv-poster{background:linear-gradient(45deg,#f58529,#dd2a7b 45%,#8134af 75%,#515bd4)}.sv-logo{position:absolute;top:12px;left:14px;font-size:22px;font-weight:900;opacity:.9}.sv-play{width:66px;height:66px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;font-size:28px;padding-left:5px}.sv-poster small{font-weight:700;font-size:13px;opacity:.92;padding:0 16px;text-align:center}.sv-frame{width:min(100%,340px);border:none;border-radius:18px;background:#000}.sv.tiktok .sv-frame{height:600px;max-height:78vh}.sv.instagram .sv-frame{height:640px;max-height:80vh;background:#fff}.sv-open{font-size:12.5px;font-weight:800;color:var(--text-soft);text-decoration:none}.sv-open:hover{color:var(--purple-strong)}.sv-loading,.sv-failed{padding:16px;border-radius:16px;background:var(--surface-2);color:var(--text-soft);font-weight:700;font-size:13.5px;text-align:center}.fc-hint{display:block;font-size:12px;font-weight:600;color:var(--text-soft);margin:-4px 0 4px}.pm-img{display:block;width:100%;padding:0;border:none;background:var(--surface-2);border-radius:16px;overflow:hidden;cursor:zoom-in;margin:8px 0 4px}.pm-img img{display:block;width:100%;max-height:520px;object-fit:contain;background:var(--surface-2)}.reply-bubble .pm-img{max-width:280px}.pm-loading{height:180px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.pm-big{position:fixed;inset:0;z-index:70;background:#0a0819eb;display:flex;align-items:center;justify-content:center;padding:16px;cursor:zoom-out}.pm-big img{max-width:100%;max-height:100%;border-radius:12px}.pm-big .quiz-close{position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px}.pm-add{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:99px;padding:8px 12px;font:inherit;font-size:13.5px;font-weight:800;cursor:pointer;flex:0 0 auto}.pm-add:hover{border-color:var(--purple)}.reply-form .pm-add span{display:none}.journal-bar .pm-add{margin-right:auto}.pm-preview{position:relative;width:120px;margin:4px 0}.pm-preview img{width:120px;height:120px;object-fit:cover;border-radius:14px;display:block}.pm-preview button{position:absolute;top:-8px;right:-8px;width:28px;height:28px;border-radius:50%;border:none;background:var(--text);color:var(--bg);cursor:pointer;font-size:13px}.reply-bubble .sv,.reply-bubble .yt{max-width:300px}.sv.tiktok .sv-frame{height:740px;max-height:86vh}.sv-poster.has-thumb{background:#000;box-shadow:none}.sv-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sv-poster .sv-play{position:relative;z-index:1;width:72px;height:50px;border-radius:14px;background:#fe2c55;-webkit-backdrop-filter:none;backdrop-filter:none;font-size:24px;padding-left:4px;box-shadow:0 6px 18px #00000059}.sv-badge{position:absolute;z-index:1;left:12px;bottom:12px;right:12px;text-align:left;font-size:12.5px;font-weight:800;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-poster:disabled{cursor:progress}.sv.tiktok .sv-frame{height:auto;aspect-ratio:9/16;max-height:80vh;width:min(100%,360px)}.sv.instagram .sv-frame{width:min(100%,400px);height:620px;max-height:85vh;border:1px solid var(--border);background:#fff}.practice-overlay{position:fixed;inset:0;z-index:60;background:var(--bg);overflow-y:auto;animation:rise .25s ease-out}.practice-sheet{max-width:560px;margin:0 auto;padding:0 16px calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.practice-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:var(--bg)}.practice-top span{display:flex;flex-direction:column}.practice-top strong{font-family:var(--font-display);font-size:18px}.practice-top small{font-size:12.5px;color:var(--text-soft);font-weight:700}.practice-prompt{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:20px;background:linear-gradient(135deg,var(--amber-soft),var(--pink-soft));border:1px solid color-mix(in srgb,var(--amber) 35%,transparent)}.practice-emoji{font-size:34px;line-height:1}.practice-task{margin:0;font-weight:800;font-size:15.5px;line-height:1.4}.practice-example{margin:6px 0 0;font-size:14px;color:var(--purple-strong);font-style:italic}.practice-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.practice-big{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:130px;border:none;border-radius:22px;cursor:pointer;font:inherit;font-weight:900;font-size:15.5px;color:#fff;background:var(--c);box-shadow:0 14px 26px -16px var(--c)}.practice-big span{font-size:38px}.practice-big small{font-weight:700;opacity:.85;font-size:12px}.practice-gallery{grid-column:1 / -1;justify-self:center}.practice-preview{display:flex;flex-direction:column;align-items:center;gap:6px}.practice-preview img,.practice-preview video{width:100%;max-height:52vh;object-fit:contain;border-radius:18px;background:#000}.practice-caption{display:flex;flex-direction:column;gap:6px}.practice-caption textarea{font:inherit;font-size:16px;padding:12px 14px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);resize:vertical}.practice-caption textarea:focus{outline:none;border-color:var(--purple)}.practice-private{margin:0;text-align:center;font-size:13px;font-weight:800;color:var(--text-soft)}.practice-send{margin:0}.practice-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:40px 10px}.practice-done-emoji{font-size:64px}.practice-done strong{font-family:var(--font-display);font-size:22px}.photo-hunt{margin-top:14px;display:flex;flex-direction:column;gap:10px;border:2px dashed color-mix(in srgb,var(--coral) 45%,transparent);background:linear-gradient(160deg,var(--coral-soft),var(--surface) 55%)}.ph-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ph-head strong{font-family:var(--font-display);font-size:18px}.ph-head small{font-size:12.5px;font-weight:800;color:var(--coral-strong, var(--coral))}.ph-intro{margin:0;font-size:13.5px;color:var(--text-soft);font-weight:600}.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.ph-word{display:flex;align-items:center;gap:8px;padding:8px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:var(--text);text-align:left;min-width:0}.ph-word:hover{border-color:var(--coral)}.ph-word.got{border-color:var(--primary);background:var(--primary-soft)}.ph-cam{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:20px}.ph-word .pa-media{width:44px;height:44px;border-radius:12px}.ph-word-text{flex:1;min-width:0;display:flex;flex-direction:column}.ph-word-text b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-word-text small{font-size:11.5px;color:var(--text-soft);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ph-reply{color:var(--purple-strong)!important;font-weight:800!important}.ph-extra{align-self:flex-start;text-align:left;font-size:13px}.pa-new{width:auto;align-self:flex-start;margin:4px 0 14px}.pa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.pa-cell{display:flex;flex-direction:column;gap:6px;padding:0;border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden;cursor:pointer;font:inherit;color:var(--text);text-align:left}.pa-cell .pa-media{width:100%;aspect-ratio:1;border-radius:0}.pa-cell-text{padding:0 10px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}.pa-cell-text b{font-size:13.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pa-cell-text small{font-size:11.5px;color:var(--text-soft);font-weight:700}.pa-media{position:relative;display:block;overflow:hidden;background:var(--surface-2);border-radius:14px}.pa-media img,.pa-media video{width:100%;height:100%;object-fit:cover;display:block}.pa-media.big{width:100%;max-height:60vh;object-fit:contain;background:#000;border-radius:18px}.pa-loading{min-height:44px;animation:pulse 1.2s ease-in-out infinite}.pa-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-style:normal;color:#fff;font-size:20px;text-shadow:0 2px 8px rgba(0,0,0,.6)}.pa-detail{display:flex;flex-direction:column;gap:10px}.pa-caption{margin:0;font-size:17px;font-weight:700}.pa-feedback{background:var(--purple-soft);border-radius:16px;padding:12px 14px}.pa-feedback p{margin:4px 0 0}.pa-waiting{margin:0;color:var(--text-soft);font-weight:700}.inbox-item.practice .pa-media.big{max-height:420px}.inbox-quick{display:flex;flex-wrap:wrap;gap:6px}.lh-practice{background:linear-gradient(135deg,var(--coral-soft),var(--surface) 70%)}.gx{display:flex;flex-direction:column;gap:14px}.gx-talk{display:flex;gap:10px;align-items:flex-start}.gx-avatar{flex:0 0 auto;width:50px;height:50px;border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:var(--shadow-sm)}.gx-bubble{position:relative;flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:6px 22px 22px;padding:12px 14px;box-shadow:var(--shadow-sm)}.gx-bubble small{font-size:11.5px;font-weight:800;color:var(--purple-strong);text-transform:uppercase;letter-spacing:.04em}.gx-title{display:block;font-family:var(--font-display);font-size:19px;line-height:1.3;margin:2px 0 6px}.gx-bubble p{margin:0;font-size:15px;line-height:1.55}.gx-pt{margin-top:8px!important;padding:8px 10px;border-radius:12px;background:var(--surface-2);font-size:14px!important;color:var(--text-soft)}.gx-rule{position:relative;border-radius:24px;padding:14px;background:linear-gradient(160deg,var(--c-soft),var(--surface) 75%);border:2px solid color-mix(in srgb,var(--c) 30%,transparent);box-shadow:var(--shadow-sm)}.gx-rule header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.gx-num{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--c);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-family:var(--font-display);transform:rotate(-8deg);box-shadow:0 6px 12px -6px var(--c)}.gx-rule header strong{flex:1;font-family:var(--font-display);font-size:17.5px;line-height:1.25}.gx-rule-emoji{font-size:24px}.gx-rule.cplus{border-style:dashed}.gx-formula{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.gx-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.gx-chip{display:inline-block;padding:6px 11px;border-radius:12px;background:var(--c);color:#fff;font-weight:800;font-size:14.5px;line-height:1.3;box-shadow:0 3px color-mix(in srgb,var(--c) 70%,#000)}.gx-group .gx-chip:nth-child(3),.gx-group .gx-chip:nth-child(5){background:var(--surface-2);color:var(--text);box-shadow:0 3px 0 var(--border-strong)}.gx-op{font-style:normal;font-size:13px}.gx-examples{display:flex;flex-direction:column;gap:6px}.gx-ex{align-self:flex-start;max-width:92%;margin:0;display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:18px 18px 18px 6px;background:var(--surface);border:1px solid var(--border);font-size:15.5px;font-weight:600}.gx-ex.alt{align-self:flex-end;border-radius:18px 18px 6px;background:color-mix(in srgb,var(--c-soft) 60%,var(--surface))}.gx-key{background:none;color:var(--c-strong, var(--c));font-weight:900;padding:0 1px;border-bottom:3px solid color-mix(in srgb,var(--c) 55%,transparent)}.gx-tip{align-self:center;width:min(100%,480px);padding:14px 16px;border-radius:6px 6px 20px;background:#fff4b8;color:#5a4500;transform:rotate(-1deg);box-shadow:0 12px 22px -14px #5a450099}[data-theme=dark] .gx-tip{background:#4a3e0c;color:#ffe9a3}.gx-tip strong{font-family:var(--font-display)}.gx-tip p{margin:4px 0 0;font-size:15px;line-height:1.5}.gx-done{font-size:16px}.ps-wrong{padding:12px 14px;border-radius:18px;background:var(--coral-soft);border:2px dashed color-mix(in srgb,var(--coral) 50%,transparent);font-weight:700;text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--coral) 60%,transparent)}.lib-def{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:20px;background:linear-gradient(160deg,var(--purple-soft),var(--surface) 80%);border:1px solid color-mix(in srgb,var(--purple) 25%,transparent)}.lib-def-icon{flex:0 0 auto;width:42px;height:42px;border-radius:14px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:var(--shadow-sm)}.lib-def strong{font-family:var(--font-display);font-size:18px}.lib-def p{margin:4px 0}.lib-def-pt{color:var(--text-soft);font-weight:600}.lib-facts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.lib-facts li{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:18px;background:var(--c-soft);border-left:5px solid var(--c);font-size:15px;line-height:1.5}.lib-fact-icon{font-size:18px;line-height:1.4}.lib-facts li>span:nth-child(2){flex:1}.lib-phrases{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.lib-phrases-title{font-size:12px;font-weight:800;color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em}.lib-phrases>span{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border-radius:18px 18px 18px 6px;background:var(--surface);border:1px solid var(--border);font-weight:600;box-shadow:var(--shadow-sm)}.lib-phrases>span.alt{align-self:flex-end;border-radius:18px 18px 6px;background:var(--primary-soft);border-color:transparent}.lib-task{border-radius:20px;background:linear-gradient(135deg,var(--amber-soft),var(--surface) 80%);border:2px dashed color-mix(in srgb,var(--amber) 50%,transparent)}.ph-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.ph-word{padding:7px}.pa-fold{margin-top:6px}.pa-fold>summary{cursor:pointer;color:var(--primary);font-weight:700;font-size:13.5px}.pa{margin-top:8px}.pa-levels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.pa-lv{font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid var(--border)}.pa-lv.pass{background:var(--primary-soft);color:var(--primary-strong)}.pa-lv.fail{background:var(--coral-soft);color:var(--coral-strong)}.pa-list{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px}.pa-list li{position:relative;padding:8px 10px 8px 44px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.pa-list li.bad{border-left:4px solid var(--coral)}.pa-list li.ok{border-left:4px solid var(--primary)}.pa-tag{position:absolute;left:8px;top:9px;font-size:11px;font-weight:800;color:var(--text-soft)}.pa-q{margin:0;font-weight:600}.pa-a{margin:2px 0 0;font-size:13.5px}.pa-note{font-size:13px;margin:4px 0}.pa-skills{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;margin:0 0 8px}.placement-chat{background:var(--primary-soft);border-radius:18px 18px 18px 4px;padding:12px 16px;display:inline-block}.sr{display:grid;gap:10px}.sr-kinds{display:flex;flex-wrap:wrap;gap:8px}.sr-kind{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-align:left}div.sr-kind{cursor:default}.sr-kind b{font-family:var(--font-display);font-size:18px;color:var(--primary-strong)}.sr-kind.low b{color:var(--coral-strong)}.sr-kind small{font-size:12px;color:var(--text-soft)}.sr-kind.on{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.sr-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.sr-row{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.sr-row.open{padding-bottom:8px}.sr-row .pa{padding:0 10px}.sr-head{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.sr-title{flex:1;min-width:0;display:flex;flex-direction:column}.sr-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-chev{color:var(--text-soft);font-size:18px}.sr-score{flex:none;min-width:52px;text-align:center;font-weight:800;font-size:13px;padding:4px 8px;border-radius:999px}.sr-score.hi{background:var(--primary-soft);color:var(--primary-strong)}.sr-score.mid{background:var(--amber-soft, var(--surface));color:var(--amber-strong, var(--text))}.sr-score.lo{background:var(--coral-soft);color:var(--coral-strong)}.sr-missed{border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:var(--surface)}.sr-missed>summary{cursor:pointer;font-weight:700}.sr-missed .pa-list{margin-top:8px}.sr-words{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sr-word{font-size:13px;padding:4px 10px;border-radius:999px;border:1px solid var(--border)}.sr-word.done{background:var(--primary-soft);border-color:transparent}.sr-word.new{border-style:dashed}.sr-word small{color:var(--text-soft)}.cr{display:grid;gap:10px}.cr-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cr-title{margin:0;font-weight:800;font-family:var(--font-display)}.seg-mini{display:flex;gap:4px;background:var(--bg);border-radius:999px;padding:3px}.seg-mini button{border:0;background:none;font:inherit;font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;color:var(--text-soft);cursor:pointer}.seg-mini button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.cr-students{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.cr-st{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;text-align:left;padding:8px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font:inherit;color:inherit;cursor:pointer}.cr-st small{grid-column:1 / -1}.cr .pa-list li>small{display:block;margin-top:2px;font-size:12px}.cf-digest{padding:14px 16px}.cf-digest-title{margin:0 0 6px;font-weight:800;font-family:var(--font-display)}.cf-digest ul{list-style:none;margin:0;padding:0}.cf-digest li+li{border-top:1px solid var(--border)}.cf-digest li>button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 0;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.cf-digest-text{flex:1;min-width:0;display:flex;flex-direction:column}.cf-digest-text strong{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-digest-text small{color:var(--text-soft);font-size:12.5px}.cf-digest-count{flex:none;font-size:13px;color:var(--text-soft)}.cf-digest-all{display:block;margin:4px 0 0 auto}.gx-hl{background:color-mix(in srgb,var(--amber) 35%,transparent);color:inherit;font-weight:800;padding:0 3px;border-radius:5px}.gx-formula.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gx-formula.list .gx-group{display:flex}.gx-formula.list .gx-chip{flex:1;text-align:center}.gx-formula.rows{display:flex;flex-direction:column;align-items:stretch;gap:8px}.gx-formula.rows .gx-group{display:flex;flex-wrap:wrap;align-items:center}.gx-ex,.gx-ex.alt{align-self:stretch;max-width:none;border-radius:16px;background:var(--surface)}.gx-ex>span{flex:1;min-width:0}@media(max-width:360px){.gx-formula.list{grid-template-columns:1fr}}.hc-dots{gap:6px;margin-top:8px;padding:0 16px}.hc-dot,.hc-dot.on{width:auto;height:26px;padding:0 11px;border-radius:99px;font:inherit}.hc-dot{background:transparent;border:1px solid var(--border-strong);color:var(--text-soft)}.hc-dot.on{background:var(--purple);border-color:var(--purple);color:#fff}.hc-dot span{font-size:11.5px;font-weight:800;white-space:nowrap}.gx-hl{padding:0 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.gx-formula.list .gx-group{background:none;border:0;padding:0}.gx-formula.list{align-items:stretch}.gx-formula.list .gx-chip{display:flex;align-items:center;justify-content:center}.gx-formula.rows .gx-group{flex-wrap:nowrap;align-items:stretch}.gx-formula.rows .gx-chip{display:flex;align-items:center}.gx-formula.rows .gx-group>.gx-chip:first-child{min-width:4.6em;justify-content:center;flex:none}.gx-formula.rows .gx-group>.gx-chip:last-child:not(:first-child){flex:1;min-width:0}.gx-formula.rows .gx-op{align-self:center}.gx-formula.list .gx-group{align-items:stretch}.gx-formula.rows .gx-chip{min-width:0;overflow-wrap:anywhere}.gx-formula.rows .gx-group>.gx-chip:first-child{flex:0 1 auto;min-width:4.6em}.gx-formula.rows .gx-group{max-width:100%}.mw-unlock{display:grid;gap:12px}.mw-unlock h2{margin:0;font-family:var(--font-display)}.mw-unlock p{margin:0}.mw-lock{font-size:34px}.mw-private{font-size:13px}.mw-q{display:grid;gap:6px;padding:12px;border-radius:16px;background:var(--surface-2, var(--bg));border:1px solid var(--border)}.mw-ask{font-weight:700}.mw-q input{width:100%;box-sizing:border-box}.mw-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mw-chips .chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}.mw-person{display:grid;gap:8px}.mw-pron small{margin-right:4px}.mw-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.mw-tabs{margin:4px 0 12px;width:max-content;max-width:100%}.mw-version p{background:color-mix(in srgb,var(--primary-soft) 55%,transparent);border-radius:14px;padding:10px 12px}.mw-card{display:grid;gap:8px}.mw-card-head{display:flex;justify-content:space-between;align-items:center}.mw-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0}.mw-list div{background:var(--surface-2, var(--bg));border-radius:12px;padding:8px 10px}.mw-list dt{font-size:12px;color:var(--text-soft)}.mw-list dd{margin:2px 0 0;font-weight:700}.ss-list{display:grid;gap:8px}.ss-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface);font:inherit;color:inherit;text-align:left;cursor:pointer}.ss-emoji{font-size:28px}.ss-text{flex:1;display:flex;flex-direction:column}.ss-text small{color:var(--text-soft)}.ss-ask{display:grid;gap:6px;text-align:center;padding:8px 0}.ss-ask p{margin:0}.ss-type{font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--purple)}.ss-form{display:flex;flex-direction:column;gap:8px;margin:8px auto 0;width:100%;max-width:420px}.ss-form input{width:100%;box-sizing:border-box;font:inherit;font-size:20px;font-weight:700;text-align:center;padding:14px 16px;border:2px solid var(--purple);border-radius:16px;background:var(--surface);color:var(--text)}.ss-form input:focus{outline:none;box-shadow:0 0 0 4px var(--purple-soft)}.ss-form .btn-primary{width:100%}.ss-ask>.pt-tap{justify-self:center}.ss-ideas{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin-top:4px}.ss-result{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px;font-size:17px;line-height:1.8}.ss-result p{margin:0 0 10px}.ss-w{background:color-mix(in srgb,var(--purple) 18%,transparent);color:inherit;font-weight:800;padding:1px 5px;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}.ss-w.t-noun,.ss-w.t-plural,.ss-w.t-animal,.ss-w.t-food,.ss-w.t-body,.ss-w.t-place,.ss-w.t-person{background:color-mix(in srgb,var(--primary) 20%,transparent)}.ss-w.t-verb,.ss-w.t-ing,.ss-w.t-past{background:color-mix(in srgb,var(--coral) 20%,transparent)}.ss-w.t-adjective,.ss-w.t-color,.ss-w.t-feeling,.ss-w.t-adverb{background:color-mix(in srgb,var(--amber) 30%,transparent)}.ss-t{display:inline-block;margin-left:4px;font-size:10.5px;font-weight:800;color:var(--text-soft);vertical-align:super}.ss-legend{display:block;margin:10px auto}.error-text{white-space:pre-line}.pt-hint.must{color:var(--text);opacity:.85}.pt-tap{border:1px solid var(--border);background:var(--surface);border-radius:99px;font-size:12px;line-height:1;padding:3px 6px;margin-left:6px;cursor:pointer;vertical-align:middle}.gm-pt{margin:-4px 0 10px;font-size:13px}.gm-pt:empty{display:none}.pt-toggle{display:grid;gap:8px}.pt-toggle .seg-mini{width:max-content;max-width:100%}.sh{display:grid;gap:10px}.sh-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0}.sh-facts div{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 10px}.sh-facts dt{font-size:12px;color:var(--text-soft)}.sh-facts dd{margin:2px 0 0;font-weight:700;font-size:14px}.sh-sub{margin:4px 0 0;font-size:13px;font-weight:700;color:var(--text-soft)}.hm{display:grid;grid-template-columns:30px repeat(24,minmax(0,1fr));gap:2px;align-items:center}.hm-h{font-size:10px;color:var(--text-soft);text-align:left}.hm-d{font-size:11px;color:var(--text-soft)}.hm-c{display:block;height:clamp(8px,2.6vw,14px);min-width:0;border-radius:3px;background:var(--border)}.hm-c[data-on]{background:var(--primary)}.sh-bars{display:grid;gap:8px}.sh-bar{display:grid;grid-template-columns:150px 1fr 44px;gap:4px 10px;align-items:center}.sh-k{font-weight:700;font-size:14px}.sh-k small{display:block;font-weight:600;font-size:11px}.sh-track{height:10px;border-radius:99px;background:var(--border);overflow:hidden}.sh-track i{display:block;height:100%;background:var(--primary);border-radius:99px}.sh-track.acc i.lo{background:var(--coral)}.sh-track.acc i.hi{background:var(--amber)}.sh-bar b{text-align:right}.sh-note{grid-column:2 / -1;font-size:12px;margin-top:-4px}.sh-advice{margin:0;padding-left:18px;display:grid;gap:4px;font-size:14px}.sh-class{display:grid;gap:10px}.sh-class p{margin:0}.sh-table{display:grid;gap:4px;overflow-x:auto}.sh-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 1fr 1fr 1.4fr .8fr;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font:inherit;color:inherit;text-align:left;font-size:13px;min-width:560px;cursor:pointer}.sh-row.head{background:none;border:0;font-weight:700;color:var(--text-soft);cursor:default;font-size:12px}.sh-on{color:var(--primary-strong);font-weight:800}@media(max-width:520px){.sh-bar{grid-template-columns:110px 1fr 40px}}.inbox-reply-box{flex:1;min-width:0;resize:none;font:inherit;line-height:1.4;padding:8px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);min-height:40px}.tour-overlay{z-index:120}.tour-card h2{margin:4px 0 6px}@media(max-width:600px){.tour-overlay{align-items:flex-end}.tour-card{border-radius:24px 24px 0 0;width:100%;max-width:none;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}@media(max-width:600px){.welcome-overlay.tour-overlay{align-items:flex-end;padding:0}.welcome-overlay.tour-overlay .welcome-card.tour-card{width:100%;max-width:none;margin:0;border-radius:24px 24px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}}.ins{display:grid;gap:8px}.ins-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ins-trend{font-weight:800;font-size:13px;padding:4px 10px;border-radius:99px}.ins-trend.up{background:var(--primary-soft);color:var(--primary-strong)}.ins-trend.flat{background:var(--amber-soft);color:var(--amber-strong)}.ins-trend.down{background:var(--coral-soft);color:var(--coral-strong)}.ins-chart{width:100%;max-width:560px;height:auto;display:block}.ins-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:3 4}.ins-bar{fill:color-mix(in srgb,var(--primary) 45%,transparent)}.ins-line{fill:none;stroke:var(--coral);stroke-width:2.5;stroke-linejoin:round}.ins-dot{fill:var(--surface);stroke:var(--coral);stroke-width:2.5}.ins-x{font-size:9.5px;fill:var(--text-soft);text-anchor:middle}.ins-legend{font-size:12px;margin:0}.ins-key{display:inline-block;width:12px;height:8px;border-radius:2px;vertical-align:middle}.ins-key.bar{background:color-mix(in srgb,var(--primary) 45%,transparent)}.ins-key.line{height:3px;background:var(--coral)}.ins-ep{display:grid;gap:4px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.ins-steps{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ins-steps span{font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:99px;border:1px solid var(--border);color:var(--text-soft)}.ins-steps span.done{background:var(--primary-soft);color:var(--primary-strong);border-color:transparent}.ins-warn{padding:10px 12px;border-radius:14px;background:var(--amber-soft)}.ins-warn.high{background:var(--coral-soft)}.ins-warn ul{margin:4px 0;padding-left:18px}.ins-card{display:grid;gap:10px}.ins-card p{margin:0}.ins-sum{font-size:13px}.ins-list{display:grid;gap:6px}.ins-row{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font:inherit;color:inherit;cursor:pointer}.ins-row.high{border-color:var(--coral)}.ins-flag{font-size:20px}.ins-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ins-text small{font-size:12.5px;color:var(--text-soft)}.ins-text .ins-action{color:var(--text)}.ins-eps{display:grid;gap:8px}.ins-ep-row{display:grid;gap:4px;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.ins-people{display:flex;flex-wrap:wrap;gap:4px}.ins-slow{font-size:13px}.ci-card{display:grid;gap:8px;text-align:center}.ci-faces{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.ci-faces button{font-size:28px;width:52px;height:52px;border-radius:16px;border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:transform .15s}.ci-faces button.on{border-color:var(--primary);background:var(--primary-soft);transform:scale(1.08)}.ci-card input{width:100%;box-sizing:border-box}.ci-actions{display:flex;justify-content:center}.ci-later{justify-self:center}.ci-done{background:var(--primary-soft)}.mi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-bottom:14px}.mi-box{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 14px;display:grid;gap:6px;align-content:start;min-width:0}.mi-title{margin:0;font-weight:700;font-family:var(--font-display);font-size:14px}.mi-stats{display:flex;flex-wrap:wrap;gap:8px 14px}.mi-stat{display:grid;min-width:64px}.mi-stat b{font-size:18px;font-family:var(--font-display)}.mi-stat small{color:var(--muted);font-size:11.5px;line-height:1.25}.mi-stat.good b{color:var(--green, var(--primary))}.mi-stat.low b{color:var(--coral)}.mi-stat.ok b{color:var(--amber, inherit)}.mi-note{color:var(--muted);font-size:12px}.mi-warn{color:var(--coral);font-size:12.5px}.mi-bars{display:flex;align-items:flex-end;gap:4px;height:38px}.mi-bars i{flex:1;background:var(--primary);opacity:.75;border-radius:4px 4px 0 0;min-height:2px}.mi-faces{display:flex;gap:4px;font-size:22px;flex-wrap:wrap}.mi-week{display:grid;gap:10px}.mi-list{display:grid;gap:4px}.mi-person{display:flex;align-items:baseline;gap:8px;text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:8px 10px;cursor:pointer;color:inherit;font:inherit}.mi-person small{color:var(--muted);flex:1;min-width:0}.mi-csv{justify-self:start}.cm-head{position:relative}.cm-menu-btn{width:auto;height:auto;min-width:52px;padding:6px 10px 5px;display:inline-flex;flex-direction:column;align-items:center;gap:1px;background:var(--grad);border:none;color:#fff;box-shadow:0 4px 14px #1f5bff59}.cm-menu-btn:hover{filter:brightness(1.08)}.menu-open .cm-menu-btn{background:var(--purple-strong, var(--purple));color:#fff}.cm-menu-lines{font-size:22px;line-height:1}.cm-menu-word{font-size:10.5px;font-weight:800;letter-spacing:.02em;line-height:1.1}.cm-menu-dot{border-color:#fff}.cm-menu-btn.hint{animation:cm-pulse 1.6s ease-out infinite}@keyframes cm-pulse{0%{box-shadow:0 0 #1f5bff8c}70%{box-shadow:0 0 0 14px #1f5bff00}to{box-shadow:0 0 #1f5bff00}}.cm-hint{position:absolute;left:70px;top:50%;transform:translateY(-50%);z-index:5;display:inline-flex;align-items:center;gap:6px;border:none;cursor:pointer;font:inherit;font-size:13px;font-weight:800;color:#fff;background:var(--coral);padding:7px 12px;border-radius:999px;box-shadow:var(--shadow);white-space:nowrap}.cm-hint-arrow{display:inline-block;font-size:17px;animation:cm-nudge .9s ease-in-out infinite}@keyframes cm-nudge{0%,to{transform:translate(0)}50%{transform:translate(-6px)}}@media(prefers-reduced-motion:reduce){.cm-menu-btn.hint,.cm-hint-arrow{animation:none}}.speak-btn.playing{background:var(--coral-soft, var(--surface));border-color:var(--coral);color:var(--coral);animation:speak-on 1.2s ease-in-out infinite}@keyframes speak-on{0%,to{box-shadow:0 0 #ff5a3659}50%{box-shadow:0 0 0 5px #ff5a3600}}@media(prefers-reduced-motion:reduce){.speak-btn.playing{animation:none}}.le-card,.le-teacher{display:grid;gap:8px}.le-teacher{margin:10px 0 14px}.le-level,.le-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0}.le-line{font-size:14px;line-height:1.6}.le-lv{font-family:var(--font-display);font-weight:800;font-size:20px;padding:2px 10px;border-radius:12px;background:var(--surface-2)}.le-lv.now{background:var(--primary-soft);color:var(--primary-strong)}.le-lv.goal{background:var(--purple-soft);color:var(--purple-strong)}.le-lv.muted{color:var(--text-soft);font-size:16px}.le-arrow{color:var(--text-soft);font-weight:800}.le-chip{display:inline-block;font-size:12.5px;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--text)}.le-chip.green{background:var(--primary-soft);color:var(--primary-strong)}.le-chip.amber{background:var(--amber-soft);color:var(--amber-strong)}.le-detail{margin:0;font-size:13.5px;color:var(--text-soft)}.le-link{background:none;border:none;padding:0;font:inherit;font-size:13.5px;font-weight:800;color:var(--blue-strong);cursor:pointer;justify-self:start;text-align:left}.le-link:hover{text-decoration:underline}.le-sub{margin:8px 0 0;font-weight:800;font-family:var(--font-display);font-size:14.5px}.le-label{margin:2px 0 0;font-size:12.5px;font-weight:800}.le-label.good{color:var(--primary-strong)}.le-label.low{color:var(--coral-strong)}.le-concept{display:grid;grid-template-columns:minmax(0,1fr) 90px 42px;align-items:center;gap:2px 8px}.le-c-name{font-size:13.5px;font-weight:700;min-width:0;overflow-wrap:anywhere}.le-c-bar{height:8px;border-radius:8px;background:var(--surface-3);overflow:hidden}.le-c-bar i{display:block;height:100%;border-radius:8px;background:var(--primary)}.le-c-bar i.ok{background:var(--amber)}.le-c-bar i.low{background:var(--coral)}.le-c-pct{font-weight:800;font-size:13px;text-align:right}.le-c-pct.good{color:var(--primary-strong)}.le-c-pct.ok{color:var(--amber-strong)}.le-c-pct.low{color:var(--coral-strong)}.le-c-n{grid-column:1 / -1;font-size:11.5px;color:var(--text-soft);margin-top:-2px}.le-meter{height:10px;border-radius:10px;background:var(--surface-3);overflow:hidden}.le-meter i{display:block;height:100%;background:var(--grad);border-radius:10px}.le-words{display:flex;flex-wrap:wrap;gap:6px}.le-word{font-size:13px;font-weight:800;padding:4px 10px;border-radius:12px;background:var(--purple-soft);color:var(--purple-strong)}.le-word small{font-weight:600;color:var(--text-soft)}.le-goal-edit{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px}.le-goal-edit label{display:grid;gap:2px;font-size:12.5px;font-weight:700;color:var(--text-soft)}.le-goal-edit select,.le-goal-edit input{font:inherit;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.le-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 18px}.le-cols>div{display:grid;gap:6px;align-content:start;min-width:0}.le-history{margin:0;padding-left:18px;font-size:13.5px}.ins-rag{display:flex;flex-wrap:wrap;gap:6px}.rag{font-size:12.5px;font-weight:800;padding:3px 10px;border-radius:999px}.rag.green{background:var(--primary-soft);color:var(--primary-strong)}.rag.yellow{background:var(--amber-soft);color:var(--amber-strong)}.rag.red{background:var(--coral-soft);color:var(--coral-strong)}.rt-list{display:grid;gap:10px}.rt-row{display:grid;gap:3px;padding:10px 12px;border-radius:14px;border:1px solid var(--border)}.rt-row p{margin:0}.rt-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.rt-pct{font-weight:800;font-family:var(--font-display)}.rt-pct.low{color:var(--coral-strong)}.rt-pct.ok{color:var(--amber-strong)}.rt-ex,.rt-who{font-size:13px;color:var(--text-soft);overflow-wrap:anywhere}.rt-ex s{color:var(--coral-strong)}.rt-who .link-btn{font-size:13px}.att{display:grid;gap:10px}.att-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.att-top input{font:inherit;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.att-sum{margin:0;font-size:13px}.att-list{display:grid;gap:6px}.att-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:8px 10px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.att-name{text-align:left;color:var(--text);min-width:0}.att-name small{color:var(--text-soft);font-weight:600}.att-btns{display:flex;gap:4px}.att-btn{font:inherit;font-size:12.5px;font-weight:800;padding:6px 9px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);cursor:pointer}.att-btn.present.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-strong)}.att-btn.late.on{background:var(--amber-soft);border-color:var(--amber);color:var(--amber-strong)}.att-btn.absent.on{background:var(--coral-soft);border-color:var(--coral);color:var(--coral-strong)}.att-days{margin:8px 0 0;padding-left:18px;font-size:13.5px;display:grid;gap:4px}.school{display:grid;gap:12px}.school>p{margin:0}.sc-levels{display:flex;align-items:flex-end;gap:8px;height:90px}.sc-lv{flex:1;display:grid;grid-template-rows:1fr auto auto;justify-items:center;height:100%;gap:2px}.sc-lv i{align-self:end;width:70%;background:var(--purple);opacity:.8;border-radius:6px 6px 0 0}.sc-lv b{font-size:13px}.sc-lv small{font-size:11.5px;color:var(--text-soft)}.sc-weeks{height:56px}.sc-list{margin:0;padding-left:18px;font-size:13.5px;display:grid;gap:4px}.cc-pick{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:13.5px}.cc-pick input{width:90px;font:inherit;padding:5px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.cc-table{width:100%;border-collapse:collapse;font-size:13.5px}.cc-table td{padding:5px 2px;border-bottom:1px solid var(--border);vertical-align:top}.cc-table td:last-child{text-align:right;font-weight:800;white-space:nowrap;padding-left:10px}.cc-table .cc-total td{border-bottom:none;font-family:var(--font-display);font-size:15px;font-weight:800}.practice-shrink{display:grid;gap:4px;padding:10px 12px;border-radius:14px;background:var(--purple-soft);font-size:13.5px;font-weight:700;color:var(--purple-strong)}.practice-shrink i{display:block;height:8px;border-radius:8px;background:var(--purple);transition:width .3s}.practice-shrink small{font-weight:600;color:var(--text-soft)}.cc-clean{margin:0;font-size:13px;color:var(--text-soft)}@media(prefers-reduced-motion:reduce){.practice-shrink i{transition:none}}.ps-listen-all{justify-self:start;display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:800;font-size:14px;padding:9px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--primary-strong);cursor:pointer}.ps-listen-all.on{background:var(--coral-soft);border-color:var(--coral);color:var(--coral-strong)}.ps-story p.reading{background:var(--amber-soft);border-radius:10px;box-shadow:0 0 0 6px var(--amber-soft);transition:background .2s}.ps-option.chosen{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong);font-weight:800}.ps-retry{display:flex;flex-wrap:wrap;gap:8px}.ps-retry>button{flex:1 1 180px}.pu-justdone{display:grid;gap:8px;padding:12px 14px;margin:8px 0 12px;border-radius:18px;background:var(--primary-soft);border:1px solid var(--primary);animation:rise .3s ease-out}.pu-justdone strong{font-family:var(--font-display);color:var(--primary-strong)}.pu-justdone.knot{background:var(--amber-soft);border-color:var(--amber)}.pu-justdone.knot strong{color:var(--amber-strong)}.pu-justdone .btn-primary{justify-self:start}.lp-next-up{display:grid;gap:2px;text-align:left;width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--primary);background:var(--primary-soft);color:var(--text);font:inherit;cursor:pointer}.lp-next-up small{font-size:12px;font-weight:800;color:var(--primary-strong)}.lp-next-up strong{font-family:var(--font-display)}.lh-continue-steps{display:flex;align-items:center;gap:5px;margin-top:2px}.lh-continue-steps i{width:18px;height:6px;border-radius:6px;background:#ffffff59}.lh-continue-steps i.done{background:#fff}.lh-continue-steps i.next{background:#ffffffbf;outline:2px solid #fff;outline-offset:1px}.lh-continue-steps small{margin-left:4px;font-weight:800;opacity:.9}.lh-started{background:var(--purple-soft)!important;color:var(--purple-strong)!important}@media(prefers-reduced-motion:reduce){.pu-justdone{animation:none}.ps-story p.reading{transition:none}}.pu-step.waiting{opacity:.72}.pu-step.waiting .pu-xp{filter:grayscale(1)}.ps-qs-title{margin:14px 0 0;font-family:var(--font-display);font-weight:800;font-size:16px}.pq{gap:14px}.pq-top{display:flex;align-items:center;gap:10px;justify-content:space-between}.pq-dots{display:flex;gap:4px;flex:1;min-width:0}.pq-dots i{flex:1;height:8px;border-radius:8px;background:var(--surface-3);transition:background .25s}.pq-dots i.ok{background:var(--primary)}.pq-dots i.no{background:var(--coral)}.pq-dots i.now{background:var(--surface);box-shadow:inset 0 0 0 2px var(--purple)}.pq-count{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--text-soft);white-space:nowrap}.pq-streak{font-style:normal;font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--amber-soft);color:var(--amber-strong);animation:bounce-in .3s ease-out}.pq-tags{display:flex;flex-wrap:wrap;gap:6px}.pq-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--purple-soft);color:var(--purple-strong)}.pq-chip.type{background:var(--blue-soft);color:var(--blue-strong)}.pq-item{display:flex;flex-direction:column;gap:12px;margin:0}.pq-sentence{padding:22px 16px;border-radius:20px;background:var(--surface-2);text-align:center}.pq-sentence p{margin:0;font-family:var(--font-display);font-size:clamp(20px,5.4vw,26px);font-weight:700;line-height:1.5;color:var(--text)}.pq-hint{display:block;margin-top:6px;font-size:13px;font-weight:700;color:var(--text-soft)}.pq-blank{display:inline-block;min-width:3.2em;padding:0 .35em;margin:0 .1em;border-radius:12px;border:2px dashed var(--purple);color:var(--purple-strong);background:var(--surface);line-height:1.35;animation:blank-pulse 1.6s ease-in-out infinite}.pq-blank.filled{border-style:solid;animation:none}.pq-blank.ok{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong);animation:pq-pop .35s ease-out}.pq-blank.no{border-color:var(--coral);background:var(--coral-soft);color:var(--coral-strong);text-decoration:line-through;animation:pq-shake .35s ease-out}@keyframes blank-pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px var(--purple-soft)}}@keyframes pq-pop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes pq-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.pq-options{display:flex;flex-direction:column;gap:8px}.pq-options.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.pq-option{display:flex;align-items:center;gap:10px;text-align:left;font:inherit;font-size:16px;font-weight:700;color:var(--text);background:var(--surface);border:2px solid var(--border);border-bottom-width:4px;border-radius:16px;padding:12px 14px;cursor:pointer;transition:transform .08s,border-color .15s,background .15s}.pq-options.grid .pq-option{flex-direction:column;justify-content:center;text-align:center;gap:6px;padding:14px 8px;font-size:18px}.pq-option:hover:not(:disabled){border-color:var(--purple);background:var(--purple-soft)}.pq-option:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}.pq-option:disabled{cursor:default}.pq-key{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:8px;font-size:12.5px;font-weight:800;background:var(--surface-2);color:var(--text-soft)}.pq-option.right{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.pq-option.right .pq-key{background:var(--primary);color:#fff}.pq-option.wrong{border-color:var(--coral);background:var(--coral-soft);color:var(--coral-strong);animation:pq-shake .35s ease-out}.pq-option.wrong .pq-key{background:var(--coral);color:#fff}.pq-option.dim{opacity:.5}.pq-type{display:flex;gap:8px}.pq-type input{flex:1;min-width:0;margin:0;font-size:18px;font-weight:700;padding:12px 14px;border-radius:14px}.pq-type .btn-primary{width:auto;padding:0 20px}.pq-ask{margin:0;font-family:var(--font-display);font-weight:800;font-size:17px}.pq-slot{display:flex;flex-wrap:wrap;gap:6px;min-height:56px;padding:10px;border-radius:16px;border:2px dashed var(--border-strong);background:var(--surface-2);align-items:center}.pq-slot.ok{border:2px solid var(--primary);background:var(--primary-soft)}.pq-slot.no{border:2px solid var(--coral);background:var(--coral-soft)}.pq-bank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pq-tile{font:inherit;font-size:16px;font-weight:700;padding:9px 14px;border-radius:12px;border:2px solid var(--border);border-bottom-width:4px;background:var(--surface);color:var(--text);cursor:pointer}.pq-tile.placed{background:var(--purple-soft);border-color:var(--purple);color:var(--purple-strong)}.pq-tile.used{opacity:.25}.pq-tile:disabled{cursor:default}.pq-feedback{display:grid;gap:6px;padding:14px 16px;border-radius:18px;font-size:15px;animation:rise .25s ease-out}.pq-feedback strong{font-family:var(--font-display);font-size:20px}.pq-feedback.ok{background:var(--primary-soft);color:var(--primary-strong)}.pq-feedback.no{background:var(--coral-soft);color:var(--coral-strong)}.pq-feedback .pq-full{color:var(--text);font-weight:600}.pq-feedback .btn-primary{margin-top:4px}.pq-end{align-items:center;text-align:center}.pq-end .pq-dots{width:100%;max-width:320px}.pq-stars{margin:0;font-size:40px;letter-spacing:6px;line-height:1}.pq-stars span{color:var(--surface-3)}.pq-stars span.on{color:var(--amber);text-shadow:0 2px 0 var(--amber-shade, transparent)}.pq-review{display:grid;gap:6px;justify-items:center}.pq-review small{font-weight:800;color:var(--text-soft)}.pq-review>div{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.pq-end .btn-primary,.pq-end .post-btn{align-self:stretch}@media(prefers-reduced-motion:reduce){.pq-blank,.pq-blank.ok,.pq-blank.no,.pq-option.wrong,.pq-streak,.pq-feedback{animation:none}.pq-dots i{transition:none}}.gm-today{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;width:100%;margin:0 0 14px;padding:18px 16px;border:none;border-radius:24px;text-align:left;font:inherit;color:#fff;cursor:pointer;background:var(--c);background:linear-gradient(135deg,var(--c) 0%,color-mix(in srgb,var(--c) 55%,#0B1B3F) 100%);box-shadow:0 14px 30px -14px var(--c);animation:rise .35s ease-out backwards}.gm-today:before,.gm-today:after{content:"";position:absolute;border-radius:50%;background:#ffffff1f;pointer-events:none}.gm-today:before{width:160px;height:160px;right:-50px;top:-70px}.gm-today:after{width:90px;height:90px;right:70px;bottom:-55px}.gm-today:active{transform:scale(.98)}.gm-today-icon{flex:none;width:68px;height:68px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:#ffffff38;color:#fff;animation:gm-wiggle 3.2s ease-in-out infinite}.gm-today-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;position:relative;z-index:1}.gm-today-text small{font-size:12px;font-weight:800;letter-spacing:.3px;opacity:.92}.gm-today-text strong{font-family:var(--font-display);font-size:22px;line-height:1.15}.gm-today-text span{font-size:13px;opacity:.9;line-height:1.35}.gm-today-go{position:relative;z-index:1;flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 14px;border-radius:16px;background:#fff;color:var(--c);font-weight:900;font-size:15px;box-shadow:0 6px 14px -6px #00000059}.gm-today-go small{font-size:10.5px;font-weight:700;color:var(--text-soft);white-space:nowrap}@keyframes gm-wiggle{0%,86%,to{transform:rotate(0)}90%{transform:rotate(-10deg) scale(1.06)}95%{transform:rotate(8deg) scale(1.06)}}.gm-card.gm-play{min-height:178px;border-color:transparent;background:linear-gradient(165deg,var(--c-soft) 0%,var(--surface) 78%);box-shadow:0 6px 16px -10px var(--c)}.gm-card.gm-play .gm-icon{width:56px;height:56px;border-radius:18px;background:var(--c);color:#fff;box-shadow:0 8px 16px -8px var(--c)}.gm-card.gm-play strong{font-family:var(--font-display);font-size:16.5px}.gm-meta{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:800;color:var(--text-soft)}.gm-go{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--c);color:#fff;transition:transform .15s}.gm-card.gm-play:hover .gm-go{transform:scale(1.15)}.gm-card.mw-entry.c-purple,.gm-card.mw-entry.c-coral{background:linear-gradient(165deg,var(--c-soft) 0%,var(--surface) 85%);border-color:transparent}.gm-group .section-label{font-family:var(--font-display);font-size:17px;font-weight:800;color:var(--text);margin:18px 2px 10px}.lh-features{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:2px -16px;padding:4px 16px 10px;scrollbar-width:none}.lh-features::-webkit-scrollbar{display:none}.lh-feature{position:relative;overflow:hidden;flex:0 0 min(78%,270px);scroll-snap-align:start;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:200px;padding:16px;border:none;border-radius:22px;text-align:left;font:inherit;color:#fff;cursor:pointer;background:var(--c);background:linear-gradient(150deg,var(--c) 0%,color-mix(in srgb,var(--c) 55%,#0B1B3F) 100%);box-shadow:0 12px 24px -14px var(--c)}.lh-feature:after{content:"";position:absolute;width:150px;height:150px;right:-45px;top:-55px;border-radius:50%;background:#ffffff21;pointer-events:none}.lh-feature:active{transform:scale(.98)}.lh-feature-emoji{width:58px;height:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:32px;background:#fffffff2;margin-bottom:6px;position:relative;z-index:1}.lh-feature-why{font-size:11.5px;font-weight:800;padding:2px 9px;border-radius:999px;background:#fff3}.lh-feature strong{font-family:var(--font-display);font-size:19px;line-height:1.2}.lh-feature-meta{font-size:12.5px;font-weight:700;opacity:.9}.lh-feature-go{margin-top:auto;padding:7px 14px;border-radius:999px;background:#fff;color:var(--c);font-weight:900;font-size:13.5px}.lh-row .lh-row-emoji{background:var(--c-soft, var(--surface-2))}.lh-row:hover{border-color:var(--c, var(--border-strong))}.lh-missions.c-amber,.lh-missions.c-pink{background:linear-gradient(120deg,var(--c-soft) 0%,var(--surface) 90%);border:1px solid transparent;box-shadow:0 6px 16px -10px var(--c)}.lh-missions.c-amber>span:first-child,.lh-missions.c-pink>span:first-child{width:48px;height:48px;flex:none;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--c);box-shadow:0 6px 14px -6px var(--c)}@media(prefers-reduced-motion:reduce){.gm-today-icon,.gm-today,.gm-card{animation:none}}.gm-card.gm-play .gm-icon .ic,.gm-today-icon .ic,[data-theme=dark] .gm-card.gm-play .gm-icon .ic,[data-theme=dark] .gm-today-icon .ic{--ic-b:color-mix(in srgb, var(--c) 40%, #ffffff)}@media(max-width:420px){.gm-today{gap:12px;padding:16px 14px}.gm-today-icon{width:54px;height:54px;border-radius:16px}.gm-today-text small{white-space:nowrap}.gm-today-go{padding:9px 11px}}@media(max-width:899px){.shell.full-screen header.topbar{display:none}.shell.full-screen .shell-main{padding-bottom:env(safe-area-inset-bottom)}.screen.game-screen{padding:10px 12px 12px;animation:none}.game-screen .gm-header{margin-bottom:8px;gap:8px}.game-screen .gm-header h2{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-screen .gm-back{padding:5px 10px}.game-screen .gm-pt{margin:-2px 0 6px;font-size:12px;line-height:1.3}}.wheel-board{--wheel:clamp(160px, 30dvh, 250px);--wheel-rest:280px;gap:8px;padding:12px 10px}.wheel{width:var(--wheel);height:var(--wheel)}.wheel-letter{width:calc(var(--wheel-px, 250px) * .224);height:calc(var(--wheel-px, 250px) * .224);margin:calc(var(--wheel-px, 250px) * -.112) 0 0 calc(var(--wheel-px, 250px) * -.112);font-size:calc(var(--wheel-px, 250px) * .128)}.wheel-board .game-clue{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 6px;padding:6px 14px;font-size:14.5px;line-height:1.3}.wheel-board .game-status{min-height:30px}.wheel-board .game-typing{font-size:20px}.game-clue-next{margin-left:4px;border:none;border-radius:99px;padding:6px 14px;background:var(--coral);color:#fff;font:inherit;font-weight:900;font-size:14px;cursor:pointer;box-shadow:0 8px 16px -8px var(--coral-shade);animation:bounce-in .35s ease-out}.game-clue-next:active{transform:scale(.96)}.wheel-board .game-clues{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;border-top:none;padding:0 2px;margin:0;scroll-snap-type:x proximity}.wheel-board .game-clues::-webkit-scrollbar{display:none}.wheel-board .game-clue-chip{flex:none;min-width:70px;padding:4px 10px;scroll-snap-align:start}.wheel-board .game-clue-chip small{white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.wheel-board .game-round-btn{width:46px;height:46px}.game-screen .gm-panel{padding:12px 10px;gap:8px}.game-screen .gm-msg{min-height:20px}.game-screen .gm-key{height:clamp(40px,6.6dvh,50px)}.game-screen .gm-keyboard{gap:6px}.gm-help-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px}.gm-help-row .link-btn{margin:0}.wd-tile{font-size:calc(var(--wd-tile) * .46)}.snd-intro{margin:0 0 10px;font-size:14px}.game-screen .snd-sets{gap:8px}.game-screen .snd-set{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:9px 11px;border-radius:14px}.game-screen .snd-set .snd-emoji{grid-row:span 2;font-size:24px;margin:0}.game-screen .snd-set strong{font-size:14px;line-height:1.2}.game-screen .snd-set small{font-size:11.5px;line-height:1.2}.gm-hub{grid-template-columns:repeat(3,1fr);gap:10px}@media(min-width:600px){.gm-hub{grid-template-columns:repeat(4,1fr)}}.gm-hub.four{grid-template-columns:repeat(4,1fr);gap:8px}.gm-hub.four .gm-card.gm-play .gm-icon{width:44px;height:44px;border-radius:14px}.gm-hub.four .gm-card.gm-play strong{font-size:12.5px}.gm-card.gm-play{min-height:0;padding:12px 6px 10px;align-items:center;text-align:center;gap:6px;border-radius:18px}.gm-card.gm-play .gm-icon{width:50px;height:50px;border-radius:16px;margin:0}.gm-card.gm-play strong{font-size:13.5px;line-height:1.15}.gm-group .section-label{font-size:15.5px;margin:14px 2px 8px}.mw-pair .gm-card.mw-entry{flex-direction:row;align-items:center;gap:10px;padding:10px 12px}.mw-pair .mw-entry .gm-icon{width:38px;height:38px;font-size:19px}.mw-pair .mw-entry-text strong{font-size:14.5px}.mw-pair .mw-entry-text small{font-size:11.5px;line-height:1.25}.gm-card.pt-entry{padding:12px 14px}.gm-card.pt-entry .gm-icon{width:44px;height:44px}.greet-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;background:#0e0b228c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade-in .2s ease-out}.greet-card{position:relative;width:100%;max-width:440px;max-height:calc(100dvh - 32px);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:22px 18px 16px;border-radius:26px;background:var(--surface);color:var(--text);box-shadow:0 24px 60px -20px #0b1b3f99;animation:bounce-in .4s ease-out}.greet-card:before{content:"";position:absolute;inset:0 0 auto;height:92px;border-radius:26px 26px 0 0;background:var(--grad);opacity:.14;pointer-events:none}.greet-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:none;background:var(--surface-2);color:var(--text-soft);font-size:15px;cursor:pointer;z-index:1}.greet-sun{font-size:46px;line-height:1;position:relative;animation:greet-wave 1.6s ease-in-out 1}@keyframes greet-wave{0%,to{transform:rotate(0)}25%{transform:rotate(-12deg) scale(1.08)}60%{transform:rotate(10deg)}}.greet-card h2{margin:0;font-family:var(--font-display);font-size:24px;line-height:1.2;position:relative}.greet-ask{margin:0;font-size:17px;font-weight:700;color:var(--text-soft);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.greet-text{width:100%;min-height:110px;resize:vertical;padding:12px 14px;border:2px solid var(--border-strong);border-radius:16px;background:var(--surface-2);color:var(--text);font:inherit;font-size:16px;line-height:1.45;box-sizing:border-box}.greet-text:focus{outline:none;border-color:var(--primary);background:var(--surface)}.greet-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--text-soft)}.greet-meta .link-btn{font-size:13px;margin:0}.greet-idea{margin:0;padding:9px 12px;border-radius:14px;background:var(--amber-soft);color:var(--amber-strong);font-size:14px;font-weight:700}.greet-save{width:100%;margin:2px 0 0}.greet-foot{display:flex;justify-content:center;gap:4px 16px;flex-wrap:wrap}.greet-foot .link-btn{margin:0;font-size:14px}.greet-foot .link-btn.muted{color:var(--text-soft)}.greet-card.done{align-items:center;text-align:center;padding-top:28px}.greet-card.done p{margin:0;color:var(--text-soft)}.greet-big{font-size:56px;line-height:1}.jw-idea{margin:6px 0 2px;font-size:14px;font-weight:700;color:var(--amber-strong)}@media(max-width:600px){.greet-overlay{align-items:flex-end;padding:0}.greet-card{max-width:none;border-radius:26px 26px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom));max-height:100dvh;animation:rise .35s ease-out}}@media(prefers-reduced-motion:reduce){.greet-card,.greet-sun{animation:none}}.slang-tile{background:var(--surface);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 16%,var(--surface)) 0%,var(--surface) 70%)}.slang-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.slang-tag{font-size:11px;font-weight:800;padding:2px 9px;border-radius:99px;background:var(--c-soft);color:var(--c-strong)}.slang-term{margin:2px 0 0;font-family:var(--font-display);font-size:26px;font-weight:800;line-height:1.15;color:var(--text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.slang-means{margin:0;font-size:14.5px;font-weight:700}.slang-pt{color:var(--c-strong);font-weight:700}.slang-tile .today-example{font-size:14px;color:var(--text-soft)}.slang-more{font-size:13px;font-weight:800;color:var(--c-strong);text-decoration:none}.slang-more:hover{text-decoration:underline}.ok-tabs{display:flex;gap:4px;padding:4px;margin-bottom:12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);scroll-margin-top:72px}.ok-tabs button{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:12px;padding:9px 12px;background:none;color:var(--text-soft);font:inherit;font-size:14px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}@container (max-width:300px){.ok-tabs button{padding:9px 6px;font-size:13px}}.ok-tabs{container-type:inline-size}.ok-tabs button.on{background:var(--grad);color:#fff;box-shadow:0 8px 16px -10px var(--primary)}.ok-main>.my-progress,.ok-main>.settings{animation:rise .25s ease-out}.my-progress>*{margin:0}@media(max-width:899px){.ok-card{gap:6px;padding-bottom:14px}.ok-cover{height:64px}.ok-photo-btn{margin-top:-46px}.ok-photo{width:88px;height:88px;border-width:4px}.ok-photo.initials{font-size:32px}.ok-name{font-size:21px}.ok-mood.empty{padding:0;font-size:13px;text-align:left}.ok-stats button{padding:7px 4px}.ok-stats b{font-size:17px}}.ok-main>.settings>.ok-title{display:none}.ok-main>.settings{padding-top:6px;gap:0}.settings>.card{background:none;border:none;box-shadow:none;border-radius:0;margin:0;padding:14px 0;border-top:1px solid var(--border)}.settings>.set-row+.card,.settings>.card+.set-row{border-top:1px solid var(--border)}.settings>.set-row{padding:14px 0}.settings>.set-row:first-of-type{border-top:none}.lh-section.lh-zone{position:relative;overflow:hidden;border:2px solid color-mix(in srgb,var(--c) 45%,transparent);background:var(--surface);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 16%,var(--surface)) 0,var(--surface) 150px);box-shadow:0 10px 24px -16px var(--c)}.lh-section.lh-zone:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--c)}.lh-zone .lh-head h3{color:var(--c-strong, var(--text))}.lh-zone-sub{margin:-6px 0 2px;font-size:12.5px;font-weight:700;color:var(--c-strong, var(--text-soft));opacity:.85}.lh-missions-go{align-self:flex-start;margin-top:6px}.lh-zone.c-blue .lh-chips button.on{background:var(--c);color:#fff}.lh-zone.c-blue .lh-search{border-color:color-mix(in srgb,var(--c) 35%,var(--border))}.lh-zone.c-blue .lh-search:focus{outline-color:var(--c)}@media(max-width:899px)and (pointer:coarse){html.kb-open nav.tabbar{transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none}html.kb-open .shell.student .shell-main{padding-bottom:16px}html.kb-open .reply-form{bottom:calc(10px + env(safe-area-inset-bottom))}}.game-screen .ss-list{grid-template-columns:1fr 1fr}.game-screen .ss-card{padding:9px 10px;gap:8px;border-radius:14px}.game-screen .ss-card .ss-emoji{font-size:22px}.game-screen .ss-card .ss-text strong{font-size:13.5px;line-height:1.2}.game-screen .ss-card .ss-text small{font-size:11px;line-height:1.2}.game-screen .ss-card .lh-row-go{display:none}.kpi-grid button.kpi{font:inherit;color:inherit;text-align:inherit;cursor:pointer}.th-intro{margin:0 0 12px;line-height:1.45}.th-hero{position:relative;overflow:hidden;padding:18px 18px 16px;border-radius:24px;color:#fff;background:var(--grad);box-shadow:var(--shadow)}.th-hero:after{content:"";position:absolute;right:-38px;top:-38px;width:104px;height:104px;border-radius:50%;background:var(--coral);pointer-events:none}.th-hero>*{position:relative;z-index:1}.th-hero-date{display:block;font-size:12.5px;font-weight:700;opacity:.85}.th-hero h2{font-family:var(--font-display);font-size:23px;line-height:1.2;margin:2px 0 14px;color:#fff;padding-right:60px}.th-pulse{display:block;width:100%;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.th-pulse-line{display:block;font-size:14px;font-weight:600}.th-pulse-line b{font-family:var(--font-display);font-size:22px;font-weight:800}.th-bar{display:block;height:10px;margin-top:8px;border-radius:99px;background:#ffffff38;overflow:hidden}.th-bar i{display:block;height:100%;min-width:10px;border-radius:99px;background:var(--coral);transition:width .6s ease}.th-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.th-chips button{border:1px solid rgba(255,255,255,.28);background:#ffffff24;color:#fff;border-radius:99px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.th-chips button:hover{background:#ffffff3d}.th-chips button.warn{background:var(--surface);color:var(--coral-strong);border-color:transparent}.th-hero-note{margin:10px 0 0;font-size:12.5px;opacity:.85}.th-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.th-q{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 9px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:center;cursor:pointer;box-shadow:var(--shadow-sm)}.th-q:hover{border-color:var(--c)}.th-q span{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--c-soft)}.th-q b{font-size:12px;line-height:1.2;font-weight:700}.th-q.done span{background:var(--primary-soft)}.th-todo{padding:14px;border:1px solid var(--border)}.th-todo .cr-title{display:flex;align-items:center;gap:8px;margin:0}.th-count{min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:var(--coral);color:#fff;font-size:12.5px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.th-tasks{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}.th-tasks li+li .th-task{border-top:1px solid var(--border)}.th-task{display:flex;align-items:center;gap:12px;width:100%;padding:10px 4px;border:none;border-radius:0;background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.th-task:hover .th-go{background:var(--coral);color:#fff}.th-task-ic,.th-task-who{position:relative;flex:none;width:42px;height:42px}.th-task-ic{border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--surface-2)}.th-task-who .avatar{width:42px;height:42px;font-size:14px}.th-badge{position:absolute;top:-5px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--coral);color:#fff;font-size:11px;font-weight:800;font-style:normal;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface)}.th-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--amber);vertical-align:middle}.th-dot.high{background:var(--red)}.th-task-who .th-dot{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border:2px solid var(--surface)}.th-task-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.th-task-text strong{font-size:14.5px;line-height:1.3}.th-task-text small{color:var(--text-soft);font-size:12.5px;line-height:1.35}.th-go{flex:none;white-space:nowrap;padding:6px 11px;border-radius:99px;background:var(--coral-soft);color:var(--coral-strong);font-size:12.5px;font-weight:800;transition:background .15s,color .15s}.th-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 0;font-size:11.5px;color:var(--text-soft)}.th-legend .th-dot{width:8px;height:8px;margin-left:4px}.th-loading{padding:8px 2px;font-size:13px}.th-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.th-section-head .link-btn{font-size:13.5px}@media(min-width:1000px){.teacher-home{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px 18px;align-items:start}.teacher-home>.th-hero{grid-column:1 / -1}.teacher-home>.th-todo,.teacher-home>.placement-inbox{grid-column:1}.teacher-home>.th-quick,.teacher-home>.th-section-head,.teacher-home>.stories{grid-column:2}.teacher-home>.th-quick{grid-row:2}.teacher-home>.th-section-head{grid-row:3}.teacher-home>.stories{grid-row:4}.teacher-home>.th-todo{grid-row:2 / span 4}.teacher-home>.placement-inbox{grid-row:6}.teacher-home>.th-setup,.teacher-home>.ann{grid-column:2}.teacher-home>.th-setup{grid-row:3}.teacher-home>.ann{grid-row:4}.teacher-home>.th-section-head{grid-row:5}.teacher-home>.stories{grid-row:6}.teacher-home>.th-todo{grid-row:2 / span 6}.teacher-home>.placement-inbox{grid-row:8}}.cl-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(min-width:700px){.cl-tools{grid-template-columns:repeat(6,1fr)}}.cl-tool{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:center;cursor:pointer;box-shadow:var(--shadow-sm)}.cl-tool:hover{border-color:var(--c)}.cl-tool-ic{width:46px;height:46px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--c-soft);color:var(--c)}.cl-tool b{font-size:12.5px;line-height:1.2}.cl-tool small{font-size:11px;line-height:1.2;font-weight:700;color:var(--text-soft)}.cl-tool small.good{color:var(--primary-strong)}.cl-answer{font-size:13px;font-weight:700;line-height:1.35;color:var(--text)}.cl-answer.good{color:var(--primary-strong)}.cl-answer.warn{color:var(--amber-strong)}.cl-answer.bad{color:var(--red-strong)}.cl-profile{display:block;margin:18px 2px 4px;font-size:13.5px}.sd-tabs{position:sticky;top:60px;z-index:5;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px -4px 14px;padding:6px 4px;background:var(--bg)}.sd-tabs::-webkit-scrollbar{display:none}@media(min-width:900px){.sd-tabs{top:0}}.sd-tabs button{flex:none;padding:8px 13px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap}.sd-tabs button.on{background:var(--grad);color:#fff;border-color:transparent}.sd-tabs button small{font-weight:800;opacity:.8}.tp-episode{display:flex;flex-direction:column;gap:8px;margin-top:4px;padding-top:10px;border-top:1px dashed var(--border)}.tp-label{margin:0 2px;display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:13px;font-weight:800;color:var(--text)}.tp-label span{font-size:12px;font-weight:700;color:var(--text-soft)}.tp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:6px}.tp-step{display:flex;align-items:center;gap:7px;width:100%;min-height:38px;padding:6px 9px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:12.5px;font-weight:700;text-align:left;cursor:pointer}.tp-step:hover{border-color:var(--purple)}.tp-step-ic{flex:none;width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:13px;background:var(--surface-2)}.tp-step-name{flex:1;min-width:0;line-height:1.2;overflow-wrap:normal;word-break:normal}.tp-step i{flex:none;font-style:normal;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:99px;background:var(--coral);color:#fff}.tp-step.done{background:var(--primary-soft);border-color:transparent;color:var(--text-soft)}.tp-step.done .tp-step-ic{background:var(--primary);color:#fff;font-weight:900}.tp-step.done .tp-step-name{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--text-soft) 60%,transparent)}.tp-step.next{border-color:var(--coral);background:color-mix(in srgb,var(--coral) 9%,var(--surface));box-shadow:0 4px 12px -8px var(--coral)}.tp-step.locked{opacity:.65}.stp{position:fixed;inset:0;z-index:300;overflow-y:auto;overscroll-behavior:contain;background:var(--sidebar-bg);color:#eef3ff;--stp-soft:#9AA9C9;--stp-line:rgba(255,255,255,.12);--stp-card:rgba(255,255,255,.045);--stp-accent:#FF8A33}.stp-page{max-width:560px;margin:0 auto;padding:56px 22px 40px;min-height:100%;display:flex;flex-direction:column;gap:14px}.stp h1{font-family:var(--font-display);font-size:clamp(28px,7.6vw,38px);line-height:1.12;margin:0;color:#fff;letter-spacing:-.4px}.stp h2{font-family:var(--font-display);font-size:clamp(23px,6.4vw,30px);line-height:1.18;margin:10px 0 0;color:#fff}.stp p{margin:0;line-height:1.6;font-size:16px;color:#d7e0f5}.stp .center{text-align:center}.stp-kicker{font-size:12.5px!important;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--stp-accent)!important;margin-bottom:6px!important}.stp-en{font-size:14px!important;color:var(--stp-soft)!important;font-style:italic;margin-top:-6px!important}.stp-soft{color:var(--stp-soft)!important}.stp-includes{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.stp-includes li{padding:12px 14px;border:1px solid var(--stp-line);border-radius:14px;background:var(--stp-card);font-weight:700;font-size:14.5px}.stp-actions{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:10px}.stp-main{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:14px 22px;border:none;border-radius:99px;background:var(--grad-warm);color:#fff;font:inherit;font-weight:800;font-size:15px;letter-spacing:2.4px;text-transform:uppercase;cursor:pointer;box-shadow:0 12px 26px -14px #ff7a1a}.stp-main:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.stp-main span{font-size:20px;letter-spacing:0}.stp-main.wide{margin-top:6px}.stp-later{background:none;border:1px solid var(--stp-line);border-radius:99px;min-height:48px;color:var(--stp-soft);font:inherit;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:12.5px;cursor:pointer}.stp-q{padding-top:28px;padding-bottom:110px}.stp-top{display:flex;justify-content:space-between;font-size:12.5px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--stp-soft)}.stp-bar{height:5px;border-radius:99px;background:#ffffff1f;overflow:hidden}.stp-bar i{display:block;height:100%;border-radius:99px;background:var(--grad-warm);transition:width .35s ease}.stp-hint{font-size:14px!important;color:var(--stp-soft)!important}.stp-options{display:flex;flex-direction:column;gap:10px;margin-top:6px}.stp-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:18px;border:1px solid var(--stp-line);background:var(--stp-card);color:#fff;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.stp-option:hover{border-color:#ffffff4d}.stp-option.on{border-color:var(--stp-accent);background:#ff7a1a24}.stp-emoji{flex:none;width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:21px;background:#ffffff14}.stp-opt-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.stp-opt-text b{font-size:15.5px;line-height:1.3}.stp-opt-text small{font-size:12.5px;color:var(--stp-soft)}.stp-check{flex:none;width:24px;height:24px;border-radius:7px;border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}.stp-option.on .stp-check{background:var(--stp-accent);border-color:var(--stp-accent)}.stp-scale{margin-top:10px;padding:24px 20px;border:1px solid var(--stp-line);border-radius:20px;background:var(--stp-card);display:flex;flex-direction:column;align-items:center;gap:16px}.stp-scale-n{font-family:var(--font-display);font-size:64px;line-height:1;color:var(--stp-accent)}.stp-scale input[type=range]{width:100%;accent-color:#FF7A1A;height:28px}.stp-scale-labels{width:100%;display:flex;justify-content:space-between;gap:16px}.stp-scale-labels small{max-width:48%;font-size:13px;color:var(--stp-soft);line-height:1.35}.stp-scale-labels small:last-child{text-align:right}.stp-scale-labels i{display:block;font-size:11.5px;opacity:.75}.stp-text textarea{width:100%;min-height:96px;padding:14px;border-radius:16px;border:1px solid var(--stp-line);background:var(--stp-card);color:#fff;font:inherit;font-size:16px;line-height:1.5;resize:vertical}.stp-text textarea::placeholder{color:var(--stp-soft)}.stp-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.stp-examples button{padding:9px 12px;border-radius:99px;border:1px solid var(--stp-line);background:none;color:#d7e0f5;font:inherit;font-size:13px;text-align:left;cursor:pointer}.stp-examples button:hover{border-color:var(--stp-accent)}.stp-nav{position:fixed;left:0;right:0;bottom:0;z-index:2;display:flex;gap:12px;padding:14px max(16px,calc((100vw - 560px)/2 + 22px)) calc(14px + env(safe-area-inset-bottom));background:var(--sidebar-bg);border-top:1px solid var(--stp-line)}.stp-back{flex:none;width:56px;height:56px;border-radius:50%;border:1px solid var(--stp-line);background:none;color:#fff;font-size:20px;cursor:pointer}.stp-result{padding-top:48px;gap:16px}.stp-x{position:fixed;top:16px;right:16px;z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid var(--stp-line);background:var(--sidebar-bg);color:#fff;font-size:18px;cursor:pointer}.stp-rings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.stp-ring{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:1px solid var(--stp-line);border-radius:18px;background:var(--stp-card);text-align:center}.stp-ring span{display:flex;flex-direction:column;min-width:0;max-width:100%}.stp-ring b{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:#f2d1b3;white-space:nowrap}.stp-ring small{font-size:11.5px;color:var(--stp-soft)}.stp-ring-svg{flex:none;width:68px;height:68px}.stp-ring-svg .track{fill:none;stroke:#ffffff1a;stroke-width:6}.stp-ring-svg .fill{fill:none;stroke:#ff8a33;stroke-width:6;stroke-linecap:round}.stp-ring-svg text .n{font-family:var(--font-display);font-size:20px;font-weight:800;fill:#fff}.stp-ring-svg text .of{font-size:10px;fill:#9aa9c9}.stp-note{font-size:13px!important;color:var(--stp-soft)!important}.stp-card{padding:20px;border:1px solid var(--stp-line);border-radius:20px;background:var(--stp-card);display:flex;flex-direction:column;gap:10px}.stp-label{font-size:12.5px!important;font-weight:800;letter-spacing:2.6px;text-transform:uppercase;color:var(--stp-accent)!important;line-height:1.5!important}.stp-label.soft{color:var(--stp-soft)!important}.stp-outside{margin-top:12px!important}.stp-table{margin:0;display:flex;flex-direction:column}.stp-table>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--stp-line)}.stp-table dt{color:var(--stp-soft);font-size:15px}.stp-table dd{margin:0;text-align:right;font-weight:800;color:#fff;font-size:15px}.stp-num-title{font-size:17px;color:#fff}.stp-phrase blockquote{margin:4px 0;padding-left:16px;border-left:3px solid var(--stp-accent);font-family:var(--font-display);font-style:italic;font-size:22px;line-height:1.4;color:#fff}.stp-go-line{font-weight:800;color:#fff!important;margin-top:6px!important}.stp-error{max-width:560px;margin:0 auto 24px;padding:0 22px;color:#ffb4a0!important;font-size:13px!important}@media(min-width:700px){.stp-page{padding-top:72px}.stp-rings{grid-template-columns:repeat(5,minmax(0,1fr))}}.stp-answers{margin:8px 0 0;display:flex;flex-direction:column;gap:8px}.stp-answers dt{font-size:12.5px;color:var(--text-soft);font-weight:700}.stp-answers dd{margin:2px 0 0;font-size:14px}.jr{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.jr-card{padding:18px;border-radius:22px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}.jr-label{margin:0;font-size:11.5px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;color:var(--text-soft)}.jr-card h3{margin:0;font-family:var(--font-display);font-size:26px;line-height:1.15}.jr-progress h3 b{color:var(--coral)}.jr-progress h3 span{color:var(--text-soft);font-weight:700}.jr-sub{color:var(--text-soft);font-weight:600}.jr-bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}.jr-bar i{display:block;height:100%;border-radius:99px;background:var(--grad-warm)}.jr-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:4px;padding-top:12px;border-top:1px solid var(--border);text-align:center}.jr-stats span{display:flex;flex-direction:column;gap:4px}.jr-stats small{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-soft)}.jr-stats b{font-family:var(--font-display);font-size:22px}.jr-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.jr-cal-head b{font-size:16px}.jr-cal-head button{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:20px;cursor:pointer}.jr-cal-head button:disabled{opacity:.3;cursor:default}.jr-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 4px;text-align:center}.jr-wd{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-soft);padding-bottom:4px}.jr-day{justify-self:center;width:38px;height:38px;max-width:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--text-soft)}.jr-day.on{background:var(--grad-warm);color:#fff;box-shadow:0 6px 14px -8px var(--coral)}.jr-day.today{outline:2px solid var(--purple);outline-offset:1px;color:var(--text)}.jr-day.today.on{color:#fff}.jr-day.future{opacity:.35}.jr-start blockquote,.jr-teacher blockquote{margin:0;padding-left:12px;border-left:3px solid var(--coral);font-family:var(--font-display);font-style:italic;font-size:18px;line-height:1.4}.jr-start p{margin:0}.jr-start-btns{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.jr-teacher{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.jr-teacher .jr-label{color:var(--coral)}.hc-dot{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;line-height:1;min-height:0}.hc-dot span{display:block;line-height:1}.lace-map.vertical{display:flex;flex-direction:column;padding-bottom:6px}.tr-scroll.v{flex:1 1 0;min-height:300px;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;margin-top:6px;overscroll-behavior:contain;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 22px,#000 calc(100% - 22px),transparent 100%)}.tr-scroll.v .tr-map{position:relative}.lace-map.vertical .tr-label{top:50%;transform:translateY(-50%);text-align:left}.lace-map.vertical .tr-node.label-right .tr-label{left:calc(100% + 10px)}.lace-map.vertical .tr-node.label-left .tr-label{left:auto;right:calc(100% + 10px);text-align:right}.lace-map.vertical .lm-info{margin-top:6px}.lw{margin-top:14px;padding-top:12px;border-top:1px dashed var(--border)}.lw-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 2px 8px;font-weight:800;font-size:14px}.lw-title small{font-weight:700;color:var(--text-soft);font-size:12px}.lw-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 2px}.lw-day{height:clamp(20px,7vw,30px);min-width:0;border-radius:8px;background:var(--surface-2)}.lw-day.on{background:var(--grad-warm);box-shadow:0 6px 12px -8px var(--coral)}.lw-day.today{outline:2px solid var(--purple);outline-offset:1px}.lw-day.future{opacity:.4}.lw-records{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.lw-records span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;background:var(--surface-2);text-align:center}.lw-records b{font-family:var(--font-display);font-size:16px;white-space:nowrap}.lw-records small{font-size:11px;font-weight:700;color:var(--text-soft);line-height:1.2}.hc-slide>.progress-card{display:flex;flex-direction:column}.hc-slide>.progress-card .progress-report{margin-top:auto;padding-top:10px}.ioa-scene,.ioa-time{--ioa-thing:var(--surface);--ioa-line:var(--text);--ioa-glass:color-mix(in srgb, var(--blue) 30%, var(--surface));--ioa-warm:color-mix(in srgb, var(--coral) 35%, var(--surface));--ioa-box:color-mix(in srgb, var(--amber) 45%, var(--surface));--ioa-box-dark:color-mix(in srgb, var(--amber) 70%, var(--surface));--ioa-water:color-mix(in srgb, var(--blue) 55%, var(--surface));--ioa-map:color-mix(in srgb, var(--primary) 12%, var(--surface));--ioa-region:color-mix(in srgb, var(--purple) 16%, var(--surface))}.ioa-intro{margin:4px 0 14px;line-height:1.5}.ioa-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ioa-mode{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border-radius:18px;border:1.5px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;text-align:center;box-shadow:var(--shadow-sm)}.ioa-mode>span{font-size:28px}.ioa-mode small{color:var(--text-soft);font-size:11.5px;line-height:1.3}.ioa-mode:hover{border-color:var(--purple)}.ioa-rules-link{display:block;margin:14px auto 0}.ioa-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ioa-scene{margin:0 0 10px;border-radius:20px;background:var(--surface-2);padding:8px;border:2px solid transparent;transition:border-color .3s}.ioa-scene.right{border-color:var(--primary)}.ioa-scene.wrong{border-color:var(--coral)}.ioa-stage{position:relative;width:100%;max-width:420px;margin:0 auto;aspect-ratio:300 / 180}.ioa-stage svg{position:absolute;inset:0;width:100%;height:100%}.ioa-front{pointer-events:none}.ioa-stage>svg:first-child{border-radius:14px}.ioa-who{position:absolute;transform:translate(-50%,-50%);font-size:clamp(26px,9vw,40px);line-height:1;transition:left .7s cubic-bezier(.5,1.6,.5,1),top .7s cubic-bezier(.5,1.6,.5,1);filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}.ioa-who.pin{transform:translate(-50%,-90%)}.ioa-scene figcaption{text-align:center;font-weight:800;font-size:14px;margin-top:4px;min-height:1.3em}.ioa-scene.wrong figcaption{color:var(--coral-strong)}.ioa-scene.right figcaption{color:var(--primary-strong)}.ioa-time{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}.ioa-tbox{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:16px;background:var(--surface-2);border:2px solid transparent;text-align:center;transition:opacity .3s,border-color .3s}.ioa-tbox.right{border-color:var(--primary);background:var(--primary-soft)}.ioa-tbox.wrong{border-color:var(--coral);background:var(--coral-soft)}.ioa-tbox.dim{opacity:.45}.ioa-tbox small{font-size:11px;color:var(--text-soft);line-height:1.3}.ioa-tp{font-family:var(--font-display);font-size:18px}.ioa-cal{display:block;min-width:58px;padding:4px 6px;border-radius:8px;background:var(--surface);border:2px solid var(--text);border-top-width:7px;font-size:10px;font-weight:800;line-height:1.15}.ioa-cal b{font-size:16px}.ioa-clock{font-size:34px;line-height:1}.ioa-sentence{font-size:clamp(18px,5vw,22px);font-weight:700;line-height:1.5}.ioa-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.ioa-choice{padding:16px 0;border-radius:16px;border:2px solid var(--border-strong);background:var(--surface);font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .1s}.ioa-choice:active{transform:scale(.96)}.ioa-choice.right{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong);animation:pq-pop .35s ease-out}.ioa-choice.wrong{border-color:var(--coral);background:var(--coral-soft);color:var(--coral-strong);text-decoration:line-through;animation:pq-shake .35s ease-out}.ioa-choice.dim{opacity:.4}.ioa-feedback{padding:14px 16px;border-radius:18px;display:flex;flex-direction:column;gap:6px;animation:rise .25s ease-out}.ioa-feedback.good{background:var(--primary-soft)}.ioa-feedback.bad{background:var(--coral-soft)}.ioa-feedback p{margin:0}.ioa-fb-title{font-weight:900;font-size:16px}.ioa-full{font-size:16px;font-weight:700}.ioa-why{line-height:1.45}.ioa-feedback .btn-primary{margin-top:6px}.ioa-review{list-style:none;text-align:left;margin:0;padding:10px 14px;border-radius:14px;background:var(--surface-2);line-height:1.5;display:flex;flex-direction:column;gap:8px}.ioa-review:empty{display:none}.ioa-review li{display:flex;flex-direction:column;gap:2px}.ioa-review-title{margin:0 0 6px;font-size:13px;font-weight:700;color:var(--text-soft)}.ioa-review s{color:var(--coral-strong)}.ioa-tri{position:relative;width:220px;height:150px;margin:0 auto 14px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.ioa-tri:before{content:"";position:absolute;inset:0;background:var(--grad);clip-path:polygon(0 0,100% 0,50% 100%);border-radius:4px;opacity:.9}.ioa-tri span{position:absolute;left:50%;transform:translate(-50%);color:#fff;font-family:var(--font-display);font-weight:900}.ioa-tri .t-in{top:10px;font-size:30px}.ioa-tri .t-on{top:58px;font-size:22px}.ioa-tri .t-at{top:96px;font-size:15px}.ioa-rules section{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 14px;margin-bottom:10px}.ioa-rules h3{margin:0 0 6px}.ioa-rules p{margin:0 0 6px;line-height:1.45}@media(prefers-reduced-motion:reduce){.ioa-who{transition:none}.ioa-choice.right,.ioa-choice.wrong{animation:none}}.ann{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.ann:empty{display:none}.ann-card{position:relative;padding:16px 16px 14px;border-radius:22px;color:#fff;background:var(--grad);box-shadow:0 14px 28px -18px #1f5bffe6;animation:rise .35s ease-out;overflow:hidden}.ann-card:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:#ffffff14}.ann-head{display:flex;align-items:center;gap:10px}.ann-ic{width:38px;height:38px;flex-shrink:0;border-radius:12px;background:var(--grad-warm);display:flex;align-items:center;justify-content:center;font-size:19px}.ann-who{flex:1;min-width:0;display:flex;flex-direction:column}.ann-who b{font-size:13px;letter-spacing:.02em;text-transform:uppercase;opacity:.9}.ann-who small{font-size:12px;opacity:.8}.ann-card .speak-btn{background:#ffffff2e;color:#fff}.ann-title{margin:10px 0 2px;font-family:var(--font-display);font-size:20px;line-height:1.2}.ann-body{margin:6px 0 0;font-size:15.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.ann-body a{color:#fff;text-decoration:underline}.ann-ok{margin-top:12px;border:none;border-radius:99px;padding:9px 16px;font:inherit;font-weight:800;background:#fff;color:var(--purple);cursor:pointer}.ann-card .pt-hint,.ann-card .pt{color:#ffffffd9}.ann-teacher-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.ann-empty{margin:0}.ann-form{display:flex;flex-direction:column;gap:8px}.ann-form input,.ann-form textarea{width:100%;margin:0}.ann-old{display:flex;flex-direction:column;gap:6px}.ann-line{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.ann-line>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.ann-line-body{color:var(--text-soft);font-size:13px}.ann-earlier{align-self:flex-start;font-size:13px}.bookshelf{margin:0 0 16px}.bs-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.bs-row{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}.bs-book{flex:0 0 138px;display:flex;flex-direction:column;gap:4px;scroll-snap-align:start;min-width:0}.bs-cover{position:relative;height:184px;border:none;border-radius:8px 14px 14px 8px;padding:14px 12px 12px 20px;text-align:left;cursor:pointer;font:inherit;color:#fff;display:flex;flex-direction:column;gap:4px;background:linear-gradient(160deg,var(--purple),color-mix(in srgb,var(--purple) 55%,#0B1B3F));box-shadow:0 10px 20px -12px #0b1b3fb3;overflow:hidden}.bs-book:nth-child(3n+2) .bs-cover{background:linear-gradient(160deg,var(--coral),color-mix(in srgb,var(--coral) 60%,#0B1B3F))}.bs-book:nth-child(3n+3) .bs-cover{background:linear-gradient(160deg,#12b76a,color-mix(in srgb,#12B76A 55%,#0B1B3F))}.bs-spine{position:absolute;left:0;top:0;bottom:0;width:9px;background:#0000002e}.bs-cover b{font-family:var(--font-display);font-size:15px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.bs-cover small{font-size:11.5px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bs-chips{margin-top:auto;display:flex;gap:4px;flex-wrap:wrap}.bs-chips i{font-style:normal;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:99px;background:#ffffff38}.bs-under{font-size:12.5px;font-weight:800;color:var(--purple)}.bs-note{font-size:11.5px;color:var(--text-soft);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bs-del{align-self:flex-start;font-size:12px}.bs-add{margin-bottom:12px}.bs-file{display:block;position:relative;padding:14px;border:2px dashed var(--border-strong);border-radius:14px;margin-bottom:10px;text-align:center;font-weight:700;cursor:pointer;overflow-wrap:anywhere}.bs-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.br-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:#525659}.br-bar,.br-foot{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.br-bar{padding-top:calc(8px + env(safe-area-inset-top))}.br-foot{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.br-foot input[type=range]{flex:1;min-width:0;accent-color:var(--coral)}.br-title{flex:1;min-width:0;display:flex;flex-direction:column}.br-title b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}.br-title small{color:var(--text-soft);font-size:12px;font-weight:700}.br-btn{flex-shrink:0;min-width:40px;height:40px;padding:0 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;font-weight:800;cursor:pointer}.br-btn:disabled{opacity:.4;cursor:default}.br-open{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--surface-2);color:var(--text);text-decoration:none;font-weight:800}.br-pages{flex:1;overflow:auto;padding:8px;display:flex;flex-direction:column;align-items:safe center;gap:12px;overscroll-behavior:contain}.br-page{flex-shrink:0;background:#fff;box-shadow:0 2px 10px #00000059;display:flex;align-items:center;justify-content:center}.br-page canvas{display:block}.br-num{color:#9aa3b5;font-weight:800}.br-loading{margin:40px auto;color:#fff;text-align:center}.rc-lines{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.rc-lines li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:var(--surface-2);line-height:1.4}.rc-lines li.bad{background:var(--red-soft)}.rc-lines li.good{background:var(--primary-soft)}.rc-lines li>span:last-child{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.rc-lines small{color:var(--text);font-weight:600}.rc-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.rc .reminder-card{margin:8px 0 0;box-shadow:none;border:1px dashed var(--border)}.th-setup{padding:14px 16px;border:1.5px solid color-mix(in srgb,var(--purple) 30%,var(--border))}.th-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.th-setup-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.th-setup-steps li+li .th-setup-step{border-top:1px solid var(--border)}.th-setup-step{display:flex;align-items:center;gap:12px;width:100%;padding:10px 2px;border:none;background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.th-setup-ic{flex-shrink:0;width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--purple-soft, var(--surface-2));font-size:17px}.th-setup-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.th-setup-text small{color:var(--text-soft);line-height:1.35}.th-setup-step.done .th-setup-ic{background:var(--primary-soft);color:var(--primary-strong);font-weight:900}.th-setup-step.done b{text-decoration:line-through;color:var(--text-soft)}.key-input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:1px;text-transform:uppercase}.hint.key-ok{color:var(--primary-strong);font-weight:700}.hint.key-bad{color:var(--red-strong);font-weight:700}.ky-school{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px}.ky-rename{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:100%}.ky-rename input{flex:1 1 180px;min-width:0}.ky-new .ky-help{margin:0 0 10px;font-size:14px;line-height:1.45}.ky-fields{display:flex;flex-wrap:wrap;gap:10px 12px;margin:0 0 12px;align-items:flex-end}.ky-fields label{display:grid;gap:4px;font-size:13px;font-weight:700;color:var(--text-soft);flex:0 1 170px;min-width:0}.ky-fields label.wide{flex:1 1 220px}.ky-fields input,.ky-fields select{width:100%;min-width:0;margin:0}.ky-msg{margin:10px 0 0;font-size:14px;padding:8px 12px;border-radius:12px}.ky-msg.good{background:var(--primary-soft);color:var(--primary-strong)}.ky-msg.bad{background:var(--red-soft);color:var(--red-strong)}.ky-list{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-bottom:12px}.ky-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.ky-row:last-child{border-bottom:none}.ky-row.fresh{background:var(--amber-soft)}.ky-row.mine{background:color-mix(in srgb,var(--purple) 7%,var(--surface))}.ky-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.ky-main small{overflow-wrap:anywhere}.ky-code{font-size:16px;font-weight:800;letter-spacing:1px;color:var(--text);background:none;padding:0;-webkit-user-select:all;user-select:all}.ky-status{font-size:12px;font-weight:800;width:fit-content;padding:2px 8px;border-radius:999px}.ky-status.warn{background:var(--amber-soft);color:var(--amber-strong)}.ky-status.good{background:var(--primary-soft);color:var(--primary-strong)}.ky-status.bad{background:var(--red-soft);color:var(--red-strong)}.ky-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.ky-nums{font-size:13px;color:var(--text-soft);line-height:1.4}.ky-more{margin:0 0 10px}.ky-totals{margin:0 0 12px}.ky-schoolrow .ky-fields{margin:8px 0 0}@media(max-width:480px){.ky-row{flex-wrap:wrap}.ky-actions{width:100%;justify-content:flex-end}}.pay-setup{display:block;width:100%;text-align:left;font:inherit;color:var(--text);background:var(--amber-soft);border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);cursor:pointer;line-height:1.45}.pay-month{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 10px}.pay-month b{font-family:var(--font-display);font-size:18px;min-width:150px;text-align:center}.pay-month .link-btn{font-size:24px;padding:2px 12px;text-decoration:none}.pay-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px}.pay-totals .kpi{padding:12px;min-width:0}.pay-totals .kpi b{font-size:clamp(15px,4.4vw,22px);color:var(--c);overflow-wrap:anywhere}.pay-name{font-size:15px}.pay-row .ky-actions{align-self:flex-start;flex-wrap:wrap}.pay-row .ky-actions .btn-small{width:auto;flex:0 0 auto}.pay-wa{font-size:13.5px;font-weight:800;text-decoration:none;padding:7px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong);white-space:nowrap}.pay-wa:hover{filter:brightness(.97)}.pay-paid-form,.pay-more{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.pay-paid-form select,.pay-paid-form input{width:auto;flex:1 1 130px;min-width:0;margin:0}.pay-paid-form .btn-small{width:auto;flex:0 0 auto}.pay-add{margin:4px 0 12px}.pay-crow{width:100%;font:inherit;color:inherit;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);cursor:pointer}.pay-crow:hover{background:color-mix(in srgb,var(--purple) 5%,var(--surface))}.pay-new{margin:4px 0 12px}.pay-check{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:700;margin:4px 0 10px;line-height:1.4;cursor:pointer}.pay-check input{width:20px;height:20px;margin:0;flex-shrink:0}.pay-sum{margin:6px 0 10px;font-size:14px;line-height:1.5}.pay-small{font-size:13px;line-height:1.45;margin:4px 0 10px}.pay-body-edit{width:100%;min-height:300px;font:14px/1.55 var(--font);margin:0 0 12px;resize:vertical}.pay-detail{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pay-title{margin:0;font-family:var(--font-display);font-size:20px}.pay-proof{margin:6px 0;padding:8px 12px;border-radius:12px;background:var(--primary-soft);color:var(--primary-strong);font-size:13.5px;line-height:1.45}.pay-actions{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:6px}.pay-end{color:var(--red-strong)}.pay-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.pay-chip{border:1px dashed var(--border);background:var(--surface);color:var(--purple-strong);border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.pay-chip:hover{border-color:var(--purple)}.pay-chip.on{border-style:solid;border-color:var(--purple);background:var(--purple-soft);color:var(--purple-strong)}.pay-chips .pay-chip{font-size:13.5px;padding:7px 12px}.pay-chip-select{width:auto;margin:0;padding:6px 10px;font-size:13.5px;border-radius:999px;min-width:0;max-width:100%}.pay-step{display:flex;align-items:center;gap:8px;margin:14px 0 8px;font-family:var(--font-display);font-weight:700;font-size:16px}.pay-step:first-child{margin-top:0}.pay-step b,.pay-extra summary b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--purple);color:#fff;font-size:13px}.pay-ask{margin:10px 0 6px;font-size:13px;font-weight:700;color:var(--text-soft)}.pay-summary{padding:10px 12px;border-radius:12px;background:var(--primary-soft);color:var(--primary-strong)}.pay-extra{margin:10px 0;border:1px solid var(--border);border-radius:14px;padding:10px 12px}.pay-extra summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:700;flex-wrap:wrap}.pay-extra[open] summary{margin-bottom:10px}.pay-options{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.pay-option{text-align:left;font:inherit;font-size:14px;font-weight:700;padding:11px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.pay-option.on{border-color:var(--purple);background:var(--purple-soft);color:var(--purple-strong);box-shadow:inset 0 0 0 1px var(--purple)}.pay-option.on:before{content:"✓ "}.report-sheet.pay-doc{max-width:760px;margin:0 auto 16px;gap:12px;padding:22px 20px}.pay-doc-text{white-space:pre-wrap;font-size:14.5px;line-height:1.6;overflow-wrap:anywhere}.pay-doc-proof{margin:0;padding-top:10px;border-top:1px dashed var(--border);font-size:12.5px;color:var(--text-soft);line-height:1.45;overflow-wrap:anywhere}.pay-doc-scroll{max-height:46vh;overflow-y:auto;border:1px solid var(--border);border-radius:16px;margin:8px 0 12px}.pay-doc-scroll .report-sheet.pay-doc{border:none;margin:0;border-radius:16px}@media print{.pay-doc-scroll{max-height:none;overflow:visible;border:none}.pay-doc-text{color:#111}}.pix-pay{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.pix-amount{margin:0;display:flex;flex-direction:column;gap:2px}.pix-amount b{font-family:var(--font-display);font-size:30px;color:var(--text)}.pix-amount small{color:var(--text-soft);font-weight:700}.pix-qr{width:min(240px,70vw);height:auto;border-radius:14px;box-shadow:var(--shadow-sm)}.pix-qr rect{fill:#fff}.pix-qr path{fill:#000}.pix-copy{width:100%;max-width:340px}.pix-code{width:100%;max-width:340px;font:12px/1.4 ui-monospace,Consolas,monospace;min-height:90px}.pix-to{margin:0;font-size:13.5px;color:var(--text-soft);overflow-wrap:anywhere}.pix-note{margin:0;font-size:14px;padding:8px 12px;border-radius:12px;background:var(--blue-soft);color:var(--blue-strong)}.pay-home{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--text);cursor:pointer;padding:14px 16px;border:1px solid var(--border);border-left:6px solid var(--c, var(--purple))}.pay-home.sign{--c:var(--purple);background:var(--purple-soft)}.pay-home.due{--c:var(--coral);background:var(--coral-soft)}.pay-home.late{--c:var(--red);background:var(--red-soft)}.pay-home.wait{--c:var(--primary);background:var(--primary-soft)}.pay-home-ic{font-size:28px;line-height:1;flex-shrink:0}.pay-home-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.pay-home-text b{font-size:16px}.pay-home-text small{font-size:13px;color:var(--text-soft);line-height:1.4}.pay-overlay-title{font-family:var(--font-display);font-size:17px;margin-right:auto}.pay-overlay .report-toolbar{justify-content:flex-start}.pay-student{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:4px}.pay-one{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.pay-claim{width:100%;max-width:340px}.pay-accept .btn-primary{width:100%}.pay-set-row{width:100%;font:inherit;color:inherit;text-align:left;background:none;border-left:none;border-right:none;border-top:none;cursor:pointer}.pay-set-row:hover{background:color-mix(in srgb,var(--purple) 5%,transparent)}.pay-my-totals{margin:4px 0 8px}.dsh,.dsh-open{--dv-1:#1F5BFF;--dv-2:#FF7A1A;--dv-grid:#E7ECF6;--dv-base:#C9D3E6;--dv-axis:#7A86A3;--dv-good:#12B76A;--dv-warn:#F5B400;--dv-bad:#F04438}[data-theme=dark] .dsh,[data-theme=dark] .dsh-open{--dv-1:#4D7DFF;--dv-2:#E2620C;--dv-grid:#1C2C4F;--dv-base:#2C4170;--dv-axis:#8493B5}.shell.teacher .shell-content:has(.dsh-screen){max-width:1240px}.dsh-open{display:flex;align-items:center;gap:14px;width:100%;margin:0 0 16px;padding:16px 18px;border:none;border-radius:22px;cursor:pointer;text-align:left;font:inherit;color:#fff;background:linear-gradient(135deg,#0b1b3f,#1238a8 60%,#1f5bff);box-shadow:var(--shadow)}.dsh-open:hover{filter:brightness(1.06)}.dsh-open-art{display:flex;align-items:flex-end;gap:4px;width:52px;height:44px;padding:6px;border-radius:14px;background:#ffffff1f;flex:none}.dsh-open-art i{flex:1;border-radius:3px 3px 1px 1px;background:#ffffffbf}.dsh-open-art i:last-child{background:#ff8a33}.dsh-open-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.dsh-open-text b{font-family:var(--font-display);font-size:17px}.dsh-open-text small{opacity:.85;font-size:12.5px}.dsh-open-go{font-size:26px;opacity:.8}.dsh{display:flex;flex-direction:column;gap:14px}.dsh-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:18px 20px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#0b1b3f,#1238a8 70%,#1f5bff);box-shadow:var(--shadow)}.dsh-hero-main{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.dsh-hero .dsh-kpi-label{color:#fffc}.dsh-hero-value{font-size:52px;line-height:1;font-weight:700;letter-spacing:-.02em}.dsh-hero-value small{font-size:22px;font-weight:600;opacity:.7;margin-left:2px}.dsh-hero-bar{display:block;height:8px;border-radius:99px;background:#ffffff2e;max-width:340px;overflow:hidden}.dsh-hero-bar i{display:block;height:100%;border-radius:99px;background:#ff8a33}.dsh-hero .dsh-delta{color:#fff;background:#ffffff24;align-self:flex-start}.dsh-hero .dsh-spark{width:120px;height:46px;color:#fff}.dsh-hero .dsh-spark-end{fill:#ff8a33;stroke:#1238a8}.dsh-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(min-width:760px){.dsh-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1100px){.dsh-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}.dsh-kpi{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 14px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);min-width:0}.dsh-kpi-btn{font:inherit;color:inherit;text-align:left;cursor:pointer}.dsh-kpi-btn:hover{border-color:var(--border-strong)}.dsh-kpi-label{font-size:12px;font-weight:600;color:var(--text-soft)}.dsh-kpi-value{font-size:26px;font-weight:700;line-height:1.1;color:var(--text)}.dsh-kpi-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:var(--text-soft)}.dsh-kpi .dsh-spark{color:var(--dv-1);margin-top:2px}.dsh-spark-end{fill:var(--dv-2);stroke:var(--surface);stroke-width:2}.dsh-delta{display:inline-block;padding:2px 7px;border-radius:99px;font-size:11.5px;font-weight:700;background:var(--surface-2);color:var(--text-soft)}.dsh-delta.up{background:var(--primary-soft);color:var(--primary-strong)}.dsh-delta.down{background:var(--red-soft);color:var(--red-strong)}.dsh-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}@media(min-width:860px){.dsh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dsh-card.wide{grid-column:1 / -1}}.dsh-card{padding:16px 16px 14px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);min-width:0}.dsh-card>header{margin-bottom:10px}.dsh-card h3{margin:0;font-family:var(--font-display);font-size:16px}.dsh-card header small{display:block;margin-top:2px;color:var(--text-soft);font-size:12px}.dsh-empty{margin:18px 0;text-align:center}.dsh-tiparea{position:relative}.dsh-tip{position:absolute;transform:translate(-50%,calc(-100% - 8px));padding:6px 10px;border-radius:10px;background:var(--text);color:var(--surface);font-size:12px;font-weight:600;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow);z-index:5}.dsh-chart{display:block;width:100%;height:auto;overflow:visible}line.dsh-gl{stroke:var(--dv-grid);stroke-width:1}.dsh-base{stroke:var(--dv-base);stroke-width:1}.dsh-goal{stroke:var(--dv-base);stroke-width:1;stroke-dasharray:4 4}.dsh-axis{fill:var(--dv-axis);font-size:9.5px;font-variant-numeric:tabular-nums}.dsh-label{fill:var(--text);font-size:11px;font-weight:700}.dsh-mark-1{fill:var(--dv-1)}.dsh-mark-2{fill:var(--dv-2)}.dsh-hit{cursor:default}.dsh-hit:hover .dsh-mark-1{fill:color-mix(in srgb,var(--dv-1) 80%,var(--text))}.dsh-line{fill:none;stroke:var(--dv-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.dsh-area{fill:var(--dv-1);opacity:.1}.dsh-dot-1{fill:var(--dv-1);stroke:var(--surface);stroke-width:2}.dsh-dot-2{fill:var(--dv-2);stroke:var(--surface);stroke-width:2}.dsh-yaxis{position:absolute;left:0;top:0;height:calc(100% - 16px);display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:var(--dv-axis);pointer-events:none}.dsh-yaxis span{background:var(--surface);padding-right:3px;line-height:1}.dsh-stack{display:flex;gap:2px;height:22px;border-radius:8px;overflow:hidden}.dsh-stack i{display:block;min-width:6px}.dsh-stack i.good{background:var(--dv-good)}.dsh-stack i.warn{background:var(--dv-warn)}.dsh-stack i.bad{background:var(--dv-bad)}.dsh-legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}@media(min-width:700px){.dsh-legend{flex-direction:row;flex-wrap:wrap}.dsh-legend li{flex:1}}.dsh-legend button{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border:none;border-radius:10px;background:none;font:inherit;font-size:13.5px;color:var(--text);text-align:left;cursor:pointer}.dsh-legend button:hover:not(:disabled){background:var(--surface-2)}.dsh-legend button:disabled{cursor:default}.dsh-legend b{min-width:1.6em;text-align:right;font-variant-numeric:tabular-nums}.dsh-hbars{display:flex;flex-direction:column;gap:6px}.dsh-hbar{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;align-items:center;gap:10px;width:100%;padding:5px 6px;border:none;border-radius:10px;background:none;font:inherit;color:var(--text);text-align:left}button.dsh-hbar{cursor:pointer}button.dsh-hbar:hover{background:var(--surface-2)}.dsh-hbar-label{font-size:13px;line-height:1.25}.dsh-hbar-track{height:12px;border-radius:0 4px 4px 0;background:var(--surface-2)}.dsh-hbar-track i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--dv-1)}.dsh-hbar-track i.warn{background:var(--dv-2)}.dsh-hbar b{font-size:13px;font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.dsh-heat-wrap{overflow-x:auto}.dsh-heat{display:flex;flex-direction:column;gap:3px;min-width:300px}.dsh-heat-row{display:grid;grid-template-columns:34px repeat(24,minmax(0,1fr));gap:2px;align-items:center}.dsh-heat-day{font-size:11px;color:var(--text-soft)}.dsh-heat-row i,.dsh-scale i{display:block;height:clamp(9px,2.6vw,18px);min-width:0;border-radius:3px;background:color-mix(in srgb,var(--dv-1) calc(var(--a) * 100%),var(--surface-2))}.dsh-heat-hours small{font-size:9.5px;color:var(--dv-axis);white-space:nowrap}.dsh-scale{display:flex;align-items:center;justify-content:flex-end;gap:3px;margin:8px 0 0;font-size:11px;color:var(--text-soft)}.dsh-scale i{width:12px}.dsh-sort{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.dsh-sort button{padding:5px 11px;border-radius:99px;border:1px solid var(--border);background:var(--surface);font:inherit;font-size:12.5px;font-weight:600;color:var(--text-soft);cursor:pointer}.dsh-sort button.on{background:var(--purple);border-color:var(--purple);color:#fff}.dsh-people{display:flex;flex-direction:column}.dsh-person{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status" "days acc";gap:6px 10px;align-items:center;padding:10px 6px;border:none;border-top:1px solid var(--border);background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.dsh-person:first-child{border-top:none}.dsh-person:hover{background:var(--surface-2)}.dsh-person-name{grid-area:name;display:flex;flex-direction:column;min-width:0}.dsh-person-name b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dsh-person-name small{font-size:11.5px;color:var(--text-soft)}.dsh-days{grid-area:days;display:flex;align-items:center;gap:3px}.dsh-days i{width:12px;height:12px;border-radius:4px;background:var(--surface-3)}.dsh-days i.on{background:var(--dv-1)}.dsh-days small{margin-left:4px;font-size:11.5px;color:var(--text-soft);font-variant-numeric:tabular-nums}.dsh-acc{grid-area:acc;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.dsh-status{grid-area:status;justify-self:end;padding:3px 9px;border-radius:99px;font-size:11.5px;font-weight:700;white-space:nowrap}.dsh-status.good{background:var(--primary-soft);color:var(--primary-strong)}.dsh-status.warn{background:var(--amber-soft);color:var(--amber-strong)}.dsh-status.bad{background:var(--red-soft);color:var(--red-strong)}@media(min-width:700px){.dsh-person{grid-template-columns:minmax(0,1.4fr) auto 60px 150px;grid-template-areas:"name days acc status"}}.dsh-table{margin-top:10px;font-size:12.5px}.dsh-table summary{cursor:pointer;color:var(--purple);font-weight:600}.dsh-table table{width:100%;margin-top:6px;border-collapse:collapse;font-variant-numeric:tabular-nums}.dsh-table th,.dsh-table td{padding:4px 6px;border-top:1px solid var(--border);text-align:left;font-weight:500}.dsh-table td{text-align:right}.dsh-note{font-size:12px;text-align:center}.op-tabs{margin-bottom:14px}.dsh .dsh-delta{align-self:flex-start}.ot-list{display:flex;flex-direction:column}.ot-row{border-top:1px solid var(--border)}.ot-row:first-child{border-top:none}.ot-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status" "mini mini";gap:6px 10px;align-items:center;width:100%;padding:11px 6px;border:none;background:none;font:inherit;color:var(--text);text-align:left;cursor:pointer}.ot-head:hover,.ot-row.open .ot-head{background:var(--surface-2)}.ot-name{grid-area:name;display:flex;flex-direction:column;min-width:0}.ot-name b{font-size:14.5px}.ot-name small{font-size:12px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ot-mini{grid-area:mini;display:flex;gap:14px;font-size:12.5px;font-weight:700;color:var(--text-soft);font-variant-numeric:tabular-nums}.ot-head .dsh-status{grid-area:status}@media(min-width:700px){.ot-head{grid-template-columns:minmax(0,1fr) auto 150px;grid-template-areas:"name mini status"}}.ot-detail{padding:4px 8px 16px}.ot-why{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text-soft)}.ot-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.ot-groups section{padding:10px 12px;border-radius:14px;background:var(--surface-2)}.ot-groups h4{margin:0 0 6px;font-size:13px}.ot-fact{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:12.5px;border-top:1px dashed var(--border)}.ot-fact:first-of-type{border-top:none}.ot-fact small{color:var(--text-soft);font-size:12.5px}.ot-fact b{font-variant-numeric:tabular-nums;text-align:right}.ot-weeks{margin-top:12px}.ot-weeks>small{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-soft)}.os-table{display:flex;flex-direction:column;font-size:13px}.os-row{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:8px;padding:8px 6px;border-top:1px solid var(--border);font-variant-numeric:tabular-nums}.os-row.head{border-top:none;font-size:11.5px;font-weight:800;color:var(--text-soft)}.os-row.mine{background:color-mix(in srgb,var(--purple) 6%,transparent)}.os-row span:not(:first-child){text-align:right}.os-row small{color:var(--text-soft)}.os-row .warn{color:var(--coral-strong);font-weight:800}.os-mine{margin-top:12px}.sf{margin-top:12px;padding:14px;border-radius:16px;background:var(--surface-2);display:flex;flex-direction:column;gap:14px}.sf-intro{margin:0;font-size:13px;color:var(--text-soft)}.sf-group>header{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px}.sf-group>header b{font-size:14px}.sf-group>header small{font-size:12px;color:var(--text-soft)}.sf-all{margin-left:auto;display:flex;gap:10px;font-size:12px}.sf-items{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}@media(min-width:640px){.sf-items{grid-template-columns:repeat(2,minmax(0,1fr))}}.sf-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text-soft);text-align:left;cursor:pointer}.sf-item.on{color:var(--text);border-color:var(--border-strong)}.sf-name{flex:1;min-width:0;font-size:13.5px;font-weight:700}.sf-name small{display:block;font-weight:500;font-size:11.5px;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-item:not(.on) .sf-name{text-decoration:line-through;text-decoration-color:var(--border-strong)}.sf-toggle{flex:none;width:40px;height:24px;border-radius:99px;background:var(--border-strong);position:relative;transition:background .15s}.sf-toggle i{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.sf-item.on .sf-toggle{background:var(--primary)}.sf-item.on .sf-toggle i{transform:translate(16px)}.sf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}@media(prefers-reduced-motion:reduce){.sf-toggle,.sf-toggle i{transition:none}}.demo-card{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-left:4px solid var(--border-strong)}.demo-card.on{border-left-color:var(--primary)}.demo-head{display:flex;gap:12px;flex:1;min-width:220px}.demo-ic{font-size:26px;line-height:1}.demo-head strong{display:block;font-size:15px}.demo-head small{display:block;color:var(--text-soft);font-size:12.5px;margin-top:2px}.sb{display:flex;flex-direction:column;gap:10px}.sb>.ps-listen-all{align-self:flex-start}.sb-progress{display:flex;gap:4px}.sb-progress i{flex:1;height:5px;border-radius:99px;background:var(--surface-3);transition:background .2s}.sb-progress i.done{background:var(--purple)}.sb-progress i.now{background:var(--coral)}.sb-page{position:relative;padding:12px 12px 34px;border-radius:24px;border:1px solid color-mix(in srgb,var(--c) 28%,var(--border));background:linear-gradient(90deg,rgba(0,0,0,.07),transparent 14px),linear-gradient(180deg,var(--c-soft) 0%,var(--surface) 55%);box-shadow:var(--shadow),6px 6px 0 -2px color-mix(in srgb,var(--c) 18%,var(--surface));transform-origin:left center}.sb-page.turn-next{animation:sb-turn-next .42s cubic-bezier(.2,.7,.2,1)}.sb-page.turn-prev{animation:sb-turn-prev .42s cubic-bezier(.2,.7,.2,1);transform-origin:right center}@keyframes sb-turn-next{0%{opacity:0;transform:perspective(1200px) rotateY(-28deg) translate(30px)}to{opacity:1;transform:none}}@keyframes sb-turn-prev{0%{opacity:0;transform:perspective(1200px) rotateY(28deg) translate(-30px)}to{opacity:1;transform:none}}.sb-photo{position:relative;margin:0;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:var(--c);box-shadow:0 10px 24px -14px #0b1b3f73}.sb-photo.big{aspect-ratio:4/3}.sb-photo img{display:block;width:100%;height:100%;object-fit:cover}.sb-photo.empty{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff))}.sb-photo-word{color:#fff;font-family:var(--font-display);font-size:clamp(28px,9vw,46px);font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.25)}.sb-label{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;max-width:calc(100% - 20px);padding:5px 6px 5px 13px;border-radius:999px;background:#fffffff0;color:#0b1b3f;font-size:15px;box-shadow:0 4px 14px #0000002e}.sb-label b{font-family:var(--font-display);font-size:16px}.sb-label span[aria-hidden]{color:#8a94ae}.sb-label span[lang]{color:#b04a04;font-weight:700}.sb-credit{position:absolute;right:8px;top:8px;padding:2px 9px;border-radius:99px;background:#00000061;color:#fff;font-size:10.5px;text-decoration:none;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-text{padding:4px 6px 0}.sb-text p{margin:14px 0 0;font-size:17.5px;line-height:1.75}.sb-text p:first-child:first-letter{float:left;margin:6px 8px 0 0;font-family:var(--font-display);font-size:2.6em;line-height:.8;font-weight:800;color:var(--c)}.sb-text p.reading{background:var(--amber-soft);border-radius:10px;box-shadow:0 0 0 6px var(--amber-soft)}.sb-key{background:color-mix(in srgb,var(--c) 24%,transparent);color:inherit;padding:0 3px;border-radius:6px;font-weight:700}.sb-num{position:absolute;right:16px;bottom:10px;font-size:12px;font-weight:800;color:color-mix(in srgb,var(--c) 70%,var(--text-soft))}.sb-cover-text{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 6px 4px;text-align:center}.sb-kicker{margin:0;font-size:12.5px;font-weight:800;color:var(--text-soft)}.sb-title{margin:0;font-family:var(--font-display);font-size:clamp(24px,6.5vw,30px);line-height:1.15}.sb-verse{position:relative;width:100%;padding:12px 44px 12px 16px;border-radius:16px;background:var(--purple-soft);color:var(--purple-strong);font-style:italic;text-align:left}.sb-verse p{margin:0 0 2px}.sb-verse .speak-btn{position:absolute;top:10px;right:10px}.sb-open{min-width:220px}.sb-how{margin:0;font-size:12.5px}.sb-end{display:flex;flex-direction:column;gap:10px;padding:4px 4px 0}.sb-end .btn-primary{margin-top:6px}.sb-nav{position:sticky;bottom:calc(env(safe-area-inset-bottom) + 92px);z-index:3;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}@media(min-width:900px){.sb-nav{bottom:16px}}.sb-turn{width:54px;height:54px;border:none;border-radius:50%;background:var(--surface);color:var(--text);font-size:30px;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm)}.sb-turn.next{background:var(--grad-warm);color:#fff}.sb-turn:disabled{opacity:.3;cursor:default}.sb-where{font-size:13px;font-weight:800;color:var(--text-soft)}@media(prefers-reduced-motion:reduce){.sb-page.turn-next,.sb-page.turn-prev{animation:none}.sb-progress i{transition:none}}.la-tabs{flex-wrap:wrap}.la-tabs button{white-space:nowrap}.la-done{align-self:center}.la-ex{display:flex;flex-direction:column;gap:10px}.la-filter{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px}.la-filter select{flex:1;min-width:0;max-width:320px;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}.ky-teachers{overflow-wrap:anywhere}.ky-fields .wide{flex-basis:100%}.cb{display:flex;flex-direction:column;gap:10px;min-width:0}.cb-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}.cb-help{margin:0;flex:1 1 260px;font-size:13.5px}.cb-add-main{flex:none}.cb-board{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.cb-col{flex:0 0 min(82%,272px);scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--c) 9%,var(--surface-2, var(--surface)));border:1px solid color-mix(in srgb,var(--c) 22%,var(--border));border-radius:18px;padding:10px;min-width:0;align-self:flex-start;max-height:min(76dvh,760px)}.cb-col>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 4px}.cb-col>header b{font-family:var(--font-display);font-size:15px;color:var(--c-strong, var(--text))}.cb-col>header small{font-weight:800;color:var(--text-soft);background:var(--surface);border-radius:999px;padding:1px 8px}.cb-cards{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0}.cb-none{margin:4px 6px;font-size:13px}.cb-card{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);cursor:pointer;overflow:hidden;box-shadow:var(--shadow-sm);font:inherit;transition:transform .15s ease,box-shadow .15s ease}.cb-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.cb-card:focus-visible{outline:3px solid var(--c);outline-offset:2px}.cb-card.done{opacity:.72}.cb-cover{display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}.cb-cover img{width:100%;height:100%;object-fit:cover;display:block}.cb-cover.none{display:grid;place-items:center;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff));font-size:40px}.cb-cover.big{aspect-ratio:16/9;border-radius:18px 18px 0 0}.cb-cover.none.big{font-size:64px}.cb-card-body{display:flex;flex-direction:column;gap:6px;padding:10px 12px 12px}.cb-card-body b{font-size:14.5px;line-height:1.3;overflow-wrap:anywhere}.cb-chips{display:flex;flex-wrap:wrap;gap:5px}.cb-chips small{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--text-soft)}.cb-chips small.all{background:color-mix(in srgb,var(--purple) 14%,var(--surface));color:var(--purple)}.cb-chips small.ok{background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:var(--primary)}.cb-add{border:1px dashed color-mix(in srgb,var(--c) 45%,var(--border));background:transparent;color:var(--c-strong, var(--text));border-radius:12px;padding:8px;font:inherit;font-weight:800;cursor:pointer}.cb-add:hover{background:var(--surface)}.cb-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:22px 12px}.cb-empty>span{font-size:40px}.cb-empty small{color:var(--text-soft)}.cb-overlay{position:fixed;inset:0;z-index:80;background:#0b1b3f8c;display:flex;align-items:center;justify-content:center;padding:16px}.cb-sheet{position:relative;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;background:var(--surface);color:var(--text);border-radius:20px;box-shadow:0 24px 60px -20px #00000080}.cb-x{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:50%;border:none;background:#ffffffeb;color:#0b1b3f;font-size:16px;cursor:pointer;box-shadow:var(--shadow-sm)}.cb-credit{display:block;padding:4px 16px 0;font-size:11.5px;color:var(--text-soft)}.cb-credit a{color:inherit}.cb-sheet-body{display:flex;flex-direction:column;gap:10px;padding:12px 18px 18px}.cb-sheet-body h3{margin:0;font-family:var(--font-display);font-size:21px;line-height:1.25;overflow-wrap:anywhere}.cb-col-pill{align-self:flex-start;font-weight:800;font-size:12px;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--c) 15%,var(--surface));color:var(--c-strong, var(--text))}.cb-note{margin:0;white-space:pre-wrap;line-height:1.55;overflow-wrap:anywhere}.cb-actions{display:flex;flex-direction:column;gap:8px}.cb-actions>button{width:100%;text-align:center;white-space:normal}.cb-done-btn{border:2px solid var(--primary);background:transparent;color:var(--primary);border-radius:14px;padding:11px;font:inherit;font-weight:800;cursor:pointer}.cb-done-btn.on{background:var(--primary);color:#fff}.cb-teacher-actions{display:flex;gap:8px;flex-wrap:wrap}.cb-status{margin:0;font-size:13.5px}.post-btn.danger{color:var(--red)}.cb-editor{padding:18px;display:flex;flex-direction:column;gap:12px}.cb-editor h3{margin:0 40px 0 0;font-family:var(--font-display)}.cb-field{display:flex;flex-direction:column;gap:6px;font-weight:800;font-size:13.5px;min-width:0}.cb-field input:not([type=file]),.cb-field select,.cb-field textarea{font:inherit;font-weight:500;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);min-width:0;width:100%;box-sizing:border-box}.cb-field input[type=file]{font:inherit;font-weight:500;font-size:13px;max-width:100%}.cb-field textarea{resize:vertical}.cb-field small{font-weight:500}.cb-focus-chips{display:flex;flex-wrap:wrap;gap:6px}.cb-chip{border:1px solid color-mix(in srgb,var(--c) 40%,var(--border));background:var(--surface);color:var(--text);border-radius:999px;padding:6px 11px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.cb-chip.on{background:var(--c);border-color:var(--c);color:#fff}.cb-file{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:500;overflow-wrap:anywhere}.cb-cover-row{display:flex;gap:10px;align-items:center}.cb-cover-row .cb-cover{width:96px;flex:none;border-radius:10px;font-size:26px}.cb-editor-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;position:sticky;bottom:-18px;background:var(--surface);padding:10px 0 4px}.cb-picker{border:1px solid var(--border);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--surface-2, var(--surface))}.cb-picker-bar{display:flex;gap:8px;align-items:center}.cb-picker-bar input{flex:1;min-width:0;font:inherit;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.cb-picker-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.cb-pick{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);padding:8px 10px;font:inherit;cursor:pointer}.cb-pick>span:first-child{font-size:22px}.cb-pick b{display:block;font-size:14px}.cb-pick small{color:var(--text-soft);font-size:12px}.cb-pick:hover{border-color:var(--purple)}.lh-board .cb-board{margin:0 -4px}@media(min-width:900px){.cb-overlay{padding:32px}}@media(prefers-reduced-motion:reduce){.cb-card{transition:none}.cb-card:hover{transform:none}}.sd-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}.sd-head-text{flex:1 1 220px;display:flex;flex-direction:column;min-width:0}.sd-head-text b{font-family:var(--font-display);font-size:20px}.sd-head-text small{overflow-wrap:anywhere}.sd-level{display:flex;align-items:center;gap:6px;font-weight:800;font-size:13px}.sd-level select{font:inherit;padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.sdsh{margin-top:6px}.sdsh-status{display:flex;flex-direction:column;gap:4px;border-radius:16px;padding:12px 14px;border:1px solid var(--border);background:var(--surface)}.sdsh-status.good{border-color:color-mix(in srgb,var(--primary) 40%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.sdsh-status.warn{border-color:color-mix(in srgb,var(--amber) 55%,var(--border));background:color-mix(in srgb,var(--amber) 9%,var(--surface))}.sdsh-status.bad{border-color:color-mix(in srgb,var(--red) 45%,var(--border));background:color-mix(in srgb,var(--red) 7%,var(--surface))}.sdsh-status ul{margin:2px 0;padding-left:20px;font-size:14px}.sdsh-status small{color:var(--text-soft);font-size:13px}.mc-help{margin:0 0 8px;font-size:13.5px}.mc-list{display:flex;flex-direction:column;gap:8px}.mc-tile{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.mc-tile:hover{border-color:var(--purple)}.mc-tile>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.mc-tile small{color:var(--text-soft)}.mc-emoji{font-size:26px;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--purple) 12%,var(--surface));flex:none}.mc-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:8px}.mc-opt{display:flex;gap:10px;align-items:center;text-align:left;padding:9px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;min-width:0}.mc-opt>span:first-child{font-size:22px}.mc-opt>span:last-child{display:flex;flex-direction:column;min-width:0}.mc-opt b{font-size:14px}.mc-opt small{color:var(--text-soft);font-size:12px}.mc-opt.on{border-color:var(--purple);background:color-mix(in srgb,var(--purple) 12%,var(--surface));box-shadow:inset 0 0 0 1px var(--purple)}.mc-opt:disabled{opacity:.45;cursor:default}.mc-actions{display:flex;gap:12px;align-items:center;margin-top:10px}.cp-overlay{position:fixed;inset:0;z-index:85;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.cp{max-width:860px;margin:0 auto;padding:0 16px 40px}.cp-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 0;background:var(--bg)}.cp-back{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:18px;cursor:pointer;flex:none}.cp-title{display:flex;flex-direction:column;min-width:0}.cp-title b{font-family:var(--font-display);font-size:18px;line-height:1.2;overflow-wrap:anywhere}.cp-title small{color:var(--text-soft);overflow-wrap:anywhere}.cp-tabs{position:sticky;top:64px;z-index:2;display:flex;gap:6px;overflow-x:auto;padding:4px 0 10px;background:var(--bg);scrollbar-width:none}.cp-tabs button,.cp-countries button{flex:none;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;white-space:nowrap}.cp-tabs button.on,.cp-countries button.on{background:var(--purple);border-color:var(--purple);color:#fff}.cp-body{display:flex;flex-direction:column;gap:10px}.cp-pill{align-self:flex-start;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--coral) 15%,var(--surface));color:var(--coral)}.cp-lead{margin:0;line-height:1.6}.cp-h{margin:10px 0 2px;font-family:var(--font-display);font-size:15.5px}.cp-card{border-radius:16px;padding:12px 14px;background:color-mix(in srgb,var(--c) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--c) 30%,var(--border))}.cp-card h4{margin:0 0 6px;font-family:var(--font-display);font-size:15px}.cp-card p{margin:0}.cp-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px}.cp-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.cp-list li{display:flex;gap:8px;line-height:1.5;overflow-wrap:anywhere}.cp-chips{display:flex;flex-wrap:wrap;gap:6px}.cp-chips>span{padding:5px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:13.5px}.cp-ladder{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.cp-ladder li{display:flex;gap:10px;align-items:center;padding:8px 12px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.cp-ladder li b{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--grad-warm);color:#fff;font-size:13px}.cp-tools{display:flex;gap:8px;flex-wrap:wrap}.cp-tools input,.cp-tools select{flex:1 1 200px;min-width:0;font:inherit;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.cp-group{display:flex;flex-direction:column;gap:6px}.cp-word,.cp-phrase{padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px;min-width:0}.cp-word-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cp-word-top b{font-size:15.5px;overflow-wrap:anywhere}.cp-pt{color:var(--text-soft);font-size:13.5px}.cp-word-top .cp-pt{margin-left:auto}.cp-ex{margin:0;font-size:14px;color:var(--text-soft);font-style:italic}.cp-phrase p{margin:0;overflow-wrap:anywhere}.cp-say{display:flex;gap:6px;align-items:center}.cp-questions{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}.cp-questions li{line-height:1.5}.cp-questions li>span{margin-right:4px}.cp-warn{border-radius:16px;padding:12px 14px;border:2px solid var(--amber);background:color-mix(in srgb,var(--amber) 12%,var(--surface));display:flex;flex-direction:column;gap:6px}.cp-warn p{margin:0;line-height:1.5}.cp-warn small{color:var(--text-soft)}.nc{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:20px;background:var(--grad);color:#fff;box-shadow:var(--shadow)}.nc.live{background:var(--grad-warm)}.nc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.nc-kicker{font-weight:800;font-size:13px;opacity:.95}.nc-all{border:none;background:#ffffff2e;color:#fff;border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}.nc-when{font-family:var(--font-display);font-size:20px;line-height:1.2}.nc-sub{opacity:.92;font-size:13.5px}.nc-note{margin:4px 0 0;font-size:14px;background:#ffffff24;border-radius:12px;padding:6px 10px;overflow-wrap:anywhere}.nc-join{margin-top:8px;align-self:stretch;text-align:center;padding:11px;border-radius:14px;background:#fff;color:#0b1b3f;font-weight:800;text-decoration:none}.nc-join.live{animation:nc-pulse 1.6s ease-in-out infinite}@keyframes nc-pulse{0%,to{box-shadow:0 0 #fff9}50%{box-shadow:0 0 0 8px #fff0}}.nc-slim{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;text-align:left;padding:10px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.nc-slim span{font-weight:800}.nc-slim small{color:var(--text-soft)}.mcl-stats{display:flex;gap:8px;flex-wrap:wrap}.mcl-stats span{flex:1 1 90px;border-radius:14px;padding:8px 10px;border:1px solid var(--border);background:var(--surface);font-size:13px;text-align:center}.mcl-stats b{display:block;font-family:var(--font-display);font-size:22px}.mcl-stats .good b{color:var(--primary)}.mcl-stats .warn b{color:var(--amber)}.mcl-stats .bad b{color:var(--red)}.mcl-month{display:flex;align-items:center;justify-content:space-between;gap:8px}.mcl-month b{font-family:var(--font-display)}.mcl-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.mcl-wd{text-align:center;font-size:11px;font-weight:800;color:var(--text-soft)}.mcl-day{height:clamp(38px,11vw,52px);border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;padding:0;min-width:0}.mcl-day:disabled{cursor:default;opacity:.55;background:transparent}.mcl-day i{font-style:normal;font-size:12px;line-height:1}.mcl-day.coming{border-color:var(--purple);background:color-mix(in srgb,var(--purple) 10%,var(--surface))}.mcl-day.good{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.mcl-day.warn{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,var(--surface))}.mcl-day.bad{border-color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--surface))}.mcl-day.cancelled{opacity:.6}.mcl-day.today{box-shadow:inset 0 0 0 2px var(--coral)}.mcl-day.picked{outline:2px solid var(--text);outline-offset:1px}.mcl-legend{margin:0;font-size:12px}.mcl-item,.tc-row,.tc-next,.tc-series{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.mcl-item>span:first-child,.tc-when,.tc-next>span:first-child,.tc-series>span:first-child{display:flex;flex-direction:column;min-width:0;flex:1 1 200px}.mcl-item.cancelled,.tc-row.cancelled{opacity:.6}.tc{display:flex;flex-direction:column;gap:12px}.tc-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.tc-top .th-intro{margin:0;flex:1 1 260px}.tc-box{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface-2, var(--surface))}.tc-box.warn{border-color:color-mix(in srgb,var(--amber) 55%,var(--border));background:color-mix(in srgb,var(--amber) 8%,var(--surface))}.tc-box h3{margin:0;font-family:var(--font-display);font-size:16px}.tc-sub{margin:-2px 0 2px;font-size:13px}.tc-row.live{border-color:var(--coral);box-shadow:0 0 0 2px color-mix(in srgb,var(--coral) 30%,transparent)}.tc-row-actions,.tc-next-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tc-row-actions a{text-decoration:none}.tc-more{position:relative}.tc-more summary{list-style:none;cursor:pointer;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);background:var(--surface);font-weight:800}.tc-more summary::-webkit-details-marker{display:none}.tc-more>div{position:absolute;right:0;top:40px;z-index:5;display:flex;flex-direction:column;min-width:220px;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.tc-more>div button{border:none;background:transparent;color:var(--text);text-align:left;padding:9px 10px;border-radius:10px;font:inherit;cursor:pointer}.tc-more>div button:hover{background:var(--surface-2)}.tc-more>div button.danger{color:var(--red)}.tc-cancelled summary{cursor:pointer;font-weight:700;font-size:13.5px;padding:4px 0}.tc-mark{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.tc-mark-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.tc-mark-btns{display:flex;gap:4px}.tc-mk{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:5px 8px;font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.tc-mk small{font-size:11.5px}.tc-mk.on.good{background:color-mix(in srgb,var(--primary) 18%,var(--surface));border-color:var(--primary)}.tc-mk.on.warn{background:color-mix(in srgb,var(--amber) 22%,var(--surface));border-color:var(--amber)}.tc-mk.on.bad{background:color-mix(in srgb,var(--red) 15%,var(--surface));border-color:var(--red)}.tc-past-head{display:flex;justify-content:space-between;align-items:center;border:none;background:transparent;color:var(--text);padding:0;font:inherit;cursor:pointer;text-align:left}.tc-today{display:flex;flex-direction:column;gap:8px}.ce-help{margin:0;font-size:13px}.ce-students{display:flex;flex-wrap:wrap;gap:6px;max-height:190px;overflow-y:auto}.ce-all{align-self:flex-start;font-size:13px}.ce-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:420px){.tc-mk small{display:none}}@media(prefers-reduced-motion:reduce){.nc-join.live{animation:none}}.cl-head small{font-weight:600;color:var(--text-soft);margin-left:6px;font-size:12.5px}.hero-sprite{image-rendering:pixelated;image-rendering:crisp-edges;display:block}.hf-hero-intro{display:flex;align-items:center;gap:12px;margin:0 0 6px}.hf-hero-intro .ioa-intro{margin:0}.hf-intro-sprite{width:96px;height:96px;flex-shrink:0;border-radius:18px;background:radial-gradient(circle at 50% 35%,#3a3f5c,#1b1e30)}.hf-spot{padding:10px 18px 0;background:radial-gradient(ellipse at 50% 22%,#4a5070,#2a2e45 55%,#181a2a);box-shadow:inset 0 -30px 34px -24px #000,var(--shadow-sm)}.hf-spot:after{background:radial-gradient(ellipse at 50% 100%,rgba(255,170,80,.28),transparent 70%);height:44px}.hf-figure{width:clamp(230px,36dvh,320px);height:clamp(230px,36dvh,320px);position:relative;z-index:1;filter:drop-shadow(0 6px 0 rgba(0,0,0,.35))}.hf-spot .of-hint{color:#e8e6f5}.hf-turn{position:absolute;top:10px;left:10px;z-index:2;width:32px;height:32px;border:none;border-radius:50%;background:#ffffffe0;color:#16123a;font:inherit;font-size:17px;font-weight:900;cursor:pointer;box-shadow:var(--shadow-sm)}.hf-tiles .of-tile-pic,.hf-swatch{background:radial-gradient(circle at 50% 40%,#3a3f5c,#1f2236)}.hf-tile-pic{padding:0;overflow:hidden}.hf-tile-img{width:100%;height:100%;transform:scale(1.3) translateY(4%)}.hf-swatch .hf-tile-img{height:84px;width:84px;margin:0 auto}.hf-swatch span{color:#fff}.hf-swatch.on{border-color:var(--coral)}.hf-credits-link{display:block;margin:14px auto 0}.hf-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:0 0 10px}.hf-word{display:flex;align-items:center;gap:8px;padding:6px;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.hf-word .hf-tile-img{width:56px;height:56px;flex-shrink:0;border-radius:10px;background:#262a40;transform:none}.hf-word span{display:flex;flex-direction:column;min-width:0;font-size:13.5px}.hf-word small{color:var(--text-soft)}.hf-metals{font-weight:700}.hf-metals small{font-weight:500;color:var(--text-soft)}.hf-gamer{display:flex;flex-direction:column;gap:8px}.hf-gw{padding:10px 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface)}.hf-gw p{margin:0 0 3px;font-size:14px}.hf-gw .hf-ex{margin:0;color:var(--text-soft);font-style:italic}.hf-lic{font-size:12.5px}.hf-credits{display:flex;flex-direction:column;gap:8px}.hf-credit{padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font-size:13px;overflow-wrap:anywhere}.hf-credit p{margin:6px 0 0}.cq-sudden{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;margin:4px 0 14px;border:none;border-radius:22px;cursor:pointer;font:inherit;color:#fff;background:linear-gradient(135deg,#0b1b3f,#3a1d6e 60%,#7a1f3d);box-shadow:var(--shadow)}.cq-sudden-ic{font-size:34px;line-height:1}.cq-sudden b{display:block;font-family:var(--font-display);font-size:18px}.cq-sudden small{display:block;opacity:.85;font-size:13px}.cq-sudden>span:nth-child(2){flex:1;min-width:0}.cq-best{flex-shrink:0;background:#ffffff29;padding:6px 10px;border-radius:999px;font-weight:800;font-size:12.5px;white-space:nowrap}.cq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cq-done{margin-top:14px}.cq-done>summary{cursor:pointer;font-weight:700;padding:10px 2px;color:var(--text-soft)}.cq-card.done{opacity:.78}.cq-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border-radius:20px;border:none;cursor:pointer;font:inherit;color:var(--text);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 22%,var(--surface)),color-mix(in srgb,var(--c) 8%,var(--surface)));box-shadow:var(--shadow-sm)}.cq-emoji{font-size:30px;line-height:1.1}.cq-card b{font-family:var(--font-display);font-size:15px;line-height:1.25}.cq-card small{color:var(--text-soft);font-size:12.5px}.cq-meta{margin-top:auto;padding-top:6px;font-size:11.5px;font-weight:800;color:var(--c-strong, var(--c))}.cq-q{position:relative;display:grid;place-items:center;text-align:center;min-height:180px;padding:22px 18px 30px;margin:6px 0 12px;border-radius:22px;color:#fff;background:radial-gradient(ellipse at 20% 15%,color-mix(in srgb,#fff 35%,var(--c)) 0%,transparent 55%),radial-gradient(ellipse at 85% 90%,color-mix(in srgb,#000 25%,var(--c)) 0%,transparent 60%),var(--c);box-shadow:var(--shadow)}.cq-q h3{margin:0;font-family:var(--font-display);font-size:clamp(20px,5.6vw,28px);line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.25)}.cq-q .speak-btn{position:absolute;right:10px;bottom:8px}.cq-from{position:absolute;top:10px;left:12px;font-size:12px;font-weight:800;background:#fff3;padding:3px 9px;border-radius:999px}.cq-options{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}.cq-opt{width:100%;text-align:left;padding:14px 16px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:700;font-size:15.5px;cursor:pointer;transition:transform .12s,border-color .12s}.cq-opt:not(:disabled):hover{border-color:var(--purple);transform:translateY(-1px)}.cq-opt.right{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 14%,var(--surface))}.cq-opt.right:before{content:"✅ "}.cq-opt.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 12%,var(--surface));text-decoration:line-through}.cq-opt.dim{opacity:.55}.cq-opt:disabled{cursor:default}.cq-reveal{padding:14px 16px 16px;margin:0 0 14px;border-radius:20px;background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);animation:of-pop2 .3s ease-out both}@keyframes of-pop2{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cq-reveal.good{border-color:color-mix(in srgb,var(--primary) 55%,var(--border))}.cq-reveal.bad{border-color:color-mix(in srgb,var(--red) 45%,var(--border))}.cq-verdict{margin:0 0 6px;font-family:var(--font-display);font-size:19px;font-weight:800}.cq-reveal.good .cq-verdict{color:var(--primary-strong)}.cq-reveal.bad .cq-verdict{color:var(--red-strong)}.cq-fact{margin:0 0 6px;font-weight:600;line-height:1.5}.cq-photo{margin:10px 0 12px;border-radius:14px;overflow:hidden}.cq-photo img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.cq-photo figcaption{font-size:11.5px;color:var(--text-soft);padding:5px 2px 0}.cq-photo figcaption a{color:inherit}.cq-photo.none{display:grid;place-items:center;aspect-ratio:16/7;color:#fff;font-family:var(--font-display);font-weight:800;font-size:18px;text-transform:capitalize;background:linear-gradient(135deg,var(--c),color-mix(in srgb,#000 25%,var(--c)))}.cq-next{width:100%}.cq-record{font-weight:800;color:var(--coral-strong, var(--coral))}@media(prefers-reduced-motion:reduce){.cq-reveal{animation:none}.cq-opt{transition:none}}.rpg-town{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:stretch;margin:0 0 12px}@media(max-width:380px){.rpg-town{grid-template-columns:120px 1fr}}.rpg-town-stage{position:relative;border-radius:20px;overflow:hidden;display:grid;place-items:end center;min-height:170px;background:linear-gradient(180deg,#8fd3ff,#cdebff 55%,#7cc46a 56%,#4e9a45)}.rpg-town-stage:before{content:"";position:absolute;left:8%;bottom:44%;width:46px;height:40px;background:#c96b3c;clip-path:polygon(0 45%,50% 0,100% 45%,100% 100%,0 100%);box-shadow:inset 0 -14px #e8d2a8}.rpg-place{position:absolute;top:8px;left:8px;z-index:2;font-size:11px;font-weight:800;color:#fff;background:#0b1b3f8c;padding:3px 8px;border-radius:999px}.rpg-town-stage .of-look-btn{top:auto;bottom:8px;right:8px;font-size:11.5px}.rpg-town-hero{width:128px;height:128px;position:relative;z-index:1;margin-bottom:-6px}.rpg-sheet{display:flex;flex-direction:column;gap:8px;justify-content:center;padding:12px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);min-width:0}.rpg-name{margin:0;font-family:var(--font-display);font-weight:800;font-size:18px;line-height:1.2}.rpg-name small{display:block;font-family:var(--font);font-weight:700;font-size:12.5px;color:var(--text-soft)}.rpg-stats{display:flex;flex-wrap:wrap;gap:6px}.rpg-stats span{font-size:12.5px;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--surface-2)}.rpg-bar{position:relative;height:16px;border-radius:999px;background:#0000002e;overflow:hidden}.rpg-bar i{position:absolute;inset:0 auto 0 0;border-radius:999px;transition:width .45s ease}.rpg-bar.hp i{background:linear-gradient(90deg,#e94f4f,#ff8a5b)}.rpg-bar.mp i{background:linear-gradient(90deg,#2f6bff,#5ed0ff)}.rpg-bar.xp{background:var(--surface-2)}.rpg-bar.xp i{background:var(--grad-warm)}.rpg-bar span{position:relative;display:block;text-align:center;font-size:10.5px;font-weight:900;line-height:16px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.rpg-bar.xp span{color:var(--text);text-shadow:none}.rpg-menu{display:flex;flex-direction:column;gap:10px}.rpg-go{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:14px 16px;border:none;border-radius:20px;color:#fff;font:inherit;cursor:pointer;box-shadow:var(--shadow)}.rpg-go b{display:block;font-family:var(--font-display);font-size:16.5px}.rpg-go small{display:block;opacity:.88;font-size:12.5px}.rpg-go-ic{font-size:32px}.rpg-go.woods{background:linear-gradient(135deg,#1e6b3a,#3fa34d 60%,#8bc34a)}.rpg-go.boss{background:linear-gradient(135deg,#3a1d2e,#7a2244 55%,#c2333d)}.rpg-go.locked{filter:grayscale(.8);opacity:.7;cursor:not-allowed}.rpg-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rpg-small{padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:800;font-size:13.5px;cursor:pointer}.rpg-small:disabled{opacity:.5;cursor:not-allowed}.rpg-foot{text-align:center;margin:14px 0 0;font-size:13px}.rpg-tiers{display:flex;flex-direction:column;gap:8px}.rpg-tier{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);opacity:.65}.rpg-tier.open{opacity:1;border-color:color-mix(in srgb,var(--primary) 45%,var(--border))}.rpg-tier p{margin:2px 0 0;font-size:13.5px}.rpg-tier-sprite{width:84px;height:84px;flex-shrink:0;border-radius:14px;background:radial-gradient(circle at 50% 40%,#3a3f5c,#1f2236)}.rpg-classes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}@media(max-width:520px){.rpg-classes{grid-template-columns:repeat(2,minmax(0,1fr))}}.rpg-class{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px 10px;border-radius:18px;border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-align:center}.rpg-class.on{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 25%,transparent)}.rpg-class-sprite{width:96px;height:96px;border-radius:14px;background:radial-gradient(circle at 50% 40%,#3a3f5c,#1f2236)}.rpg-class small{font-size:11.5px;color:var(--text-soft);line-height:1.3}.rpg-class-info{padding:12px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--border);margin:0 0 10px}.rpg-class-info>p{margin:0 0 6px}.rpg-skills-info{margin:8px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13.5px}.rpg-name-field{display:flex;flex-direction:column;gap:4px;font-weight:800;font-size:13px;margin:0 0 6px}.rpg-name-field input{padding:11px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:16px}.rpg-start{width:100%;margin-top:10px}.rpg-battle{max-width:640px;margin:0 auto}.rpg-scene{position:relative;height:clamp(230px,38dvh,300px);border-radius:22px;overflow:hidden;margin:0 0 8px;background:radial-gradient(ellipse at 80% 15%,rgba(255,240,180,.55),transparent 40%),linear-gradient(180deg,#2c5e4a,#3f7f59 45%,#5d9a52 64%,#3e7337)}.rpg-scene:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 40px 90px at 6% 45%,#1E4434 98%,transparent),radial-gradient(ellipse 50px 110px at 22% 35%,#234D3A 98%,transparent),radial-gradient(ellipse 46px 100px at 92% 40%,#1E4434 98%,transparent),radial-gradient(ellipse 36px 80px at 76% 48%,#2A5A43 98%,transparent)}.rpg-scene:after{content:"";position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.22))}.rpg-scene.boss{background:radial-gradient(ellipse at 50% 20%,rgba(255,120,80,.35),transparent 45%),linear-gradient(180deg,#2a1b2e,#4a2a3a 50%,#3c3a2a 66%,#262619)}.rpg-hud{position:absolute;top:10px;z-index:3;width:44%;padding:6px 8px;border-radius:12px;background:#0b10209e;color:#fff;font-size:13px;display:flex;flex-direction:column;gap:3px}.rpg-hud.left{left:10px}.rpg-hud.right{right:10px;text-align:right}.rpg-hud small{opacity:.8;font-weight:700}.rpg-hud .rpg-bar{height:13px}.rpg-hud .rpg-bar span{line-height:13px;font-size:9.5px}.rpg-status{color:#ffe15a}.rpg-hero-spot,.rpg-foe-spot{position:absolute;bottom:6%;z-index:2;transition:transform .2s ease}.rpg-hero-spot{left:6%}.rpg-foe-spot{right:6%}.rpg-battle-hero{width:clamp(120px,34vw,170px);height:clamp(120px,34vw,170px)}.rpg-monster{width:clamp(110px,32vw,160px);height:auto;display:block;filter:drop-shadow(0 6px 0 rgba(0,0,0,.25))}.rpg-monster.big{width:clamp(150px,42vw,210px)}.rpg-hero-spot.lunge{transform:translate(26px)}.rpg-foe-spot.lunge{transform:translate(-26px)}.hurt{animation:rpg-hurt .45s ease}@keyframes rpg-hurt{0%,to{transform:none;filter:none}20%{transform:translate(-7px);filter:brightness(2.2) saturate(.2)}40%{transform:translate(7px)}60%{transform:translate(-4px)}}.rpg-foe-spot.down{animation:rpg-down .7s ease forwards}@keyframes rpg-down{to{opacity:0;transform:translateY(20px) scale(.85)}}.rpg-aura{position:absolute;top:-6px;right:-6px;font-size:26px;animation:of-pop2 .3s ease-out both}.rpg-pop{position:absolute;left:50%;top:10%;transform:translate(-50%);font-family:var(--font-display);font-weight:900;font-size:26px;color:#fff;text-shadow:0 2px 0 #000,0 0 8px rgba(0,0,0,.6);pointer-events:none;animation:rpg-float 1.1s ease-out forwards;white-space:nowrap}.rpg-pop.crit{color:#ffe15a;font-size:34px}.rpg-pop.crit:after{content:" CRIT!";font-size:16px}.rpg-pop.heal{color:#7cf29a}.rpg-pop.miss{color:#d7dcea;font-size:20px}@keyframes rpg-float{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}15%{opacity:1;transform:translate(-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-46px) scale(1)}}.rpg-log{min-height:46px;margin:0 0 8px;padding:8px 12px;border-radius:14px;background:#141a2e;color:#fff;font-size:14px;font-weight:600}.rpg-log p{margin:0;display:flex;align-items:center;gap:6px}.rpg-log p.old{opacity:.5;font-size:12.5px;font-weight:500}.rpg-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rpg-skill{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 12px;border-radius:16px;border:none;text-align:left;font:inherit;cursor:pointer;color:#fff;background:linear-gradient(160deg,#2a3366,#1a1f3d);box-shadow:inset 0 -3px #0000004d,var(--shadow-sm)}.rpg-skill:not(:disabled):active{transform:translateY(2px)}.rpg-skill-ic{font-size:22px}.rpg-skill b{font-size:14.5px}.rpg-skill small{font-size:11.5px;opacity:.78}.rpg-skill.potion{background:linear-gradient(160deg,#2e6b4a,#1b3e2c)}.rpg-skill:disabled{opacity:.45;cursor:not-allowed}.rpg-run{grid-column:1 / -1;justify-self:center}.rpg-tip{grid-column:1 / -1;margin:0;text-align:center;font-size:12.5px;color:var(--text-soft)}.rpg-question{padding:12px 14px 14px;border-radius:18px;background:var(--surface);border:2px solid var(--purple);box-shadow:var(--shadow);animation:of-pop2 .25s ease-out both}.rpg-q-kind{margin:0 0 4px;font-size:12px;font-weight:800;color:var(--purple-strong, var(--purple));text-transform:none}.rpg-q-text{margin:0 0 10px;font-family:var(--font-display);font-size:18px;font-weight:800;line-height:1.35;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rpg-q-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rpg-opt{padding:12px 10px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;font-weight:800;font-size:15px;cursor:pointer;overflow-wrap:anywhere}.rpg-opt.right{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 18%,var(--surface))}.rpg-opt.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 14%,var(--surface));text-decoration:line-through}.rpg-opt.dim{opacity:.5}.rpg-q-fix{margin:10px 0 0;font-size:14px}.rpg-end{position:relative;text-align:center;padding:16px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;align-items:center}.rpg-end p{margin:0}.rpg-end-title{font-family:var(--font-display);font-size:26px;font-weight:900}.rpg-end.won .rpg-end-title{color:var(--coral-strong, var(--coral))}.rpg-levelup{width:100%;padding:10px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--amber) 22%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--amber) 45%,var(--border))}.rpg-lv{font-family:var(--font-display);font-weight:900;font-size:20px;color:var(--amber-strong, #B07A00)}.rpg-unlock{display:flex;align-items:center;gap:10px;text-align:left;margin-top:6px}.rpg-missed{width:100%;text-align:left;padding:10px 12px;border-radius:14px;background:var(--surface-2)}.rpg-missed-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:4px 0;font-size:14px}@media(prefers-reduced-motion:reduce){.hurt,.rpg-foe-spot.down,.rpg-pop,.rpg-question{animation:none}.rpg-hero-spot,.rpg-foe-spot{transition:none}}.rpg-shop{margin:0 0 12px}.rpg-tabs{display:flex;gap:6px;margin:0 0 12px;padding:4px;border-radius:16px;background:var(--surface-2)}.rpg-tabs button{flex:1;padding:9px 6px;border:none;border-radius:12px;background:transparent;color:var(--text-soft);font:inherit;font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}.rpg-tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.rpg-map{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;position:relative}.rpg-zone{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:16px;border:2px solid transparent;color:#fff;font:inherit;cursor:pointer;box-shadow:var(--shadow-sm)}.rpg-zone b{display:block;font-family:var(--font-display);font-size:15px}.rpg-zone small{display:block;opacity:.85;font-size:12px}.rpg-zone-ic{font-size:26px}.rpg-zone.on{border-color:#ffe15a;box-shadow:0 0 0 3px #ffe15a59,var(--shadow)}.rpg-zone.locked{filter:grayscale(.85);opacity:.6;cursor:not-allowed}.rpg-zone.woods,.rpg-go.woods,.rpg-zone-card.woods{background:linear-gradient(135deg,#1e6b3a,#3fa34d 60%,#8bc34a)}.rpg-zone.caves,.rpg-go.caves,.rpg-zone-card.caves{background:linear-gradient(135deg,#1b1f3d,#2e3a78 55%,#4fb3c9)}.rpg-zone.peaks,.rpg-go.peaks,.rpg-zone-card.peaks{background:linear-gradient(135deg,#3a5878,#6e9cc4 55%,#cfe6f7)}.rpg-zone.tower,.rpg-go.tower,.rpg-zone-card.tower{background:linear-gradient(135deg,#2a0f14,#6e1a1f 55%,#e0782e)}.rpg-zone-card{padding:12px 14px;border-radius:18px;margin:0 0 10px;color:#fff;background:var(--grad)}.rpg-zone-card p{margin:0 0 4px}.rpg-zone-card .pt-hint,.rpg-zone-card .muted{color:#ffffffd9}.rpg-zone-title{font-family:var(--font-display);font-weight:900;font-size:18px;display:flex;align-items:center;gap:6px}.rpg-zone-desc{font-weight:600}.rpg-warn{background:#00000040;padding:4px 8px;border-radius:10px;font-size:12.5px;font-weight:700}.rpg-scene.caves{background:radial-gradient(circle at 20% 30%,rgba(124,242,255,.35),transparent 18%),radial-gradient(circle at 78% 22%,rgba(180,140,255,.35),transparent 16%),linear-gradient(180deg,#11142a,#232a55 55%,#2d2f45 64%,#1a1b2a)}.rpg-scene.caves:before{background:linear-gradient(160deg,transparent 0 40%,rgba(124,242,255,.25) 41% 43%,transparent 44%),linear-gradient(20deg,transparent 0 70%,rgba(180,140,255,.25) 71% 73%,transparent 74%)}.rpg-scene.peaks{background:radial-gradient(ellipse at 70% 10%,#fff,transparent 35%),linear-gradient(180deg,#8db7dd,#c9e2f5 55%,#eef6fc 64%,#cfe0ee)}.rpg-scene.peaks:before{background:linear-gradient(135deg,transparent 0 55%,#9FB9D1 55% 62%,transparent 62%),linear-gradient(225deg,transparent 0 50%,#B7CDE0 50% 58%,transparent 58%)}.rpg-scene.tower{background:radial-gradient(ellipse at 50% 100%,rgba(255,120,40,.55),transparent 50%),linear-gradient(180deg,#1a0a0e,#3e1418 50%,#2a1a1a 64%,#140a0a)}.rpg-scene.tower:before{background:linear-gradient(90deg,transparent 0 44%,#0E0507 44% 56%,transparent 56%);opacity:.6}.rpg-scene.world{background:radial-gradient(ellipse at 50% 30%,rgba(255,225,90,.35),transparent 45%),linear-gradient(180deg,#1b1240,#3a1d6e 55%,#2a1f48 64%,#120c26)}.rpg-scene.world:before{background:radial-gradient(circle at 15% 20%,#fff 1px,transparent 2px),radial-gradient(circle at 40% 12%,#fff 1px,transparent 2px),radial-gradient(circle at 85% 28%,#fff 1px,transparent 2px),radial-gradient(circle at 62% 8%,#fff 1.5px,transparent 2.5px)}.rpg-scene.peaks .rpg-hud,.rpg-scene.peaks+.rpg-log{background:#0b1020b8}.rpg-dealt{margin:2px 0 0;font-family:var(--font-display);font-weight:900;font-size:20px;color:#ffe15a}.rpg-dealt small{font-size:11px;color:#fff;opacity:.8}.rpg-newzone{font-weight:800;color:var(--primary-strong)}.rpg-questnews{width:100%;padding:8px 12px;border-radius:14px;background:color-mix(in srgb,var(--amber) 14%,var(--surface));text-align:left}.rpg-questnews p{margin:2px 0;font-weight:700;font-size:14px}.rpg-quests{display:flex;flex-direction:column;gap:8px}.rpg-quests .section-label{margin:8px 0 0}.rpg-quest{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}.rpg-quest>div{flex:1;min-width:0}.rpg-quest b{display:block}.rpg-quest small{display:block;color:var(--text-soft);font-size:12.5px}.rpg-quest.offer{cursor:pointer;flex-wrap:wrap}.rpg-quest.done{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.rpg-npc{font-size:28px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--surface-2);flex-shrink:0}.rpg-npc.big{font-size:38px;width:58px;height:58px}.rpg-reward{font-size:12px;font-weight:800;color:var(--coral-strong, var(--coral));margin:0}.rpg-quest.offer .rpg-reward{flex-basis:100%;padding-left:52px}.rpg-bar.mini{height:7px;margin-top:4px}.rpg-handin{padding:8px 12px;font-size:13px;flex-shrink:0}.rpg-quest .rpg-handin,.rpg-ui .rpg-quest .rpg-handin{width:auto;flex:0 0 auto;margin:0;white-space:nowrap}.rpg-quest-read{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.rpg-quest-read>p{margin:0}.rpg-npc-name{display:flex;align-items:center;gap:10px}.rpg-npc-name b{display:block;font-size:16px}.rpg-npc-name small{color:var(--text-soft)}.rpg-quest-title{font-family:var(--font-display);font-weight:900;font-size:18px}.rpg-quest-text{font-size:16.5px;line-height:1.6;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,#F2E3C2 55%,var(--surface));border-left:4px solid #B07A3A;font-family:Georgia,Times New Roman,serif}.rpg-q-options.one{grid-template-columns:1fr}.rpg-world{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;padding:12px;border-radius:20px;color:#fff;margin:0 0 10px;background:radial-gradient(ellipse at 20% 40%,rgba(255,225,90,.25),transparent 50%),linear-gradient(135deg,#1b1240,#3a1d6e 60%,#6b2a7a)}.rpg-world-art .rpg-monster{width:120px}.rpg-world-art .down-still{opacity:.45;filter:grayscale(1)!important}.rpg-world-info p{margin:0}.rpg-world-kicker{font-size:11.5px;font-weight:800;opacity:.85}.rpg-world-name{font-family:var(--font-display);font-weight:900;font-size:19px}.rpg-world-desc{font-size:12.5px;opacity:.9;margin:2px 0 8px!important}.rpg-bar.big{height:20px}.rpg-bar.big span{line-height:20px;font-size:11.5px}.rpg-world-info small{display:block;margin-top:4px;color:#ffffffd9!important}.rpg-world-win{text-align:center;padding:12px;border-radius:16px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));margin:0 0 10px}.rpg-world-win p{margin:0 0 8px;font-weight:800}.rpg-board{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);margin:0 0 10px}.rpg-board .section-label{margin:0 0 4px}.rpg-board-row{display:flex;align-items:center;gap:8px;margin:0;padding:5px 0;font-size:14px;border-bottom:1px solid var(--border)}.rpg-board-row:last-child{border-bottom:none}.rpg-board-row b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpg-board-row.me{color:var(--purple-strong, var(--purple));font-weight:800}.rpg-village{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;padding:10px;border-radius:18px;margin:0 0 10px;background:linear-gradient(180deg,#cdebff 0% 40%,#7cc46a 41%,#4e9a45)}.rpg-villager{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px;border-radius:12px;background:#ffffff8c;color:#0b1b3f}.rpg-villager.me{background:#ffe15ab3}.rpg-villager-sprite{width:72px;height:72px}.rpg-villager b{font-size:12.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpg-villager small{font-size:11px}.rpg-refresh{display:block;margin:0 auto}@media(max-width:380px){.rpg-world{grid-template-columns:90px 1fr}.rpg-world-art .rpg-monster{width:90px}.rpg-tabs button{font-size:12px}}.rpg-world+.rpg-go,.rpg-world-win{margin-bottom:12px}.rpg-ui{--wood:#6B4423;--wood-2:#4A2E17;--parch:#F6E7C1;--parch-2:#EAD3A0;--ink:#3A2410;--gold:#E8C26A}.rpg-ui .rpg-name,.rpg-ui .rpg-zone-title,.rpg-ui .rpg-end-title,.rpg-ui .rpg-quest-title,.rpg-ui .rpg-world-name,.rpg-ui .rpg-lv,.rpg-ui .section-label,.rpg-ui .rpg-go b{font-family:Cinzel,Georgia,Times New Roman,serif;letter-spacing:.2px}.rpg-ui .section-label{color:var(--ink);font-weight:900}.rpg-panel,.rpg-ui .rpg-sheet,.rpg-ui .rpg-board,.rpg-ui .rpg-quest,.rpg-ui .rpg-quest-read,.rpg-ui .rpg-question,.rpg-ui .rpg-end,.rpg-ui .rpg-class-info,.rpg-ui .rpg-tier{background:linear-gradient(180deg,var(--parch),var(--parch-2));color:var(--ink);border:2px solid #8B5A2B;box-shadow:inset 0 0 0 2px #ffffff59,0 3px #3a241040}.rpg-ui .rpg-sheet small,.rpg-ui .rpg-quest small,.rpg-ui .muted,.rpg-ui .rpg-tip{color:#6b4f33}.rpg-ui .rpg-stats span{background:#8b5a2b24;color:var(--ink)}.rpg-ui .rpg-bar{border:2px solid #3A2410;background:#2a1a10}.rpg-ui .rpg-bar.xp span{color:#fff4d6;text-shadow:0 1px 2px #000}.rpg-ui .rpg-bar.xp i{background:linear-gradient(90deg,#e8a33a,#ffe15a)}.rpg-ui .rpg-tabs{background:linear-gradient(180deg,var(--wood),var(--wood-2));border:2px solid #2E1C0C;padding:5px}.rpg-ui .rpg-tabs button{color:#f6e7c1;font-family:Cinzel,Georgia,serif}.rpg-ui .rpg-tabs button.on{background:linear-gradient(180deg,var(--parch),var(--parch-2));color:var(--ink);box-shadow:inset 0 0 0 1px #8b5a2b}.rpg-ui .rpg-small{background:linear-gradient(180deg,#8B5A2B,var(--wood-2));color:#fff4d6;border:2px solid #2E1C0C;box-shadow:inset 0 2px #ffffff2e,0 3px #2e1c0c}.rpg-ui .rpg-small:not(:disabled):active{transform:translateY(2px);box-shadow:inset 0 2px #ffffff2e,0 1px #2e1c0c}.rpg-ui .rpg-go{border:2px solid var(--gold);box-shadow:inset 0 0 0 2px #00000040,0 4px #0000004d}.rpg-ui .rpg-go:not(:disabled):active{transform:translateY(2px)}.rpg-ui .rpg-skill{border:2px solid #C9A24A;box-shadow:inset 0 -3px #0000004d,0 3px #0000004d}.rpg-ui .rpg-opt{background:#fff8e6;border-color:#c9a673;color:var(--ink)}.rpg-ui .rpg-question{border-color:var(--gold)}.rpg-ui .rpg-q-kind{color:#8b5a2b}.rpg-ui .rpg-board-row{border-color:#8b5a2b4d}.rpg-ui .rpg-board-row.me{color:#9c4a10}.rpg-ui .rpg-log{border:2px solid #C9A24A;background:linear-gradient(180deg,#1b1530,#0f0b20)}.rpg-ui .rpg-quest-text{background:#ffffff73}.rpg-ui .rpg-end .rpg-missed{background:#fff6}.rpg-sound{font-size:20px;text-decoration:none}.rpg-ui .rpg-town{grid-template-columns:1fr;gap:10px}.rpg-ui .rpg-town-stage{min-height:0;height:clamp(160px,26dvh,220px);background:#8fd3ff;border:3px solid #8B5A2B;box-shadow:inset 0 0 0 2px #ffffff4d,var(--shadow-sm)}.rpg-ui .rpg-town-stage:before{display:none}.rpg-ui .rpg-town-hero{width:clamp(110px,32vw,150px);height:clamp(110px,32vw,150px);margin-bottom:2%}.rpg-ui .rpg-place{font-family:Cinzel,Georgia,serif;background:#3a2410bf;border:1px solid var(--gold);color:#fff4d6;font-size:12px;padding:4px 10px}.bd{position:absolute;inset:0;width:100%;height:100%;display:block}.rpg-scene.art{background:#111}.rpg-scene.art:before,.rpg-scene.art:after{display:none}.rpg-scene.art .rpg-hud,.rpg-scene.art .rpg-hero-spot,.rpg-scene.art .rpg-foe-spot{z-index:3}.rpg-scene.art .rpg-hud{border:1px solid rgba(232,194,106,.6)}@media(prefers-reduced-motion:no-preference){.bd-far{animation:bd-sway 9s ease-in-out infinite alternate}.bd-mid{animation:bd-sway 6s ease-in-out infinite alternate-reverse}.bd-clouds{animation:bd-drift 30s linear infinite alternate}.bd-firefly{animation:bd-fly 4s ease-in-out infinite alternate}.bd-snow circle{animation:bd-snow 6s linear infinite}.bd-ember{animation:bd-ember 3s ease-out infinite}.bd-pulse{animation:bd-pulse 3s ease-in-out infinite alternate}.bd-pulse.slow{animation-duration:5s}.bd-twinkle{animation:bd-twinkle 2.5s ease-in-out infinite alternate}.bd-bolt{animation:bd-bolt 4s steps(1) infinite}.bd-lava{animation:bd-pulse 2s ease-in-out infinite alternate}}@keyframes bd-sway{0%{transform:translate(-4px)}to{transform:translate(4px)}}@keyframes bd-drift{0%{transform:translate(-20px)}to{transform:translate(30px)}}@keyframes bd-fly{0%{transform:translate(0);opacity:.2}to{transform:translate(12px,-16px);opacity:1}}@keyframes bd-snow{0%{transform:translateY(-40px)}to{transform:translateY(260px)}}@keyframes bd-ember{0%{transform:translateY(40px);opacity:1}to{transform:translateY(-80px);opacity:0}}@keyframes bd-pulse{0%{opacity:.55}to{opacity:1}}@keyframes bd-twinkle{0%{opacity:.25}to{opacity:1}}@keyframes bd-bolt{0%,90%{opacity:0}92%,96%{opacity:1}}.wm{position:relative;width:100%;border-radius:22px;overflow:hidden;border:3px solid #8B5A2B;box-shadow:inset 0 0 0 2px #ffffff4d,var(--shadow);margin:0 0 10px;background:#1c3d6e}.wm-svg{display:block;width:100%;height:100%}.wm-stop{cursor:pointer}.wm-stop.shut{cursor:not-allowed}.wm-stop:focus{outline:none}.wm-stop:focus-visible circle{stroke:#ffe15a}.wm-hero{position:absolute;width:20%;transform:translate(-50%,-96%);transition:left .9s ease-in-out,top .9s ease-in-out;pointer-events:none;z-index:2}.wm-hero-sprite{width:100%;height:auto;aspect-ratio:1;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35))}@media(prefers-reduced-motion:no-preference){.wm-pulse{animation:bd-pulse 1.6s ease-in-out infinite alternate}.wm-pulse.slow{animation-duration:3s}.wm-flow{animation:wm-flow 2s linear infinite}.wm-fog{animation:wm-fog 7s ease-in-out infinite alternate}.wm-smoke{animation:wm-smoke 5s ease-in-out infinite alternate}.wm-waves{animation:bd-sway 4s ease-in-out infinite alternate}}@keyframes wm-flow{to{stroke-dashoffset:-32}}@keyframes wm-fog{0%{transform:translate(-8px)}to{transform:translate(8px)}}@keyframes wm-smoke{0%{transform:translateY(0);opacity:.4}to{transform:translateY(-8px);opacity:.7}}.rpg-map-tip{margin:0 0 10px;font-size:13px;text-align:center;color:var(--ink, var(--text))}.rpg-village-scene{position:relative;height:clamp(200px,34dvh,260px);border-radius:20px;overflow:hidden;border:3px solid #8B5A2B;margin:0 0 12px}.rpg-village-scene .rpg-villager{position:absolute;width:min(19%,92px);display:flex;flex-direction:column;align-items:center;padding:0;background:none;transform:translate(-50%);z-index:1}.rpg-village-scene .rpg-villager.front{z-index:2;width:min(24%,120px)}.rpg-village-scene .rpg-villager-sprite{width:100%;height:auto;aspect-ratio:1}.rpg-nameplate{margin-top:-6px;font-size:10.5px;font-weight:800;color:#fff4d6;background:#3a2410d1;border:1px solid var(--gold, #E8C26A);padding:1px 6px;border-radius:8px;white-space:nowrap;max-width:130%;overflow:hidden;text-overflow:ellipsis}.rpg-nameplate small{opacity:.85;font-size:9.5px}.rpg-villager.me .rpg-nameplate{background:#9c4a10}.rpg-fx{position:absolute;inset:0;pointer-events:none;z-index:4}.fx-slash:before,.fx-stab:before,.fx-claw:before,.fx-claw:after{content:"";position:absolute;left:15%;top:20%;width:70%;height:60%;border-top:5px solid #fff;border-radius:50%;transform:rotate(-30deg);filter:drop-shadow(0 0 6px #fff);animation:fx-slash .35s ease-out forwards}.fx-stab:before{border-top-color:#ffe15a;transform:rotate(20deg)}.fx-claw:before{border-top-color:#ff6b6b;width:60%;left:20%}.fx-claw:after{border-top-color:#ff6b6b;width:60%;left:20%;top:34%;animation-delay:.08s}@keyframes fx-slash{0%{clip-path:inset(0 100% 0 0);opacity:1}70%{clip-path:inset(0 0 0 0);opacity:1}to{opacity:0}}.fx-bash:before{content:"";position:absolute;left:50%;top:45%;width:20px;height:20px;border-radius:50%;border:4px solid #FFE15A;transform:translate(-50%,-50%);animation:fx-ring .45s ease-out forwards}@keyframes fx-ring{to{width:150%;height:150%;opacity:0}}.fx-fire:before{content:"";position:absolute;left:50%;top:50%;width:30%;height:30%;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#FFF27A 0%,#FF9A3D 40%,#E5484D 70%,transparent 72%);animation:fx-boom .6s ease-out forwards}@keyframes fx-boom{0%{transform:translate(-200%,-50%) scale(.4)}45%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(3);opacity:0}}.fx-spark:before{content:"✨";position:absolute;left:50%;top:40%;font-size:40px;transform:translate(-50%,-50%);animation:fx-pop .55s ease-out forwards}.fx-heal:before{content:"✚ ✚ ✚";position:absolute;left:0;right:0;top:40%;text-align:center;color:#7cf29a;font-size:22px;font-weight:900;text-shadow:0 0 8px #2E8A3A;animation:fx-rise .8s ease-out forwards}.fx-guard:before{content:"";position:absolute;inset:5% 10%;border-radius:50%;border:4px solid #8FD3FF;box-shadow:0 0 18px #8fd3ff inset,0 0 18px #8fd3ff;animation:fx-bubble .7s ease-out forwards}.fx-smoke:before{content:"";position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle,#dcdce6f2,#a0a0b400 70%);animation:fx-bubble .8s ease-out forwards}.fx-arrow:before,.fx-arrow2:before,.fx-arrow2 i{content:"";position:absolute;top:46%;left:-60%;width:50%;height:4px;background:linear-gradient(90deg,transparent,#8B5A2B 30%,#D9D9D9 92%);border-radius:2px;animation:fx-arrow .32s ease-in forwards}.fx-arrow2 i{top:58%;animation-delay:.18s;display:block}@keyframes fx-arrow{to{left:40%;opacity:.2}}.fx-net:before{content:"";position:absolute;inset:8% 12%;background:repeating-linear-gradient(45deg,rgba(255,255,255,.85) 0 2px,transparent 2px 12px),repeating-linear-gradient(-45deg,rgba(255,255,255,.85) 0 2px,transparent 2px 12px);border-radius:40%;animation:fx-drop .5s ease-out forwards}@keyframes fx-drop{0%{transform:translateY(-60%);opacity:0}60%{opacity:1}to{transform:none;opacity:0}}@keyframes fx-pop{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}40%{opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}@keyframes fx-bubble{0%{transform:scale(.4);opacity:0}40%{opacity:1}to{transform:scale(1.25);opacity:0}}@keyframes fx-rise{0%{transform:translateY(20px);opacity:0}30%{opacity:1}to{transform:translateY(-40px);opacity:0}}.rpg-coins{position:absolute;inset:0;overflow:hidden;pointer-events:none}.rpg-coins i{position:absolute;top:-30px;font-style:normal;font-size:22px;animation:rpg-coin 1.4s ease-in forwards}@keyframes rpg-coin{0%{transform:translateY(0) rotate(0)}to{transform:translateY(260px) rotate(360deg);opacity:0}}.rpg-ui .rpg-levelup{background:linear-gradient(135deg,#fff1b8,#f6e7c1);border-color:var(--gold);animation:rpg-glow 1.6s ease-in-out 2}@keyframes rpg-glow{50%{box-shadow:0 0 0 4px #ffe15a99,0 0 26px #ffc83ccc}}@media(prefers-reduced-motion:reduce){.rpg-fx,.rpg-coins{display:none}.rpg-ui .rpg-levelup{animation:none}.wm-hero{transition:none}}.rpg-qthumb{position:relative;width:64px;height:64px;flex-shrink:0}.rpg-qthumb-scene{position:absolute;inset:0;border-radius:14px;overflow:hidden;border:2px solid #8B5A2B;display:grid;place-items:end center}.rpg-qthumb-monster{position:relative;z-index:1;width:54px!important;margin-bottom:2px}.rpg-qthumb-n{position:absolute;top:-6px;right:-6px;z-index:2;min-width:22px;height:22px;padding:0 5px;border-radius:11px;display:grid;place-items:center;font-size:11.5px;font-weight:900;color:#fff;background:#c2333d;border:2px solid #FFF4D6}.rpg-qthumb-n.boss{background:#5a3a1e}.rpg-portrait{position:relative;display:inline-block;overflow:hidden;border-radius:50%;background:radial-gradient(circle at 50% 35%,#fff4d6,#e8c98a);border:2px solid #8B5A2B;flex-shrink:0}.rpg-portrait-img{position:absolute;width:200%;height:200%;left:-50%;top:-22%}.rpg-portrait.badge{position:absolute;left:-8px;bottom:-8px;z-index:2;width:30px;height:30px;box-shadow:0 2px #3a241059}.rpg-portrait.mid{width:52px;height:52px}.rpg-ui .rpg-quest{gap:14px}.rpg-ui .rpg-quest>div{overflow-wrap:anywhere}.rpg-ui .rpg-quest.offer .rpg-reward{padding-left:78px}.rpg-qbanner{position:relative;height:150px;margin:-14px -14px 4px;border-radius:18px 18px 0 0;overflow:hidden;border-bottom:2px solid #8B5A2B;display:flex;align-items:flex-end;justify-content:center}.rpg-qbanner-pack{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;margin-bottom:22px}.rpg-qbanner-monster{width:calc(150px - var(--n, 1) * 22px)!important;margin:0 -10px}.rpg-qbanner-monster:nth-child(2){transform:translateY(-10px) scale(.88)}.rpg-qbanner-monster:nth-child(3){transform:translateY(-4px) scale(.94)}.rpg-qbanner-monster.big{width:150px!important}.rpg-qbanner-label{position:absolute;left:8px;bottom:6px;z-index:2;font-size:11.5px;font-weight:800;color:#fff4d6;background:#3a2410d1;border:1px solid #E8C26A;padding:2px 8px;border-radius:8px}.rpg-thanks{display:inline-flex;align-items:center;gap:8px;text-align:left}@media(prefers-reduced-motion:no-preference){.rpg-qbanner-monster{animation:rpg-bob 2.4s ease-in-out infinite alternate}.rpg-qbanner-monster:nth-child(2){animation-delay:-.8s}.rpg-qbanner-monster:nth-child(3){animation-delay:-1.6s}}@keyframes rpg-bob{0%{translate:0 0}to{translate:0 -5px}}.et-actions{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}.et-btn{border:none;background:var(--surface-2);color:var(--text-soft);font:inherit;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;cursor:pointer}.et-btn:hover{color:var(--text);background:color-mix(in srgb,var(--purple) 12%,var(--surface-2))}.et-btn.danger:hover{color:var(--red-strong);background:color-mix(in srgb,var(--red) 12%,var(--surface-2))}.et-edited{color:var(--text-soft);font-size:11.5px;font-style:italic}.et-edit{display:flex;flex-direction:column;gap:6px;margin:6px 0;width:100%}.et-edit textarea{width:100%;min-height:64px;padding:9px 11px;border-radius:12px;border:1.5px solid var(--purple);background:var(--surface);color:var(--text);font:inherit;font-size:15px;resize:vertical}.et-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px}.et-save{padding:7px 16px;font-size:14px}.reply-bubble .et-edit{min-width:min(260px,70vw)}.voice-row .voice-pick,.voice-row .voice-pace{display:flex;flex-direction:column;gap:4px;flex:1 1 100%;min-width:0}.voice-row .voice-pace .seg-mini{align-self:flex-start;flex-wrap:wrap}.voice-row .voice-pick select{width:100%;max-width:100%;font:inherit;font-size:14px;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.rpg-modes{grid-column:1 / -1;margin:0;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.rpg-mode{border:1.5px solid var(--border);background:var(--surface);color:var(--text-soft);font:inherit;font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:999px;cursor:pointer}.rpg-mode.on{border-color:var(--primary);color:var(--text);background:color-mix(in srgb,var(--primary) 14%,var(--surface))}.rpg-type{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.rpg-type input{min-width:0;font:inherit;font-size:18px;font-weight:800;padding:11px 14px;border-radius:14px;border:2px solid #C9A673;background:#fff8e6;color:var(--ink, #2A1A0C)}.rpg-type input.right,.rpg-type input.almost{border-color:var(--primary)}.rpg-type input.wrong{border-color:var(--red);text-decoration:line-through}.rpg-type .btn-primary{padding:11px 16px}.rpg-hint{grid-column:1 / -1;color:#6b4f33;font-weight:700}.rpg-say{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.rpg-say-target{margin:0;font-family:var(--font-display);font-size:22px;font-weight:900;overflow-wrap:anywhere}.rpg-mic{border:2px solid var(--gold, #E8B33C);background:linear-gradient(160deg,#b5402a,#7a2215);color:#fff;font:inherit;font-size:16px;font-weight:900;padding:12px 22px;border-radius:999px;cursor:pointer;box-shadow:0 3px #0000004d}.rpg-mic.on{animation:rpg-mic-pulse 1s ease-in-out infinite}.rpg-mic:disabled:not(.on){opacity:.5}@keyframes rpg-mic-pulse{50%{box-shadow:0 0 0 10px color-mix(in srgb,#B5402A 25%,transparent)}}.rpg-mic-msg{margin:0;font-size:13.5px;font-weight:700;color:#9c4a10;white-space:pre-line}.rpg-mic-level{display:block;width:min(240px,80%);height:8px;margin:2px auto 0;border-radius:99px;background:#3c28142e;overflow:hidden}.rpg-mic-level i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2bb673,#f5b400,#e2620c);transition:width .1s linear}.rpg-q-fix.ok{color:var(--primary-strong, var(--primary))}@media(prefers-reduced-motion:reduce){.rpg-mic.on{animation:none}}.tale-tab{display:grid;gap:10px}.tale-how{padding:12px 14px;border-radius:16px}.tale-how p{margin:0 0 6px;font-size:14.5px;line-height:1.45}.tale-strengths{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tale-strengths span{padding:4px 9px;border-radius:999px;background:#8b5a2b24;font-size:12.5px;font-weight:800}.tale-strengths b{color:#9c4a10}.tale-list{display:grid;gap:10px}.tale-row{display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:start;padding:12px;border-radius:16px}.tale-row-art{cursor:pointer}.tale-play{margin-top:6px;padding:8px 14px}.tale-row-art{position:relative;width:86px;height:86px}.tale-row-art>.bd{border-radius:14px;border:2px solid #8B5A2B;overflow:hidden}.tale-row-art .bd{position:absolute;inset:0}.tale-row-emoji{position:absolute;right:-6px;top:-6px;z-index:2;width:32px;height:32px;display:grid;place-items:center;font-size:19px;border-radius:50%;background:#fff4d6;border:2px solid #8B5A2B}.tale-row-text{display:grid;gap:3px;min-width:0;justify-items:start}.tale-row-text small{color:#6b4f33;font-weight:700}.tale-row-text>span{font-size:14px;line-height:1.4}.tale-row-text em{font-style:normal;font-size:12.5px;font-weight:800;color:#9c4a10}.tale{display:grid;gap:10px}.tale-stage{position:relative;height:clamp(140px,24dvh,200px);border-radius:18px;overflow:hidden;border:3px solid #8B5A2B;box-shadow:var(--shadow-sm);display:grid;place-items:end center}.tale-stage .rpg-place{position:absolute;left:10px;top:10px;z-index:3;border-radius:999px}.tale-npc{position:absolute;left:12px;bottom:10px;z-index:3;width:60px;height:60px;box-shadow:0 3px #3a241059}.tale-monster{position:relative;z-index:2;width:clamp(90px,26vw,130px)!important;margin-bottom:6px;filter:drop-shadow(0 6px 0 rgba(0,0,0,.25))}.tale-sofar{padding:8px 12px;border-radius:14px;background:#8b5a2b1a;border:1px dashed #C9A673;font-size:13.5px}.tale-sofar summary{cursor:pointer;font-weight:800}.tale-sofar ol{margin:8px 0 0;padding-left:20px;display:grid;gap:8px}.tale-sofar li span{display:block;opacity:.8}.tale-sofar li b{display:block;color:#9c4a10}.tale-card{padding:14px 16px;border-radius:16px}.tale-text{margin:0;font-size:17px;line-height:1.6}.tale-choices{display:grid;gap:8px}.tale-choice{display:grid;gap:4px;padding:12px 14px;border-radius:14px;text-align:left;font:inherit;font-size:15.5px;font-weight:800;cursor:pointer;background:#fff8e6;color:var(--ink);border:2px solid #C9A673;box-shadow:0 3px #3a241033}.tale-choice:hover{border-color:#8b5a2b}.tale-choice:active{transform:translateY(2px);box-shadow:0 1px #3a241033}.tale-chip{justify-self:start;padding:2px 9px;border-radius:999px;background:#8b5a2b24;color:#6b4f33;font-size:12px;font-weight:800}.tale-chip.fight{background:#c2333d24;color:#9b2731}.tale-own{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:end;margin-top:4px}.tale-own label{display:grid;gap:4px;font-size:12.5px;font-weight:800;color:#6b4f33}.tale-own input{width:100%;padding:10px 12px;border-radius:12px;border:2px solid #C9A673;background:#fffdf6;color:var(--ink);font:inherit;font-size:15px;box-sizing:border-box}.tale-own .rpg-small{padding:10px 12px}.tale-note{margin:0;font-size:13.5px;font-weight:700;color:#9c4a10}.tale-luck{margin:2px 0 0;font-size:12.5px}.tale-roll{padding:14px;border-radius:16px;display:grid;justify-items:center;gap:6px;text-align:center}.tale-die{width:88px;height:88px;display:grid;place-items:center;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg,#7b4fc2,#3d2470);color:#fff;font-family:Cinzel,Georgia,serif;font-size:38px;font-weight:900}.tale-die.ok{background:linear-gradient(160deg,#2e9a5b,#17603a)}.tale-die.no{background:linear-gradient(160deg,#c2333d,#7a1b23)}.tale-sum{margin:0;font-size:14.5px;font-weight:700}.tale-verdict{margin:0;font-family:Cinzel,Georgia,serif;font-size:19px;font-weight:900}.tale-verdict.ok{color:#17603a}.tale-verdict.no{color:#9b2731}.tale-roll .rpg-row{width:100%}.tale-fight{padding:12px 14px;border-radius:16px}.tale-end{padding:14px;border-radius:16px;display:grid;gap:6px;position:relative;overflow:hidden}.tale-end p{margin:0}.tale-reward{font-weight:800}.tale-levelup{font-weight:900;color:#9c4a10}.tale-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.tale-words>span{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;padding:6px 8px;border-radius:12px;background:#ffffff80;font-size:14px}.tale-words small{flex-basis:100%;color:#6b4f33}@media(prefers-reduced-motion:no-preference){.tale-die.rolling{animation:tale-tumble .15s linear infinite}.tale-die.ok,.tale-die.no{animation:of-pop2 .3s ease-out both}}.tale .pt-tap,.tale-tab .pt-tap{justify-self:start}@keyframes tale-tumble{50%{transform:rotate(12deg) scale(.94)}}.wn{position:relative;padding:0;overflow:visible;background:transparent;border:none;box-shadow:none}.wn-rings{display:flex;justify-content:space-around;padding:0 18px;height:18px;position:relative;z-index:2;margin-bottom:-9px}.wn-rings span{display:block;width:9px;height:18px;border-radius:5px;border:2.5px solid var(--text);opacity:.55;background:var(--bg);box-sizing:border-box}.wn-page{--wn-line:color-mix(in srgb, var(--blue) 22%, transparent);position:relative;border-radius:6px 6px 18px 18px;padding:18px 14px 12px 46px;background:color-mix(in srgb,var(--amber) 9%,var(--surface));border:1px solid var(--border);box-shadow:var(--shadow-sm)}.wn-page:before{content:"";position:absolute;left:34px;top:0;bottom:0;width:2px;background:color-mix(in srgb,var(--red) 45%,transparent)}.wn-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}.wn-head h3{margin:0;font-size:17px}.wn-count{font-size:12.5px;color:var(--muted);font-weight:600}.wn-lines{list-style:none;margin:0;padding:0}.wn-lines li{display:flex;align-items:center;gap:4px 8px;min-height:38px;padding:4px 0;border-bottom:1.5px solid var(--wn-line);min-width:0}.wn-word{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--purple);flex:0 1 auto;max-width:55%;overflow-wrap:anywhere}.wn-meaning{flex:1 1 0;min-width:0;color:var(--muted);font-size:14px;line-height:1.3}.wn-meaning:before{content:"= ";opacity:.7}.wn-lines li.known .wn-word{color:var(--primary)}.wn-tick{color:var(--primary);font-weight:800}.wn-lines .speak-btn{margin-left:auto;flex:0 0 auto}.wn-empty{padding:6px 0 4px;line-height:1.9;background:repeating-linear-gradient(transparent 0 calc(1.9em - 1.5px),var(--wn-line) calc(1.9em - 1.5px) 1.9em)}.wn-empty p{margin:0}.wn-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}.wn-review{margin-left:auto;border:none;border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;cursor:pointer;background:var(--purple-soft, color-mix(in srgb, var(--purple) 14%, transparent));color:var(--purple)}.wn-review.due{background:var(--grad-warm);color:#fff}.wn-write{display:grid;grid-template-columns:1fr auto;gap:6px 8px;margin:8px 0 10px;padding-bottom:10px;border-bottom:2px dashed var(--wn-line)}.wn-write-label{grid-column:1 / -1;font-size:13.5px;font-weight:700;color:var(--text-soft, var(--muted))}.wn-input{grid-column:1;min-width:0;width:100%;box-sizing:border-box;padding:9px 4px;border:none;border-bottom:2px solid var(--wn-line);border-radius:0;background:transparent;color:var(--text);font:inherit;font-family:var(--font-display);font-weight:700;font-size:16px}.wn-input.small{font-family:var(--font);font-weight:500;font-size:14.5px}.wn-input::placeholder{color:var(--muted);font-weight:500;opacity:.75}.wn-input:focus{outline:none;border-bottom-color:var(--purple)}.wn-save{grid-column:2;grid-row:2 / span 2;align-self:center;border:none;border-radius:14px;padding:10px 14px;background:var(--grad-warm);color:#fff;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}.wn-save:disabled{opacity:.5;cursor:default}.wn-msg{grid-column:1 / -1;margin:2px 0 0;font-size:13.5px;font-weight:600}.wn-msg.ok{color:var(--primary)}.wn-msg.no{color:var(--red)}.wn-write .pt-hint,.wn-write .pt-tap{grid-column:1 / -1;justify-self:start}@media(max-width:420px){.wn-page{padding-left:38px}.wn-page:before{left:28px}}.rpg-farm-btn{display:flex;align-items:center;gap:12px;width:100%;margin:12px 0 10px;padding:12px 14px;border-radius:16px;text-align:left;font:inherit;cursor:pointer;position:relative;background:linear-gradient(135deg,#7cc855,#4e9a38);color:#fff;border:2px solid #E8C26A;box-shadow:inset 0 0 0 2px #00000026,0 4px #2f5a20}.rpg-farm-btn:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #00000026,0 2px #2f5a20}.rpg-farm-btn b{display:block;font-family:Cinzel,Georgia,serif;font-size:18px;text-shadow:0 1px 2px rgba(0,0,0,.35)}.rpg-farm-btn small{display:block;opacity:.95;font-size:12.5px}.rpg-farm-art{font-size:26px;letter-spacing:-4px;background:#ffffff38;border-radius:12px;padding:6px 10px 6px 6px;flex-shrink:0}.rpg-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e5322d;color:#fff;font-size:12px;font-weight:800;box-shadow:0 0 0 2px #fff}.rpg-farm-btn .rpg-badge{position:absolute;right:-6px;top:-8px}.rpg-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.rpg-shop-grid .rpg-small{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 6px;font-size:13.5px;font-weight:800;line-height:1.15;text-align:center;min-height:54px}.rpg-shop-grid .rpg-small small{font-size:11px;font-weight:600;opacity:.85}.rpg-drops{margin:6px 0;padding:8px 10px;border-radius:12px;background:#8b5a2b1f}.rpg-food{grid-column:1 / -1;display:grid;gap:6px}.rpg-food .rpg-opt{text-align:left}.rpg-food small{float:right;color:#2e7d32;font-weight:800}.vg{display:grid;gap:12px}.vg-npc{display:flex;gap:10px;align-items:flex-start;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:2px solid #8B5A2B;border-radius:16px;padding:10px 12px}.vg-npc p,.vg-stats{margin:0}.vg-done{margin:0;padding:10px 12px;border-radius:12px;background:#e3f6da;color:#1e5a12;font-weight:700}.vg-card{border-radius:16px;padding:12px 14px;display:grid;gap:10px}.vg-title{margin:0;font-family:Cinzel,Georgia,serif;font-size:17px}.vg-steps{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.vg-steps i{height:8px;border-radius:4px;background:#3a24102e}.vg-steps i.on{background:linear-gradient(90deg,#e8a33a,#ffe15a)}.vg-need{list-style:none;margin:0;padding:0;display:grid;gap:6px}.vg-need li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:#ffffff73;border:1px solid rgba(139,90,43,.25)}.vg-need li.ok{background:#e3f6da;border-color:#7fbf6a}.vg-need li>span:nth-child(2){flex:1;min-width:0}.vg-need small{color:#6b4f33}.vg-where{display:block;font-size:11.5px}.vg-ic{font-size:22px;width:30px;text-align:center;flex-shrink:0}.vg-have{font-variant-numeric:tabular-nums}.vg-max{margin:0;font-weight:700}.vg-bag{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.vg-item{display:flex;align-items:center;gap:6px;padding:8px;border-radius:12px;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:1px solid #8B5A2B}.vg-item>span:nth-child(2){flex:1;min-width:0}.vg-item small{display:block;color:#6b4f33}.vg-n{font-weight:900}.vg-bounty{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px}.vg-bounty>div{flex:1;min-width:0}.vg-bounty-text{margin:0 0 6px;font-weight:700}.vg-bounty small{display:block;margin-top:4px;color:#6b4f33}.vg-bounty.ready{border-color:#2e9e4a}.vg-bounty.got{opacity:.7}.vg-wanted{width:58px;height:58px;flex-shrink:0;border-radius:10px;background:#fff8e6;border:2px dashed #8B5A2B;display:grid;place-items:center;overflow:hidden}.vg-wanted svg{width:52px;height:52px}.vg-stamp{font-family:Cinzel,Georgia,serif;font-weight:900;color:#b32b26;border:3px solid #B32B26;border-radius:8px;padding:2px 6px;transform:rotate(-12deg);flex-shrink:0}.vg-chest{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px}.vg-chest>div{flex:1}.vg-chest small{display:block;color:#6b4f33}.vg-chest.ready{border-color:#e8c26a;box-shadow:0 0 0 3px #e8c26a80}.vg-chest-ic{font-size:34px}.vg-book{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.vg-cell{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:14px;font:inherit;cursor:pointer;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:2px solid #8B5A2B}.vg-cell b{font-size:12.5px;text-align:center;line-height:1.15}.vg-cell small{font-size:11px;color:#6b4f33}.vg-cell-art{width:64px;height:64px}.vg-cell.unknown{cursor:default}.vg-cell.unknown .vg-cell-art{filter:brightness(0) opacity(.3)}.vg-cell.ready{border-color:#e8c26a;box-shadow:0 0 0 3px #e8c26a8c}.vg-page{display:grid;justify-items:center;gap:8px;text-align:center;padding:16px;border-radius:18px;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:2px solid #8B5A2B}.vg-page p{margin:0}.vg-page .rpg-bar{width:100%}.vg-page-art{width:150px;height:150px}.vg-page-name{font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:900}.vg-page-desc{font-style:italic}.fm{display:grid;gap:10px}.fm-head{border-radius:16px;padding:10px 12px}.fm-head .rpg-name{margin:0 0 6px}.fm-head.slim{display:flex;align-items:center;gap:10px;padding:7px 10px}.fm-head.slim .rpg-name{margin:0;flex:none;font-size:15px}.fm-head.slim .rpg-bar{flex:1;min-width:0;margin:0;height:16px}.fm-head.slim .rpg-bar span{font-size:10.5px;line-height:16px}.fm .fw+.fm-tip{margin-top:12px}.fm-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px;border-radius:14px;background:linear-gradient(180deg,#6b4423,#4a2e17);border:2px solid #2E1C0C}.fm-tabs::-webkit-scrollbar{display:none}.fm-tabs button{flex:0 0 auto;border:none;background:none;color:#f6e7c1;font:inherit;font-weight:800;font-size:13.5px;padding:8px 11px;border-radius:10px;cursor:pointer;white-space:nowrap}.fm-tabs button.on{background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410}.fm-stage{border-radius:18px;overflow:hidden;border:3px solid #8B5A2B;box-shadow:0 4px #3a24104d;background:#5db044}.fm-scene{display:block;width:100%;height:auto;max-height:72dvh;margin:0 auto;touch-action:manipulation}.fm-scene :focus-visible{outline:3px solid #FFF;outline-offset:2px}.fm-plot.sel rect:first-child,.fm-building.sel{filter:drop-shadow(0 0 4px rgba(255,255,255,.9))}.fm-tip{margin:0;text-align:center;color:var(--text-soft)}.fm-msg{margin:0;padding:10px 12px;border-radius:12px;background:#fff3d6;color:#6b3b10;font-weight:700;position:relative;overflow:hidden}.fm-msg.good{background:#e3f6da;color:#1e5a12}.fm-msg.big{font-size:16px;border:2px solid #7FBF6A}.fm-panel{border-radius:16px;padding:12px 14px;display:grid;gap:10px}.fm-panel p{margin:0}.fm-title{font-family:Cinzel,Georgia,serif;font-weight:900;font-size:17px}.fm-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fm-actions .btn-primary{width:auto;flex:1 1 180px}.fm-actions .rpg-small{flex:1 1 160px;padding:10px 12px;font-weight:800}.fm-packet{font-style:italic;background:#ffffff80;border-radius:10px;padding:8px 10px}.fm-recipe{background:#fffdf6;border:1px dashed #C9A673;border-radius:10px;padding:10px 12px;line-height:1.55}.fm-q{margin:0}.fm-seeds{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.fm-seed{display:grid;justify-items:center;gap:1px;padding:8px 4px;border-radius:12px;font:inherit;cursor:pointer;background:#fff8e6;color:#3a2410;border:2px solid #C9A673}.fm-seed.on{border-color:#2e9e4a;background:#e3f6da;box-shadow:0 0 0 2px #2e9e4a59}.fm-seed.locked{opacity:.5;cursor:default}.fm-seed b{font-size:13px}.fm-seed small{font-size:11px;color:#6b4f33}.fm-seed-ic{font-size:26px}.fm-chosen,.fm-list{display:grid;gap:8px}.fm-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:1px solid #8B5A2B}.fm-row>span:nth-child(2){flex:1;min-width:0}.fm-row small{display:block;color:#6b4f33}.fm-panel .fm-row{background:#ffffff80}.fm-ic{font-size:24px;width:32px;text-align:center;flex-shrink:0}.fm-buy{border:2px solid #2E1C0C;border-radius:10px;padding:6px 10px;font:inherit;font-weight:800;font-size:13px;cursor:pointer;color:#fff4d6;background:linear-gradient(180deg,#8b5a2b,#4a2e17);white-space:nowrap}.fm-buy:disabled{opacity:.45;cursor:default}.fm-sell{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.fm-purse{display:grid;gap:4px;padding:8px 10px;margin:0 0 8px;border-radius:12px;background:#fff6dc;border:1px solid #E2C46B;color:#5b3f1e;font-size:13.5px}.fm-purse i{display:block;height:8px;border-radius:99px;background:#ebddb5;overflow:hidden}.fm-purse i b{display:block;height:100%;background:linear-gradient(90deg,#f5b400,#e8961a);border-radius:99px}.fm-purse small{color:#7a5c36;font-size:12px}.fm-tag{font-size:12.5px;font-weight:800;color:#6b4f33;white-space:nowrap}.fm-tag.ok{color:#2e7d32}.fm-recipes{display:grid;gap:8px}.fm-recipe-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#ffffff80;border:1px solid rgba(139,90,43,.35)}.fm-recipe-card>div{flex:1;min-width:0}.fm-recipe-card.locked{opacity:.55}.fm-needs{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.fm-needs span{font-size:11.5px;padding:2px 6px;border-radius:999px;background:#fbe3d6;color:#7a2e12}.fm-needs span.ok{background:#e3f6da;color:#1e5a12}.fm-needs span.heal{background:#ffe3e8;color:#a0153e}.fm-barn{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}.fm-good{display:grid;justify-items:center;padding:8px 4px;border-radius:12px;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:1px solid #8B5A2B;text-align:center}.fm-good b{font-size:16px}.fm-good small{font-size:11px;color:#6b4f33;line-height:1.15}.fm-good-ic{font-size:26px}.fm-order{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;cursor:pointer;padding:10px 12px;border-radius:16px;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:2px solid #8B5A2B;position:relative}.fm-order>span:last-child{flex:1;min-width:0}.fm-order b{display:block}.fm-order small{display:block;color:#6b4f33;margin-top:2px}.fm-order .fm-reward{color:#9c4a10;font-weight:800}.fm-order.ready{border-color:#2e9e4a;box-shadow:0 0 0 3px #2e9e4a4d}.fm-order.empty{cursor:default;opacity:.7;border-style:dashed}.rpg-portrait.badge-big{width:46px;height:46px}.fm-hint{background:#fff3d6;border-radius:10px;padding:6px 10px;font-size:18px}.fm-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.fm-pick-item{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:12px;background:#fff8e6;border:2px solid #C9A673;text-align:center}.fm-pick-item.on{border-color:#2e9e4a;background:#e3f6da}.fm-pick-item small{font-size:11.5px;line-height:1.15}.fm-step{display:flex;align-items:center;gap:6px}.fm-step button{width:30px;height:30px;border-radius:50%;border:2px solid #8B5A2B;background:#fff;color:#3a2410;font-size:18px;font-weight:900;cursor:pointer;line-height:1}.fm-step b{min-width:16px;text-align:center}.fm-words{display:grid;gap:6px}.fm-word{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:1px solid #8B5A2B}.fm-word>span:nth-child(2){flex:1;min-width:0}.fm-word small{display:block;color:#6b4f33}.fm-word.locked{opacity:.5}.fm-bounce{animation:fm-bounce 1.2s ease-in-out infinite}.fm-glow{animation:fm-glow 1.8s ease-in-out infinite}.fm-peck{animation:fm-peck 2.4s ease-in-out infinite}.fm-sway{animation:fm-sway 3.2s ease-in-out infinite}.fm-blades.on{animation:fm-turn 3s linear infinite}.fm-smoke{animation:fm-smoke 2.4s ease-out infinite}.fm-spin{animation:fm-bounce 1.6s ease-in-out infinite}@keyframes fm-bounce{50%{transform:translateY(-3px)}}@keyframes fm-glow{50%{opacity:.35}}@keyframes fm-peck{0%,70%,to{transform:rotate(0)}80%{transform:rotate(14deg)}90%{transform:rotate(-4deg)}}@keyframes fm-sway{50%{transform:translate(3px)}}@keyframes fm-turn{to{transform:rotate(360deg)}}@keyframes fm-smoke{0%{transform:translateY(0);opacity:.9}to{transform:translateY(-10px);opacity:0}}@media(prefers-reduced-motion:reduce){.fm-bounce,.fm-glow,.fm-peck,.fm-sway,.fm-blades.on,.fm-smoke,.fm-spin{animation:none}}.fm-season{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:16px;border:2px solid rgba(0,0,0,.12);color:#2b2010}.fm-season b{display:block;font-size:14.5px}.fm-season small{display:block;margin-top:2px;font-size:12.5px;opacity:.85}.fm-season-ic{font-size:30px;line-height:1}.fm-season.spring{background:linear-gradient(135deg,#ffe4ef,#e6f7da)}.fm-season.summer{background:linear-gradient(135deg,#fff3c4,#d9f2ff)}.fm-season.fall{background:linear-gradient(135deg,#ffe0c2,#f6e7c1)}.fm-season.winter{background:linear-gradient(135deg,#eaf4ff,#fff)}.fm-seed{position:relative}.fm-seed.seasonal{border-color:#e8a33a;background:#fff3d6}.fm-seed-tag{position:absolute;top:-8px;right:-4px;font-size:10px;font-weight:800;padding:1px 6px;border-radius:999px;background:#e8a33a;color:#fff;white-space:nowrap}.fm-job-goal{font-weight:800;color:#9c4a10;background:#ffffff8c;border-radius:10px;padding:6px 10px}.fm-order .rpg-bar.mini{display:block;margin-top:4px}.fm-sellrow{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800}.fm-panel .fm-pick-item{cursor:pointer;font:inherit;color:#3a2410}.fw{position:relative;margin:0 auto;width:100%;max-width:440px}.fm-credits{font-size:12.5px;line-height:1.5;color:#3a2410}.fm-credits li{margin-bottom:6px}.fm-credits a{color:#1f5bff;overflow-wrap:anywhere}.fw-stage{position:relative;border-radius:14px;overflow:hidden;border:3px solid #6B4423;box-shadow:0 4px #3a241059;background:#5db044}.fw-canvas{display:block;width:100%;height:auto;aspect-ratio:384 / 640;image-rendering:pixelated;touch-action:manipulation;cursor:pointer}.fw-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#fff;font-weight:800;text-shadow:0 1px 3px #000}.fw-hero{position:absolute;pointer-events:none}.fw-hero-img{width:100%;height:100%;image-rendering:pixelated}.fw-hud{position:absolute;top:8px;right:8px;display:grid;justify-items:end;gap:2px;padding:6px 10px;border-radius:12px;background:linear-gradient(180deg,#fff6e2,#f3dfb5);border:2px solid #6B4423;color:#3a2410;font-size:12.5px;box-shadow:0 2px #3a241059;pointer-events:none}.fw-hud-time{font-family:Cinzel,Georgia,serif;font-size:16px;line-height:1.1}.rpg-explore{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:0 0 12px;padding:14px 16px;border:3px solid #E7B54A;border-radius:18px;color:#fff;font:inherit;cursor:pointer;background:linear-gradient(135deg,#1f4e79,#2e7d5b 55%,#6fa83a);box-shadow:0 4px #3a241059}.rpg-explore>span:first-child{font-size:34px}.rpg-explore b{display:block;font-family:Cinzel,Georgia,serif;font-size:18px}.rpg-explore small{display:block;opacity:.92;font-size:12.5px}.ow{max-width:440px;margin:0 auto}.ow-stage{background:#1b1410;touch-action:manipulation}.ow-region{position:absolute;top:8px;left:8px;padding:5px 10px;border-radius:10px;background:#140e08b8;color:#fff6e2;font-family:Cinzel,Georgia,serif;font-size:13px;pointer-events:none;animation:ow-in .5s ease}.ow-hud{font-size:12px;font-weight:700}.ow-toast{position:absolute;left:10px;right:10px;bottom:10px;margin:0;padding:9px 12px;border-radius:12px;background:#140e08e0;color:#fff;font-size:13px;text-align:center;animation:ow-in .25s ease}.ow-flash{position:absolute;inset:0;pointer-events:none;animation:ow-flash .9s steps(6) forwards}@keyframes ow-flash{0%{background:#fff}20%{background:#000}40%{background:#fff}60%{background:#000}80%{background:#fff}to{background:#000}}@keyframes ow-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.ow-flash{animation:none;background:#0009}.ow-region,.ow-toast{animation:none}}.rpg-ui{--rar-common:#9CA3AF;--rar-uncommon:#22C55E;--rar-rare:#3B82F6;--rar-epic:#A855F7;--rar-legendary:#F59E0B}.dg-head{margin:0 auto 8px;max-width:440px;padding:8px 12px;border-radius:12px;background:#2a1e14;color:#fff6e2;font-size:13px}.dg-head b{font-family:Cinzel,Georgia,serif}.dg .ow-stage{background:#000}.dg-foe{position:absolute;display:grid;place-items:center;pointer-events:none;animation:dg-bob 1.6s ease-in-out infinite}.dg-foe img{width:115%;height:115%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}img.rpg-monster.px{image-rendering:pixelated;aspect-ratio:1;object-fit:contain}.rpg-herocard{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:center;padding:8px;margin:0 0 10px}.rpg-herocard-art{position:relative;height:96px;border-radius:12px;overflow:hidden;border:2px solid #8B5A2B;display:grid;place-items:end center;background:#8fd3ff}.rpg-herocard-hero{position:relative;z-index:2;width:80px;height:80px;margin-bottom:-4px}.rpg-herocard-info{display:grid;gap:6px;min-width:0}.rpg-herocard-info .rpg-name{margin:0;font-size:17px}.rpg-herocard-info .rpg-name small{display:block;font-size:12px}.rpg-herocard-info .rpg-stats{display:flex;flex-wrap:wrap;gap:4px}.rpg-herocard-info .rpg-stats span{font-size:12px}.rpg-herocard-look{position:absolute;top:6px;right:6px;width:32px;height:32px;border-radius:10px;border:2px solid #2E1C0C;background:linear-gradient(180deg,#8b5a2b,#6b4423);color:#fff;font-size:16px;cursor:pointer}.rpg-explore{position:relative}.rpg-explore-go{margin-left:auto;flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e7b54a;color:#3a2410;font-style:normal;font-size:16px;box-shadow:0 3px #00000040}.rpg-ui .rpg-tabs5{position:sticky;top:calc(64px + env(safe-area-inset-top));z-index:6;gap:3px}@media(min-width:900px){.rpg-ui .rpg-tabs5{top:8px}}.rpg-tabs5 button{position:relative;display:grid;justify-items:center;gap:1px;padding:6px 2px;line-height:1.1}.rpg-tabs5 button>span:first-child{font-size:18px}.rpg-tabs5 button small{font-size:11.5px}.rpg-tabs5 .rpg-badge{position:absolute;top:-6px;right:2px;min-width:18px;height:18px;font-size:11px;padding:0 4px}.rpg-townmenu{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rpg-townmenu-intro{grid-column:1 / -1;margin:0;font-size:13px;color:var(--text-soft)}.rpg-place-card{position:relative;display:flex;gap:10px;align-items:center;padding:12px;border-radius:14px;border:2px solid #2E1C0C;background:linear-gradient(180deg,#f6e7c1,#e9d29e);color:#3a2410;font:inherit;text-align:left;cursor:pointer;box-shadow:0 3px #2e1c0c}.rpg-place-card>span:nth-child(2){display:grid;gap:2px;min-width:0}.rpg-place-card b{font-family:Cinzel,Georgia,serif;font-size:14px}.rpg-place-card small{font-size:11.5px;color:#6b4f33}.rpg-place-ic{font-size:28px;flex:none}.rpg-place-card.wide{grid-column:1 / -1;background:linear-gradient(135deg,#7cc46a,#4e9a3c);color:#fff}.rpg-place-card.wide small{color:#f1ffe8}.rpg-place-card .rpg-badge{position:absolute;top:-8px;right:-6px}.rpg-place-card:active{transform:translateY(2px);box-shadow:0 1px #2e1c0c}.pm{position:relative;max-width:440px;margin:0 auto 10px;border:4px solid #6B4423;border-radius:16px;overflow:hidden;background:#1b1410;box-shadow:0 4px #3a241059}.pm-canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.pm-pin{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;padding:0;border:0;background:none;cursor:pointer;font:inherit}.pm-ic{display:grid;place-items:center;width:38px;height:38px;font-size:20px;background:#3a2410;border:3px solid #E7B54A;box-shadow:0 0 0 2px #1b1410,0 3px 0 2px #00000059;image-rendering:pixelated}.pm-pin.on .pm-ic{background:#7a4a1a;border-color:#ffe08a;animation:pm-bob 1.2s ease-in-out infinite}.pm-pin.shut .pm-ic{background:#4b5563;border-color:#9ca3af}.pm-pin.done .pm-ic{border-color:#ffd43b}.pm-name{padding:2px 7px;background:#3a2410;color:#fff4d6;border:2px solid #1b1410;font-family:Cinzel,Georgia,serif;font-size:11px;font-weight:700;white-space:nowrap}.pm-pin.on .pm-name{background:#e7b54a;color:#2b1a08}.pm-town{position:absolute;transform:translate(-50%,70%);padding:2px 7px;background:#5a3a1e;color:#fff4d6;border:2px solid #1b1410;font-family:Cinzel,Georgia,serif;font-size:11px;font-weight:700;pointer-events:none}.pm-hero{position:absolute;width:15%;aspect-ratio:1;transform:translate(-125%,-88%);pointer-events:none;transition:left .7s ease,top .7s ease}.pm-hero-img{width:100%;height:100%}@keyframes pm-bob{50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.pm-pin.on .pm-ic{animation:none}.pm-hero{transition:none}}.rpg-status-row{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0 0}.rpg-st{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:800;font-style:normal;color:#fff;background:#555}.rpg-st small{opacity:.8}.st-poison{background:#6b8e23}.st-burn{background:#d9480f}.st-frozen{background:#1c7ed6}.st-paralyzed{background:#d4a10c;color:#2b1d00}.st-sleep{background:#6741d9}.st-curse{background:#862e9c}.rpg-stuck{grid-column:1 / -1;display:grid;gap:6px;justify-items:start;padding:10px 12px;border-radius:12px;background:#2b2440;color:#f3eeff;border:2px solid #6741D9}.rpg-stuck p{margin:0}.rpg-skill.glow{box-shadow:0 0 0 3px #ffd43b,0 0 16px #ffd43b;animation:rpg-glow 1.2s ease-in-out infinite}@keyframes rpg-glow{50%{box-shadow:0 0 0 3px #ffd43b,0 0 4px #ffd43b}}.shop-list{display:grid;gap:8px}.shop-row{display:flex;gap:10px;align-items:center;padding:10px 12px}.shop-ic{font-size:30px;flex:none}.shop-text{display:grid;gap:2px;flex:1;min-width:0}.shop-text small{font-size:12.5px}.shop-cures{display:flex;flex-wrap:wrap;gap:3px}.shop-buy{flex:none}@media(prefers-reduced-motion:reduce){.rpg-skill.glow{animation:none}}.dg-foe.elite{transform:scale(1.25);animation:dg-bob 1.2s ease-in-out infinite}.dg-foe.elite:after{content:"👑";position:absolute;top:-30%;font-size:13px}.dg-foe.elite svg{filter:drop-shadow(0 0 4px #EF4444) drop-shadow(0 2px 2px rgba(0,0,0,.6))}@keyframes dg-bob{0%,to{translate:0 0}50%{translate:0 -6%}}.dg-toast{position:static;max-width:440px;margin:8px auto 0}.dg-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:#080604b8}.dg-chest{width:min(440px,100%);max-height:90dvh;overflow:auto;display:grid;gap:10px;padding:18px;border-radius:18px;text-align:center;animation:ow-in .25s ease;background:linear-gradient(180deg,#fff6e2,#f1dfb8);color:#3a2410;border:3px solid #6B4423;box-shadow:0 10px 30px #00000080}.dg-chest .muted{color:#6b5134}.dg-chest-title{margin:0;font-family:Cinzel,Georgia,serif;font-size:22px;font-weight:700}.dg-chest p{margin:0}.dg-chest .btn-primary{width:100%}.lt-reveal{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border-radius:16px;border:3px solid var(--rc, #9CA3AF);background:#ffffff8c;animation:lt-pop .6s cubic-bezier(.2,1.6,.4,1)}.lt-reveal div{display:grid;gap:2px;min-width:0}.lt-reveal small{font-weight:800;color:var(--rc);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.lt-reveal b{font-size:17px}.lt-reveal em{font-size:12.5px;opacity:.8}.lt-reveal.rar-epic,.lt-reveal.rar-legendary{box-shadow:0 0 18px var(--rc)}@keyframes lt-pop{0%{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}.rar-common{--rc:var(--rar-common)}.rar-uncommon{--rc:var(--rar-uncommon)}.rar-rare{--rc:var(--rar-rare)}.rar-epic{--rc:var(--rar-epic)}.rar-legendary{--rc:var(--rar-legendary)}.rar-text-common{color:#6b7280}.rar-text-uncommon{color:#15803d}.rar-text-rare{color:#1d4ed8}.rar-text-epic{color:#7e22ce}.rar-text-legendary{color:#b45309}.lt-badge{display:inline-grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;font-size:26px;background:radial-gradient(circle at 35% 30%,#fff,#efe4cc);border:3px solid var(--rc, #9CA3AF)}.lt-badge.small{width:22px;height:22px;font-size:13px;border-width:2px;border-radius:6px;vertical-align:-5px}.lt-hero{display:flex;gap:12px;align-items:center;margin:10px 0;padding:12px}.lt-hero-sprite{width:96px;height:96px;flex:none}.lt-worn{display:grid;gap:4px;min-width:0;flex:1}.lt-worn p{margin:0;display:grid}.lt-worn small{font-size:11px;font-weight:800;opacity:.7}.lt-worn .rpg-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.lt-list{display:grid;gap:6px}.lt-row{border-radius:14px;border:2px solid var(--rc);background:#fff8e6;color:#3a2410;overflow:hidden}.lt-row.on{box-shadow:inset 0 0 0 2px var(--rc);background:#fff1cc}.lt-row.cant{opacity:.62}.lt-row-main{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.lt-row-main>span:nth-child(2){display:grid;min-width:0;flex:1}.lt-row-main small{font-size:12px}.lt-tag{flex:none;padding:3px 8px;border-radius:999px;background:#3a2410;color:#fff6e2;font-size:11px;font-style:normal;font-weight:800}.lt-tag.up{background:#15803d}.lt-tag.no{background:#9ca3af}.lt-more{padding:0 12px 10px;display:grid;gap:6px;font-size:13.5px}.lt-more p{margin:0}.lt-actions{display:flex;flex-wrap:wrap;gap:6px}.lt-h{margin:16px 0 6px;font-family:Cinzel,Georgia,serif}.lt-specials{display:grid;gap:6px}.lt-special{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:#fff8e6;border:2px solid #C9A673;color:#3a2410}.lt-special.none{opacity:.5}.lt-special>span:last-child{display:grid}.lt-special small{font-size:12px}.lt-sp-ic{font-size:26px}@media(prefers-reduced-motion:reduce){.dg-foe,.dg-foe.elite,.lt-reveal,.dg-chest{animation:none}}.lt-scroll{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border-radius:16px;border:3px dashed #B45309;background:#fff1cc;animation:lt-pop .6s cubic-bezier(.2,1.6,.4,1)}.lt-scroll>span{font-size:36px}.lt-scroll div{display:grid;gap:2px}.lt-scroll small{font-weight:800;color:#b45309;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.lt-scroll b{font-family:Cinzel,Georgia,serif;font-size:17px}.lt-scroll em{font-size:12.5px;opacity:.85}.tale-locked{opacity:.78}.tale-locked .tale-row-art{filter:grayscale(.7) brightness(.8)}.tale-scrolls{margin:6px 0 0;font-size:13px}@media(prefers-reduced-motion:reduce){.lt-scroll{animation:none}}.fw-bar{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));z-index:5;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:8px auto 0;max-width:420px;padding:5px;border-radius:14px;background:linear-gradient(180deg,#f6e7c1,#e2c88f);border:3px solid #6B4423;box-shadow:0 4px #3a241059}.fw-slot{position:relative;display:grid;justify-items:center;gap:1px;padding:5px 2px;border-radius:10px;border:2px solid #C9A673;background:#fff8e6;color:#3a2410;font:inherit;cursor:pointer;min-width:0}.fw-slot.on{border-color:#e8a33a;background:#ffe9b8;box-shadow:inset 0 0 0 2px #e8a33a}.fw-slot-ic{font-size:22px;line-height:1.1}.fw-slot small{font-size:10.5px;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fw-slot .rpg-badge{position:absolute;top:-6px;right:-4px}.fm-sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%);z-index:60;width:min(560px,100%);max-height:62dvh;overflow:auto;padding:14px 14px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:linear-gradient(180deg,#f6e7c1,#ead3a0);color:#3a2410;border:3px solid #6B4423;border-bottom:none;box-shadow:0 -8px 24px #00000059;display:grid;gap:10px;animation:fm-sheet-in .18s ease-out}.fm-sheet .rpg-panel{border:none;box-shadow:none;background:transparent;padding:0}.fm-sheet-x{position:sticky;top:0;justify-self:end;margin:-6px -4px -34px 0;z-index:2;width:32px;height:32px;border-radius:50%;border:2px solid #6B4423;background:#fff8e6;color:#3a2410;font-weight:900;cursor:pointer}@keyframes fm-sheet-in{0%{transform:translate(-50%,30px);opacity:0}}.fm-msg.toast{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%);z-index:55;width:min(460px,calc(100% - 32px));box-shadow:0 6px 18px #0000004d;cursor:pointer}@media(prefers-reduced-motion:reduce){.fm-sheet{animation:none}}.jb-open{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,#fff6e5,#ffe7cc);color:#4a2a0a;font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm, 0 2px 6px rgba(0,0,0,.06))}.jb-open>span:nth-child(2){flex:1;min-width:0;display:grid;gap:2px}.jb-open b{font-family:var(--font-display);font-size:15.5px}.jb-open small{font-size:12.5px;opacity:.8}.jb-open>span:last-child{font-size:22px;font-weight:800}.jb-open-icon{display:grid;place-items:center;width:42px;height:48px;border-radius:6px 10px 10px 6px;background:linear-gradient(90deg,#7a3e12 0 6px,#b4612a 6px);font-size:22px;box-shadow:inset -3px 0 #00000026}[data-theme=dark] .jb-open{background:linear-gradient(135deg,#3a2814,#2a1c0e);color:#fbe3c4;border-color:#4a3420}.jw-book-link{display:block;margin:10px auto 0}.jb{--jb-paper:#FFFDF7;--jb-line:#D9E3F2;--jb-margin:#F2A69D;--jb-ink:#1D2740;--jb-red:#D92D20;--jb-blue:#1F5BFF;--jb-desk:#E9DFCF;position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;background:var(--jb-desk);color:var(--jb-ink)}[data-theme=dark] .jb{--jb-paper:#202636;--jb-line:#323C55;--jb-margin:#7A3B36;--jb-ink:#E8ECF7;--jb-red:#FF7B6E;--jb-blue:#7FA2FF;--jb-desk:#0B1020}.jb-top{display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:var(--surface);color:var(--text);border-bottom:1px solid var(--border)}.jb-top .gm-back{margin:0}.jb-top>b{flex:1;min-width:0;text-align:center;font-family:var(--font-display);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jb-count{font-size:12.5px;color:var(--text-soft);white-space:nowrap}.jb-pen{border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);border-radius:999px;padding:6px 10px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}.jb-pen.on{background:#fee7e5;color:#b42318;border-color:#f7b9b3}.jb-stage{flex:1;overflow:auto;padding:18px 14px 24px;perspective:1600px;overscroll-behavior:contain}.jb-page{position:relative;max-width:640px;min-height:calc(100% - 4px);margin:0 auto;padding:26px 22px 28px 46px;border-radius:4px 14px 14px 4px;background:var(--jb-paper);box-shadow:-6px 0 0 -2px #0000000f,2px 3px 0 var(--jb-paper),4px 6px 0 -1px #00000014,0 18px 34px -16px #28190573;transform-origin:left center}.jb-page:before{content:"";position:absolute;top:0;bottom:0;left:30px;width:2px;background:var(--jb-margin);opacity:.75}.jb-page:after{content:"";position:absolute;top:0;bottom:0;left:0;width:14px;border-radius:4px 0 0 4px;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent)}.jb-page.next{animation:jb-turn-next .42s ease-out}.jb-page.prev{animation:jb-turn-prev .42s ease-out}@keyframes jb-turn-next{0%{transform:rotateY(-24deg) translate(18px);opacity:.2}}@keyframes jb-turn-prev{0%{transform:rotateY(18deg) translate(-18px);opacity:.2}}.jb-hand{font-family:Caveat,Segoe Print,cursive;font-weight:700}.jb-hand.big{font-size:36px;margin:0}.jb-page.cover{padding:0;display:flex;background:linear-gradient(135deg,#8a4516,#5e2c0b);color:#fcebd3;box-shadow:0 22px 40px -16px #28140599,inset 0 0 0 2px #ffffff14}.jb-page.cover:before{left:18px;width:3px;background:#00000040;opacity:1}.jb-cover{flex:1;display:grid;align-content:center;justify-items:center;gap:10px;padding:48px 26px;text-align:center;margin:18px 18px 18px 34px;border:2px solid rgba(252,235,211,.35);border-radius:10px}.jb-cover-kicker{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.jb-cover-title{margin:0;font-family:Caveat,cursive;font-weight:700;font-size:clamp(40px,11vw,60px);line-height:1;color:#fff3e2;text-shadow:0 2px 0 rgba(0,0,0,.25)}.jb-cover-meta{margin:6px 0 0;font-size:14.5px;line-height:1.5;opacity:.92}.jb-cover-meta.small{font-size:13px;margin:0}.jb-cover-actions{display:grid;gap:6px;justify-items:center;margin-top:14px}.jb-cover .link-btn{color:#fcebd3}.jb-entry{display:grid;gap:14px}.jb-date{margin:0;display:grid;gap:2px}.jb-date .jb-hand{font-size:28px;line-height:1.05;color:var(--jb-blue)}.jb-date small{font-size:12px;color:color-mix(in srgb,var(--jb-ink) 55%,transparent)}.jb-paper{--jb-lh:34px;font-size:17px;line-height:var(--jb-lh);background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--jb-lh) - 1px),var(--jb-line) calc(var(--jb-lh) - 1px) var(--jb-lh));padding-top:6px;overflow-wrap:anywhere}.jb-paper p{margin:0 0 var(--jb-lh)}.jb-paper p:last-child{margin-bottom:0}.jb-fix{position:relative;display:inline}.jb-fix s{text-decoration-color:var(--jb-red);text-decoration-thickness:2px;opacity:.75}.jb-fix ins{text-decoration:none;font-family:Caveat,cursive;font-weight:700;font-size:1.25em;color:var(--jb-red);margin-left:4px}.jb-fix.natural s{text-decoration-color:var(--jb-blue)}.jb-fix.natural ins{color:var(--jb-blue)}.jb-margin{border-top:1px dashed var(--jb-line);padding-top:10px}.jb-margin-title{margin:0 0 6px;font-weight:800;font-size:13.5px}.jb-margin ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.jb-margin li{display:grid;gap:2px;padding-left:10px;border-left:3px solid var(--jb-red);font-size:14.5px}.jb-margin li.natural{border-left-color:var(--jb-blue)}.jb-margin li small{font-size:12.5px;opacity:.8}.jb-margin s{opacity:.7}.jb-legend{margin:8px 0 0;font-size:11.5px;opacity:.7}.jb-legend .mistake{color:var(--jb-red);font-weight:700}.jb-legend .natural{color:var(--jb-blue);font-weight:700}.jb-notes{display:grid;gap:10px}.jb-note{justify-self:start;max-width:100%;padding:10px 14px 12px;background:#fff4a8;color:#3b3104;border-radius:3px 3px 14px;box-shadow:0 8px 14px -8px #3c32008c;transform:rotate(-1deg)}.jb-note:nth-child(2n){transform:rotate(.8deg);background:#ddf6c4}.jb-note-who{margin:0 0 2px;font-size:21px;color:#b42318}.jb-note p{margin:0;font-size:15px;line-height:1.5;overflow-wrap:anywhere}.jb-note .voice-player,.jb-note audio{margin:4px 0}.jb-reply{margin:0;font-size:14px;padding-left:12px;border-left:2px solid var(--jb-line)}.jb-empty{margin:0;font-size:13.5px}.jb-end{display:grid;justify-items:center;align-content:center;gap:10px;min-height:50dvh;text-align:center}.jb-end .jb-hand{color:var(--jb-blue)}.jb-nav{display:flex;align-items:center;justify-content:center;gap:18px;padding:8px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface);color:var(--text);border-top:1px solid var(--border);font-size:13.5px;font-weight:700}.jb-nav button{width:46px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:24px;line-height:1;cursor:pointer}.jb-nav button:disabled{opacity:.35;cursor:default}.jb-nav span{min-width:110px;text-align:center}@media(max-width:480px){.jb-page{padding:20px 14px 22px 38px}.jb-page:before{left:24px}.jb-pen{padding:6px 8px}.jb-top:has(.jb-pen)>b{visibility:hidden}}@media(prefers-reduced-motion:reduce){.jb-page.next,.jb-page.prev{animation:none}}.rs-zone{margin-top:22px;padding-top:14px;border-top:1px dashed var(--border-strong)}.rs-open{border:1px solid #F7B9B3;background:transparent;color:var(--red-strong, #B42318);border-radius:12px;padding:9px 14px;font:inherit;font-weight:700;cursor:pointer}[data-theme=dark] .rs-open{color:#ff8a80;border-color:#6b2a26}.rs-zone.open{padding:14px;border:1px solid #F7B9B3;border-radius:16px;background:var(--red-soft, #FEE7E5);color:var(--text)}[data-theme=dark] .rs-zone.open{background:#2a1416;border-color:#6b2a26}.rs-title{margin:0 0 8px;font-family:var(--font-display);font-weight:700;font-size:16px}.rs-list{margin:0 0 12px;padding-left:4px;list-style:none;display:grid;gap:6px;font-size:14px;line-height:1.45}.rs-label{display:grid;gap:6px;font-size:14px}.rs-label input{font:inherit;padding:10px 12px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}.rs-actions{display:flex;align-items:center;gap:14px;margin-top:12px;flex-wrap:wrap}.rs-confirm{border:none;border-radius:12px;padding:10px 16px;background:#d92d20;color:#fff;font:inherit;font-weight:800;cursor:pointer}.rs-confirm:disabled{opacity:.4;cursor:not-allowed}.tx{--tx-bg:#0B1220;--tx-card:#111A2E;--tx-line:#1E2A40;--tx-text:#E6EDF7;--tx-soft:#8A97B0;--tx-up:#22C55E;--tx-down:#EF4444;display:grid;gap:10px;margin:0 -6px;padding:10px;border-radius:20px;background:var(--tx-bg);color:var(--tx-text);font-variant-numeric:tabular-nums}.tx .up{color:var(--tx-up)}.tx .down{color:var(--tx-down)}.tx-k{margin:0;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--tx-soft);display:flex;align-items:center;gap:6px}.tx-account{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#14213d,#0f1a30);border:1px solid var(--tx-line)}.tx-acc-main{display:grid;gap:2px;min-width:0}.tx-acc-main small,.tx-acc-side small{font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--tx-soft)}.tx-acc-main b{font-size:24px;font-family:var(--font-display)}.tx-acc-main em{font-style:normal;font-size:12.5px;font-weight:700}.tx-acc-side{display:grid;grid-template-columns:auto auto;gap:2px 8px;align-content:center;text-align:right;font-size:13px}.tx-news{padding:12px 14px;border-radius:14px;background:var(--tx-card);border:1px solid var(--tx-line)}.tx-news.done{padding:10px 14px}.tx-live{width:8px;height:8px;border-radius:50%;background:var(--tx-down);box-shadow:0 0 #ef444499;animation:tx-pulse 1.6s infinite}@keyframes tx-pulse{0%{box-shadow:0 0 #ef444499}to{box-shadow:0 0 0 8px #ef444400}}.tx-headline{margin:6px 0 4px;font-size:16px;font-weight:700;line-height:1.4}.tx .pt-hint,.tx .pt-tap{color:var(--tx-soft)}.tx-ask{margin:10px 0 8px;font-weight:700}.tx-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tx-opt{padding:10px;border-radius:10px;border:1px solid #2B3B5A;background:#17233d;color:var(--tx-text);font:inherit;font-weight:700;font-size:13.5px;cursor:pointer}.tx-opt:hover{border-color:#3b82f6}.tx-verdict{margin:6px 0 0;font-size:13.5px;font-weight:700}.tx-verdict.ok{color:#86efac}.tx-verdict.no{color:#fca5a5}.tx-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:0 2px}.tx-tabs::-webkit-scrollbar{display:none}.tx-tab{flex:none;display:grid;gap:1px;padding:7px 11px;border-radius:10px;border:1px solid var(--tx-line);background:var(--tx-card);color:var(--tx-text);font:inherit;cursor:pointer;text-align:left}.tx-tab b{font-size:13px}.tx-tab small{font-size:11px;font-weight:700;color:var(--tx-soft)}.tx-tab.on{border-color:#3b82f6;background:#16274a;box-shadow:inset 0 -2px #3b82f6}.tx-card{padding:12px;border-radius:14px;background:var(--tx-card);border:1px solid var(--tx-line);scroll-margin-top:70px}.tx-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.tx-head>span{display:grid;gap:2px;min-width:0}.tx-name{font-size:16px}.tx-head small{font-size:12px;color:var(--tx-soft)}.tx-price{text-align:right}.tx-price b{font-size:20px;font-family:var(--font-display)}.tx-price small{font-weight:700}.tx-modes{display:flex;gap:6px;margin:8px 0 4px}.tx-mode{padding:4px 10px;border-radius:999px;border:1px solid var(--tx-line);background:transparent;color:var(--tx-soft);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.tx-mode.on{background:#1e2a40;color:var(--tx-text)}.tx-chart-wrap{position:relative;margin:0 -4px}.tx-chart{display:block;width:100%;height:auto;touch-action:manipulation;cursor:crosshair}.tx-axis{font-size:9.5px;fill:#7d8aa3;font-family:var(--font)}.tx-axis.start{fill:#94a3b8;font-weight:700}.tx-tag{font-size:10px;font-weight:800;fill:#fff;font-family:var(--font)}.tx-now{animation:tx-blink 1.2s ease-in-out infinite}@keyframes tx-blink{50%{opacity:.25}}.tx-lock{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center;padding:12px;border-radius:10px;background:#0b1220c7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tx-lock span{font-size:30px}.tx-lock b{font-size:13.5px}.tx-ohlc{margin:6px 0 0;font-size:12.5px;color:var(--tx-soft);line-height:1.5}.tx-ohlc span{color:var(--tx-text);font-weight:700}.tx-ohlc b{color:var(--tx-text)}.tx-ohlc span.up{color:var(--tx-up)}.tx-ohlc span.down{color:var(--tx-down)}.tx-pos{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:10px 0 0;border-top:1px solid var(--tx-line)}.tx-pos>span{display:grid}.tx-pos small{font-size:11px;color:var(--tx-soft)}.tx-pos b{font-size:14.5px}.tx-none{font-size:13px;color:var(--tx-soft)}.tx-trade{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.tx-buy,.tx-sell{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:0;border-radius:12px;color:#fff;font:inherit;font-size:17px;font-weight:800;letter-spacing:.06em;cursor:pointer}.tx-buy{background:linear-gradient(180deg,#22c55e,#16a34a);box-shadow:0 4px 14px #22c55e4d}.tx-sell{background:linear-gradient(180deg,#ef4444,#dc2626);box-shadow:0 4px 14px #ef44444d}.tx-buy:disabled,.tx-sell:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.tx-buy span,.tx-sell span{font-size:13px}.tx-ticket{display:grid;gap:8px;padding:12px;border-radius:14px;background:var(--tx-card);border:1px solid var(--tx-line)}.tx-ticket label{font-size:13px;font-weight:800}.tx-ticket-row{display:flex;gap:6px}.tx-ticket input{flex:1;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid #2B3B5A;background:#0b1220;color:var(--tx-text);font:inherit;font-size:15px}.tx-ticket input:focus{outline:2px solid #3B82F6;outline-offset:0}.tx-ticket-row button{flex:none;padding:0 14px;border:0;border-radius:10px;background:#3b82f6;color:#fff;font:inherit;font-weight:800;cursor:pointer}.tx-ticket-row button:disabled{opacity:.45}.tx-examples{display:flex;flex-wrap:wrap;gap:6px}.tx-chip{padding:5px 10px;border-radius:999px;border:1px solid #2B3B5A;background:transparent;color:#bfd0ea;font:inherit;font-size:12px;cursor:pointer}.tx-fee{margin:0;font-size:12px;color:var(--tx-soft)}.tx-msgs{list-style:none;margin:0;padding:0;display:grid;gap:4px}.tx-msgs li{padding:8px 10px;border-radius:10px;font-size:13px;background:#13213a}.tx-msgs li.ok{border-left:3px solid var(--tx-up)}.tx-msgs li.no{border-left:3px solid var(--tx-down)}.tx-list{display:grid;gap:2px;padding:10px 8px;border-radius:14px;background:var(--tx-card);border:1px solid var(--tx-line)}.tx-list .tx-k{padding:0 6px 4px}.tx-row{display:grid;grid-template-columns:minmax(0,1fr) 60px auto 18px;align-items:center;gap:10px;padding:8px 6px;border:0;border-radius:10px;background:transparent;color:var(--tx-text);font:inherit;text-align:left;cursor:pointer}.tx-row.on{background:#16274a}.tx-row-name{display:grid;min-width:0}.tx-row-name small{font-size:11.5px;color:var(--tx-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-row-price{display:grid;text-align:right}.tx-row-price small{font-size:11.5px;font-weight:700;color:var(--tx-soft)}.tx-spark{width:60px;height:24px}.tx-own{font-size:13px}.tx-close{width:100%;padding:14px;border:0;border-radius:14px;background:var(--grad-warm);color:#fff;font:inherit;font-size:15.5px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px #ff7a1a4d}.tx-recap{gap:12px;padding:16px 12px}.tx-recap-big{margin:0;font-size:18px;font-weight:800;line-height:1.4}.tx-moves{list-style:none;margin:0;padding:0;display:grid;gap:4px}.tx-moves li{display:grid;grid-template-columns:minmax(0,1fr) 90px 56px;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;background:var(--tx-card)}.tx-moves li>b{text-align:right;font-size:13.5px}.tx-bar{height:8px;border-radius:4px;background:#1e2a40;overflow:hidden}.tx-bar i{display:block;height:100%;border-radius:4px}.tx-bar i.up{background:var(--tx-up)}.tx-bar i.down{background:var(--tx-down);margin-left:auto}@media(prefers-reduced-motion:reduce){.tx-live,.tx-now{animation:none}}.fin-note{font-size:12.5px;color:var(--text-soft);margin:12px 0 0;line-height:1.45}.fin-pt-line{margin:0}.fin-k{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);margin:0 0 6px}.fin-big{font-family:var(--font-display);font-size:19px;font-weight:700;margin:0 0 10px;line-height:1.35}.fin-ask{font-weight:700;font-size:16px;margin:10px 0;line-height:1.4}.fin-count{font-size:13px;color:var(--text-soft);margin:0}.up{color:var(--primary)}.down{color:var(--red)}.fin-cats{margin-bottom:12px}.fin-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.fin-word{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}.fin-w{font-family:var(--font-display);font-weight:700;font-size:18px;margin:0;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.fin-pt{margin:0;font-weight:600;font-size:13.5px}.fin-def{margin:0;font-size:13px;color:var(--text-soft)}.fin-ex{margin:2px 0 6px;font-size:13px;font-style:italic;color:var(--text-soft)}.fin-word .save-word-btn{align-self:flex-start;margin-top:auto}.fin-feedback{margin-top:12px;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.fin-feedback.ok{border-color:var(--primary)}.fin-feedback.no{border-color:var(--red)}.fin-feedback p{margin:0 0 6px}.fin-day{font-weight:800;font-size:13px;background:var(--purple-soft);color:var(--purple);padding:4px 10px;border-radius:999px}.fin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 12px}.fin-stats span{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 10px;min-width:0}.fin-stats small{display:block;font-size:11.5px;color:var(--text-soft);font-weight:700}.fin-stats b{font-size:15px;display:block;overflow-wrap:anywhere}.fin-stats em{font-style:normal;font-size:12px}.fin-news{background:linear-gradient(160deg,var(--purple-soft),var(--surface) 75%);border:1px solid var(--purple-soft);border-radius:16px;padding:12px 14px;margin-bottom:10px}.fin-headline{font-family:var(--font-display);font-size:17px;font-weight:700;margin:0 0 4px;line-height:1.35}.fin-q .gm-options{grid-template-columns:1fr 1fr}.fin-answer{margin:4px 0 10px;font-weight:700}.fin-answer.ok{color:var(--primary)}.fin-answer.no{color:var(--red)}.fin-table{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.fin-row{display:grid;grid-template-columns:minmax(0,1fr) 82px 92px;gap:8px;align-items:center;padding:7px 10px;border-bottom:1px solid var(--border)}.fin-row:last-child{border-bottom:none}.fin-asset{all:unset;cursor:pointer;display:flex;align-items:center;gap:8px;min-width:0}.fin-asset:focus-visible{outline:2px solid var(--purple);border-radius:8px}.fin-tk{font-family:var(--font-display);font-weight:800;font-size:11.5px;background:var(--surface-2, var(--bg));border:1px solid var(--border);border-radius:8px;padding:3px 6px;flex:0 0 auto}.fin-name{display:flex;flex-direction:column;min-width:0;font-weight:700;font-size:13.5px;line-height:1.2}.fin-name small{font-weight:600;font-size:11.5px;color:var(--text-soft)}.fin-price{text-align:right;font-weight:700;font-size:13.5px;display:flex;flex-direction:column}.fin-price small{font-size:11.5px}.fin-own{text-align:right;font-size:13px;font-weight:700;display:flex;flex-direction:column;align-items:flex-end}.fin-own small{font-size:11px;color:var(--text-soft);font-weight:600}.fin-sell{border:none;background:var(--coral-soft, #FFE6D2);color:var(--coral);border-radius:999px;font:inherit;font-size:11px;font-weight:800;padding:1px 8px;margin-top:2px;cursor:pointer}.fin-order{margin-top:12px;display:flex;flex-direction:column;gap:6px}.fin-order label{font-weight:800;font-size:14px}.fin-order-row{display:flex;gap:8px}.fin-order-row input{flex:1;min-width:0;font:inherit;font-size:15px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.fin-examples{display:flex;flex-wrap:wrap;gap:6px}.fin-chip{border:1px dashed var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:5px 10px;font:inherit;font-size:12.5px;cursor:pointer}.fin-chip:hover{border-color:var(--purple)}.fin-msgs{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:6px}.fin-msgs li{font-size:13.5px;padding:8px 10px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.fin-msgs li.ok{border-color:var(--primary)}.fin-msgs li.no{border-color:var(--amber)}.fin-close{width:100%;margin-top:14px}.fin-recap{display:flex;flex-direction:column;gap:10px}.fin-moves{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}.fin-moves li{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:14px}.fin-moves li:last-child{border-bottom:none}.fin-moves b{margin-left:auto}.fin-tips{list-style:none;padding:0;margin:8px 0 0;text-align:left;display:flex;flex-direction:column;gap:6px}.fin-tips li{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 10px;font-size:14px}.fin-clients{display:flex;flex-direction:column;gap:10px}.fin-client{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 14px}.fin-client:hover{border-color:var(--purple)}.fin-client:focus-visible{outline:2px solid var(--purple)}.fin-client>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.fin-client small{color:var(--text-soft);font-size:12.5px}.fin-client-ask{font-size:13.5px;margin-top:2px}.fin-stars{font-size:13px;white-space:nowrap}.fin-avatar{width:42px;height:42px;border-radius:50%;background:var(--purple-soft);display:grid;place-items:center;font-size:22px;flex:0 0 auto}.fin-avatar.big{width:52px;height:52px;font-size:28px}.fin-meet{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;margin-bottom:12px}.fin-meet-who{display:flex;gap:10px;align-items:center;margin-bottom:8px}.fin-meet-who span:last-child{display:flex;flex-direction:column}.fin-meet-who small{color:var(--text-soft)}.fin-story{margin:0 0 6px;line-height:1.55}.fin-write{display:flex;flex-direction:column;gap:8px}.fin-write textarea{font:inherit;font-size:15px;line-height:1.5;padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;min-height:130px}.fin-write-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.fin-write-foot small{font-weight:700;color:var(--text-soft)}.fin-write-foot small.ok{color:var(--primary)}.fin-result{display:flex;flex-direction:column;gap:12px}.fin-warn{margin:0;font-weight:700;color:var(--amber-strong, var(--amber))}.fin-ideas{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45}.fin-ideas.miss li::marker{content:"💡 "}.fin-ideas.warn li::marker{content:"⚠️ "}.fin-model{background:linear-gradient(160deg,var(--purple-soft),var(--surface) 80%);border:1px solid var(--purple-soft);border-radius:16px;padding:12px 14px}.fin-model p:last-child,.fin-yours p:last-child{margin:0;line-height:1.55}.fin-yours{background:var(--surface);border:1px dashed var(--border);border-radius:16px;padding:12px 14px}@media(max-width:420px){.fin-row{grid-template-columns:minmax(0,1fr) 74px 80px;padding:7px 8px}.fin-q .gm-options{grid-template-columns:1fr}}.lib-steptag{display:flex;align-items:center;gap:8px;margin:0 0 6px;flex-wrap:wrap}.lib-steptag span{font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--coral);color:#fff;padding:3px 9px;border-radius:6px}.lib-steptag em{font-style:normal;font-weight:800;font-size:11px;border:1.5px solid var(--text);border-radius:6px;padding:2px 7px}.lib-intro-pt{margin:-4px 0 10px;font-size:13px;color:var(--text-soft)}.lib-challenge{border:2px dashed var(--coral);border-radius:14px;padding:10px 14px;margin:10px 0;background:color-mix(in srgb,var(--coral) 6%,var(--surface))}.lib-challenge p{margin:0;line-height:1.5}.lib-challenge b{color:var(--coral)}.lib-mistakes{border:1px solid var(--border);border-left:5px solid var(--coral);border-radius:14px;padding:10px 14px;margin:10px 0;background:var(--surface)}.lib-mistakes-title{font-family:var(--font-display);font-weight:800;margin:0 0 6px}.lib-mistakes ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lib-mistakes li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:14px}.lib-mk-right{font-weight:700;color:var(--primary)}.lib-mk-wrong{text-decoration:line-through;color:var(--red)}.lib-mistakes small{color:var(--text-soft)}.lib-ladder{border:1px solid var(--border);border-radius:14px;overflow:hidden;margin:10px 0;background:var(--surface)}.lib-ladder-title{font-family:var(--font-display);font-weight:800;margin:0;padding:9px 14px;background:var(--purple-soft)}.lib-ladder-row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;padding:8px 14px;border-top:1px solid var(--border);font-size:14px;align-items:start}.lib-ladder-row small{font-weight:800;font-size:10.5px;letter-spacing:.06em;padding-top:2px}.lib-ladder-row.basic small{color:var(--primary)}.lib-ladder-row.intermediate small{color:var(--purple)}.lib-ladder-row.advanced small{color:var(--coral)}.lib-homework{border-radius:14px;padding:12px 14px;margin:10px 0;background:var(--purple-soft);display:flex;flex-direction:column;gap:6px;align-items:flex-start}.lib-homework p{margin:0}.lib-homework-title{font-family:var(--font-display);font-weight:800}.lib-homework-bonus{font-size:13.5px;color:var(--text-soft)}@media(max-width:420px){.lib-ladder-row{grid-template-columns:1fr;gap:2px}}.lib-count{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}.lib-count span{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 10px;font-size:12px;color:var(--text-soft);text-align:center;line-height:1.25}.lib-count b{display:block;font-family:var(--font-display);font-size:22px;color:var(--coral)}@media(max-width:480px){.lib-count{grid-template-columns:repeat(2,minmax(0,1fr))}}.lib-admin-row a.post-btn{text-decoration:none}.lib-admin-row .btn-primary.btn-small{width:auto;flex:none;margin:0}.lpdf-portal{position:fixed;inset:0;z-index:200;overflow:auto;background:#5b6275;padding:0 0 40px;--n:#0B1B3F;--o:#FF7A1A;--o2:#E8620A;--cr:#FFF4E8;--g:#F2F4F8;--line:#DCE1EA;--ink:#1B2236;--soft:#5A6478}.lpdf-bar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;padding:10px 12px;background:#0b1b3f;color:#fff}.lpdf-bar .gm-back{color:#fff;background:#ffffff24;border:0;width:auto}.lpdf-bar-title{flex:1;min-width:0;font-family:var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lpdf-bar select{width:auto;flex:none;border-radius:10px;padding:7px 10px;border:0;font:inherit;background:#fff;color:#0b1b3f}.lpdf-print{width:auto!important;padding:9px 14px!important}.lpdf-hint{margin:8px 12px 12px;text-align:center;color:#e8ecf4;font-size:12.5px}.lpdf-pages{display:flex;flex-direction:column;align-items:center;gap:18px}.lpdf-page{width:794px;min-height:1123px;box-sizing:border-box;background:#fff;color:var(--ink);padding:56px 60px 34px;display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif;font-size:13.5px;line-height:1.5;box-shadow:0 6px 24px #00000040;position:relative;text-align:left}.lpdf-page h1,.lpdf-page b,.lpdf-k,.lpdf-k2,.lpdf-step,.lpdf-num{font-family:"Poppins",var(--font-display),sans-serif}.lpdf-page .o{color:var(--o)}.lpdf-wm{font-family:Poppins,sans-serif;font-weight:800;letter-spacing:-.02em;color:var(--n)}.lpdf-wm.big{font-size:30px;color:#fff}.lpdf-cover{background:var(--n);color:#fff;padding:0;overflow:hidden}.lpdf-cover-top{padding:56px 60px 30px;flex:1}.lpdf-kicker{margin:46px 0 10px;color:var(--o);font-weight:700;font-size:13px;letter-spacing:.32em}.lpdf-cover-title{margin:0;font-size:66px;line-height:1.02;font-weight:800;letter-spacing:-.02em;color:#fff}.lpdf-sub{margin:18px 0 0;font-size:17px;color:#c9d2e6;max-width:560px}.lpdf-chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 0}.lpdf-chip{border:1.5px solid rgba(255,255,255,.45);border-radius:999px;padding:5px 14px;font-weight:600;font-size:13px}.lpdf-chip.on{background:var(--o);border-color:var(--o)}.lpdf-bubbles{display:flex;flex-wrap:wrap;gap:14px 16px;margin:46px 0 0;max-width:640px}.lpdf-bubble{padding:10px 18px;border-radius:20px 20px 20px 4px;font-weight:700;font-size:15px;font-family:Poppins,sans-serif}.lpdf-bubble.b0{background:#fff;color:var(--n)}.lpdf-bubble.b1{background:var(--o);color:#fff;border-radius:20px 20px 4px}.lpdf-bubble.b2{border:2px solid rgba(255,255,255,.7);color:#fff}.lpdf-bubble.b3{background:#1f5bff;color:#fff;border-radius:20px 20px 4px}.lpdf-inside{background:var(--cr);color:var(--ink);padding:26px 60px 34px}.lpdf-k{margin:0 0 14px;font-weight:700;font-size:12px;letter-spacing:.3em;color:var(--o2)}.lpdf-inside-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 26px}.lpdf-inside-grid>div{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;align-items:center}.lpdf-inside-grid b{font-size:14px;line-height:1.25}.lpdf-inside-grid small{grid-column:2;color:var(--soft);font-size:12px}.lpdf-num{grid-row:span 2;width:28px;height:28px;border-radius:50%;background:var(--o);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.lpdf-top{display:flex;align-items:center;gap:10px;margin-bottom:16px}.lpdf-step{background:var(--o);color:#fff;font-weight:700;font-size:12px;letter-spacing:.12em;padding:5px 12px;border-radius:7px}.lpdf-time{border:1.5px solid var(--n);color:var(--n);font-weight:700;font-size:12px;padding:3px 10px;border-radius:7px}.lpdf-dots{margin-left:auto;display:flex;gap:5px}.lpdf-dots i{width:9px;height:9px;border-radius:50%;background:var(--line)}.lpdf-dots i.past{background:#ffc9a0}.lpdf-dots i.on{background:var(--o);width:22px;border-radius:6px}.lpdf-title{margin:0 0 8px;font-size:36px;line-height:1.1;font-weight:800;color:var(--n);letter-spacing:-.01em}.lpdf-intro{margin:0 0 4px;font-size:14.5px;color:var(--ink)}.lpdf-flag{width:1.25em;height:.9em;vertical-align:-1px;display:inline-block}.lpdf-pt{margin:0 0 6px;font-size:13px;color:var(--soft);font-style:italic}.lpdf-blocks{display:flex;flex-direction:column;gap:14px;margin-top:12px}.lpdf-blocks p{margin:0}.lpdf-text p{margin:0 0 8px;font-size:14.5px;line-height:1.65}.lpdf-src{color:var(--soft);font-size:11.5px}.lpdf-card{background:var(--g);border-radius:12px;padding:12px 16px}.lpdf-card p{margin:4px 0 0}.lpdf-card.small{font-size:12.5px}.lpdf-def small,.lpdf-card small{color:var(--soft)}.lpdf-url{word-break:break-all}.lpdf-facts,.lpdf-ticks,.lpdf-small{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.lpdf-facts li{background:var(--cr);border-radius:10px;padding:8px 12px}.lpdf-ask{font-weight:700;color:var(--n)}.lpdf-box{display:inline-block;width:14px;height:14px;border:2px solid var(--n);border-radius:4px;vertical-align:-2px;flex:none}.lpdf-ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.lpdf-ticks li{display:flex;gap:8px;align-items:baseline}.lpdf-ticks.big{grid-template-columns:1fr;font-size:15px;gap:11px}.lpdf-table{width:100%;border-collapse:collapse;font-size:12.5px}.lpdf-table td{border-bottom:1px solid var(--line);padding:7px 8px;vertical-align:top}.lpdf-table td.w{font-family:Poppins,sans-serif;font-weight:700;color:var(--n);width:20%}.lpdf-table td.w em{font-family:Inter,sans-serif;font-weight:500;font-size:10.5px;color:var(--o2)}.lpdf-table td.pt{color:var(--o2);font-weight:600;width:16%}.lpdf-table td.ex{color:var(--soft);font-style:italic;width:32%}.lpdf-table tr:nth-child(odd) td{background:#fafbfd}.lpdf-qs{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:9px}.lpdf-qs li::marker{color:var(--o);font-weight:800}.lpdf-qs.fill li{line-height:2}.lpdf-opts{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:3px;color:var(--soft)}.lpdf-opts b{color:var(--o)}.lpdf-phrases{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.lpdf-phrases small{width:100%;font-weight:700;color:var(--n)}.lpdf-phrases span{background:var(--cr);border-radius:14px 14px 14px 4px;padding:6px 12px}.lpdf-task{background:#eaf0ff;border-left:5px solid #1F5BFF}.lpdf-news{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lpdf-news p{font-size:12.5px}.lpdf-rf{display:flex;gap:6px;align-items:center;margin-top:6px;font-weight:700;font-size:11.5px}.lpdf-sort-items{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.lpdf-sort-items span{border:1.5px solid var(--line);border-radius:8px;padding:4px 10px}.lpdf-sort-cols{display:grid;gap:10px}.lpdf-sort-cols>div{background:var(--g);border-radius:10px;padding:8px 12px}.lpdf-lines{display:flex;flex-direction:column;gap:20px;margin-top:16px}.lpdf-lines i{display:block;border-bottom:1.5px solid #B8C0CE}.lpdf-pairs{display:flex;flex-direction:column;gap:8px}.lpdf-pairs>div{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;background:var(--g);border-radius:10px;padding:8px 14px}.lpdf-pairs em{color:var(--o);font-weight:800;font-style:normal}.lpdf-meter{display:flex;flex-direction:column;gap:7px}.lpdf-meter>div{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:6px}.lpdf-scale{letter-spacing:.35em;white-space:nowrap}.lpdf-meter small{color:var(--soft)}.lpdf-iwould{display:block;color:var(--soft);margin-top:4px}.lpdf-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lpdf-goal{color:var(--o2);font-weight:600}.lpdf-challenge{border:2px dashed var(--o);border-radius:12px;padding:10px 14px;background:#fff8f1}.lpdf-challenge b{color:var(--o2)}.lpdf-mistakes{background:var(--cr);border-left:5px solid var(--o);border-radius:12px;padding:10px 16px}.lpdf-mistakes p{margin:4px 0 0}.lpdf-mistakes s{color:#c2410c}.lpdf-mistakes small{color:var(--soft)}.lpdf-ladder{border:1px solid var(--line);border-radius:12px;overflow:hidden}.lpdf-ladder>b{display:block;background:var(--n);color:#fff;padding:7px 14px}.lpdf-ladder>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:7px 14px;border-top:1px solid var(--line)}.lpdf-ladder small{font-weight:800;font-size:10.5px;letter-spacing:.08em;padding-top:2px}.lpdf-ladder small.basic{color:#12b76a}.lpdf-ladder small.intermediate{color:#1f5bff}.lpdf-ladder small.advanced{color:var(--o2)}.lpdf-homework{background:var(--n);color:#fff;border-radius:14px;padding:14px 18px}.lpdf-homework p{margin:6px 0 0}.lpdf-homework small{display:block;margin-top:6px;color:#c9d2e6}.lpdf-done{margin-top:auto;padding-top:22px;display:flex;justify-content:flex-end;align-items:center;gap:8px;font-family:Poppins,sans-serif;font-weight:700;color:var(--n)}.lpdf-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:11.5px;color:var(--soft)}.lpdf-teacher{background:var(--cr)}.lpdf-teacher .lpdf-step{background:var(--n)}.lpdf-plan{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:12px;background:#fff;border-radius:10px;overflow:hidden}.lpdf-plan th{background:var(--n);color:#fff;text-align:left;padding:8px 10px;font-family:Poppins,sans-serif;font-size:12px}.lpdf-plan td{padding:7px 10px;border-top:1px solid var(--line);vertical-align:top}.lpdf-plan td.o{font-weight:800;font-family:Poppins,sans-serif}.lpdf-plan td:nth-child(2){white-space:nowrap}.lpdf-tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}.lpdf-tgrid.one>div:first-child{display:none}.lpdf-tgrid.one{grid-template-columns:1fr}.lpdf-k2{margin:12px 0 6px;font-weight:700;color:var(--n)}.lpdf-small{font-size:12.5px;gap:5px}.lpdf-small li:before{content:"• ";color:var(--o)}.lpdf-teacher .lpdf-card{background:#fff}html.lpdf-on body{overflow:hidden}@media print{@page lpdf{size:A4;margin:0}html.lpdf-on body>*:not(.lpdf-portal){display:none!important}html.lpdf-on .lpdf-portal,html.lpdf-on .lpdf-portal *{visibility:visible!important}html.lpdf-on body{overflow:visible;background:#fff}.lpdf-portal{position:static;overflow:visible;background:#fff;padding:0}.lpdf-bar,.lpdf-hint{display:none!important}.lpdf-pages{zoom:1!important;gap:0;display:block}.lpdf-page{page:lpdf;width:210mm;min-height:297mm;box-shadow:none;break-after:page;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact}.lpdf-page:last-child{break-after:auto;page-break-after:auto}.lpdf-blocks>*{break-inside:avoid}}.tm-agree{display:flex;gap:10px;align-items:flex-start;text-align:left;font-size:13.5px;line-height:1.45;margin:6px 0 10px;cursor:pointer}.tm-agree input{width:20px;height:20px;flex:0 0 auto;margin-top:1px;accent-color:var(--purple)}.tm-agree .link-btn{display:inline;padding:0;font-size:inherit;text-decoration:underline}.tm-agree small{display:block;margin-top:3px;font-size:12px;color:var(--text-soft)}.tm-overlay{position:fixed;inset:0;z-index:1000;background:var(--bg);display:flex;flex-direction:column}.tm-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.tm-bar b{font-family:var(--font-display)}.tm-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.tm-doc{max-width:720px;margin:0 auto;padding:18px 16px 60px;line-height:1.6;font-size:15px;color:var(--text)}.tm-doc ul{padding-left:20px;margin:6px 0 12px}.tm-doc li{margin-bottom:4px}.tm-doc p{margin:0 0 10px}.tm-meta{font-size:12.5px;color:var(--text-soft)}.tm-short{background:linear-gradient(160deg,var(--purple-soft),var(--surface) 80%);border:1px solid var(--purple-soft);border-radius:16px;padding:12px 16px;margin:12px 0 18px}.tm-k{font-family:var(--font-display);font-weight:700;margin:0 0 4px!important}.tm-title{font-family:var(--font-display);font-size:22px;margin:26px 0 8px;scroll-margin-top:12px}.tm-h{font-family:var(--font-display);font-size:16px;margin:18px 0 6px}.tm-gate{position:fixed;inset:0;z-index:900;background:#0b1b3f8c;display:grid;place-items:center;padding:16px;overflow-y:auto}.tm-gate-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:22px 20px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:8px;text-align:center}.tm-gate-ic{font-size:36px;margin:0}.tm-gate-card h2{font-family:var(--font-display);font-size:20px;margin:0}.tm-gate-pt{margin:0;font-size:13px;color:var(--text-soft)}.tm-gate-list{text-align:left;margin:6px 0;padding-left:20px;font-size:14px;line-height:1.5}.tm-gate-read{margin:0;font-size:14px}.tm-gate-read .link-btn{padding:0}.tm-gate-out{align-self:center}.gt-card{text-align:left}.gt-card .dg-chest-title,.gt-card>.muted{text-align:center}.gt-here{font-size:14px}.gt-result{padding:10px 12px;border-radius:12px;background:#ef44441f;font-weight:600}.gt-result.ok{background:#12b76a29}.gt-clue{padding:10px 12px;border-radius:12px;background:#fff9;border:2px dashed #8B5E34;font-family:Georgia,serif;line-height:1.5}.gt-tools{display:flex;gap:8px;justify-content:center;margin:0 0 8px}.gt-tools .rpg-small{position:relative}.gt-tools .rpg-badge{position:absolute;top:-6px;right:-6px}.gt-digmsg{margin:0 0 8px;padding:10px 12px;border-radius:12px;background:#fff6e2;color:#3a2410;border:2px solid #6B4423;font-weight:600;text-align:center;cursor:pointer;animation:ow-in .25s ease}.lt-map{padding:8px 10px;border-radius:12px;background:#ffffff8c;border:2px dashed #8B5E34}.ws{display:grid;gap:10px;margin-top:12px;padding:12px}.ws .vg-title small{font-weight:500}.ws-list{display:grid;gap:6px}.ws-row{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:#ffffff73}.ws-row.off{opacity:.62}.ws-ic{font-size:26px;flex:none}.ws-text{display:grid;gap:1px;flex:1;min-width:0}.ws-text small{font-size:12.5px}.ws-text em{font-size:12px;font-style:normal;color:#9a3412}.ws-row .rpg-small{flex:none}.ws-card{display:grid;gap:10px}.ws-name{margin:0;font-family:Cinzel,Georgia,serif;font-size:19px;font-weight:700}.ws-steps{margin:0;padding:10px 12px;border-radius:12px;background:#fff9;border:2px dashed #8B5E34;font-family:Georgia,serif;line-height:1.55}.aw-skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.aw-skill{display:flex;gap:8px;align-items:center;padding:10px}.aw-skill>span:last-child{display:grid;gap:3px;flex:1;min-width:0}.aw-skill small{font-size:12px}.aw-skill b small{display:block;font-weight:600}.aw-ic{font-size:26px;flex:none}.aw-res{display:flex;flex-wrap:wrap;gap:6px;margin:0}.aw-res span{padding:4px 9px;border-radius:999px;background:#ffffff8c;border:1px solid rgba(107,68,35,.35);font-size:13px}.aw-list{display:grid;gap:6px}.aw-row{display:flex;gap:10px;align-items:center;padding:10px}.aw-row.ok{border-color:#b8860b}.aw-text{display:grid;gap:3px;flex:1;min-width:0}.aw-text small{font-size:12.5px}.aw-btns{display:flex;flex-wrap:wrap;gap:6px}.aw-btns .rpg-small.on{background:#b8860b;color:#fff}.aw-n{font-style:normal;font-weight:700;flex:none}.bs-page{display:grid;gap:12px}.bs-hero{display:flex;gap:12px;align-items:center;padding:16px;border-radius:20px;background:linear-gradient(135deg,#141a2e,#22305a);color:#fff}.bs-hero>span{font-size:40px}.bs-hero div{display:grid;gap:3px}.bs-hero small{color:#b9c3e0}.bs-menu-card{display:flex;gap:12px;align-items:center;text-align:left;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.bs-menu-card>span:first-child{font-size:30px}.bs-menu-card span:last-child{display:grid;gap:2px}.bs-menu-card small{color:var(--muted)}.bs-menu-card.remix{border-color:#ff7a1a;background:color-mix(in srgb,#FF7A1A 10%,var(--surface))}.bs-intro{margin:0;color:var(--muted)}.bs-msg{margin:0;padding:8px 12px;border-radius:12px;background:var(--c-soft, rgba(31,91,255,.1));font-weight:600}.bs{display:grid;gap:10px;padding:10px;border-radius:18px;background:#11141f;color:#e6e9f2;box-shadow:0 8px 24px #00000040}.bs-transport{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;border-radius:14px;background:linear-gradient(180deg,#1e2335,#171b29);border:1px solid #2A3047}.bs-play{width:48px;height:48px;flex:none;border-radius:50%;border:0;font-size:20px;color:#fff;background:#2a3047;cursor:pointer;box-shadow:inset 0 -3px #00000059}.bs-play.on{background:#ff7a1a;box-shadow:0 0 16px #ff7a1a99}.bs-lcd{display:grid;justify-items:center;min-width:62px;padding:4px 8px;border-radius:8px;background:#0a0d16;border:1px solid #2A3047;font-family:ui-monospace,Menlo,Consolas,monospace;line-height:1.1}.bs-lcd b{font-size:22px;color:#7cf5c6}.bs-lcd small{font-size:9px;color:#7a84a6;letter-spacing:.08em}.bs-tempo{display:flex;align-items:center;gap:4px;flex:1;min-width:150px}.bs-tempo input{flex:1;accent-color:#FF7A1A;min-width:0}.bs-tempo button{width:30px;height:30px;border-radius:8px;border:1px solid #2A3047;background:#1a1f30;color:#e6e9f2;font-size:16px;cursor:pointer}.bs-swing{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.bs-swing small{font-size:9px;letter-spacing:.08em;color:#7a84a6;margin-right:2px}.bs-swing button,.bs-chip{padding:5px 9px;border-radius:999px;border:1px solid #2F3650;background:#1a1f30;color:#c9d0e6;font:inherit;font-size:12.5px;cursor:pointer}.bs-swing button.on,.bs-chip.on{background:#1f5bff;border-color:#1f5bff;color:#fff}.bs-chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.bs-chips small{color:var(--muted);font-size:12.5px}.bs-chips.presets .bs-chip,.bs-chip.light{background:var(--surface);color:var(--text);border-color:var(--line)}.bs-sep{width:1px;height:18px;background:#2f3650;margin:0 2px}.bs-panel{display:grid;gap:6px;padding:8px;border-radius:14px;background:#171b29;border:1px solid #242A3F}.bs-head{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:700;font-size:14px}.bs-head small{font-weight:500;color:#7a84a6;font-size:11.5px}.bs-melctl{margin-left:auto;display:flex;gap:6px;align-items:center}.bs-grid{display:grid;grid-template-columns:minmax(64px,92px) repeat(16,minmax(0,1fr));gap:3px 2px;align-items:center}.bs-count{font-size:9px;text-align:center;color:#4e5775;font-family:ui-monospace,Menlo,Consolas,monospace}.bs-count.beat{color:#b9c3e0;font-weight:700;font-size:10.5px}.bs-count.now{color:#ff7a1a}.bs-label{display:flex;align-items:center;gap:4px;min-width:0;padding-right:2px}.bs-label b{flex:1;min-width:0;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pad)}.bs-label.muted b{color:#4e5775;text-decoration:line-through}.bs-led{width:12px;height:12px;flex:none;padding:0;border-radius:50%;border:1px solid #3A4260;background:#252b40;cursor:pointer}.bs-led.on{background:#3df57a;box-shadow:0 0 6px #3df57a}.bs-vol{display:inline-flex;padding:2px;border:0;background:none;cursor:pointer}.bs-volbars{display:inline-flex;gap:1px;align-items:flex-end;height:12px}.bs-volbars i{width:3px;background:#323a56;border-radius:1px}.bs-volbars i:nth-child(1){height:4px}.bs-volbars i:nth-child(2){height:6px}.bs-volbars i:nth-child(3){height:9px}.bs-volbars i:nth-child(4){height:12px}.bs-volbars i.on{background:#7cf5c6}.bs-pad{height:clamp(24px,6vw,34px);padding:0;border-radius:5px;border:1px solid #2C3350;background:#232840;cursor:pointer;box-shadow:inset 0 -2px #00000059}.bs-pad.alt{background:#1b2034}.bs-pad.on{background:var(--pad);border-color:var(--pad);box-shadow:0 0 8px color-mix(in srgb,var(--pad) 70%,transparent),inset 0 1px #ffffff59}.bs-pad.now{outline:2px solid rgba(255,255,255,.75);outline-offset:-1px}.bs-grid.roll{gap:1px 1px}.bs-key{height:clamp(20px,5vw,26px);padding:0 6px;border:0;border-radius:4px;background:#e9ecf4;color:#11141f;font:inherit;font-size:11px;font-weight:700;text-align:left;display:flex;align-items:center;gap:4px;cursor:pointer}.bs-key.root{background:#ffe3cc}.bs-key small{font-size:9px;font-weight:500;color:#9a5a20}.bs-cell{height:clamp(20px,5vw,26px);padding:0;border:0;background:#1d2236;cursor:pointer}.bs-cell.beat{box-shadow:inset 1px 0 #39415f}.bs-cell.on{background:#7cf5c6;border-radius:3px;box-shadow:0 0 6px #7cf5c699}.bs-cell.now{background:#2c3352}.bs-cell.on.now{background:#c6ffe8}.bs-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bs-actions .btn-primary{flex:1 1 220px}.bs-btn{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.bs-btn:disabled{opacity:.5;cursor:default}.bs-sheet-wrap{position:fixed;inset:0;z-index:70;display:grid;align-items:end;justify-items:center;background:#080c1c8c}.bs-sheet{width:min(520px,100%);max-height:88dvh;overflow:auto;display:grid;gap:10px;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--surface);color:var(--text);animation:ow-in .2s ease}@media(min-width:700px){.bs-sheet-wrap{align-items:center}.bs-sheet{border-radius:22px}}.bs-sheet p{margin:0}.bs-sheet-title{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:17px}.bs-input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;resize:vertical}.bs-saved{display:flex;gap:8px;align-items:center}.bs-saved b{flex:1}.bs-issues{margin:0;padding-left:18px;font-size:13.5px;display:grid;gap:4px}.bs-missions{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.bs-mcard{display:grid;gap:4px;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.bs-mcard small{color:var(--muted);font-size:12.5px}.bs-mcard em{font-style:normal;color:var(--primary);font-weight:700;font-size:12.5px}.bs-mcard.done{border-color:var(--primary)}.bs-mtier{font-size:12px;margin:0}.bs-mission{display:grid;gap:6px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#1f5bff,#3d8bff);color:#fff}.bs-mission p{margin:0}.bs-mtitle{font-family:var(--font-display);font-weight:700;font-size:18px}.bs-mtext{font-size:15.5px;line-height:1.5}.bs-mission .pt-hint,.bs-mission small{color:#dce6ff}.bs-result{padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--coral) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--coral) 45%,transparent)}.bs-result.ok{background:color-mix(in srgb,var(--primary) 14%,var(--surface));border-color:var(--primary)}.bs-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.bs-word{display:grid;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}.bs-word p{margin:0}.bs-ex{font-style:italic}.bs-mini{display:flex;gap:10px;align-items:center;margin:8px 0;padding:10px;border-radius:16px;background:#11141f;color:#e6e9f2}.bs-mini-body{flex:1;min-width:0;display:grid;gap:6px}.bs-mini-body p{margin:0;display:grid}.bs-mini-body small{color:#7a84a6;font-size:11.5px}.bs-mini-grid{display:grid;gap:2px}.bs-mini-grid>div{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:2px}.bs-mini-grid i{height:6px;border-radius:2px;background:#232840}.bs-mini-grid i.on{background:var(--pad, #7CF5C6)}.bs-mini-grid .mel i.on{background:#7cf5c6}.bs-mini-grid i.now{outline:1px solid #fff}.bs-remix{justify-self:start;color:#9db6ff}@media(prefers-reduced-motion:reduce){.bs-sheet{animation:none}}.gm-3d{display:block;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(11,27,63,.18));-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}[data-theme=dark] .gm-3d{filter:drop-shadow(0 0 7px rgba(255,255,255,.28)) drop-shadow(0 6px 8px rgba(0,0,0,.4))}.gm-card.gm-play .gm-icon,.gm-hub.four .gm-card.gm-play .gm-icon{width:auto;height:auto;background:none;box-shadow:none;border-radius:0}.gm-card.gm-play:hover .gm-icon{transform:translateY(-3px) rotate(-6deg) scale(1.06)}.gm-hub.cols-1{grid-template-columns:1fr}.gm-hub.cols-2{grid-template-columns:repeat(2,1fr)}.gm-hub.cols-3{grid-template-columns:repeat(3,1fr)}.gm-hub.cols-4{grid-template-columns:repeat(4,1fr);gap:8px}.gm-card.gm-play{min-height:112px;justify-content:center;border:1px solid color-mix(in srgb,var(--c) 18%,transparent)}.gm-play-text{display:flex;flex-direction:column;gap:2px;min-width:0}.gm-hub.cols-4 .gm-card.gm-play{padding:10px 4px 9px}.gm-hub.cols-4 .gm-card.gm-play strong{font-size:12.5px}.gm-hub.cols-4 .gm-3d{width:40px;height:40px}.gm-hub.cols-1 .gm-card.gm-play,.gm-hub.cols-2 .gm-card.gm-play{flex-direction:row;align-items:center;text-align:left;gap:10px;padding:12px;min-height:0}.gm-hub.cols-2 .gm-card.gm-play{flex-direction:column;align-items:flex-start}.gm-hub.cols-1 .gm-play-text small,.gm-hub.cols-2 .gm-play-text small{font-size:12px;line-height:1.3;color:var(--muted);font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.gm-hub.cols-1 .gm-play-text strong,.gm-hub.cols-2 .gm-play-text strong{font-size:15px}.gm-today-icon{background:#fff3}.gm-today-icon .gm-3d{filter:drop-shadow(0 8px 10px rgba(0,0,0,.25))}.mw-entry .gm-icon,.mw-pair .mw-entry .gm-icon{background:none;box-shadow:none;width:auto;height:auto}.gm-card.pt-entry .gm-icon{background:#ffffff2e;border-radius:14px;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.gm-group{margin-top:18px}.gm-group .section-label{margin:0 2px 8px}@media(min-width:600px){.gm-hub.cols-3{grid-template-columns:repeat(3,1fr)}.gm-card.gm-play{min-height:124px}.gm-hub.cols-2 .gm-card.gm-play{flex-direction:row;align-items:center}}@media(prefers-reduced-motion:reduce){.gm-card.gm-play:hover .gm-icon{transform:none}}.gc{margin:10px 0 4px;text-align:left}.gc-table{width:100%;border-collapse:collapse;font-size:13.5px;color:#3a2a17;background:#ffffff8c;border:1px solid #c9a978;border-radius:12px;overflow:hidden}.gc-table th,.gc-table td{padding:6px 8px;border-bottom:1px solid rgba(160,120,70,.25);vertical-align:top}.gc-table thead th{text-align:left;font-weight:600;background:#c9a97838}.gc-table thead th small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#7a5c38}.gc-table thead th b{display:block;font-size:13px;line-height:1.2}.gc-table tbody th{text-align:left;font-weight:600;white-space:nowrap}.gc-table td{font-weight:700}.gc-table td.up{color:#1c7c43}.gc-table td.down{color:#b3261e}.gc-table td small{font-weight:800}.gc-rar{display:inline-block;margin-top:2px;font-style:normal;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.8}.gc-verdict{margin:8px 0 0;padding:7px 10px;border-radius:10px;font-weight:800;font-size:14px}.gc-verdict small{font-weight:600}.gc-verdict.up{background:#dff3e6;color:#1c7c43}.gc-verdict.down{background:#fbe3e1;color:#b3261e}.gc-verdict.same{background:#f3ead8;color:#6b4f2c}.wk-qhead{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;margin:4px 0 10px}.wk-qtext{font-size:13px;color:var(--text-soft);font-weight:600}.wk-qtext b{color:var(--text);font-size:15px}.wk-qtag{font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:99px;background:var(--purple-soft);color:var(--purple-strong, var(--purple))}.wk-qbar{grid-column:1 / -1;height:8px;border-radius:99px;background:color-mix(in srgb,var(--purple) 12%,var(--surface));overflow:hidden}.wk-qbar i{display:block;height:100%;border-radius:inherit;background:var(--grad);transition:width .35s ease}.wk-qhead+.fin-ask{margin:0 0 14px;padding:20px 18px;border-radius:20px;background:linear-gradient(160deg,color-mix(in srgb,var(--purple) 10%,var(--surface)),var(--surface) 70%);border:1px solid color-mix(in srgb,var(--purple) 18%,var(--border));box-shadow:var(--shadow-sm);font-family:var(--font-display);font-size:clamp(17px,2.4vw,21px);line-height:1.35;text-align:center}.wk-qhead~.gm-options{counter-reset:opt}.wk-qhead~.gm-options .gm-option{counter-increment:opt;position:relative;padding-left:46px;justify-content:flex-start;text-align:left;min-height:58px}.wk-qhead~.gm-options .gm-option:before{content:counter(opt,upper-alpha);position:absolute;left:12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--purple-soft);color:var(--purple-strong, var(--purple))}.wk-qhead~.gm-options .gm-option.right:before{content:"✓";background:var(--primary);color:#fff}.wk-qhead~.gm-options .gm-option.wrong:before{content:"✕";background:var(--red);color:#fff}@media(max-width:420px){.wk-qhead~.gm-options{grid-template-columns:1fr}}.fin-client{position:relative;padding:14px 40px 14px 14px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.fin-client:after{content:"›";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:26px;line-height:1;color:var(--text-soft)}.fin-client:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.fin-client b{font-family:var(--font-display);font-size:16px}.fin-client-ask{color:var(--text-soft);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fin-avatar{width:50px;height:50px;border-radius:16px;font-size:26px;background:linear-gradient(145deg,color-mix(in srgb,var(--purple) 18%,var(--surface)),color-mix(in srgb,var(--coral) 14%,var(--surface)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--purple) 15%,transparent)}.fin-avatar.big{width:58px;height:58px;font-size:32px;border-radius:18px}.fin-stars{position:absolute;top:10px;right:34px;padding:2px 8px;border-radius:99px;background:var(--primary-soft);font-size:12px}.fin-meet{padding:0;overflow:hidden;box-shadow:var(--shadow-sm)}.fin-meet-who{margin:0;padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--purple) 12%,var(--surface)),color-mix(in srgb,var(--coral) 8%,var(--surface)))}.fin-meet-who b{font-family:var(--font-display);font-size:18px}.fin-meet-who small{display:inline-block;margin-top:2px}.fin-meet .fin-story{padding:14px 16px 4px;margin:0;font-size:15.5px;line-height:1.6}.fin-meet .pt-hint,.fin-meet .pt-tap{margin:0 16px 8px}.fin-meet .fin-ask{margin:6px 12px 12px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--coral) 12%,var(--surface));border-left:4px solid var(--coral);font-size:16px}.wk-chips-label{margin:2px 0 0;font-size:13px;font-weight:700;color:var(--text-soft)}.fin-chip{border:1px solid color-mix(in srgb,var(--purple) 25%,var(--border));background:color-mix(in srgb,var(--purple) 7%,var(--surface));padding:7px 12px;font-size:13px;font-weight:600;transition:background .15s ease}.fin-chip:before{content:"＋ ";color:var(--purple);font-weight:800}.fin-chip:hover{background:var(--purple-soft)}.fin-write{gap:10px}.fin-write textarea{min-height:150px;padding:14px 16px;border-radius:16px;border:2px solid var(--border);box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}.fin-write textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 4px color-mix(in srgb,var(--purple) 15%,transparent)}.fin-write-foot .btn-primary{width:auto;min-width:180px}.wk-meter{display:flex;align-items:center;gap:10px;flex:1;min-width:160px}.wk-meter-bar{flex:1;max-width:220px;height:8px;border-radius:99px;background:color-mix(in srgb,var(--text-soft) 18%,transparent);overflow:hidden}.wk-meter-bar i{display:block;height:100%;border-radius:inherit;background:var(--grad-warm);transition:width .2s ease}.wk-meter.ok .wk-meter-bar i{background:var(--primary)}.wk-meter small{font-weight:700;color:var(--text-soft);white-space:nowrap}.wk-meter.ok small{color:var(--primary)}.ml-piano{border-top:16px solid #262b36;border-radius:0 0 14px 14px;box-shadow:0 14px 28px -16px #0b1b3f8c}.ml-piano:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(#c0392b,#8e1b12);z-index:3;pointer-events:none}.ml-chord-bar{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.ml-tray small{display:block;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin-bottom:6px}.ml-tray-notes{display:flex;flex-wrap:wrap;gap:6px;min-height:32px;align-items:center}.ml-tray-notes em{color:var(--text-soft);font-style:normal}.ml-note-chip{padding:5px 12px;border-radius:10px;background:var(--purple);color:#fff;font-family:var(--font-display);font-size:15px;animation:pop .25s}.ml-tray-actions{display:flex;gap:10px;justify-content:flex-end}.ml-clear{font:inherit;font-weight:700;padding:10px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.ml-clear:disabled{opacity:.45;cursor:default}.ml-check{width:auto;flex:1;max-width:260px}.ml-check:disabled{filter:grayscale(.6);opacity:.55}.ml-ask p{font-family:var(--font-display);font-size:clamp(17px,2.4vw,20px)}.ml-mode{position:relative;padding:14px 40px 14px 14px;transition:transform .15s ease,box-shadow .15s ease}.ml-mode:after{content:"›";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:26px;line-height:1;color:var(--text-soft)}.ml-mode:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.ml-mode-ic{width:52px;height:52px;border-radius:16px;font-size:28px;background:linear-gradient(145deg,color-mix(in srgb,var(--purple) 18%,var(--surface)),color-mix(in srgb,var(--coral) 14%,var(--surface)))}.ml-mode b{font-family:var(--font-display);font-size:16px}.ml-mode small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}@media(prefers-reduced-motion:reduce){.ml-mode{transition:none}}@media(prefers-reduced-motion:reduce){.fin-client,.wk-qbar i,.wk-meter-bar i{transition:none}.ml-note-chip{animation:none}}.ptr-ex{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:6px 0 10px;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.ptr-ex-emoji{font-size:38px;line-height:1}.ptr-ex b{font-family:var(--font-display);font-size:18px}.ptr-ex small{display:block;color:var(--muted);font-size:12.5px}.ptr-cues{display:grid;gap:8px;margin:8px 0 12px}.ptr-cue{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:start;width:100%;padding:11px 12px;border-radius:14px;border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:15px;text-align:left;cursor:pointer}.ptr-cue small{grid-column:2;font-size:12.5px;line-height:1.35}.ptr-box{width:22px;height:22px;border-radius:7px;border:2px solid var(--border);display:grid;place-items:center;font-size:13px;font-weight:900}.ptr-cue.on{border-color:var(--purple);background:color-mix(in srgb,var(--purple) 8%,var(--surface))}.ptr-cue.on .ptr-box{background:var(--purple);border-color:var(--purple);color:#fff}.ptr-cue.right{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.ptr-cue.right .ptr-box{background:var(--primary);border-color:var(--primary);color:#fff}.ptr-cue.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface))}.ptr-cue.wrong .ptr-box{background:var(--red);border-color:var(--red);color:#fff}.ptr-cue.wrong small{color:var(--red)}.ptr-cue.missed{border-color:#e2620c;border-style:dashed}.ptr-cue.missed small{color:#b4540a}[data-theme=dark] .ptr-cue.missed small{color:#ffb37a}.ptr-cue.dim{opacity:.6}.ptr-cue.dim small{color:var(--muted)}.ptr-say-label{margin:10px 0 6px;font-weight:700}.ptr-say{display:grid;gap:6px;margin-bottom:10px}.ptr-say-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border-radius:12px;background:var(--surface)}.ptr-say-row>span{flex:1;min-width:0}.nu-slots{display:grid;gap:8px;margin:12px 0}.nu-slot{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}.nu-slot.open{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:var(--shadow-sm)}.nu-slot-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:none;border:0;text-align:left;font:inherit;color:var(--text);cursor:pointer}.nu-course{flex:none;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--primary);min-width:84px}.nu-picked{flex:1;min-width:0;font-weight:700}.nu-empty{flex:1;color:var(--muted)}.nu-caret{flex:none;color:var(--muted)}.nu-options{display:grid;gap:6px;padding:0 10px 10px;max-height:420px;overflow-y:auto}.nu-dish{display:flex;gap:10px;align-items:flex-start;width:100%;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--bg);text-align:left;font:inherit;color:var(--text);cursor:pointer}.nu-dish.on{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.nu-dish-emoji{font-size:26px;line-height:1;flex:none}.nu-dish-body{display:flex;flex-direction:column;gap:3px;min-width:0}.nu-facts{color:var(--muted);font-size:12px;line-height:1.35}.nu-tags{display:flex;flex-wrap:wrap;gap:4px}.nu-tags i{font-style:normal;font-size:11px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--surface);border:1px solid var(--border)}.nu-tags i.ok{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.nu-tags i.warn{color:#b4540a;border-color:color-mix(in srgb,#E2620C 35%,transparent)}[data-theme=dark] .nu-tags i.warn{color:#ffb37a}.nu-tags i.info{color:var(--muted)}.nu-totals{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px;position:sticky;bottom:8px;z-index:2;padding:8px;border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.nu-totals span{font-size:12px;color:var(--muted);padding:3px 8px;border-radius:99px;background:var(--bg)}.nu-totals b{color:var(--text)}.nu-check{width:100%}.nu-used{font-size:13.5px}.nu-used b{display:inline-block;margin:2px 4px 0 0;padding:1px 8px;border-radius:99px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.nu-product{font-size:17px;margin:4px 0 10px}.nu-label-wrap{display:grid;gap:14px;align-items:start}@media(min-width:760px){.nu-label-wrap{grid-template-columns:300px 1fr}}.nf{background:#fff;color:#000;border:2px solid #000;padding:6px 8px 8px;font-family:Helvetica Neue,Arial,sans-serif;max-width:300px;width:100%;box-sizing:border-box;justify-self:center}.nf p{margin:0}.nf-title{font-size:32px;font-weight:900;line-height:1;letter-spacing:-.02em;border-bottom:1px solid #000;padding-bottom:3px}.nf-line{font-size:14px;padding-top:3px}.nf-serving{display:flex;justify-content:space-between;gap:8px;font-size:15px}.nf-bar{background:#000}.nf-bar.thick{height:9px;margin:3px 0}.nf-bar.mid{height:4px;margin:2px 0}.nf-small{font-size:11px;font-weight:700}.nf-cal{display:flex;justify-content:space-between;align-items:flex-end;font-size:24px;line-height:1.05}.nf-cal b:last-child{font-size:32px}.nf-dvhead{text-align:right;font-size:11px;font-weight:700;border-bottom:1px solid #000;padding-bottom:2px}.nf-row{display:flex;justify-content:space-between;gap:8px;font-size:13px;border-bottom:1px solid #000;padding:2px 0}.nf-row.in{padding-left:12px}.nf-row.in2{padding-left:24px}.nf-foot{font-size:9.5px;line-height:1.25;padding-top:2px}.nf-contains{font-size:11.5px;padding-top:5px;border-top:1px solid #000;margin-top:4px!important}.nu-label-q .gm-options{margin-top:8px}.mw-pic-card{padding:14px 14px 22px;gap:12px;justify-items:center}.mw-pic{position:relative;margin:0;width:100%;max-width:420px;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow-sm)}.mw-pic img{width:100%;height:100%;object-fit:cover;display:block}.mw-pic.emoji{display:grid;place-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--purple) 14%,var(--surface)),color-mix(in srgb,var(--coral) 12%,var(--surface)))}.mw-pic.emoji span{font-size:clamp(84px,26vw,132px);line-height:1;filter:drop-shadow(0 8px 14px rgba(11,27,63,.18));animation:bounce-in .35s ease-out}.mw-pic-credit{position:absolute;right:6px;bottom:6px;font-size:10.5px;padding:2px 7px;border-radius:999px;background:#00000080;color:#fff;text-decoration:none;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mw-pic-say{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--text-soft)}.mw-pic-say .say-btn{width:58px;height:58px;font-size:26px}.mw-card form.mw-pic-type{flex-direction:row;max-width:360px}.mw-pic-type input{flex:1;min-width:0}.mw-card .mw-pic-type .btn-primary{flex:0 0 auto;width:auto;padding-inline:22px}.mw-pic-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:13.5px}.mw-pic-pattern{font-family:var(--font-display);font-weight:800;letter-spacing:.08em;font-size:18px;color:var(--purple)}.mw-pic-pt{font-weight:700;color:var(--text-soft)}.mw-pic-word{font-size:26px}.mw-pic-card.right .mw-pic{box-shadow:0 0 0 4px var(--primary),var(--shadow-sm)}.mw-pic-card.wrong .mw-pic{box-shadow:0 0 0 4px var(--red),var(--shadow-sm)}.imagine-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--purple) 35%,transparent);background:color-mix(in srgb,var(--purple) 10%,var(--surface));color:var(--purple);font:inherit;font-weight:800;font-size:13.5px;padding:6px 12px;border-radius:999px;cursor:pointer;vertical-align:middle}.imagine-btn:hover{background:color-mix(in srgb,var(--purple) 18%,var(--surface))}.imagine-btn.mini{padding:2px 7px;font-size:14px;line-height:1.3}.save-word-hint .imagine-btn{margin:2px;font-size:12.5px;padding:3px 9px}.im-overlay{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px 18px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;background:radial-gradient(circle at 50% 30%,#1e2a6b,#0b1b3f 55%,#050b1f);color:#eef3ff;animation:fade-in .25s ease-out}.im-overlay.eyes{background:#03060f;transition:background 1s}.im-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;font-size:18px;cursor:pointer}.im-body{width:min(460px,100%);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.im-kicker{margin:0;font-weight:800;letter-spacing:.06em;color:#9db7ff;font-size:13px;text-transform:uppercase}.im-word{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(34px,10vw,52px);line-height:1.1;overflow-wrap:anywhere;background:linear-gradient(90deg,#8fb0ff,#ffb27a);-webkit-background-clip:text;background-clip:text;color:transparent}.im-emoji{font-size:72px;line-height:1;animation:bounce-in .4s ease-out}.im-lines{display:flex;flex-direction:column;gap:10px}.im-lines p{margin:0;font-size:19px;line-height:1.45;opacity:.45;transition:opacity .4s,transform .4s}.im-lines p.on{opacity:1;transform:scale(1.03)}.im-lines p.past{opacity:.8}.im-overlay .pt-hint,.im-overlay .pt-tap{color:#c9d6ff}.im-go{min-width:220px}.im-eyes{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;cursor:pointer;width:100%;min-height:60dvh;justify-content:center}.im-breath{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#8fb0ff59,#8fb0ff0d 70%);box-shadow:0 0 60px #8fb0ff40;animation:im-breathe 4s ease-in-out infinite}.im-breath span{font-family:var(--font-display);font-size:44px;font-weight:800;color:#dde6ff}.im-eyes-text{margin:0;font-size:20px;font-weight:800}.im-eyes small{color:#8c9bc8}.im-say{margin:0;font-size:18px;font-weight:800}.im-sound{display:flex;gap:12px;align-items:center}.im-sound .say-btn,.im-sound .speak-btn{width:56px;height:56px;font-size:24px}.im-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}.im-actions .link-btn{color:#bfd0ff}@keyframes im-breathe{0%,to{transform:scale(.85)}50%{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.im-breath,.im-emoji,.mw-pic.emoji span{animation:none}.im-lines p{transition:none}}.act-do{gap:12px;justify-items:center}.act-big{margin:0;font-family:var(--font-display);font-weight:800;font-size:21px}.act-done{min-width:220px}.simon-card{gap:12px;justify-items:center;position:relative}.simon-listen{width:72px;height:72px;border-radius:50%;border:none;font-size:32px;cursor:pointer;background:var(--grad);color:#fff;box-shadow:var(--shadow-sm);animation:bounce-in .3s ease-out}.simon-text{margin:0;font-size:19px;font-weight:800;line-height:1.35}.simon-text.hidden{letter-spacing:.3em;opacity:.45}.simon-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:420px}.simon-opt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:92px;padding:10px 8px;border-radius:18px;border:2px solid var(--border);background:var(--surface);cursor:pointer;font:inherit;color:var(--text)}.simon-opt:hover:not(:disabled){border-color:var(--purple)}.simon-emoji{font-size:38px;line-height:1}.simon-times{position:absolute;top:6px;right:8px;font-weight:800;font-size:14px;padding:2px 8px;border-radius:999px;background:var(--coral);color:#fff}.simon-opt small{font-size:12px;color:var(--text-soft);line-height:1.25}.simon-opt.right,.simon-still.right{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.simon-opt.wrong,.simon-still.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--surface))}.simon-opt.dim,.simon-still.dim{opacity:.5}.simon-still{width:100%;max-width:420px;padding:12px;border-radius:16px;border:2px dashed var(--border);background:var(--surface-2);font:inherit;font-weight:800;color:var(--text);cursor:pointer}.ex-card{gap:12px;justify-items:center;text-align:center}.ex-word{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(28px,8vw,40px);color:var(--purple);overflow-wrap:anywhere}.ex-word.small{font-size:26px}.ex-taboo{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;font-size:14px}.ex-taboo span{font-weight:800;color:var(--red)}.ex-taboo b{padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--red) 10%,var(--surface));color:var(--red);text-decoration:line-through;font-weight:700}.ex-pt{font-size:13px}.ex-starters{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ex-starters .chip{font-size:13px}.ex-clue{width:100%;max-width:460px;font:inherit;font-size:16px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);resize:vertical}.ex-clue:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 20%,transparent)}.ex-tools{display:flex;gap:12px;align-items:center;justify-content:center}.ex-tools small{font-weight:700;color:var(--text-soft)}.ex-tools small.ok{color:var(--primary-strong)}.ex-problems{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:14px;color:var(--red-strong);text-align:left;max-width:460px}.ex-guess{margin:0;padding:8px 14px;border-radius:14px;background:var(--surface-2);font-size:16px}.ex-guess.right{background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--primary-strong)}.ex-actions{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.ex-actions .btn-primary{min-width:240px}.ex-friend{gap:14px;justify-items:center;text-align:center}.ex-friend-clue{margin:0;font-size:clamp(20px,5.5vw,26px);font-weight:700;line-height:1.4;max-width:460px}@media(prefers-reduced-motion:reduce){.simon-listen{animation:none}}.ex-mine{margin:0;font-style:italic;color:var(--text-soft);max-width:460px}.act-clip{background:#0b1b3f}.act-clip video,.act-clip img{width:100%;height:100%;object-fit:cover;display:block}.gm-sections{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}@media(min-width:760px){.gm-sections{grid-template-columns:repeat(4,1fr)}}.gm-section-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:150px;padding:14px;border-radius:22px;text-align:left;cursor:pointer;font:inherit;color:var(--text);border:1px solid color-mix(in srgb,var(--c) 30%,var(--border));background:linear-gradient(160deg,color-mix(in srgb,var(--c) 16%,var(--surface)),var(--surface));box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}.gm-section-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.gm-section-card:active{transform:scale(.98)}.gm-section-icons{display:flex;margin-bottom:4px}.gm-section-icons img{width:34px;height:34px;margin-right:-6px;filter:drop-shadow(0 2px 3px rgba(11,27,63,.18))}.gm-section-card strong{font-family:var(--font-display);font-size:16px;line-height:1.25}.gm-section-card small{font-size:12.5px;color:var(--text-soft);line-height:1.35}.gm-section-count{margin-top:auto;font-size:12.5px;font-weight:800;color:var(--c);padding-top:4px}.gm-section-page .screen-title{margin-bottom:2px}.gm-section-desc{margin:0 0 14px}.gm-section-list{display:grid;gap:10px}@media(min-width:760px){.gm-section-list{grid-template-columns:1fr 1fr}}.gm-play.wide{display:flex;flex-direction:row;align-items:center;gap:14px;padding:14px 16px;text-align:left;width:100%}.gm-play.wide .gm-play-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.gm-play.wide .gm-play-text small{font-size:13px;color:var(--text-soft);line-height:1.35}.gm-section-go{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-size:14px}@media(prefers-reduced-motion:reduce){.gm-section-card{transition:none}}dialog.welcome-overlay{margin:0;width:100%;height:100%;max-width:none;max-height:none;border:0;color:var(--text);box-sizing:border-box;overflow:auto}dialog.welcome-overlay:not([open]){display:none}dialog.welcome-overlay::backdrop{background:transparent}.auth-field{display:block;text-align:left;font-size:13px;font-weight:700;color:var(--text);margin:10px 0 5px}.teacher .side-nav{overflow-y:auto;min-height:0}.teacher .side-item{min-height:48px}.teacher .review-controls,.teacher .calendar-toolbar,.teacher .calendar-sections,.teacher .roster-filters{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0}.teacher .review-controls label,.teacher .calendar-toolbar label,.teacher .roster-filters label{display:flex;flex-direction:column;gap:4px;flex:1 1 140px;min-width:0;font-size:13px;font-weight:700}.teacher .review-controls select,.teacher .calendar-toolbar select,.teacher .roster-filters select{width:100%;min-height:44px;margin:0}.teacher .roster-row{width:100%;background:transparent;color:var(--text);font:inherit;text-align:left}.teacher .roster-row.selected{background:var(--primary-soft)}.teacher .roster-row:focus-visible,.teacher button:focus-visible,.teacher a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.teacher .sd-tabs{flex-wrap:wrap;overflow:visible;position:static}.teacher .roster-detail{min-width:0;container-type:inline-size}.teacher .roster-detail .dsh-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher .roster-detail .dsh-cols{grid-template-columns:minmax(0,1fr)}.teacher .tc-mk{min-height:44px;min-width:44px}.teacher .tc-mark-row>span:first-child small{display:block;overflow-wrap:anywhere}.teacher .calendar-sections .on{background:var(--primary);color:#fff}.teacher .calendar-toolbar button{min-height:44px}.teacher .teacher-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}.teacher .teacher-week-day{min-width:0;padding:12px;border:1px solid var(--border);background:var(--surface-2);border-radius:16px}.teacher .teacher-week-day h4{margin:0 0 8px}.teacher .teacher-week-day .tc-row{flex-direction:column;align-items:stretch}.teacher .teacher-week-day .tc-row-actions{flex-wrap:wrap}.teacher .tc-prepare{display:flex;flex-wrap:wrap;gap:8px;padding:0 8px 12px}.teacher-class-dialog{border:0;padding:0;width:min(600px,calc(100% - 24px));max-width:600px;max-height:calc(100dvh - 24px);color:var(--text);background:var(--surface);border-radius:20px;overflow:auto;box-shadow:var(--shadow)}.teacher-class-dialog::backdrop{background:#0b1b3f8c}.teacher-class-dialog .cb-sheet{width:100%;max-height:none;overflow:visible;border-radius:0;box-shadow:none}.teacher-class-dialog .ce-students{max-height:none;overflow:visible}.teacher-class-dialog .ce-options{display:flex;flex-direction:column;gap:8px}.teacher-class-dialog .ce-options summary{padding:8px 0;font-weight:700;cursor:pointer}.teacher-class-dialog .cb-editor-actions{position:static;padding:12px 0;border-top:1px solid var(--border)}.teacher-class-dialog button:focus-visible,.teacher-class-dialog input:focus-visible,.teacher-class-dialog textarea:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.teacher-class-dialog .ce-options label{margin:12px 0}@media(min-width:900px){.teacher .roster{grid-template-columns:260px minmax(0,1fr);gap:16px}.teacher .teacher-home>.tc-today{grid-column:1 / -1;grid-row:2}.teacher .teacher-home>.th-todo{grid-row:3 / span 5}.teacher .teacher-home>.th-quick{grid-row:3}.teacher .teacher-home>.th-setup{grid-row:4}.teacher .teacher-home>.ann{grid-row:5}.teacher .teacher-home>.th-section-head{grid-row:6}.teacher .teacher-home>.stories{grid-row:7}}@media(min-width:900px)and (max-width:1199px){.teacher .roster.has-detail{grid-template-columns:minmax(0,1fr)}.teacher .roster.has-detail .roster-list{display:none}.teacher .roster.has-detail .roster-back{display:inline-flex}}@container (min-width:650px){.teacher .roster-detail .dsh-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:899px){.teacher .teacher-home>.tc-today{order:-1}.teacher .tabbar button{min-width:0;flex:1}}.teacher .review-aging{padding:16px;margin:16px 0;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.teacher .review-aging h3{margin:0}.teacher .review-age{display:grid;grid-template-columns:100px minmax(60px,1fr) 30px;align-items:center;gap:10px;margin:10px 0}.teacher .review-age meter{width:100%;height:18px}@media(max-width:899px){.teacher .teacher-home>.th-quick{order:1}.teacher .teacher-home>.th-todo{order:2}.teacher .teacher-home>.placement-inbox{order:3}.teacher .teacher-home>.ann{order:4}.teacher .teacher-home>.th-section-head{order:5}.teacher .teacher-home>.stories{order:6}}.data-problem{display:grid;gap:6px;justify-items:start;padding:12px 14px;border:1px dashed var(--amber);border-radius:14px;background:var(--surface);margin:8px 0}.data-problem small{line-height:1.45}.quest-dialog{border:0;margin:auto;padding:18px;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;color:var(--text)}.quest-dialog::backdrop{background:transparent}.quest-map:focus-visible{outline:4px solid var(--primary);outline-offset:3px}.ow>details,.dg>details{max-width:100%;height:auto}.story-topic{background:#fff0ae;color:#513900;text-decoration:underline;text-decoration-color:#896000}.story-verb{background:#dcecff;color:#103b75;text-decoration:underline;text-decoration-style:dotted}.story-structure{border-bottom:3px solid #7040a0;box-shadow:inset 0 -3px #eadefa}.story-legend{padding:12px;border:1px solid var(--line,#aaa);border-radius:10px;margin:12px 0}.story-legend small{display:block;margin-top:8px}.story-legend span{padding:2px 5px}.focus-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0}.focus-grid label{display:flex;align-items:start;gap:8px}.biz-toolbar,.biz-form-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.biz-toolbar label,.biz-form-grid label{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 180px}.biz input,.biz select{max-width:100%;min-width:0}.biz-editor{margin:18px 0}.biz-actions,.biz-register{list-style:none;padding:0}.biz-actions li,.biz-register li{padding:12px 0;border-bottom:1px solid var(--line,#ddd);overflow-wrap:anywhere}.biz-actions button{margin:4px}.biz-register{max-height:400px;overflow:auto}.biz .dsh-kpi-value,.biz p{overflow-wrap:anywhere}@media(max-width:500px){.biz-toolbar>label{flex:1 1 130px}.biz-form-grid label{flex:1 1 100%}}.biz button{border:0;border-radius:99px;padding:8px 14px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;background:var(--surface-2);color:var(--text)}.biz button:hover{background:var(--surface-3)}.biz button[type=submit]{background:var(--grad-warm);color:#fff}.biz button:disabled{opacity:.6;cursor:default}.biz-toolbar{margin:10px 0 14px}.biz-actions li,.biz-register li{border-bottom-color:var(--border)}.cg-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:6px 0 16px}.cg-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px;border-radius:16px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;color:var(--text);font:inherit;transition:transform .15s,border-color .15s}.cg-tile:hover{transform:translateY(-2px);border-color:var(--purple)}.cg-tile.on{border-color:var(--purple);box-shadow:0 0 0 2px color-mix(in srgb,var(--purple) 30%,transparent)}.cg-tile-emoji{font-size:28px;line-height:1.2}.cg-tile b{font-size:14px;line-height:1.25}.cg-tile small{font-size:12px;color:var(--muted)}.cg-job{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;margin-bottom:10px;border-radius:18px;border:0;background:var(--grad);color:#fff;font:inherit;cursor:pointer;box-shadow:var(--shadow-sm)}.cg-job-emoji{font-size:32px;width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#ffffff2e;flex:none}.cg-job b{display:block;font-family:var(--font-display);font-size:16px}.cg-job small{opacity:.85;font-size:12.5px}.cg-change{margin-left:auto;font-weight:800;font-size:13px;background:#fff3;padding:6px 10px;border-radius:99px;white-space:nowrap}.cg-move{margin:12px 0;padding:22px 18px;border-radius:20px;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow-sm);font-size:18px;font-weight:700;line-height:1.4;text-align:center}.cg-move p{margin:0}.cg-move.good{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.cg-move.bad{border-color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--surface))}.cg-move-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.cg-move-btns button{padding:14px 10px;border-radius:16px;font:inherit;font-weight:800;font-size:15px;cursor:pointer;border:2px solid transparent}.cg-good{background:color-mix(in srgb,var(--primary) 14%,var(--surface));color:var(--text);border-color:color-mix(in srgb,var(--primary) 45%,transparent)!important}.cg-bad{background:color-mix(in srgb,var(--red) 12%,var(--surface));color:var(--text);border-color:color-mix(in srgb,var(--red) 40%,transparent)!important}.cg-move-btns button.on{outline:3px solid var(--purple);outline-offset:2px}.cg-move-btns button:disabled{cursor:default;opacity:.75}.cg-move-btns button.on:disabled{opacity:1}.cg-ladder{list-style:none;padding:0;margin:12px 0;display:flex;flex-direction:column-reverse;gap:8px}.cg-rung{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;border:2px dashed var(--border);background:var(--surface-2);min-height:48px}.cg-rung.full{border-style:solid;border-color:var(--purple);background:var(--surface)}.cg-rung.right{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.cg-rung.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface))}.cg-rung-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:800;font-size:13px;background:var(--grad-warm);color:#fff}.cg-rung button{flex:1;text-align:left;border:0;background:none;font:inherit;font-weight:700;color:var(--text);cursor:pointer;padding:4px 0}.cg-rung-empty{color:var(--muted);font-size:13px}.cg-bank{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.fin-ideas.cg-checks{list-style:none;padding-left:0}.fin-ideas.cg-checks li:before{content:none}.cg-search{width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;margin-bottom:8px}.bi{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;align-items:start}.bi-rail{position:sticky;top:12px;background:#0b1b3f;color:#fff;border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm)}.bi-rail-pages,.bi-rail-links{display:flex;flex-direction:column;gap:4px}.bi .bi-rail button{background:transparent;color:#ffffffc7;border-radius:10px;text-align:left;display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:14px}.bi .bi-rail button:hover{background:#ffffff14;color:#fff}.bi .bi-rail button.on{background:#1f5bff;color:#fff;box-shadow:inset 3px 0 #ff7a1a}.bi-rail button em{margin-left:auto;font-style:normal;font-size:11px;background:#ff7a1a;color:#fff;border-radius:99px;padding:1px 7px}.bi-rail-links{border-top:1px solid rgba(255,255,255,.14);padding-top:10px}.bi .bi-rail-links button{font-size:12.5px;padding:7px 12px}.bi-main{min-width:0;display:flex;flex-direction:column;gap:14px}.bi-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--dv-1);border-radius:16px;padding:14px 16px}.bi-head h2{margin:0;font-family:var(--font-display);font-size:clamp(18px,2.4vw,24px);color:var(--dv-1)}.bi-head p{margin:4px 0 0;font-size:12.5px}.bi-actions{display:flex;gap:8px;align-items:center}.bi .bi-icon{width:38px;height:38px;padding:0;font-size:18px}.bi-slicer{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bi .bi-slicer>button{background:var(--surface);border:1px solid var(--border);font-weight:700}.bi .bi-slicer>button.on{background:var(--dv-1);border-color:var(--dv-1);color:#fff}.bi-dates{display:flex;gap:8px;flex-wrap:wrap}.bi-dates label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700}.bi-dates input{padding:6px 8px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit}.bi-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bi-tile{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0;box-shadow:var(--shadow-sm);border-top:4px solid var(--dv-1)}.bi-tile.bad{border-top-color:var(--dv-bad)}.bi-tile.good{border-top-color:var(--dv-good)}.bi-tile.missing{border-top-color:var(--dv-base);background:var(--surface-2)}.bi-tile-label{font-size:12.5px;font-weight:700;color:var(--text-2, var(--muted))}.bi-tile-value{font-family:var(--font-display);font-size:clamp(19px,2.1vw,28px);line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bi-tile.missing .bi-tile-value{color:var(--muted)}.bi-tile-foot{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.bi .bi-fix{align-self:flex-start;padding:4px 10px;font-size:12px;background:var(--surface);border:1px dashed var(--dv-base)}.bi .bi-note{display:block;width:100%;text-align:left;font-weight:600;background:color-mix(in srgb,var(--dv-1) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--dv-1) 25%,transparent);border-radius:12px;padding:10px 14px;margin:0;font-size:13.5px}.bi .bi-note b{color:var(--dv-1)}.bi-note.warn{background:color-mix(in srgb,var(--dv-warn) 12%,var(--surface));border-color:color-mix(in srgb,var(--dv-warn) 40%,transparent)}.bi-note.ok{background:color-mix(in srgb,var(--dv-good) 10%,var(--surface));border-color:color-mix(in srgb,var(--dv-good) 35%,transparent)}.bi-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:12px}.bi .dsh-card{margin:0}.bi-chart{width:100%;height:auto;display:block}.bi-chart .dsh-axis{font-size:11px}@media(max-width:600px){.bi-chart .dsh-axis{font-size:15px}}.bi-legend{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;font-weight:600}.bi-legend li{display:flex;align-items:center;gap:7px}.bi-legend i{width:12px;height:12px;border-radius:3px;flex:none;background:var(--dv-1)}.bi-legend i.dsh-mark-2{background:var(--dv-2)}.bi-legend.col{flex-direction:column;gap:8px;flex:1;min-width:150px}.bi-legend.col li{justify-content:flex-start}.bi-legend.col b{margin-left:auto;font-variant-numeric:tabular-nums}.bi-legend i.st-good,.bi-arc.st-good{background:var(--dv-good);stroke:var(--dv-good)}.bi-legend i.st-warn,.bi-arc.st-warn{background:var(--dv-warn);stroke:var(--dv-warn)}.bi-legend i.st-bad,.bi-arc.st-bad{background:var(--dv-bad);stroke:var(--dv-bad)}.bi-legend i.st-none,.bi-arc.st-none{background:var(--dv-base);stroke:var(--dv-base)}.bi-donut{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.bi-donut svg{width:150px;height:150px;display:block}.bi-donut-track{fill:none;stroke:var(--dv-grid);stroke-width:18}.bi-arc{fill:none;stroke-width:18;cursor:pointer}.bi-arc:hover{stroke-width:22}.bi-donut-n{fill:var(--text);font-family:var(--font-display);font-size:17px;font-weight:800}.bi-donut-s{fill:var(--muted);font-size:11px}.bi-table{width:100%;border-collapse:collapse;font-size:13px}.bi-table th{text-align:left;font-size:11.5px;color:var(--muted);font-weight:700;padding:6px 8px;border-bottom:2px solid var(--border)}.bi-table td{padding:8px;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}.bi-table td:last-child,.bi-table th:last-child{text-align:right}.bi-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--dv-1) 4%,transparent)}.bi-table tfoot td{font-weight:800;border-top:2px solid var(--border);border-bottom:0}.bi-acts{white-space:nowrap}.bi .bi-acts button{padding:5px 10px;font-size:12px;margin-left:4px}.bi-kind{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.bi-chip{display:inline-block;white-space:nowrap;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--surface-2)}.bi-scroll{overflow-x:auto}.bi-empty{color:var(--muted);font-size:13.5px;padding:18px 4px;text-align:center}.bi-checks{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:8px}.bi-checks li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--surface-2)}.bi-checks li>span{font-size:18px}.bi-checks small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.bi-defs p{font-size:13px;color:var(--muted)}@media(max-width:1000px){.bi{grid-template-columns:minmax(0,1fr)}.bi-rail{top:56px;z-index:5;flex-direction:row;padding:6px;border-radius:14px;overflow-x:auto}.bi-rail-pages{flex-direction:row}.bi-rail-links{display:none}.bi .bi-rail button{white-space:nowrap;padding:8px 11px;font-size:13px}.bi .bi-rail button.on{box-shadow:inset 0 -3px #ff7a1a}.bi-grid{grid-template-columns:minmax(0,1fr)}.bi-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.bi-tile{padding:12px}.bi-donut{justify-content:center}}.cn-sheet{max-width:760px;margin:0 auto;padding:4px 0 90px;display:grid;gap:12px}.cn-head{display:flex;align-items:center;gap:12px}.cn-head h2{margin:0;font-family:var(--font-display);font-size:20px}.cn-row2{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.cn-row2 label{display:grid;gap:4px;font-size:13px;font-weight:700;flex:1 1 180px}.cn-who{margin:0;flex:1 1 180px}.cn-block{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:12px 14px;display:grid;gap:8px}.cn-block h3{margin:0;font-size:15px}.cn-block h3 small{font-weight:600}.cn-block input,.cn-block select,.cn-block textarea{width:100%;min-width:0;box-sizing:border-box}.cn-chips{display:flex;flex-wrap:wrap;gap:6px}.cn-chips .chip-btn{white-space:normal;text-align:left}.cn-line{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:center}.cn-line.three{grid-template-columns:1fr 1fr .8fr auto}@media(max-width:560px){.cn-line,.cn-line.three{grid-template-columns:1fr auto}.cn-line>input:not(:first-child){grid-column:1}.cn-line .cn-x{grid-row:1;grid-column:2}}.cn-x{border:0;background:transparent;color:var(--text-soft);font-size:16px;cursor:pointer;padding:6px}.cn-private{border-style:dashed}.cn-msg{margin:0;padding:10px 12px;border-radius:12px;background:var(--surface-2);font-weight:700}.cn-foot{position:sticky;bottom:calc(env(safe-area-inset-bottom) + 76px);display:flex;gap:10px;flex-wrap:wrap;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm)}@media(min-width:900px){.cn-foot{bottom:12px}}.cn-tab{display:grid;gap:10px}.cn-tab>.btn-primary{justify-self:start}.cn-list-title{margin:8px 0 0;font-size:14px}.cn-item{display:grid;gap:2px;text-align:left;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.cn-item.draft{border-style:dashed;border-color:var(--amber)}.cn-item small{color:var(--text-soft)}.tc-mark-notes{justify-self:start;margin:4px 0}.cr-sheet{position:fixed;inset:0;z-index:300;overflow:auto;background:var(--bg);padding:16px 16px 40px;display:grid;gap:12px;align-content:start}.cr-sheet>*{max-width:720px;width:100%;margin:0 auto;box-sizing:border-box}.cr-fixes,.cr-words{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cr-fixes li,.cr-words li{display:grid;gap:2px;padding:8px 10px;border-radius:12px;background:var(--surface-2)}.cr-words li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cr-words li small{flex-basis:100%}.cr-fixes s{color:var(--red);opacity:.8}.cr-fixes b{color:var(--primary-strong, var(--text))}.cr-homework{border:2px solid color-mix(in srgb,var(--coral) 45%,transparent)}.cr-homework .btn-primary{justify-self:start}.cr-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--text);cursor:pointer}.cr-card.new{border:2px solid var(--coral);background:linear-gradient(90deg,color-mix(in srgb,var(--coral) 12%,var(--surface)),var(--surface))}.cr-card>span:nth-child(2){display:grid;gap:2px;flex:1;min-width:0}.cr-card small{color:var(--text-soft)}.cr-card-icon{font-size:28px}.cr-card-go{font-weight:800;color:var(--coral-strong, var(--coral))}details.cr-card{display:block}details.cr-card summary{cursor:pointer;font-weight:800}details.cr-card .cn-item{margin-top:8px}.quiz-opt.q-red,.lq-tile.q-red,.lq-bar.q-red,.lq-players .q-red,.lq-locked.q-red,.lq-hero-shapes .q-red,.lq-bg .q-red{--q:#F26B0F}.quiz-opt.q-blue,.lq-tile.q-blue,.lq-bar.q-blue,.lq-players .q-blue,.lq-locked.q-blue,.lq-hero-shapes .q-blue,.lq-bg .q-blue{--q:#1F5BFF}.quiz-opt.q-amber,.lq-tile.q-amber,.lq-bar.q-amber,.lq-players .q-amber,.lq-locked.q-amber,.lq-hero-shapes .q-amber,.lq-bg .q-amber{--q:#0E9F5B}.quiz-opt.q-green,.lq-tile.q-green,.lq-bar.q-green,.lq-players .q-green,.lq-locked.q-green,.lq-hero-shapes .q-green,.lq-bg .q-green{--q:#8B3FD9}.lq-discover{display:flex;flex-direction:column;gap:16px}.lq-hero{position:relative;overflow:hidden;display:flex;gap:12px;align-items:center;padding:22px 20px;border-radius:24px;color:#fff;background:linear-gradient(135deg,#0b1b3f,#1f3fbf 60%,#1f5bff);box-shadow:var(--shadow)}.lq-hero h2{margin:4px 0 6px;font-family:var(--font-display);font-size:clamp(20px,3vw,28px);line-height:1.15}.lq-hero p{margin:0;opacity:.9;font-size:14px}.lq-hero-kicker{font-weight:800;font-size:13px!important;text-transform:uppercase;letter-spacing:.06em;color:#ffb37a;opacity:1!important}.lq-hero-shapes{display:grid;grid-template-columns:repeat(2,40px);gap:6px;flex:none;margin-left:auto}.lq-hero-shapes i{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:20px;background:var(--q);color:#fff;box-shadow:0 4px #00000040}@media(max-width:480px){.lq-hero-shapes{display:none}}.lq-search{width:100%;padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:15px}.lq-own{display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border-radius:18px;border:2px dashed color-mix(in srgb,var(--purple) 45%,transparent);background:color-mix(in srgb,var(--purple) 6%,var(--surface));color:var(--text);font:inherit;cursor:pointer}.lq-own-ic{font-size:26px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--grad);flex:none}.lq-own b{display:block;font-size:15px}.lq-own small{color:var(--muted);font-size:12.5px}.lq-own>span:last-child{margin-left:auto;font-size:22px;color:var(--muted)}.lq-shelf header{display:flex;flex-direction:column;margin:0 2px 8px}.lq-shelf h3{margin:0;font-family:var(--font-display);font-size:18px}.lq-shelf small{color:var(--muted);font-size:12.5px}.lq-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,44%);gap:12px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x mandatory;scrollbar-width:thin}@media(min-width:700px){.lq-row{grid-auto-columns:200px}}.lq-card{scroll-snap-align:start;display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}.lq-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.lq-cover{position:relative;height:104px;display:grid;place-items:center;background:linear-gradient(135deg,var(--c, #1F5BFF),color-mix(in srgb,var(--c, #1F5BFF) 55%,#0B1B3F))}.lq-cover:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.25) 0 18%,transparent 19%),radial-gradient(circle at 85% 80%,rgba(255,255,255,.15) 0 22%,transparent 23%)}.lq-cover-emoji{position:relative;font-size:48px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.lq-cover-emoji.big{font-size:64px}.lq-qs{position:absolute;right:8px;bottom:8px;font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:99px;background:#00000073;color:#fff}.lq-card-body{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px;flex:1}.lq-card-body b{font-size:14.5px;line-height:1.25}.lq-card-body small{font-size:12px;color:var(--muted);line-height:1.3;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.lq-level{align-self:flex-start;font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;background:var(--c-soft, var(--surface-2));color:var(--c-strong, var(--text))}.lq-sheet{display:flex;flex-direction:column;gap:12px}.lq-sheet .link-btn{align-self:flex-start}.lq-sheet-cover{display:flex;align-items:center;gap:16px;padding:18px;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--c, #1F5BFF),color-mix(in srgb,var(--c, #1F5BFF) 55%,#0B1B3F));box-shadow:var(--shadow)}.lq-sheet-cover h2{margin:0 0 4px;font-family:var(--font-display);font-size:22px}.lq-sheet-cover p{margin:0 0 6px;opacity:.92}.lq-sheet-cover .lq-level{background:#ffffff38;color:#fff}.lq-settings{display:flex;flex-wrap:wrap;gap:6px 24px}.lq-preview{margin:0;padding:0 0 0 22px;max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:6px;font-size:14px}.lq-preview li span{color:var(--muted)}.lq-preview li b{margin-left:6px}.lq-preview li b:before{content:"→ ";font-weight:400;color:var(--muted)}.lq-stage{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px;border-radius:24px;min-height:min(78vh,760px);color:#fff;text-align:center;background:radial-gradient(circle at 15% 10%,#2A4BD6 0,transparent 40%),linear-gradient(160deg,#0b1b3f,#15296b 60%,#0b1b3f)}.lq-bg{position:absolute;inset:0;pointer-events:none}.lq-bg i{position:absolute;font-style:normal;color:var(--q);opacity:.14;font-size:120px;animation:lq-float 9s ease-in-out infinite}.lq-bg i:nth-child(1){left:-20px;top:12%}.lq-bg i:nth-child(2){right:4%;top:4%;animation-delay:-3s}.lq-bg i:nth-child(3){left:8%;bottom:-30px;animation-delay:-5s}.lq-bg i:nth-child(4){right:-10px;bottom:14%;animation-delay:-7s}@keyframes lq-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(10deg)}}.lq-stage>*:not(.lq-bg){position:relative}.lq-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.lq-pill{background:#ffffff24;border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:6px 14px;font-weight:800;font-size:14px}.lq-end{margin-left:auto;background:none;border:0;color:#ffffffbf;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.lq-join-title{margin:4px 0 0;font-family:var(--font-display);font-size:clamp(28px,5vw,52px);font-weight:800;line-height:1.1;text-shadow:0 4px 0 rgba(0,0,0,.25)}.lq-lobby,.lq-scores{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:960px;flex:1;justify-content:center}.lq-steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.lq-steps li{display:flex;align-items:center;gap:10px;background:#fff;color:#0b1b3f;border-radius:16px;padding:12px 18px;font-size:clamp(16px,2.2vw,22px);font-weight:700;box-shadow:0 6px #00000040}.lq-steps b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f26b0f;color:#fff;font-size:18px}.lq-count{margin:0;font-size:18px;font-weight:700;opacity:.9}.lq-count b{font-size:40px;font-family:var(--font-display);margin-right:6px}.lq-players{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:880px}.lq-players span{background:var(--q);color:#fff;border-radius:12px;padding:10px 18px;font-size:clamp(16px,2.4vw,24px);font-weight:800;box-shadow:0 5px #0000004d;animation:lq-pop .45s cubic-bezier(.2,1.6,.4,1)}.lq-waiting{opacity:.75;font-size:18px;animation:quiz-pulse 1.6s ease-in-out infinite}@keyframes lq-pop{0%{transform:scale(0) rotate(-8deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.lq-go{background:#fff;color:#0b1b3f;border:0;border-radius:16px;padding:14px 34px;font:inherit;font-size:clamp(18px,2.4vw,24px);font-weight:800;cursor:pointer;box-shadow:0 6px #00000059;transition:transform .1s}.lq-go:active{transform:translateY(4px);box-shadow:0 2px #00000059}.lq-go:disabled{opacity:.5;cursor:default}.lq-skip{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:99px;padding:8px 18px;font:inherit;font-weight:700;cursor:pointer}.lq-question{width:100%;max-width:1000px;background:#fff;color:#0b1b3f;border-radius:20px;padding:16px 20px;box-shadow:0 8px #00000040;animation:lq-pop .35s ease-out}.lq-question small{display:block;font-weight:800;color:#5a6a8f;font-size:clamp(13px,1.6vw,17px)}.lq-question p{margin:4px 0 0;font-family:var(--font-display);font-weight:800;font-size:clamp(26px,5vw,52px);line-height:1.15;overflow-wrap:anywhere}.lq-question.small{padding:12px 14px}.lq-question.small p{font-size:clamp(20px,6vw,30px)}.lq-mid{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1000px;padding:0 8px}.lq-answered{display:flex;flex-direction:column;align-items:center;font-weight:800;font-size:15px;opacity:.9}.lq-answered b{font-family:var(--font-display);font-size:44px;line-height:1}.lq-ring{position:relative;width:96px;height:96px;display:grid;place-items:center;flex:none}.lq-ring svg{position:absolute;inset:0;width:100%;height:100%}.lq-ring-track{fill:#ffffff1f;stroke:#fff3;stroke-width:6}.lq-ring-fill{fill:none;stroke:#ffb37a;stroke-width:6;stroke-linecap:round;transition:stroke-dasharray .25s linear}.lq-ring b{position:relative;font-family:var(--font-display);font-size:36px;font-weight:800}.lq-ring.hurry .lq-ring-fill{stroke:#ff5a5a}.lq-ring.hurry b{animation:pop .5s ease-out infinite;color:#ffb3b3}.lq-ring.small{width:52px;height:52px}.lq-ring.small b{font-size:20px}.lq-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:1000px}.lq-tile{display:flex;align-items:center;gap:14px;min-height:84px;padding:14px 18px;border:0;border-radius:16px;background:var(--q);color:#fff;font:inherit;font-size:clamp(18px,2.6vw,28px);font-weight:800;text-align:left;box-shadow:0 6px #0000004d;transition:opacity .3s,transform .3s}button.lq-tile{cursor:pointer}button.lq-tile:active{transform:translateY(4px);box-shadow:0 2px #0000004d}.lq-shape{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:12px;background:#ffffff38;font-size:24px}.lq-shape.big{width:96px;height:96px;font-size:52px;border-radius:24px}.lq-txt{flex:1;overflow-wrap:anywhere;line-height:1.2}.lq-check{font-size:30px;font-weight:900}.lq-tile.wrong{opacity:.28;transform:scale(.97)}.lq-tile.right{outline:4px solid #fff;outline-offset:3px;animation:lq-pop .4s ease-out}.lq-chart{display:flex;align-items:flex-end;justify-content:center;gap:clamp(12px,3vw,34px);height:150px;width:100%;max-width:560px}.lq-bar{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px}.lq-bar b{font-family:var(--font-display);font-size:22px}.lq-bar i{display:block;width:100%;background:var(--q);border-radius:8px 8px 0 0;box-shadow:0 4px #00000040;animation:lq-grow .6s ease-out;transform-origin:bottom}.lq-bar span{font-weight:800;font-size:18px;color:var(--q);background:#fff;border-radius:8px;padding:2px 10px;min-width:44px}.lq-bar:not(.right){opacity:.55}@keyframes lq-grow{0%{transform:scaleY(0)}}.lq-board{list-style:none;margin:0;padding:0;width:100%;max-width:720px;display:flex;flex-direction:column;gap:8px}.lq-board li{display:flex;align-items:center;gap:12px;background:#fff;color:#0b1b3f;border-radius:14px;padding:10px 14px;font-weight:800;font-size:clamp(16px,2.2vw,22px);box-shadow:0 4px #00000040;animation:lq-slide .45s ease-out both}@keyframes lq-slide{0%{transform:translate(-30px);opacity:0}}.lq-rank{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#0b1b3f;color:#fff;font-size:16px;flex:none}.lq-board li:first-child .lq-rank{background:#f5b400;color:#0b1b3f}.lq-name{text-align:left;min-width:0;flex:0 1 40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lq-points{flex:1;display:flex;align-items:center;gap:10px}.lq-points i{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,#1f5bff,#f26b0f)}.lq-points b{font-variant-numeric:tabular-nums}.lq-podium{display:flex;align-items:flex-end;justify-content:center;gap:12px;width:100%;max-width:640px;margin-top:8px}.lq-pod{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.lq-pod strong{font-size:clamp(16px,2.4vw,22px);overflow-wrap:anywhere}.lq-pod b{font-size:18px;color:#ffd27a}.lq-medal{font-size:44px;animation:lq-pop .5s ease-out .6s both}.lq-block{width:100%;display:grid;place-items:start center;padding-top:10px;border-radius:14px 14px 0 0;font-family:var(--font-display);font-size:40px;font-weight:800;color:#ffffffd9;animation:lq-grow .7s ease-out both;transform-origin:bottom}.lq-pod.p1{order:2}.lq-pod.p1 .lq-block{height:180px;background:linear-gradient(#f5b400,#c98a00)}.lq-pod.p2{order:1}.lq-pod.p2 .lq-block{height:130px;background:linear-gradient(#9db2d8,#6c81a8)}.lq-pod.p3{order:3}.lq-pod.p3 .lq-block{height:95px;background:linear-gradient(#f29a5b,#c26a2c)}.quiz-overlay.lq-phone{background:linear-gradient(160deg,#0b1b3f,#15296b 60%,#0b1b3f);color:#fff}.lq-phone.good{background:linear-gradient(160deg,#0b7a44,#0e9f5b)}.lq-phone.bad{background:linear-gradient(160deg,#a3271f,#d9443a)}.lq-phone .quiz-close{background:#ffffff26;border-color:#ffffff4d;color:#fff}.lq-phone-top{display:flex;justify-content:space-between;align-items:center;padding-right:52px}.lq-center{flex:1;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center}.lq-phone-title{margin:0;font-family:var(--font-display);font-size:clamp(30px,9vw,44px);font-weight:800;text-shadow:0 3px 0 rgba(0,0,0,.25)}.lq-sub{margin:0;font-size:17px;font-weight:700;opacity:.92}.lq-sub.small{font-size:14px;opacity:.75}.lq-me{background:#f26b0f;border-radius:14px;padding:12px 24px;font-size:24px;font-weight:800;box-shadow:0 5px #0000004d;animation:lq-pop .45s cubic-bezier(.2,1.6,.4,1)}.lq-tiles.phone{flex:1;grid-auto-rows:1fr;align-content:stretch;min-height:300px}.lq-tiles.phone .lq-tile{flex-direction:column;justify-content:center;text-align:center;gap:8px;font-size:clamp(16px,4.6vw,22px);min-height:0}.lq-tiles.phone .lq-txt{flex:none}.lq-locked{background:var(--q);border-radius:22px;padding:20px;box-shadow:0 6px #0000004d}.lq-result-ic{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-size:52px;font-weight:900;background:#fff3;animation:lq-pop .5s cubic-bezier(.2,1.6,.4,1)}.lq-result-ic.medal{background:none;font-size:80px}.lq-plus{margin:0;background:#00000040;border-radius:99px;padding:8px 26px;font-family:var(--font-display);font-size:36px;font-weight:800;animation:lq-pop .5s ease-out .15s both}.lq-streak{margin:0;background:#f26b0f;border-radius:99px;padding:6px 16px;font-weight:800}.lq-place{margin:0;background:#00000040;border-radius:14px;padding:10px 16px;font-weight:700}.lq-stage .q-red{--q:#F26B0F}.lq-stage .q-blue{--q:#1F5BFF}.lq-stage .q-amber{--q:#0E9F5B}.lq-stage .q-green{--q:#8B3FD9}.lq-hero.tb-hero{background:linear-gradient(135deg,#3b1a6b,#6c2bd9 55%,#f26b0f 130%)}.tb-mini{display:grid;grid-template-columns:repeat(3,34px);gap:5px;flex:none;margin-left:auto}.tb-mini i{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-weight:800;background:var(--q);color:#fff;box-shadow:0 3px #00000040}.tb-mini .q-red{--q:#F26B0F}.tb-mini .q-blue{--q:#1F5BFF}.tb-mini .q-amber{--q:#0E9F5B}.tb-mini .q-green{--q:#8B3FD9}@media(max-width:480px){.tb-mini{display:none}}.tb-step{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:14px 16px;box-shadow:var(--shadow-sm)}.tb-step h3{margin:0;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:17px}.tb-step h3>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--grad-warm);color:#fff;font-size:14px}.tb-step h3 small{color:var(--muted);font-weight:700;font-size:13px}.tb-decks{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:340px;overflow:auto;padding:2px}.tb-deck{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border-radius:14px;border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;position:relative}.tb-deck>span{font-size:22px}.tb-deck b{font-size:13.5px;line-height:1.25}.tb-deck small{font-size:11.5px;color:var(--muted)}.tb-deck.on{border-color:var(--c, var(--purple));background:color-mix(in srgb,var(--c, var(--purple)) 10%,var(--surface))}.tb-deck.on:after{content:"✓";position:absolute;top:8px;right:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--c, var(--purple));color:#fff;font-weight:800;font-size:13px}.tb-names{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.tb-names label{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 6px;border-radius:14px;background:var(--q)}.tb-names label span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#ffffff40;color:#fff;flex:none}.tb-names input{flex:1;min-width:0;border:0;border-radius:10px;padding:8px 10px;font:inherit;font-weight:700;background:#fff;color:#0b1b3f}.tb-names .q-red{--q:#F26B0F}.tb-names .q-blue{--q:#1F5BFF}.tb-names .q-amber{--q:#0E9F5B}.tb-names .q-green{--q:#8B3FD9}.tb-check{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:600}.tb-check input{width:18px;height:18px;margin:2px 0 0;flex:none}.btn-primary.tb-start{font-size:18px;padding:16px}.tb-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;width:100%;max-width:1000px}.tb-team{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 10px 8px;border-radius:16px;background:var(--q);box-shadow:0 5px #0000004d;opacity:.72;transition:transform .25s,opacity .25s}.tb-team.turn{opacity:1;transform:translateY(-4px) scale(1.04);outline:4px solid #fff;outline-offset:2px}.tb-turn{position:absolute;top:-12px;background:#fff;color:#0b1b3f;border-radius:99px;padding:2px 10px;font-size:12px;font-weight:800;animation:lq-pop .4s ease-out}.tb-team-name{font-weight:800;font-size:clamp(14px,1.8vw,18px)}.tb-score{font-family:var(--font-display);font-size:clamp(30px,4vw,44px);line-height:1}.tb-adjust{display:flex;gap:6px}.tb-adjust button{border:0;border-radius:8px;padding:2px 8px;background:#ffffff38;color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.tb-pick{margin:4px 0 0;font-size:clamp(18px,2.6vw,26px);font-weight:700}.tb-grid{display:grid;gap:10px;width:100%;max-width:1000px}.tb-grid.n2{grid-template-columns:repeat(2,1fr)}.tb-grid.n3{grid-template-columns:repeat(3,1fr)}.tb-grid.n4{grid-template-columns:repeat(4,1fr)}.tb-grid.n5{grid-template-columns:repeat(5,1fr)}.tb-grid.n6{grid-template-columns:repeat(6,1fr)}.tb-tile{aspect-ratio:4/3;border:0;border-radius:16px;background:var(--q);color:#fff;font-family:var(--font-display);font-size:clamp(26px,4vw,48px);font-weight:800;cursor:pointer;box-shadow:0 6px #0000004d;transition:transform .12s}.tb-tile:not(:disabled):hover{transform:translateY(-3px) rotate(-1deg)}.tb-tile:not(:disabled):active{transform:translateY(4px);box-shadow:0 2px #0000004d}.tb-tile.done{opacity:.35;cursor:default;box-shadow:none;font-size:clamp(20px,3vw,34px)}.tb-tile.done.missed{background:#ffffff1f}@media(max-width:600px){.tb-grid{grid-template-columns:repeat(4,1fr)!important}.tb-tile{aspect-ratio:1}}.tb-open,.tb-surprise{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:1000px;animation:lq-pop .35s ease-out}.tb-open-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.tb-open-head .lq-skip{margin-left:auto}.tb-badge{background:#fff;color:#0b1b3f;border-radius:99px;padding:6px 14px;font-weight:800}.tb-badge.gold{background:#f5b400}.tb-center{justify-content:center}.tb-mark{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.lq-go.tb-right{background:#0e9f5b;color:#fff}.lq-go.tb-wrong{background:#d9443a;color:#fff}.tb-surprise{justify-content:center;flex:1;padding:20px 0}.tb-surprise-ic{font-size:96px;animation:lq-pop .6s cubic-bezier(.2,1.8,.4,1);filter:drop-shadow(0 8px 0 rgba(0,0,0,.25))}.tb-surprise-text{margin:0;font-size:clamp(18px,2.6vw,26px);font-weight:700}.tb-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%;max-width:760px}.tb-targets .lq-tile{cursor:pointer}@media(prefers-reduced-motion:reduce){.tb-surprise-ic,.tb-turn,.tb-open,.tb-surprise{animation:none}.tb-team{transition:none}}.quiz-view-switch.cg-games-tabs{flex-wrap:wrap}.lq-hero.ap-hero{background:linear-gradient(135deg,#0e5a6b,#0e8fa8 55%,#f26b0f 140%)}.ap-hero-ic{font-size:52px;margin-left:auto;flex:none}.ap-list{display:flex;flex-direction:column;gap:8px}.ap-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--border);text-align:left;font:inherit;color:var(--text)}.ap-row.on{border-color:var(--purple);box-shadow:0 0 0 2px color-mix(in srgb,var(--purple) 30%,transparent)}.ap-row-btn{cursor:pointer;width:100%}.ap-row-ic{font-size:26px;flex:none}.ap-row-body{flex:1;min-width:0;display:flex;flex-direction:column}.ap-row-body b{font-size:14.5px}.ap-row-body small{color:var(--muted);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-row .btn-small{width:auto;padding:7px 14px}.ap-editor{display:flex;flex-direction:column;gap:12px}.ap-editor label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}.ap-editor textarea,.ap-editor input,.ap-editor select{font:inherit;font-weight:400}.ap-delete{color:var(--red-strong, #C0392B);margin-right:auto}.ap-page{display:flex;flex-direction:column;gap:10px}.ap-page .link-btn{align-self:flex-start}.ap-switch{display:flex;gap:4px;margin-left:auto;background:#ffffff1f;border-radius:99px;padding:3px}.ap-switch button{border:0;border-radius:99px;padding:6px 12px;background:none;color:#fff;font:inherit;font-weight:700;cursor:pointer}.ap-switch button.on{background:#fff;color:#0b1b3f}.ap-wheel-wrap,.ap-boxes-wrap,.ap-done{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;flex:1;justify-content:center}.ap-wheel{position:relative;width:min(78vw,58vh,480px);aspect-ratio:1}.ap-wheel svg{width:100%;height:100%;display:block;border-radius:50%;box-shadow:0 0 0 8px #fff,0 12px 0 6px #0000004d}.ap-pointer{position:absolute;top:-26px;left:50%;transform:translate(-50%);z-index:2;font-size:40px;color:#f5b400;text-shadow:0 3px 0 rgba(0,0,0,.35)}.ap-slice{fill:#fff;font-weight:800;font-family:var(--font-display);pointer-events:none}.ap-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:22%;aspect-ratio:1;border-radius:50%;border:4px solid #0B1B3F;background:#fff;color:#0b1b3f;font:inherit;font-weight:800;font-size:clamp(11px,2.2vw,18px);cursor:pointer;box-shadow:0 4px #0000004d}.ap-hub:disabled{cursor:default}.ap-controls{display:flex;flex-direction:column;align-items:center;gap:8px}.ap-check{display:flex;gap:8px;align-items:center;font-weight:600;font-size:14px}.ap-check input{width:18px;height:18px}.ap-left{opacity:.75;font-size:14px;font-weight:700}.ap-result{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:860px;background:#fff;color:#0b1b3f;border-radius:22px;padding:22px 20px;box-shadow:0 8px #00000040;animation:lq-pop .4s cubic-bezier(.2,1.6,.4,1)}.ap-result p{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(22px,4vw,40px);line-height:1.2;text-align:center;overflow-wrap:anywhere}.ap-result .ap-answer{font-family:var(--font);font-size:clamp(17px,2.4vw,24px);font-weight:700;color:#0e7a44}.ap-result .lq-skip{color:#0b1b3f;border-color:#c9d3e6}.ap-result .lq-go{background:#0b1b3f;color:#fff}.ap-boxes{display:grid;gap:10px;width:100%;max-width:960px}.ap-box{aspect-ratio:4/3;border:0;border-radius:16px;background:var(--q);color:#fff;cursor:pointer;box-shadow:0 6px #0000004d;font:inherit;padding:6px;transition:transform .15s;display:grid;place-items:center;position:relative;overflow:hidden}.ap-box b{font-family:var(--font-display);font-size:clamp(24px,4vw,44px)}.ap-box:before{content:"";position:absolute;left:0;right:0;top:42%;height:12%;background:#ffffff47}.ap-box:not(.open):after{content:"🎀";position:absolute;top:4px;right:6px;font-size:18px}.ap-box:hover{transform:translateY(-3px) rotate(-1deg)}.ap-box.open{background:#ffffffeb;color:#0b1b3f;box-shadow:0 3px #0003}.ap-box.open:before{display:none}.ap-box small{font-size:clamp(11px,1.4vw,14px);font-weight:700;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ap-overlay.quiz-overlay{background:linear-gradient(160deg,#0b1b3f,#15296b 60%,#0b1b3f);padding-top:calc(56px + env(safe-area-inset-top))}.ap-overlay .quiz-close{background:#ffffff26;border-color:#ffffff4d;color:#fff;z-index:3}.ap-overlay .ap-stage{background:none;min-height:0;flex:1;padding:0}@media(max-width:600px){.ap-boxes{grid-template-columns:repeat(3,1fr)!important}.ap-row{flex-wrap:wrap}.ap-row-body{flex-basis:60%}}.lq-hero.cb2-hero{background:linear-gradient(135deg,#0b1b3f,#1f3fbf 60%,#f5b400 150%)}.cb2-mini{display:flex;flex-direction:column;gap:5px;margin-left:auto;flex:none}.cb2-mini i{font-style:normal;font-family:var(--font-display);font-weight:800;color:#f5b400;background:#1f3fbf;border-radius:8px;padding:4px 14px;box-shadow:0 3px #0000004d}@media(max-width:480px){.cb2-mini{display:none}}.cb2-grid{display:grid;gap:8px;width:100%;max-width:1100px}.cb2-head{display:grid;place-items:center;min-height:58px;padding:6px;border-radius:12px;background:#fff;color:#0b1b3f;font-weight:800;font-size:clamp(12px,1.6vw,18px);text-align:center;line-height:1.15;box-shadow:0 4px #00000040;overflow-wrap:anywhere}.cb2-cell{min-height:clamp(46px,8vh,84px);border:0;border-radius:12px;background:linear-gradient(#2a4bd6,#1f3fbf);color:#f5b400;font-family:var(--font-display);font-weight:800;font-size:clamp(20px,3.4vw,40px);cursor:pointer;box-shadow:0 5px #00000059;transition:transform .12s}.cb2-cell:not(:disabled):hover{transform:translateY(-2px)}.cb2-cell.done{background:var(--q, rgba(255,255,255,.1));color:#fff;opacity:.35;cursor:default;box-shadow:none}.cb2-cell.none{background:none;box-shadow:none}.cb2-answer{margin:0;background:#0e9f5b;border-radius:16px;padding:14px 22px;font-family:var(--font-display);font-weight:800;font-size:clamp(22px,4vw,40px);box-shadow:0 6px #0000004d;animation:lq-pop .4s ease-out}.cb2-edit{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.cb2-edit-cat{border:1px solid var(--border);border-radius:14px;padding:10px;margin:0;display:flex;flex-direction:column;gap:6px}.cb2-edit-cat legend{display:flex;gap:6px;align-items:center;padding:0 4px;width:100%}.cb2-edit-cat legend input{font-weight:800}.cb2-edit-row{display:grid;grid-template-columns:40px 1fr .7fr;gap:6px;align-items:center}.cb2-edit-row b{color:var(--amber-strong, #B07D00);font-size:13px}.cb2-edit-row input{min-width:0;margin:0;padding:7px 8px;font-size:13.5px}@media(max-width:600px){.cb2-grid{gap:4px}.cb2-head{font-size:10.5px;min-height:44px}.cb2-cell{font-size:16px}}.lq-hero.pg-hero{background:linear-gradient(135deg,#0e7a44,#0e9f5b 55%,#f5b400 140%)}.pg-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:20px 16px;border-radius:22px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.pg-emoji{font-size:56px;line-height:1}.pg-emoji.big{font-size:72px}.pg-item.big .pg-emoji{font-size:84px;animation:lq-pop .45s cubic-bezier(.2,1.6,.4,1)}.pg-photo{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:var(--border)}.pg-photo.big{aspect-ratio:auto;height:clamp(170px,34dvh,340px);animation:lq-pop .45s cubic-bezier(.2,1.6,.4,1)}.pg-photo img{display:block;width:100%;height:100%;object-fit:cover}.pg-photo small{position:absolute;right:0;bottom:0;max-width:100%;padding:2px 7px;border-top-left-radius:8px;background:#0009;color:#fff;font-size:10px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-item.big{padding:12px 12px 16px}.pg-choice{min-width:0;padding:8px 8px 14px}.lq-question.pg-q .pg-photo.big{width:min(100%,560px);height:clamp(190px,38vh,420px)}.pg-credits{margin-top:10px;font-size:12.5px}.pg-credits summary{cursor:pointer;font-weight:700}.pg-credits ul{margin:8px 0;padding-left:18px;display:grid;gap:3px}.pg-cat{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.pg-item p{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(18px,4.6vw,24px);line-height:1.25}.pg-form{display:flex;align-items:center;gap:8px;margin:12px 0}.pg-dollar{font-family:var(--font-display);font-size:30px;font-weight:800;color:#0e9f5b}.pg-form input{flex:1;min-width:0;font-size:24px;font-weight:800;padding:12px 14px;border-radius:14px;margin:0}.pg-form .btn-primary{width:auto;padding:12px 20px;margin:0}.pg-verdict{font-size:20px;font-weight:800}.pg-verdict small{display:block;font-size:13px;font-weight:600;color:var(--muted)}.pg-say{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}.pg-price{margin:0;font-family:var(--font-display);font-size:42px;font-weight:800;color:#0e9f5b;line-height:1}.pg-price.big{font-size:clamp(48px,8vw,84px);color:#fff;text-shadow:0 5px 0 rgba(0,0,0,.3)}.pg-full{margin:0;font-size:13px;color:var(--muted)}.pg-note{margin:0;font-size:14px}.pg-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.pg-choice{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border-radius:20px;border:2px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-align:center;box-shadow:var(--shadow-sm)}.pg-choice b{font-size:15px;line-height:1.25}.pg-choice.right{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.pg-choice.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--surface))}.pg-choice.dim{opacity:.5}.pg-tag{font-family:var(--font-display);font-weight:800;font-size:20px;background:#f5b400;color:#0b1b3f;border-radius:10px;padding:4px 12px;transform:rotate(-3deg)}.lq-question.pg-q{display:flex;flex-direction:column;align-items:center;gap:4px}.pg-guesses{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;width:100%;max-width:1000px}.pg-guess{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:16px;background:var(--q);box-shadow:0 5px #0000004d;font-weight:800;text-align:left}.pg-guess.best{outline:4px solid #F5B400;outline-offset:3px;animation:lq-pop .4s ease-out}.pg-guess b{font-family:var(--font-display);font-size:30px}.pg-guess small{opacity:.9;font-weight:700}.pg-input{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:26px}.pg-input input{flex:1;min-width:0;border:0;border-radius:10px;padding:8px 10px;font:inherit;font-size:24px;background:#fff;color:#0b1b3f;margin:0}.pg-reveal{display:flex;flex-direction:column;align-items:center;gap:6px;animation:lq-pop .45s ease-out}.pg-reveal p{margin:0;font-size:20px;font-weight:700}.lq-stage .pg-note{color:#fff}@media(prefers-reduced-motion:reduce){.ap-result,.cb2-answer,.pg-item.big .pg-emoji,.pg-photo.big,.pg-guess.best,.pg-reveal{animation:none}.ap-wheel svg{transition:none!important}}@media(max-width:600px){.lq-tiles:not(.phone){grid-template-columns:1fr}.lq-stage{padding:12px;border-radius:18px}.lq-tile{min-height:64px}}@media(prefers-reduced-motion:reduce){.lq-bg i,.lq-players span,.lq-question,.lq-tile.right,.lq-bar i,.lq-board li,.lq-medal,.lq-block,.lq-me,.lq-result-ic,.lq-plus,.lq-waiting,.lq-ring.hurry b{animation:none}}.fam-overlay{position:fixed;inset:0;z-index:300;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.fam-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:var(--surface);border-bottom:1px solid var(--border)}.fam-top>div{display:flex;flex-direction:column;min-width:0}.fam-top b{font-family:var(--font-display);font-size:16px}.fam-top small{font-size:12.5px;color:var(--text-soft);font-weight:700}.fam-back{border:none;background:var(--c-soft, var(--bg));color:var(--text);font-weight:800;border-radius:999px;padding:8px 12px;cursor:pointer;white-space:nowrap}.fam-body{max-width:680px;margin:0 auto;padding:14px 16px calc(40px + env(safe-area-inset-bottom))}.fam-body h2{font-family:var(--font-display);font-size:22px;margin:8px 0 4px}.fam-body h3{font-family:var(--font-display);font-size:16px;margin:18px 0 8px}.fam-body h3 small{font-weight:700;color:var(--text-soft);font-size:12.5px;margin-left:6px}.fam-tabs{position:sticky;top:calc(58px + env(safe-area-inset-top));z-index:1;display:flex;gap:6px;overflow-x:auto;padding:8px 0;margin:-6px 0 8px;background:var(--bg);scrollbar-width:none}.fam-tabs::-webkit-scrollbar{display:none}.fam-tabs button{flex:none;display:flex;align-items:center;gap:5px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 12px;font-weight:800;font-size:13.5px;cursor:pointer}.fam-tabs button.on{background:#e2468a;border-color:#e2468a;color:#fff}.fam-lead{margin:4px 0 12px;font-weight:700;color:var(--text-soft)}.fam-help{margin:6px 0;font-size:13px;color:var(--text-soft)}.fam-note{margin:8px 0;padding:10px 12px;border-radius:14px;background:var(--amber-soft, #FFF6DB);color:var(--text);font-size:13.5px;font-weight:700}.fam-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 16px;margin:10px 0;box-shadow:var(--shadow-sm)}.fam-card>b{display:block;margin-bottom:4px}.fam-card p{margin:4px 0}.fam-card ul{margin:6px 0 0;padding-left:18px}.fam-card li{margin:4px 0}.fam-intro{background:linear-gradient(135deg,#ffe3f0,#fff3e6);border:none}[data-theme=dark] .fam-intro{background:linear-gradient(135deg,#3a1630,#2e2210)}.fam-intro h2{margin-top:0;font-size:19px}.fam-step-count{margin:16px 0 0;font-size:12.5px;font-weight:800;color:var(--text-soft)}.fam-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.fam-chips button{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.fam-chips button.on{border-color:#e2468a;background:#ffe3f0;color:#8a1d4d}[data-theme=dark] .fam-chips button.on{background:#4a1a35;color:#ffc2dd}.fam-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:10px 0}.fam-scale button{display:flex;flex-direction:column;align-items:center;gap:2px;border:1.5px solid var(--border);background:var(--surface);border-radius:14px;padding:10px 0;font-size:24px;cursor:pointer;color:var(--text)}.fam-scale button small{font-size:12px;font-weight:800}.fam-scale button.on{border-color:#e2468a;background:#ffe3f0}[data-theme=dark] .fam-scale button.on{background:#4a1a35}.fam-scale-ends{grid-column:1 / -1;display:flex;justify-content:space-between;margin:2px 0 0;font-size:12px;color:var(--text-soft);font-weight:700}.fam-onb-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.fam-onb-bar .link-btn{white-space:nowrap}.fam-onb-bar .btn-primary{flex:1;max-width:260px}.fam-week{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fam-day{display:flex;align-items:stretch;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:8px 8px 8px 12px}.fam-day.fam-is-today{border-color:#e2468a;box-shadow:0 0 0 2px #ffd1e4}[data-theme=dark] .fam-day.fam-is-today{box-shadow:0 0 0 2px #5a2440}.fam-day.fam-rest{background:transparent;border:1.5px dashed var(--border)}.fam-day.fam-done .fam-day-body b{color:var(--primary)}.fam-day.fam-skipped{opacity:.6}.fam-day-name{width:44px;flex:none;display:flex;flex-direction:column;justify-content:center;font-weight:900;font-size:13px;color:var(--text-soft)}.fam-day-name i{font-style:normal;font-size:10.5px;color:#e2468a}.fam-day-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;text-align:left;background:none;border:none;padding:4px 0;color:var(--text);cursor:pointer;font:inherit}.fam-day-body small{color:var(--text-soft);font-size:12.5px;font-weight:700}.fam-day-tools{display:flex;gap:4px;align-items:center}.fam-day-tools button{border:none;background:var(--bg);border-radius:12px;width:38px;height:38px;font-size:16px;cursor:pointer}.fam-tried{margin:12px 0 0;font-weight:800;color:var(--primary)}.fam-tip small{display:block;margin-top:6px;color:var(--text-soft);font-size:12.5px}.fam-meta{margin:2px 0 10px;color:var(--text-soft);font-weight:700;font-size:13px}.fam-phrases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.fam-phrases li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 12px 12px 14px}.fam-phrase-en{font-family:var(--font-display);font-size:21px;font-weight:800}.fam-phrase-pt{grid-column:1;font-size:13.5px;color:var(--text-soft);font-weight:700}.fam-phrase-btns{grid-column:2;grid-row:1 / span 2;display:flex;gap:6px}.fam-rec{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}.fam-rec audio{height:36px;max-width:100%}.fam-rec small{flex-basis:100%;color:var(--text-soft);font-size:12.5px}.fam-rec-btn{border:1.5px solid #E2468A;background:var(--surface);color:#c2186b;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.fam-rec-btn.on{background:#e2468a;color:#fff}.fam-steps{margin:0;padding-left:22px}.fam-steps li{margin:6px 0;line-height:1.5}.fam-follow{background:#eaf3ff;border-color:#cfe0ff}.fam-safety{background:#fff1e6;border-color:#ffd2b0}[data-theme=dark] .fam-follow{background:#13254a;border-color:#22406e}[data-theme=dark] .fam-safety{background:#3a2412;border-color:#5a3a1e}.fam-why{font-size:13px;color:var(--text-soft)}.fam-ev{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--bg);border:1px solid var(--border);font-size:11.5px;font-weight:800}.fam-note-box{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-weight:800;font-size:13.5px}.fam-act-bar{position:sticky;bottom:0;display:flex;gap:10px;padding:10px 0 calc(6px + env(safe-area-inset-bottom));background:var(--bg)}.fam-act-bar .btn-primary{flex:1}.fam-fav{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:0 14px;font-weight:800;cursor:pointer}.fam-fav.on{border-color:#f5b400;background:#fff6db;color:#7a5600}.fam-group{margin-bottom:6px}.fam-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:11px 14px;margin:6px 0;color:var(--text);font:inherit;cursor:pointer}.fam-row>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.fam-row small{color:var(--text-soft);font-size:12.5px;font-weight:700}.fam-print-btn{margin:0 0 12px}.fam-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.fam-word{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:14px 10px}.fam-word-pic{font-size:44px;line-height:1.1}.fam-word>b{font-family:var(--font-display);font-size:20px}.fam-word-pt{font-size:13px;color:var(--text-soft);font-weight:700}.fam-word-phrase{font-weight:800;font-size:14px}.fam-word-btns{display:flex;gap:6px}.fam-btn2{border:1.5px solid #E2468A;background:var(--surface);color:#c2186b;border-radius:999px;padding:10px 16px;font-weight:800;font-size:14px;cursor:pointer}[data-theme=dark] .fam-btn2{color:#ff9cc8}.fam-act-bar .fam-btn2{flex:1}.fam-word small{font-size:12px;color:var(--text-soft)}.fam-word-safety{color:#b4530c!important}.fam-song h3{margin-top:0}.fam-lyrics{list-style:none;margin:10px 0;padding:12px 14px;border-radius:14px;background:var(--bg);font-size:16px;line-height:1.7;font-weight:700}.fam-lyrics li.reading{color:#e2468a}.fam-tips{margin:0;padding-left:22px}.fam-tips li{margin:10px 0}.fam-tips p{margin:0;font-weight:700}.fam-tips small{color:var(--text-soft);font-size:12.5px}.fam-ontrack-link{display:flex;justify-content:space-between;align-items:center;width:100%;margin:22px 0 0;padding:14px 16px;border-radius:16px;border:1px dashed var(--border);background:transparent;color:var(--text);font-weight:800;cursor:pointer;font:inherit}.fam-ontrack h2{margin-bottom:8px}.fam-invite{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border-radius:18px;border:1px dashed #F2A7C8;background:var(--surface)}.fam-invite>span:first-child{font-size:28px}.fam-invite-text{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}.fam-invite-text small{color:var(--text-soft);font-size:12.5px;font-weight:700}.fam-invite-btns{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-basis:100%}.fam-invite-btns .btn-primary{width:auto;flex:none;padding:9px 22px}.fam-invite-btns .link-btn{white-space:nowrap}.fam-study .fam-row{margin-top:4px}.fam-today{display:flex;align-items:center;gap:6px;padding:0}.fam-today-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:none;padding:10px 0;text-align:left;color:var(--text);cursor:pointer;font:inherit}.fam-today-x{font-size:12.5px;white-space:nowrap}.fam-switch{display:flex;gap:12px;align-items:flex-start;margin:12px 0;padding:14px 16px;border-radius:18px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.fam-switch input{width:22px;height:22px;margin-top:2px;accent-color:#E2468A;flex:none}.fam-switch span{display:flex;flex-direction:column;gap:3px}.fam-switch small{color:var(--text-soft);font-size:12.5px;font-weight:700}.fam-print{position:fixed;inset:0;z-index:320;overflow-y:auto;background:#e9edf5;padding:12px}.fam-print-bar .link-btn{white-space:nowrap}.fam-print-bar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:794px;margin:0 auto 10px;padding:10px 12px;border-radius:14px;background:#fff}.fam-print-page{width:min(794px,100%);aspect-ratio:210 / 297;margin:0 auto 14px;background:#fff;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);padding:4%;gap:0;box-shadow:0 4px 18px #0000001f}.fam-print-card{border:1.5px dashed #9AA4B8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#111;padding:6%}.fam-print-pic{font-size:clamp(40px,9vw,84px);line-height:1}.fam-print-card b{font-family:var(--font-display);font-size:clamp(22px,4.5vw,40px)}.fam-print-card i{font-size:clamp(12px,2vw,17px);font-weight:700}.fam-print-card small{font-size:clamp(10px,1.6vw,13px);color:#444}@media print{@page fam{size:A4 portrait;margin:0}html.fam-print-on body>*:not(.fam-print){display:none!important}html.fam-print-on .fam-print,html.fam-print-on .fam-print *{visibility:visible!important}html.fam-print-on .fam-print{position:static;padding:0;background:#fff;overflow:visible}html.fam-print-on .fam-print-bar{display:none}html.fam-print-on .fam-print-page{page:fam;width:210mm;height:297mm;aspect-ratio:auto;margin:0;padding:12mm;box-shadow:none;break-after:page}html.fam-print-on .fam-print-pic{font-size:72px}html.fam-print-on .fam-print-card b{font-size:36px}html.fam-print-on .fam-print-card i{font-size:15px}html.fam-print-on .fam-print-card small{font-size:12px}}.fam-top{background:linear-gradient(120deg,#e2468a,#7b4bd6);border-bottom:none;color:#fff}.fam-top small{color:#ffffffd9}.fam-back{background:#fff3;color:#fff}.fam-body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.fam-nav{position:fixed;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(6,1fr);background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #0b1b3f14}.fam-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;border:none;background:none;padding:4px 0;border-radius:12px;cursor:pointer;color:var(--text-soft)}.fam-nav button span{font-size:20px;line-height:1.1;filter:grayscale(.6);transition:transform .15s}.fam-nav button small{font-size:10.5px;font-weight:800}.fam-nav button.on{color:#c2186b}.fam-nav button.on span{filter:none;transform:scale(1.15)}[data-theme=dark] .fam-nav button.on{color:#ff9cc8}@media(min-width:760px){.fam-nav{position:sticky;top:calc(58px + env(safe-area-inset-top));bottom:auto;max-width:680px;margin:0 auto 12px;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm)}.fam-body{padding-bottom:40px}}.fk-hero{margin:-14px -16px 0;padding:14px 16px 18px;background:linear-gradient(160deg,#e2468a,#9b4bd6 60%,#5b4bd6);color:#fff;border-radius:0 0 28px 28px;box-shadow:0 10px 28px #7b4bd640}@media(min-width:760px){.fk-hero{margin:0;border-radius:28px}}.fk-week{display:flex;align-items:center;justify-content:space-between;gap:8px}.fk-week>span{display:flex;flex-direction:column;align-items:center;text-align:center}.fk-week b{font-family:var(--font-display);font-size:21px}.fk-week small{font-size:12.5px;opacity:.85;font-weight:700}.fk-week button{width:40px;height:40px;border-radius:50%;border:none;background:#fffffff2;color:#7b4bd6;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 4px 10px #0000001f}.fk-week button:disabled{opacity:.35;cursor:default}.fk-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:14px 0 12px}.fk-stats span{display:flex;flex-direction:column;align-items:center;gap:1px}.fk-stats span+span{border-left:1px solid rgba(255,255,255,.35)}.fk-stats b{font-family:var(--font-display);font-size:26px;line-height:1.1}.fk-stats small{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.fk-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.fk-day{width:100%;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0 6px;border:none;border-radius:16px;background:#ffffff29;color:#fff;cursor:pointer;font:inherit}.fk-day small{font-size:10.5px;font-weight:800;text-transform:uppercase;opacity:.85}.fk-day b{font-size:16px;font-weight:900}.fk-day i{font-style:normal;font-size:13px;min-height:18px;display:grid;place-items:center}.fk-day.today{box-shadow:inset 0 0 0 2px #ffffffd9}.fk-day.on{background:#fff;color:#7b4bd6}.fk-day.done i{width:18px;height:18px;border-radius:50%;background:#12b76a;color:#fff;font-size:11px;font-weight:900}.fk-day.skipped{opacity:.55}.fk-card{margin:16px 0 10px;background:var(--surface);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}.fk-card-art{position:relative;display:grid;place-items:center;width:100%;height:150px;border:none;cursor:pointer;padding:0}.fk-card-art .fk-card-pic{font-size:84px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18));animation:fk-bob 3.2s ease-in-out infinite}@keyframes fk-bob{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}.fk-card-chip{position:absolute;top:12px;left:12px;background:#ffffffe6;color:#16123a;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:800}.fk-card-done{position:absolute;bottom:12px;right:12px;background:#12b76a;color:#fff;border-radius:99px;padding:5px 12px;font-weight:900;font-size:13px}.fk-card-fav{position:absolute;top:10px;right:12px;font-size:22px}.fk-card-body{padding:14px 16px 16px}.fk-card-body>small{font-size:11.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#c2186b}[data-theme=dark] .fk-card-body>small{color:#ff9cc8}.fk-card-body h3{margin:2px 0 0;font-family:var(--font-display);font-size:22px}.fk-card-pt{margin:0 0 10px;color:var(--text-soft);font-weight:700;font-size:13.5px}.fk-card-phrases{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}.fk-card-phrases li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px 9px 12px;border-radius:14px;background:var(--bg)}.fk-card-phrases li>span{display:flex;flex-direction:column}.fk-card-phrases b{font-family:var(--font-display);font-size:17px}.fk-card-phrases small{font-size:12.5px;color:var(--text-soft);font-weight:700}.fk-card-actions{display:flex;gap:8px;align-items:center}.fk-card-actions .btn-primary{flex:1}.fk-round{width:46px;height:46px;flex:none;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);font-size:18px;cursor:pointer}.fk-card.rest{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(135deg,#eef0ff,#fdf0f7)}[data-theme=dark] .fk-card.rest{background:linear-gradient(135deg,#1d1f45,#3a1630)}.fk-card.rest .fk-card-pic{font-size:54px}.fk-card.rest .fk-card-body{padding:0}.fk-card.skipped .fk-card-art{filter:grayscale(.6) opacity(.7)}.fk-segs{display:flex;flex-wrap:wrap;gap:5px;margin:4px 2px 14px}.fk-segs i{display:block;flex:1;height:7px;border-radius:99px;background:var(--border);transition:background .3s}.fk-segs i.on{background:linear-gradient(90deg,#e2468a,#9b4bd6)}.fk-segs small{flex-basis:100%;font-size:12.5px;font-weight:700;color:var(--text-soft);margin-top:2px}.fk-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fk-tile{position:relative;min-height:150px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 12px 14px;border:none;border-radius:22px;cursor:pointer;overflow:hidden;color:#16123a;font:inherit;box-shadow:var(--shadow-sm)}.fk-tile small{font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;opacity:.75}.fk-tile-pic{font-size:46px;line-height:1.1;margin:2px 0 4px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12))}.fk-tile b{font-family:var(--font-display);font-size:16px;line-height:1.2}.fk-tile em{font-style:normal;font-size:12.5px;font-weight:700;opacity:.75}.fk-tile .fk-tile-text{font-family:var(--font);font-size:13px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.fk-tile.t-word{background:linear-gradient(160deg,#fff3c4,#ffd580)}.fk-tile.t-song{background:linear-gradient(160deg,#e3f2ff,#9ed8ff)}.fk-tile.t-child{background:linear-gradient(160deg,#ffe3f0,#ffb3d1)}.fk-tile.t-you{background:linear-gradient(160deg,#e8f8ef,#a8e6cf)}.fk-know{margin:14px 0 10px;padding:16px 16px 12px;border-radius:22px;background:var(--surface);border:2px solid #A8E6CF;box-shadow:var(--shadow-sm)}.fk-know>small{font-size:11.5px;font-weight:900;letter-spacing:.08em;color:#0e8f72}.fk-know p{margin:6px 0 10px;font-size:16.5px;font-weight:800;line-height:1.4;animation:fk-fade .5s ease-out}@keyframes fk-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fk-know-foot{display:flex;justify-content:space-between;align-items:center}.fk-dots{display:flex;gap:6px}.fk-dots button{width:8px;height:8px;padding:0;border:none;border-radius:99px;background:var(--border);cursor:pointer;transition:width .25s,background .25s}.fk-dots button.on{width:22px;background:#0e8f72}.fam-act-hero{position:relative;margin:-14px -16px 14px;padding:18px 16px;color:#fff;text-align:center;border-radius:0 0 28px 28px}@media(min-width:760px){.fam-act-hero{margin:0 0 14px;border-radius:28px}}.fam-act-back{position:absolute;top:12px;left:12px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffffe6;color:#16123a;font-size:20px;cursor:pointer}.fam-act-pic{display:block;font-size:72px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18));animation:fk-bob 3.2s ease-in-out infinite}.fam-act-hero h2{margin:4px 0 0;color:#fff;font-size:24px;text-shadow:0 2px 8px rgba(0,0,0,.15)}.fam-act-hero p{margin:2px 0 10px;font-weight:700;opacity:.95}.fam-act-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.fam-act-chips i{font-style:normal;font-size:12px;font-weight:800;background:#ffffffe0;color:#16123a;border-radius:99px;padding:4px 10px}.fam-stage-hero{margin:8px 0 12px;padding:22px 16px;border-radius:24px;text-align:center;background:linear-gradient(160deg,#ffe3f0,#e9ddff)}[data-theme=dark] .fam-stage-hero{background:linear-gradient(160deg,#3a1630,#241a4a)}.fam-stage-hero span{font-size:64px}.fam-stage-hero small{display:block;font-weight:900;color:#c2186b;text-transform:uppercase;font-size:12px;letter-spacing:.06em}.fam-stage-hero h2{margin:4px 0 0}.fam-intro{position:relative;padding-top:64px!important;text-align:center}.fam-intro:before{content:"👶🗣️💬";position:absolute;top:14px;left:0;right:0;font-size:34px;letter-spacing:6px}@media(prefers-reduced-motion:reduce){.fk-card-art .fk-card-pic,.fam-act-pic,.fk-know p{animation:none}}button.streak-pill{border:none;cursor:pointer;font-family:inherit;position:relative}.streak-pill.blink .ic{animation:streak-blink 1.1s ease-in-out infinite;filter:none;opacity:1}.streak-pill.blink{box-shadow:0 0 #ff7a1a80;animation:streak-ring 1.8s ease-out infinite}@keyframes streak-blink{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.55}}@keyframes streak-ring{0%{box-shadow:0 0 #ff7a1a73}80%,to{box-shadow:0 0 0 9px #ff7a1a00}}.streak-new{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--red, #E5484D);border:2px solid var(--surface)}.side-streak{padding:0 12px 8px}.streak-sheet-wrap{position:fixed;inset:0;z-index:250;background:#0b1b3f73;display:flex;align-items:flex-end;justify-content:center}.streak-sheet{width:min(560px,100%);max-height:92dvh;overflow-y:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:14px 16px calc(24px + env(safe-area-inset-bottom));animation:sheet-up .25s ease-out}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@media(min-width:700px){.streak-sheet-wrap{align-items:center}.streak-sheet{border-radius:24px}}.streak-sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.streak-sheet-top b{font-family:var(--font-display);font-size:18px}.streak-sheet-top .quiz-close{position:static}.hc-dots.top{margin:0 0 10px}.bdg{margin-top:14px}.bdg-title{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 8px;font-weight:900;font-family:var(--font-display)}.bdg-title small{font-family:var(--font);font-weight:700;color:var(--text-soft);font-size:12.5px}.bdg-next{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border);margin-bottom:10px}.bdg-next-ic{font-size:30px;filter:grayscale(.6)}.bdg-next-text{flex:1;display:flex;flex-direction:column;gap:3px}.bdg-next-text small{color:var(--text-soft);font-weight:700;font-size:12.5px}.bdg-bar{display:block;height:7px;border-radius:99px;background:var(--surface-2, #E9EEF8);overflow:hidden}.bdg-bar i{display:block;height:100%;background:var(--grad-warm, #FF7A1A);border-radius:inherit}.bdg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}.bdg-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;padding:10px 6px;border-radius:16px;background:var(--surface);border:1px solid var(--border);opacity:.55}.bdg-item.got{opacity:1;background:linear-gradient(160deg,var(--surface),var(--coral-soft, #FFF1E6));border-color:#ffd2b0}.bdg-ic{font-size:28px;line-height:1.15}.bdg-item b{font-size:12px;line-height:1.2}.bdg-item small{font-size:11px;color:var(--text-soft);font-weight:700}.bdg-new{position:absolute;top:-6px;right:-4px;font-style:normal;font-size:10.5px;font-weight:900;color:#fff;background:var(--red, #E5484D);border-radius:99px;padding:2px 6px}.cert-badges{margin:10px 0 0;text-align:center}.cert-badges small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b6790;font-weight:800}.cert-badges div{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px}.cert-badges span{font-size:12px;font-weight:800;color:#16123a;background:#fff6db;border:1px solid #F5D77A;border-radius:99px;padding:3px 9px}.today-plan .tp-steps{display:flex;flex-wrap:wrap;gap:6px;grid-template-columns:none}.today-plan .tp-steps li{flex:none}.today-plan .tp-step{width:auto;min-width:0;padding:6px 9px;gap:6px}.today-plan .tp-step .tp-step-name{display:none}.today-plan .tp-step.next .tp-step-name{display:inline}.today-plan .tp-step.next{padding-right:6px}.dm{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.dm-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dm-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow-sm)}.dm-ic{width:46px;height:46px;flex:none;display:grid;place-items:center;font-size:24px;border-radius:14px;background:var(--surface-2, #F1F4FB)}.dm-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.dm-text b{font-size:15px;line-height:1.25}.dm-text small{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft)}.dm-go{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;border:2px solid var(--border);font-size:17px}.dm-row.done{opacity:.75;cursor:default;background:var(--surface-2, #F1F4FB);box-shadow:none}.dm-row.done b{text-decoration:line-through;color:var(--text-soft)}.dm-go.ok{border-color:var(--primary);color:var(--primary);font-weight:900}.dm-empty{margin:8px 0 0;font-weight:700;color:var(--text-soft)}.dm-all{display:block;margin:8px 0 0 auto}.gc-layout{display:inline-flex;background:var(--surface-2, #F1F4FB);border-radius:99px;padding:3px}.gc-layout button{border:none;background:none;border-radius:99px;padding:7px 12px;font-weight:800;font-size:13px;color:var(--text-soft);cursor:pointer}.gc-layout button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.gc{margin-top:10px}.gc-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.gc-today{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:7px 14px;font-weight:800;cursor:pointer;color:var(--text)}.gc-nav{display:inline-flex;gap:2px}.gc-nav button{width:34px;height:34px;border:none;border-radius:50%;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--text)}.gc-nav button:hover{background:var(--surface-2, #F1F4FB)}.gc-title{font-family:var(--font-display);font-size:18px;flex:1;min-width:140px}.gc-views{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.gc-views button{border:none;background:var(--surface);padding:7px 12px;font-weight:800;font-size:13px;cursor:pointer;color:var(--text-soft)}.gc-views button.on{background:var(--purple-soft, #E6EDFF);color:var(--purple)}.gc-grid{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.gc-head{display:grid;grid-template-columns:52px repeat(var(--cols, 7),minmax(0,1fr));border-bottom:1px solid var(--border)}.gc-dayhead{display:flex;flex-direction:column;align-items:center;padding:8px 0 6px;gap:2px}.gc-dayhead small{font-size:11px;font-weight:800;color:var(--text-soft);text-transform:uppercase}.gc-dayhead b{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:17px}.gc-dayhead.is-today small{color:var(--purple)}.gc-dayhead.is-today b{background:var(--purple);color:#fff}.gc-body{position:relative;display:grid;grid-template-columns:52px repeat(var(--cols, 7),minmax(0,1fr));max-height:min(640px,70dvh);overflow-y:auto}.gc-hours{position:relative;border-right:1px solid var(--border)}.gc-hours span{position:absolute;right:6px;transform:translateY(-50%);font-size:10.5px;font-weight:700;color:var(--text-soft);white-space:nowrap}.gc-hours span:first-child{transform:none}.gc-col{position:relative;border-right:1px solid var(--border);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 51px,var(--border, #E3E8F2) 51px,var(--border, #E3E8F2) 52px)}.gc-col:last-child{border-right:none}.gc-col.is-today{background-color:color-mix(in srgb,var(--purple) 4%,transparent)}.gc-slot{position:absolute;left:0;right:0;border:none;background:transparent;cursor:pointer;padding:0}.gc-slot:hover{background:color-mix(in srgb,var(--purple) 8%,transparent)}.gc-now{position:absolute;left:0;right:0;height:2px;background:#e5484d;z-index:2}.gc-now:before{content:"";position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#e5484d}.gc-ev{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;text-align:left;padding:3px 6px;border:none;border-radius:8px;background:var(--ev);color:#fff;cursor:pointer;font:inherit;box-shadow:0 1px 3px #0b1b3f33}.gc-ev b{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.gc-ev small{font-size:11px;opacity:.9;white-space:nowrap}.gc-ev.past{opacity:.6}.gc-ev.cancelled{background:var(--surface);color:var(--text-soft);border:1.5px dashed var(--ev);text-decoration:line-through}.gc-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface)}.gc-mhead{padding:8px 0;text-align:center;font-size:11px;font-weight:800;color:var(--text-soft);text-transform:uppercase;border-bottom:1px solid var(--border)}.gc-mday{min-height:96px;padding:4px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px;min-width:0}.gc-mday:nth-child(7n){border-right:none}.gc-mday.other{background:var(--surface-2, #F7F9FD)}.gc-mday.other .gc-mnum{color:var(--text-soft)}.gc-mnum{align-self:center;width:26px;height:26px;border:none;background:none;border-radius:50%;font-weight:800;font-size:12.5px;cursor:pointer;color:var(--text)}.gc-mday.is-today .gc-mnum{background:var(--purple);color:#fff}.gc-chip{display:flex;align-items:center;gap:4px;width:100%;border:none;background:none;padding:1px 3px;border-radius:6px;cursor:pointer;font:inherit;font-size:11.5px;color:var(--text);text-align:left}.gc-chip:hover{background:var(--surface-2, #F1F4FB)}.gc-chip i{width:8px;height:8px;border-radius:50%;background:var(--ev);flex:none}.gc-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gc-chip.cancelled span{text-decoration:line-through;color:var(--text-soft)}.gc-more{border:none;background:none;font-size:11px;font-weight:800;color:var(--purple);cursor:pointer;text-align:left;padding:0 3px}.gc-pop-wrap{position:fixed;inset:0;z-index:240;background:#0b1b3f59;display:flex;align-items:center;justify-content:center;padding:16px}.gc-pop{position:relative;width:min(520px,100%);max-height:86dvh;overflow-y:auto;background:var(--bg);border-radius:20px;border-top:6px solid var(--purple);padding:16px;box-shadow:0 20px 50px #0b1b3f4d}.gc-pop-x{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;border-radius:50%;background:var(--surface-2, #F1F4FB);cursor:pointer}.gc-detail h3{margin:0 36px 10px 0;font-family:var(--font-display)}@media(max-width:600px){.gc-month .gc-mday{min-height:64px}.gc-chip span{font-size:10.5px}.gc-title{font-size:16px;order:5;flex-basis:100%}}@media(prefers-reduced-motion:reduce){.streak-pill.blink,.streak-pill.blink .ic,.streak-sheet{animation:none}}.shell-content{position:relative}.tour-help{position:absolute;top:10px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 5px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--text-soft);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s,color .15s,border-color .15s}.tour-help:hover{color:var(--purple);border-color:var(--purple);transform:translateY(-1px)}.tour-help-ic{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--grad);color:#fff;font-weight:900;font-size:13px}@media(max-width:600px){.tour-help{top:8px;right:10px}}.teacher-home.v2,.teacher .teacher-home.v2{display:flex!important;flex-direction:column;gap:14px}.th-cols{display:flex;flex-direction:column;gap:14px}.th-col-main,.th-col-side{display:flex;flex-direction:column;gap:14px;min-width:0}.th-col-side>.section-label,.th-col-side .th-section-head{margin:0}@media(min-width:900px){.th-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start}}.th-task-who.stack{display:flex;align-items:center;position:relative}.th-task-who.stack .avatar,.th-task-who.stack>span:not(.th-dot){margin-left:-10px;border:2px solid var(--surface);border-radius:50%}.th-task-who.stack>:first-child{margin-left:0}.th-more{display:block;margin:6px auto 0}.ann-head,.ann .ann-top{flex-wrap:nowrap}.teacher-home.v2,.teacher .teacher-home.v2{align-items:stretch!important}.teacher-home.v2>*{width:auto;max-width:none;margin-left:0;margin-right:0}.th-task-who.stack{width:auto!important;flex:none;padding-right:4px}.th-task-who.stack>*:not(.th-dot){width:30px!important;height:30px!important;font-size:11px;margin-left:-12px}.th-task-who.stack>*:first-child{margin-left:0}.ann-teacher-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap}.ann-teacher-head .link-btn,.ann-teacher-head .section-label{white-space:nowrap}.cl-tiles{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important}.cl-tiles .cl-tool small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.cl-head{margin-top:18px!important}@media(min-width:900px){.t-phone-only,.shell .dsh-open{display:none!important}}.cg-pick-lead{margin:2px 0 14px;color:var(--text-soft);font-weight:700;font-size:14px}.cg-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}@media(max-width:520px){.cg-pick-grid{grid-template-columns:1fr 1fr;gap:10px}}.cg-pick-card{position:relative;min-height:150px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:3px;padding:14px;border:none;border-radius:22px;color:#fff;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 8px 22px #0b1b3f29;transition:transform .15s,box-shadow .15s;font:inherit}.cg-pick-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0b1b3f38}.cg-pick-card:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:#ffffff24}.cg-pick-emoji{position:absolute;top:12px;right:14px;font-size:40px;z-index:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.cg-pick-tag{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:#ffffff38;border-radius:99px;padding:2px 8px;margin-bottom:auto}.cg-pick-card b{font-family:var(--font-display);font-size:18px;line-height:1.2}.cg-pick-card small{font-size:12.5px;font-weight:600;opacity:.92;line-height:1.3}.cg-game-head{display:flex;align-items:center;gap:12px;margin:0 0 12px;flex-wrap:wrap}.cg-game-head .gm-back{margin:0}.cg-game-head b{font-family:var(--font-display);font-size:18px}.teacher-screen:has(.cg-game-head)>.gm-back,.teacher-screen:has(.cg-game-head)>.page-title{display:none}.cg-game-head+.lq-discover>.lq-hero{display:block;background:none!important;box-shadow:none!important;padding:0!important;margin:0 0 12px;min-height:0;color:var(--text)}.cg-game-head+.lq-discover>.lq-hero:before,.cg-game-head+.lq-discover>.lq-hero:after{display:none}.cg-game-head+.lq-discover>.lq-hero>span,.cg-game-head+.lq-discover>.lq-hero .lq-hero-kicker{display:none}.cg-game-head+.lq-discover>.lq-hero h2{font-family:var(--font);font-size:15px;font-weight:800;margin:0;color:var(--text)}.cg-game-head+.lq-discover>.lq-hero p{font-size:13px;margin:2px 0 0;color:var(--text-soft);opacity:1}.cg-game-head+.lq-discover>.lq-hero>div{margin:0;padding:0 2px;transform:none}.review-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}.review-bar .teacher-switch{margin:0}.review-ages{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.review-ages i{font-style:normal;font-size:12px;font-weight:800;padding:4px 10px;border-radius:99px;background:var(--surface-2, #F1F4FB);color:var(--text-soft)}.review-ages i.ok{background:#e8f8ef;color:#0e7a4f}.review-ages i.mid{background:#fff6db;color:#7a5600}.review-ages i.late{background:#ffe4e4;color:#b42318}[data-theme=dark] .review-ages i.ok{background:#12352a;color:#7be0b0}[data-theme=dark] .review-ages i.mid{background:#3a3010;color:#f5d77a}[data-theme=dark] .review-ages i.late{background:#3d1717;color:#ff9c9c}.review-controls{margin-bottom:6px}.tc-top.compact{display:flex;justify-content:flex-end;margin:-48px 0 10px;min-height:0}.tc-top.compact .tc-add{width:auto;flex:none;padding:10px 18px}@media(max-width:600px){.tc-top.compact{margin:0 0 10px;justify-content:stretch}.tc-top.compact .tc-add{width:100%}}.tc-box .calendar-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.tc-box .calendar-toolbar label{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:800;color:var(--text-soft)}.tc-box .calendar-toolbar select{width:auto;min-width:150px;max-width:220px;margin:0;padding:7px 10px}@media(max-width:899px){.tour-help{position:static;display:flex;width:max-content;margin:0 0 8px auto}}@media(max-width:600px){.cl-tiles{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.cl-tiles .cl-tool{padding:10px 4px 9px;min-height:0}.cl-tiles .cl-tool b{font-size:12.5px;line-height:1.2}.cl-tiles .cl-tool small{font-size:10.5px}.cl-tiles .cl-tool-ic{width:38px;height:38px}}.tdy{padding:16px 14px 12px}.tdy-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.tdy-head strong{font-family:var(--font-display);font-size:21px}.tdy-head small{font-size:12.5px;font-weight:800;color:var(--text-soft)}.tdy-bar{height:7px;border-radius:99px;background:var(--border);margin:8px 0 12px;overflow:hidden}.tdy-bar i{display:block;height:100%;border-radius:inherit;background:var(--grad-warm, #FF7A1A);transition:width .4s}.tdy-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.tdy-list>li.tdy-fam:empty{display:none}.tdy-label{margin:6px 2px -2px;font-size:12px;font-weight:900;color:var(--text-soft);letter-spacing:.02em}.tdy-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;font:inherit}button.tdy-row{cursor:pointer}.tdy-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:none;background:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.tdy-ic{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:13px;font-size:21px;background:var(--surface-2, #F1F4FB)}.tdy-ic.c-coral{background:var(--coral-soft, #FFF1E6)}.tdy-ic.c-purple{background:var(--purple-soft, #E6EDFF)}.tdy-ic.c-amber{background:#fff6db}.tdy-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.tdy-text b{font-size:14.5px;line-height:1.25}.tdy-text small{font-size:12px;color:var(--text-soft);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tdy-btns{display:flex;gap:6px;flex:none}.tdy-go{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;border:none;background:var(--grad-warm, #FF7A1A);color:#fff;font-size:15px;font-weight:900;cursor:pointer}.tdy-go.soft{background:var(--surface);border:2px solid var(--border);color:var(--text)}.tdy-go.ok{background:var(--primary);color:#fff}.tdy-row.done{background:var(--surface-2, #F1F4FB);border-color:transparent}.tdy-row.done .tdy-text b{text-decoration:line-through;color:var(--text-soft)}button.tdy-row.done{cursor:default}.tdy-steps{display:flex;gap:4px;margin:6px 4px 0 56px}.tdy-steps i{flex:1;height:5px;border-radius:99px;background:var(--border)}.tdy-steps i.done{background:var(--primary)}.tdy-steps i.next{background:var(--coral, #FF7A1A)}.tdy-foot{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.tdy .fam-today{border:1px solid var(--border);border-radius:18px;padding:2px 10px 2px 8px;background:var(--surface)}.tdy .fam-today .tp-ic{width:42px;height:42px;border-radius:13px}.tdy .pt-hint,.tdy li>.pt{margin:4px 4px 0 56px;font-size:12px}.np-wrap{position:fixed;inset:0;z-index:260;background:#0b1b3f73;display:flex;align-items:flex-end;justify-content:center}.np-sheet{width:min(460px,100%);background:var(--bg);border-radius:26px 26px 0 0;padding:22px 20px calc(18px + env(safe-area-inset-bottom));text-align:center;animation:sheet-up .28s ease-out}@media(min-width:700px){.np-wrap{align-items:center}.np-sheet{border-radius:26px}}.np-bell{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;font-size:38px;background:var(--grad-warm, #FF7A1A);box-shadow:0 10px 24px #ff7a1a59;animation:np-ring 2.4s ease-in-out infinite}@keyframes np-ring{0%,60%,to{transform:rotate(0)}65%{transform:rotate(-14deg)}72%{transform:rotate(12deg)}79%{transform:rotate(-8deg)}86%{transform:rotate(5deg)}}.np-sheet h2{margin:12px 0 2px;font-family:var(--font-display);font-size:22px}.np-sub{margin:0 0 6px;color:var(--text-soft);font-weight:700}.np-list{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}.np-list li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.np-list span{font-size:22px}.np-list b{font-size:14px}.np-hour-label{margin:6px 0;font-size:12.5px;font-weight:800;color:var(--text-soft)}.np-hours{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:12px}.np-hours button{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:99px;padding:7px 12px;font-weight:800;font-size:13px;cursor:pointer}.np-hours button.on{border-color:var(--coral, #FF7A1A);background:var(--coral-soft, #FFF1E6);color:var(--coral-strong, #C2410C)}.np-go{width:100%}.np-later{display:block;margin:10px auto 0}.np-msg{margin:4px 0 8px;font-size:13px;font-weight:700;color:var(--red, #B42318);white-space:pre-line}.np-ios{margin:8px 0;padding:12px;border-radius:14px;background:var(--surface);border:1px dashed var(--border);font-size:13.5px;text-align:left}@media(prefers-reduced-motion:reduce){.np-bell,.np-sheet{animation:none}}.ic{shape-rendering:geometricPrecision}.tour-symbol{display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);border-radius:24px;width:88px;height:88px}.tour-help>.ic{color:var(--primary)}@media(prefers-reduced-motion:reduce){.ic{animation:none!important;transition:none!important}}h1,h2,h3,.screen-title{font-weight:700}.btn-primary,.btn-secondary,.post-btn,.side-item,.tabbar button{font-weight:600}.bubble p{font-size:16px;font-weight:400;line-height:1.6}.lib-text p,.ps-story p,.ls-text,.circle-story{font-weight:400}.kpi strong,.kpi b,.biz-card strong{font-variant-numeric:tabular-nums}input,textarea,select{font-family:inherit}.expedition-panel{max-width:720px;margin:auto;padding:12px}.expedition-npc{display:flex;gap:12px;align-items:center}.expedition-npc h2,.expedition-npc p{margin:4px 0}.expedition-row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--border)}.expedition-row small{display:block}.expedition-row button,.expedition-panel .rpg-small{min-height:44px}.expedition-journal small{overflow-wrap:anywhere}.ow-npc-label{pointer-events:none}.quest-dialog{max-height:90dvh;overflow:auto}.sth-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sth-tile{--tile:var(--c, var(--purple));display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;min-height:124px;padding:14px;border-radius:20px;border:1px solid color-mix(in srgb,var(--tile) 30%,var(--border));background:linear-gradient(160deg,color-mix(in srgb,var(--tile) 13%,var(--surface)),var(--surface) 70%);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}.sth-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.sth-ic{font-size:30px;line-height:1.1;margin-bottom:4px}.sth-tile b{font-family:var(--font-display);font-size:16px;line-height:1.2}.sth-tile small{font-size:12.5px;line-height:1.3;color:var(--text-soft)}.sth-tile small.alert{color:var(--coral-strong, var(--coral));font-weight:700}@media(min-width:700px){.sth-tiles{grid-template-columns:repeat(3,1fr)}}.lessons-home>.gm-back{align-self:flex-start}.vcb-mine{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow-sm)}.vcb-mine>span:first-child{font-size:30px}.vcb-mine>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.vcb-mine b{font-family:var(--font-display);font-size:16px}.vcb-mine small{color:var(--text-soft);font-size:13px;line-height:1.3}.vcb-mine i{font-style:normal;font-size:22px;color:var(--text-soft)}.vcb-mine.due{border-color:var(--coral);background:color-mix(in srgb,var(--coral) 9%,var(--surface))}.vcb-mine.due small{color:var(--text);font-weight:700}.vcb-search{width:100%;box-sizing:border-box;margin:0;padding:11px 16px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14.5px}.vcb .section-label{margin:4px 0 8px}.vcb-decks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vcb-decks.wide{grid-template-columns:1fr}.vcb-deck{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:12px 6px;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:center;cursor:pointer}.vcb-deck:hover{border-color:var(--purple)}.vcb-deck>span{font-size:26px;line-height:1.2}.vcb-deck b{font-size:13.5px;line-height:1.2;overflow-wrap:anywhere}.vcb-deck small{font-size:11.5px;color:var(--text-soft)}.vcb-decks.wide .vcb-deck{display:grid;grid-template-columns:34px 1fr;column-gap:10px;justify-items:start;align-items:center;padding:11px 14px;text-align:left}.vcb-decks.wide .vcb-deck>span{grid-row:1 / span 2}.vcb-decks.wide .vcb-deck b{font-size:14.5px}@media(min-width:700px){.vcb-decks{grid-template-columns:repeat(6,minmax(0,1fr))}.vcb-decks.wide{grid-template-columns:repeat(2,minmax(0,1fr))}}.vcb-play{align-self:stretch}.vcb-list{display:flex;flex-direction:column;gap:8px}.vcb-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:var(--surface)}.vcb-word{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.vcb-word b{font-family:var(--font-display);font-size:17px}.vcb-meaning{margin:0;font-weight:600;color:var(--text-soft);font-size:14px}.vcb-example{margin:0;font-size:14px;line-height:1.4}.shf{display:flex;flex-direction:column;gap:10px;margin:0 0 10px}.shf-add{align-self:flex-start;width:auto}.shf>:not(.shf-list):not(.ky-msg):not(.card):not(.empty){align-self:flex-start}.shf-list{display:grid;gap:10px}@media(min-width:800px){.shf-list{grid-template-columns:1fr 1fr}}.shf-book{display:flex;gap:12px;min-width:0;padding:12px;border-radius:18px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.shf-cover{position:relative;flex:0 0 84px;height:118px;overflow:hidden;padding:10px 7px 8px 13px;border:none;border-radius:4px 9px 9px 4px;color:#fff;text-align:left;font:inherit;cursor:pointer;background:linear-gradient(160deg,var(--purple),color-mix(in srgb,var(--purple) 55%,#0B1B3F));box-shadow:2px 4px 10px #0b1b3f4d}.shf-cover:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#0003}.shf-book:nth-child(3n+2) .shf-cover{background:linear-gradient(160deg,var(--coral),color-mix(in srgb,var(--coral) 60%,#0B1B3F))}.shf-book:nth-child(3n+3) .shf-cover{background:linear-gradient(160deg,#12b76a,color-mix(in srgb,#12B76A 55%,#0B1B3F))}.shf-cover b{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;font-size:11.5px;line-height:1.25}.shf-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.shf-text strong{font-family:var(--font-display);font-size:15.5px;line-height:1.25}.shf-text>small{color:var(--text-soft);font-size:12.5px}.shf-chips{display:flex;flex-wrap:wrap;gap:4px}.shf-chips i{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--surface-2);color:var(--text-soft)}.shf-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:6px}.shf-actions .btn-primary{width:auto;margin:0}.shf-form{margin-bottom:4px}.fb-reader{background:#141417}.fb-reader .br-loading{color:#ddd}.fb-reader .br-bar,.fb-reader .br-foot{background:#1f1f24;color:#f2f2f4;box-shadow:none}.fb-reader .br-title small{color:#a9a9b2}.fb-reader .br-btn,.fb-reader .br-open{background:#2c2c33;border-color:#3a3a43;color:#f2f2f4}.fb-stage{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom;cursor:pointer;-webkit-user-select:none;user-select:none}.fb-stage.zoomed{overflow:auto;align-items:flex-start;justify-content:flex-start;touch-action:auto;cursor:auto}.fb-stage.zoomed .fb-book{margin:10px auto}.fb-book{position:relative;flex-shrink:0;perspective:2400px}.fb-page{position:absolute;top:0;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center}.fb-page canvas{position:absolute;inset:0;display:block}.fb-page .br-num{position:relative;color:#9aa3b5;font-weight:800}.fb-page:after{content:"";position:absolute;inset:0;pointer-events:none}.fb-page.left:after{background:linear-gradient(to left,rgba(0,0,0,.22),rgba(0,0,0,.05) 4%,transparent 11%)}.fb-page.right:after{background:linear-gradient(to right,rgba(0,0,0,.22),rgba(0,0,0,.05) 4%,transparent 11%)}.fb-leaf{position:absolute;top:0;z-index:3;transform-style:preserve-3d;animation-timing-function:cubic-bezier(.45,.05,.3,1);animation-fill-mode:both;will-change:transform}.fb-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 0 28px #00000059}.fb-face .fb-page{left:0!important}.fb-back{transform:rotateY(180deg)}.fb-leaf.two.fwd{transform-origin:left center;animation-name:fb-turn-fwd}.fb-leaf.two.bwd{transform-origin:right center;animation-name:fb-turn-bwd}.fb-leaf.one.fwd{transform-origin:left center;animation-name:fb-one-fwd}.fb-leaf.one.bwd{transform-origin:left center;animation-name:fb-one-bwd}@keyframes fb-turn-fwd{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes fb-turn-bwd{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes fb-one-fwd{0%{transform:rotateY(0);opacity:1}85%{opacity:1}to{transform:rotateY(-95deg);opacity:0}}@keyframes fb-one-bwd{0%{transform:rotateY(-95deg);opacity:0}15%{opacity:1}to{transform:rotateY(0);opacity:1}}.cm-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.feed.community .cm-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.cm-topic{position:relative;flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:99px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:800;font-size:15px;cursor:pointer;box-shadow:var(--shadow-sm)}.cm-topic:hover{border-color:var(--purple)}.cm-topic-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-find{flex:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:16px;cursor:pointer;box-shadow:var(--shadow-sm)}.cm-find.on{border-color:var(--purple);background:var(--purple-soft)}.cm-search{margin:0 0 10px}.cm-compose{padding:8px 8px 8px 10px;gap:10px;margin:0 0 12px;border-radius:99px}.cm-compose:after{display:none}.cm-compose-text b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-compose-go{padding:8px 14px;font-size:13px}.cm-extras{margin:0 0 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface)}.cm-extras-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 14px;border:none;background:none;color:var(--text-soft);font:inherit;font-size:13px;font-weight:700;text-align:left;cursor:pointer}.cm-extras-head i{font-style:normal;flex:none}.cm-extras-body{padding:0 10px 10px}.post-more{margin-left:auto;min-width:40px;letter-spacing:1px}.post-more-row{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.post-more-row .post-btn.danger{margin-left:0}@media(prefers-reduced-motion:reduce){.sth-tile{transition:none}}
