@import"https://fonts.googleapis.com/css2?family=Baloo+2:wght@400;600;700&family=Covered+By+Your+Grace&display=swap";.overlay[data-v-54054880]{position:fixed;inset:0;display:grid;place-items:center;background:#0a141059;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:9999}.spinner[data-v-54054880]{width:56px;height:56px;border-radius:50%;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;animation:spin-54054880 .8s linear infinite;filter:drop-shadow(0 0 8px rgba(255,255,255,.25))}.label[data-v-54054880]{margin-top:14px;color:#f7f7f2;font-weight:800;letter-spacing:.5px;text-shadow:0 1px 0 rgba(255,255,255,.3),0 0 6px rgba(255,255,255,.16);font-family:"Baloo 2",Fredoka,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.fade-enter-active[data-v-54054880],.fade-leave-active[data-v-54054880]{transition:opacity .12s ease}.fade-enter-from[data-v-54054880],.fade-leave-to[data-v-54054880]{opacity:0}@keyframes spin-54054880{to{transform:rotate(360deg)}}.av-modal-overlay[data-v-a9b76350]{position:fixed;inset:0;background:#111827a6;display:grid;place-items:center;z-index:2000}.av-modal[data-v-a9b76350]{background:#fff;color:#111827;width:min(960px,92vw);max-height:82vh;border-radius:16px;box-shadow:0 20px 40px #00000040;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}.av-modal-head[data-v-a9b76350]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e5e7eb}.av-modal-head h2[data-v-a9b76350]{font-size:1.1rem;font-weight:700;margin:0}.av-close[data-v-a9b76350]{width:36px;height:36px;display:grid;place-items:center;padding:0;border:2px solid #991b1b;border-radius:50%;background:#ef4444;color:#fff;font-size:18px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 2px #00000026;transition:transform .12s ease,filter .12s ease}.av-close[data-v-a9b76350]:hover{filter:brightness(1.05);transform:scale(1.06)}.av-close[data-v-a9b76350]:active{transform:scale(.95)}.av-close[data-v-a9b76350]:focus-visible{outline:3px dashed #991b1b;outline-offset:2px}.av-body[data-v-a9b76350]{padding:14px;overflow:auto}.av-status[data-v-a9b76350]{color:#4b5563;text-align:center;padding:20px 0}.av-status.av-error[data-v-a9b76350]{color:#b91c1c}.av-grid[data-v-a9b76350]{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:14px}.av-item[data-v-a9b76350]{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1 / 1;border-radius:9999px;border:2px solid transparent;background:#f9fafb;cursor:pointer;padding:0;overflow:hidden}.av-item[disabled][data-v-a9b76350]{opacity:.6;cursor:default}.av-item img[data-v-a9b76350]{width:100%;height:100%;object-fit:cover;display:block}.av-item[data-v-a9b76350]:hover{border-color:#c7d2fe;box-shadow:0 0 0 4px #6366f126}.av-item.selected[data-v-a9b76350]{border-color:#6366f1;box-shadow:0 0 0 4px #6366f140}.av-foot[data-v-a9b76350]{padding:12px 14px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;gap:8px}.left[data-v-a9b76350]{min-height:1.5rem;display:flex;align-items:center;gap:10px}.saving[data-v-a9b76350]{color:#374151}.save-ok[data-v-a9b76350]{color:#059669;font-weight:700}.save-error[data-v-a9b76350]{color:#b91c1c}.av-cancel[data-v-a9b76350]{background:transparent;border:1px solid #d1d5db;padding:8px 12px;border-radius:10px;cursor:pointer}.av-cancel[data-v-a9b76350]:hover{background:#f3f4f6}.ul-root.is-overlay[data-v-9ce72d63]{position:fixed;inset:0;z-index:9001;display:grid;place-items:center}.ul-root.is-embedded[data-v-9ce72d63]{position:relative;z-index:1;display:block;width:100%;max-width:100%}.ul-backdrop[data-v-9ce72d63]{position:absolute;inset:0;background:var(--modal-overlay-bg);-webkit-backdrop-filter:var(--modal-overlay-filter);backdrop-filter:var(--modal-overlay-filter)}.ul-panel[data-v-9ce72d63]{position:relative;border-radius:var(--modal-radius);border:3px solid var(--header-border-color);background:linear-gradient(180deg,var(--modal-surface) 0%,color-mix(in srgb,var(--accent-primary) 30%,var(--modal-surface)) 60%,color-mix(in srgb,var(--accent-primary) 60%,var(--modal-surface)) 100%);box-shadow:var(--modal-shadow);padding:18px;color:var(--modal-on-surface);box-sizing:border-box;max-height:90vh;overflow:visible;container-type:inline-size;container-name:userlevels}.ul-root.is-overlay .ul-panel[data-v-9ce72d63]{width:min(760px,94vw);max-width:94vw;margin-inline:auto}.ul-root.is-embedded .ul-panel[data-v-9ce72d63]{width:100%;max-width:600px;margin-inline:auto}.close-x[data-v-9ce72d63]{position:absolute;top:-16px;right:-16px;z-index:2;width:48px;height:48px;display:grid;place-items:center;border-radius:9999px;border:3px solid var(--modal-close-border);background:var(--modal-close-bg);color:var(--modal-close-on);font-size:24px;font-weight:900;line-height:1;cursor:pointer;transition:transform .12s ease,filter .12s ease,opacity .12s ease}.close-x[data-v-9ce72d63]:hover{filter:brightness(1.05);transform:scale(1.04)}.close-x[data-v-9ce72d63]:active{transform:scale(.98)}.close-x[data-v-9ce72d63]:focus-visible{outline:3px dashed var(--modal-border);outline-offset:3px}.ul-fade-zoom-enter-from[data-v-9ce72d63],.ul-fade-zoom-leave-to[data-v-9ce72d63]{opacity:0}.ul-fade-zoom-enter-active[data-v-9ce72d63],.ul-fade-zoom-leave-active[data-v-9ce72d63]{transition:opacity .18s ease}.ul-root.is-overlay .ul-panel[data-v-9ce72d63]{transform:scale(.98) translateY(8px);animation:ul-pop-9ce72d63 .24s cubic-bezier(.2,.9,.2,1) forwards}@keyframes ul-pop-9ce72d63{to{transform:scale(1) translateY(0)}}.xp-holder[data-v-9ce72d63]{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:3}.xp-big[data-v-9ce72d63]{pointer-events:none;font-weight:900;font-size:38px;letter-spacing:.3px;text-shadow:0 1px 0 var(--neutral-0);background:var(--modal-surface);color:var(--modal-on-surface);border:3px solid var(--modal-border);border-radius:var(--radius-md);padding:10px 16px;box-shadow:var(--elevation-2)}.xp-big.bounce[data-v-9ce72d63]{animation:xp-bounce-9ce72d63 .7s ease-out both}@keyframes xp-bounce-9ce72d63{0%{transform:scale(1)}35%{transform:scale(1.14)}to{transform:scale(1)}}.xpnum-enter-from[data-v-9ce72d63]{opacity:0;transform:translateY(-6px) scale(.96)}.xpnum-enter-active[data-v-9ce72d63]{transition:all .16s ease-out}.xpnum-leave-to[data-v-9ce72d63]{opacity:0;transform:translateY(-8px) scale(.94)}.xpnum-leave-active[data-v-9ce72d63]{transition:all .2s ease-in}.body[data-v-9ce72d63]{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(12px,2vw,20px);align-items:center;min-width:0}.guest-msg[data-v-9ce72d63]{grid-column:1 / -1;width:100%;text-align:center;padding:.85rem 1rem;font-size:.9rem;font-weight:600;color:var(--header-on-surface);background:color-mix(in srgb,var(--header-surface) 75%,var(--neutral-0) 25%);border:2px solid var(--header-border-color);border-radius:var(--radius-lg);box-shadow:var(--header-shadow);line-height:1.35}.level-wrap[data-v-9ce72d63]{display:flex;justify-content:center;align-items:center;min-width:0}.level-circle[data-v-9ce72d63]{width:clamp(100px,20vw,220px);max-width:100%;aspect-ratio:1 / 1}svg[data-v-9ce72d63]{width:100%;height:100%}.trk[data-v-9ce72d63]{fill:none;stroke:var(--level-ring-track);stroke-width:14}.prg[data-v-9ce72d63]{fill:none;stroke-linecap:round;stroke-width:14;transform-origin:60px 60px;transform:rotate(-90deg);transition:stroke-dashoffset .2s ease}.lvl[data-v-9ce72d63]{font-size:26px;font-weight:900;fill:var(--modal-on-surface);paint-order:normal;stroke:none;transform-box:fill-box;transform-origin:center}.lvl-pulse[data-v-9ce72d63]{animation:lvl-pulse-colors-9ce72d63 .8s ease,lvl-grow-9ce72d63 .8s ease}@keyframes lvl-grow-9ce72d63{0%{transform:scale(1)}35%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes lvl-pulse-colors-9ce72d63{0%{fill:var(--modal-on-surface)}25%{fill:var(--level-reading)}50%{fill:var(--accent-warning)}75%{fill:var(--accent-success)}to{fill:var(--modal-on-surface)}}.bars[data-v-9ce72d63]{display:grid;gap:12px;min-width:0}.bar[data-v-9ce72d63]{display:grid;gap:6px}.label[data-v-9ce72d63]{font-weight:900;color:var(--modal-on-surface);display:flex;align-items:center;gap:8px}.lvlchip[data-v-9ce72d63]{position:relative;overflow:hidden;min-width:64px;display:inline-block;text-align:center;font-size:12px;font-weight:900;color:var(--modal-on-surface);background:var(--modal-surface);border:2px solid var(--modal-border);border-radius:999px;padding:2px 8px}.chip-red[data-v-9ce72d63]{background:color-mix(in srgb,var(--level-reading) 18%,var(--neutral-0) 82%);border-color:var(--level-reading);color:color-mix(in srgb,var(--level-reading) 60%,#000 40%)}.chip-green[data-v-9ce72d63]{background:color-mix(in srgb,var(--accent-success) 18%,var(--neutral-0) 82%);border-color:var(--accent-success);color:color-mix(in srgb,var(--accent-success) 55%,#000 45%)}.chip-blue[data-v-9ce72d63]{background:color-mix(in srgb,var(--level-listening) 18%,var(--neutral-0) 82%);border-color:var(--level-listening);color:color-mix(in srgb,var(--level-listening) 55%,#000 45%)}.chip-slide-enter-from[data-v-9ce72d63]{transform:translate(100%);opacity:0}.chip-slide-enter-active[data-v-9ce72d63],.chip-slide-leave-active[data-v-9ce72d63]{transition:transform .22s ease,opacity .22s ease}.chip-slide-enter-to[data-v-9ce72d63]{transform:translate(0);opacity:1}.chip-slide-leave-from[data-v-9ce72d63]{transform:translate(0);opacity:1;position:absolute;left:8px;right:8px}.chip-slide-leave-to[data-v-9ce72d63]{transform:translate(-100%);opacity:0}.track[data-v-9ce72d63]{position:relative;height:16px;border:2px solid var(--modal-border);border-radius:999px;background:color-mix(in srgb,var(--neutral-100) 70%,var(--modal-surface) 30%);overflow:hidden}.fill[data-v-9ce72d63]{position:absolute;inset:0 auto 0 0;width:0%;transition:width .22s ease;border-right:2px solid color-mix(in srgb,var(--modal-on-surface) 46%,transparent)}.fill.reading[data-v-9ce72d63]{background:var(--level-reading)}.fill.writing[data-v-9ce72d63]{background:var(--accent-success)}.fill.listening[data-v-9ce72d63]{background:var(--level-listening)}.loading[data-v-9ce72d63]{text-align:center;padding:20px 0;font-weight:700;color:var(--modal-on-surface-muted)}.dev-toolbar[data-v-9ce72d63]{position:sticky;bottom:0;display:grid;gap:10px;padding-top:12px;margin-top:16px;border-top:2px dashed var(--modal-border);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--neutral-100) 70%,var(--modal-surface) 30%))}.dev-row[data-v-9ce72d63]{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.nb[data-v-9ce72d63]{width:90px;border:2px solid var(--modal-border);border-radius:var(--radius-sm);padding:6px 8px;font-weight:800;color:var(--modal-on-surface);background:var(--modal-surface)}.btn[data-v-9ce72d63]{appearance:none;cursor:pointer;font-weight:900;border:3px solid var(--btn-primary-border);border-radius:999px;padding:8px 14px;background:var(--btn-success-bg);color:var(--btn-success-on);box-shadow:var(--elevation-1);transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.btn[data-v-9ce72d63]:hover{transform:translateY(-1px);box-shadow:var(--elevation-2)}.btn.danger[data-v-9ce72d63]{background:color-mix(in srgb,var(--accent-danger) 28%,var(--neutral-0) 72%);color:var(--btn-danger-on);border-color:var(--btn-danger-border)}.btn.gray[data-v-9ce72d63]{background:color-mix(in srgb,var(--accent-primary) 24%,var(--neutral-0) 76%);color:var(--btn-primary-on);border-color:var(--btn-primary-border)}.hint[data-v-9ce72d63]{font-size:12px;color:var(--modal-on-surface-soft);min-width:70px}.spinner[data-v-9ce72d63]{width:22px;height:22px;border-radius:50%;border:3px solid var(--modal-border);border-top-color:var(--accent-primary);animation:spin-9ce72d63 .8s linear infinite}@keyframes spin-9ce72d63{to{transform:rotate(360deg)}}@container userlevels (max-width: 480px){.body[data-v-9ce72d63]{grid-template-columns:1fr}.level-wrap[data-v-9ce72d63]{justify-content:center}.level-circle[data-v-9ce72d63]{width:clamp(120px,70cqw,180px)}.track[data-v-9ce72d63]{height:14px}.ul-panel[data-v-9ce72d63]{padding:14px}}.theme-modal__backdrop[data-v-eade36c6]{position:fixed;inset:0;background:var(--modal-overlay-bg);-webkit-backdrop-filter:var(--modal-overlay-filter);backdrop-filter:var(--modal-overlay-filter);display:grid;place-items:center;z-index:1000}.theme-modal[data-v-eade36c6]{width:min(560px,92vw);background:var(--modal-surface);color:var(--modal-on-surface);border:1px solid var(--modal-border);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);padding:1rem 1rem .75rem}.theme-modal__head[data-v-eade36c6]{display:grid;grid-template-columns:1fr auto;align-items:start;gap:.5rem;padding:.25rem .25rem .5rem;border-bottom:1px dashed var(--modal-border)}.theme-modal__head h2[data-v-eade36c6]{margin:0;font-size:clamp(1.1rem,1.2vw + .8rem,1.5rem);font-weight:800;color:var(--modal-on-surface);letter-spacing:.2px}.icon-btn.close[data-v-eade36c6]{inline-size:40px;block-size:40px;border-radius:50%;border:2px solid var(--modal-close-border);background:var(--modal-close-bg);color:var(--modal-close-on);display:grid;place-items:center;font-size:1.25rem;cursor:pointer;transition:transform .12s ease,filter .12s ease;box-shadow:var(--elevation-1)}.icon-btn.close[data-v-eade36c6]:hover{transform:scale(1.05);filter:brightness(1.05)}.icon-btn.close[data-v-eade36c6]:active{transform:scale(.98)}.icon-btn.close[data-v-eade36c6]:focus-visible{box-shadow:var(--focus-ring)}.theme-modal__body[data-v-eade36c6]{display:grid;gap:.75rem;padding:.9rem .25rem 1rem}.theme-label[data-v-eade36c6]{font-weight:700;color:var(--modal-on-surface)}.select-wrap[data-v-eade36c6]{position:relative}.theme-select[data-v-eade36c6]{appearance:none;-webkit-appearance:none;width:100%;padding:.75rem 2.75rem .75rem .9rem;border-radius:var(--radius-lg);border:2px solid var(--select-menu-border);background:var(--select-menu-surface);color:var(--select-menu-on);box-shadow:var(--elevation-1);outline:none;font-weight:700;text-shadow:none}.theme-select[data-v-eade36c6]:focus{box-shadow:var(--focus-ring)}.theme-select option[data-v-eade36c6]{background:var(--select-menu-surface);color:var(--select-menu-on)}.theme-select[data-v-eade36c6]:disabled{opacity:.7;cursor:not-allowed}.select-wrap .chevron[data-v-eade36c6]{position:absolute;right:12px;top:50%;transform:translateY(-50%) rotate(45deg);width:10px;height:10px;pointer-events:none;color:var(--modal-on-surface-muted);border-right:3px solid currentColor;border-bottom:3px solid currentColor;opacity:.85}.hint[data-v-eade36c6]{margin:.25rem 0 0;font-size:.9rem;color:var(--modal-on-surface-muted)}.theme-modal__foot[data-v-eade36c6]{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem .25rem 1rem;border-top:1px dashed var(--modal-border)}.btn[data-v-eade36c6]{background:var(--btn-primary-bg);color:var(--btn-primary-on);border:2px solid var(--btn-primary-border);border-radius:var(--radius-md);padding:.65rem 1rem;box-shadow:var(--elevation-1);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn[data-v-eade36c6]:hover{transform:translateY(-1px) scale(1.02);filter:saturate(1.02)}.btn[data-v-eade36c6]:active{transform:translateY(0) scale(.99)}.btn[data-v-eade36c6]:focus-visible{box-shadow:var(--focus-ring)}@media (prefers-reduced-motion: reduce){.icon-btn.close[data-v-eade36c6],.btn[data-v-eade36c6]{transition:none}}.overlay[data-v-7ae16680]{position:fixed;inset:0;display:grid;place-items:center;background:#0a0c1485;z-index:90}.panel[data-v-7ae16680]{position:relative;width:min(520px,94vw);background:var(--profile-surface, #fff);color:var(--profile-text, #111);border:2px solid var(--profile-border-strong, #1f2937);border-radius:16px;box-shadow:var(--profile-shadow, 0 12px 50px rgba(0, 0, 0, .2));padding:18px 16px 16px}.head[data-v-7ae16680]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.title[data-v-7ae16680]{margin:0;font-weight:1000;font-size:22px;color:var(--profile-text, #111)}.close-btn[data-v-7ae16680]{margin-left:auto;width:34px;height:34px;padding:0;border-radius:50%;border:2px solid #b80f38;background:linear-gradient(#ff3f66,#ff0f43);color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:transform .12s ease,filter .12s ease;box-shadow:0 2px #00000026}.close-btn[data-v-7ae16680]:hover{transform:scale(1.08)}.hint[data-v-7ae16680]{margin:0 2px 12px;color:var(--profile-text-muted, #4b5563);font-weight:800;font-size:13px}.form[data-v-7ae16680]{display:grid;gap:12px}.label[data-v-7ae16680]{font-weight:900;font-size:13px;color:var(--profile-text, #111)}.code-boxes[data-v-7ae16680]{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:8px;border:2px dashed var(--profile-border, #cbd5e1);border-radius:14px;background:#fff;cursor:text}.box[data-v-7ae16680]{height:56px;display:grid;place-items:center;border-radius:12px;border:2px solid var(--profile-border-strong, #1f2937);font-weight:1000;font-size:22px;background:#fff;box-shadow:0 2px #0000000f}.box[data-filled=n][data-v-7ae16680]{color:#9ca3af}.real-input[data-v-7ae16680]{position:absolute;inset:0;opacity:.0001;width:100%;height:100%;border:0;background:transparent;caret-color:transparent}.btn[data-v-7ae16680]{height:38px;padding:0 16px;border-radius:999px;border:2px solid var(--profile-border-strong, #1f2937);background:#fff;color:var(--profile-text, #111);font-size:14px;font-weight:900;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 2px #00000014}.btn[data-v-7ae16680]:hover{transform:scale(1.05)}.btn[data-v-7ae16680]:active{transform:scale(.97)}.join-btn[data-v-7ae16680]{background:#f0fff7;border-color:var(--accent-green, #10b981);color:#0f6a3a;margin:auto}.cancel-btn[data-v-7ae16680]{background:#fff;border-color:var(--profile-border-strong, #1f2937)}.actions[data-v-7ae16680]{display:flex;gap:10px;justify-content:flex-end}.error[data-v-7ae16680]{color:#b91c1c;font-weight:900;font-size:13px}.ok[data-v-7ae16680]{color:#0f7b4e;font-weight:900;font-size:13px}@media (max-width: 480px){.box[data-v-7ae16680]{height:50px;font-size:20px}}.overlay[data-v-783ac54d]{position:fixed;inset:0;display:grid;place-items:center;z-index:100;background:var(--modal-overlay-bg);-webkit-backdrop-filter:var(--modal-overlay-filter);backdrop-filter:var(--modal-overlay-filter)}.panel[data-v-783ac54d]{position:relative;width:min(860px,96vw);max-height:90vh;overflow:auto;background:var(--modal-surface);color:var(--modal-on-surface);border:2px solid var(--modal-border);border-radius:var(--modal-radius);box-shadow:var(--modal-shadow);padding:18px 20px 22px;z-index:101}.header[data-v-783ac54d]{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:14px;margin-bottom:12px;border-bottom:2px dashed var(--modal-border);flex-wrap:nowrap}.header .left[data-v-783ac54d]{display:flex;align-items:center;gap:18px;min-width:0}.header .right[data-v-783ac54d]{display:flex;align-items:flex-start;margin-left:auto}.actions-bar[data-v-783ac54d]{display:flex;align-items:center;gap:10px}.menu-wrapper[data-v-783ac54d]{position:absolute;top:14px;right:10px;z-index:40}.menu-toggle[data-v-783ac54d]{background:transparent;border:none;padding:6px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;transition:transform .14s ease,filter .14s ease}.menu-toggle[data-v-783ac54d]:hover{transform:scale(1.2);filter:brightness(1.06)}.menu-toggle[data-v-783ac54d]:active{transform:scale(.95)}.menu-line[data-v-783ac54d]{width:22px;height:3px;border-radius:999px;background:var(--modal-on-surface);transition:transform .18s ease,opacity .18s ease;transform-origin:center}.menu-toggle.open .menu-line[data-v-783ac54d]:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.open .menu-line[data-v-783ac54d]:nth-child(2){opacity:0}.menu-toggle.open .menu-line[data-v-783ac54d]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-dropdown[data-v-783ac54d]{position:absolute;top:46px;right:0;min-width:190px;padding:8px;border-radius:12px;border:2px solid var(--modal-border);background:var(--modal-surface);box-shadow:var(--modal-shadow);display:grid;gap:6px;z-index:50}.menu-pop-enter-from[data-v-783ac54d],.menu-pop-leave-to[data-v-783ac54d]{opacity:0;transform:scaleY(.8)}.menu-pop-enter-to[data-v-783ac54d],.menu-pop-leave-from[data-v-783ac54d]{opacity:1;transform:scaleY(1)}.menu-pop-enter-active[data-v-783ac54d],.menu-pop-leave-active[data-v-783ac54d]{transform-origin:top right;transition:opacity .15s ease-out,transform .15s ease-out}.menu-item[data-v-783ac54d]{width:100%;text-align:left;border-radius:999px;border:2px solid var(--btn-ghost-border);background:var(--btn-ghost-bg);color:var(--btn-ghost-on);font-size:13px;font-weight:900;padding:6px 12px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.menu-item[data-v-783ac54d]:hover{transform:translateY(-1px);box-shadow:0 2px #0000001f}.menu-item.on[data-v-783ac54d]{border-color:var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-on)}.menu-item[data-v-783ac54d]:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 40%,transparent)}.logout-item[data-v-783ac54d]{border-color:var(--btn-danger-border, color-mix(in srgb, var(--accent-danger) 55%, #000 45%));background:color-mix(in srgb,var(--accent-danger) 14%,var(--btn-ghost-bg) 86%);color:color-mix(in srgb,var(--accent-danger) 70%,var(--btn-ghost-on) 30%)}.btn[data-v-783ac54d]{height:36px;padding:0 14px;border-radius:999px;border:2px solid var(--btn-ghost-border);background:var(--btn-ghost-bg);color:var(--btn-ghost-on);font-size:13px;font-weight:900;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 2px #00000014}.btn[data-v-783ac54d]:hover{transform:scale(1.07);box-shadow:0 3px #0000001f}.btn[data-v-783ac54d]:active{transform:scale(.97)}.btn.theme[data-v-783ac54d]{background:var(--btn-secondary-bg);color:var(--btn-secondary-on);border-color:var(--btn-secondary-border)}.devtools-btn[data-v-783ac54d]{border-color:var(--btn-secondary-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-on)}.devtools-btn.on[data-v-783ac54d]{box-shadow:0 0 0 3px color-mix(in srgb,var(--btn-secondary-bg) 22%,transparent)}.edit-btn[data-v-783ac54d]{border-color:var(--btn-success-border);background:var(--btn-success-bg);color:var(--btn-success-on)}.edit-btn[aria-pressed=true][data-v-783ac54d]{border-color:var(--warning-border, var(--accent-danger));background:var(--warning-bg, color-mix(in srgb, var(--accent-danger) 10%, #fff 90%));color:var(--warning-on, color-mix(in srgb, var(--accent-danger) 65%, #000 35%))}.edit-btn[aria-pressed=true][data-v-783ac54d]:hover{filter:brightness(1.03);transform:scale(1.03)}.enter-org-btn[data-v-783ac54d]{border-color:color-mix(in srgb,var(--accent-warning) 40%,#000 60%);background:color-mix(in srgb,var(--accent-warning) 18%,#fff 82%);color:#3a2a00}.avatar-button[data-v-783ac54d]{background:transparent;border:0;padding:0;cursor:pointer;border-radius:9999px}.avatar[data-v-783ac54d]{width:92px;height:92px;border-radius:999px;overflow:hidden;position:relative;background:var(--neutral-0);display:grid;place-items:center;border:2px solid var(--modal-border)}.avatar img[data-v-783ac54d]{width:100%;height:100%;object-fit:cover;display:block}.avatar-fallback[data-v-783ac54d]{display:grid;place-items:center;width:100%;height:100%;font-weight:900;font-size:28px;color:var(--modal-on-surface-muted)}.avatar-button:hover .avatar[data-v-783ac54d]{outline:2px dotted var(--accent-primary);outline-offset:2px}.id-block[data-v-783ac54d]{min-width:0}.id-block .name[data-v-783ac54d]{margin:0;font-size:22px;line-height:1.2;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.name-input[data-v-783ac54d]{font-size:20px;padding:8px 10px;border-radius:12px;border:2px solid var(--modal-border);min-width:240px;background:var(--neutral-0);color:var(--modal-on-surface);box-shadow:inset 0 -2px #0000000a}.save-inline[data-v-783ac54d]{height:36px;border-radius:999px;border:2px solid var(--btn-success-border);background:var(--btn-success-bg);color:var(--btn-success-on)}.id-block .email[data-v-783ac54d]{margin:2px 0 0;color:var(--modal-on-surface-muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-title[data-v-783ac54d]{margin:2px 0 0;color:var(--modal-on-surface);font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-messages[data-v-783ac54d]{display:flex;align-items:center;gap:10px;padding:6px 2px 0;margin-bottom:6px}.save-error[data-v-783ac54d]{color:var(--accent-danger);font-size:13px;font-weight:800}.save-ok[data-v-783ac54d]{color:var(--accent-success);font-size:13px;font-weight:800}.body[data-v-783ac54d]{padding-top:6px}.center-flex[data-v-783ac54d]{display:flex;justify-content:center;align-items:center}.quick-actions[data-v-783ac54d]{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;align-items:flex-start;align-content:flex-start;margin:0 auto;padding:12px 8px;max-width:820px;box-sizing:border-box}.action-chip[data-v-783ac54d]{display:flex;align-items:center;justify-content:center;text-align:center;flex:1 1 clamp(180px,30%,320px);min-height:clamp(56px,8vh,88px);padding:clamp(10px,1.4vh,14px) clamp(14px,2vw,22px);border-radius:16px;border:2px solid var(--btn-ghost-border);background:var(--btn-ghost-bg);color:var(--btn-ghost-on);font-weight:1000;font-size:clamp(14px,2.2vw,20px);line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word;box-sizing:border-box;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;box-shadow:0 2px #00000014}.action-chip[data-v-783ac54d]:hover{transform:scale(1.04);box-shadow:0 3px #0000001f}.action-chip[data-v-783ac54d]:active{transform:scale(.98)}@media (max-width: 520px){.action-chip[data-v-783ac54d]{flex:1 1 100%}}.quick-actions .action-chip[data-v-783ac54d]:nth-child(1){border-color:var(--btn-success-border);background:color-mix(in srgb,var(--btn-success-bg) 25%,#fff 75%);color:var(--btn-success-on)}.quick-actions .action-chip[data-v-783ac54d]:nth-child(2){border-color:color-mix(in srgb,var(--accent-warning) 40%,#000 60%);background:color-mix(in srgb,var(--accent-warning) 22%,#fff 78%);color:#3a2a00}.quick-actions .action-chip[data-v-783ac54d]:nth-child(3){border-color:var(--btn-primary-border);background:color-mix(in srgb,var(--btn-primary-bg) 18%,#fff 82%);color:var(--btn-primary-on)}.quick-actions .action-chip[data-v-783ac54d]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.soon-pop[data-v-783ac54d]{position:relative;margin-top:12px;border:2px solid var(--modal-border);border-radius:14px;padding:12px;background:var(--modal-surface);box-shadow:var(--modal-shadow)}.soon-pop-head[data-v-783ac54d]{display:flex;align-items:center;width:100%}.soon-title[data-v-783ac54d]{font-weight:1000;color:var(--modal-on-surface);font-size:22px}.soon-x[data-v-783ac54d]{margin-left:auto;align-self:center;width:32px;height:32px;padding:0;border-radius:50%;border:2px solid var(--modal-close-border);background:var(--modal-close-bg);color:var(--modal-close-on);font-size:18px;line-height:1;cursor:pointer;transition:transform .12s ease,filter .12s ease;box-shadow:0 2px #00000026}.soon-x[data-v-783ac54d]:hover{transform:scale(1.08);filter:brightness(1.05)}.soon-x[data-v-783ac54d]:active{transform:scale(.95)}.soon-desc[data-v-783ac54d]{margin:6px 0 2px;color:var(--modal-on-surface-muted);font-weight:800}.loading[data-v-783ac54d]{display:flex;align-items:center;gap:10px;padding:6px 0;color:var(--modal-on-surface-soft)}.spinner[data-v-783ac54d]{width:22px;height:22px;border-radius:50%;border:3px solid var(--modal-border);border-top-color:var(--accent-primary);animation:spin-783ac54d .8s linear infinite}@keyframes spin-783ac54d{to{transform:rotate(360deg)}}.error[data-v-783ac54d]{color:var(--accent-danger);margin-top:10px;font-weight:900}.role-badge[data-v-783ac54d]{background:var(--chip-bg);color:var(--chip-on);border:2px solid var(--chip-border);font-weight:1000;border-radius:999px;padding:3px 10px;font-size:12px}.role-badge.staff[data-v-783ac54d]{background:var(--chip-dev-bg);border-color:var(--chip-dev-border);color:var(--chip-dev-on)}.role-badge.student[data-v-783ac54d]{background:var(--chip-student-bg);border-color:var(--chip-student-border);color:var(--chip-student-on)}.role-badge.teacher[data-v-783ac54d]{background:var(--chip-teacher-bg);border-color:var(--chip-teacher-border);color:var(--chip-teacher-on)}.role-badge.admin[data-v-783ac54d]{background:var(--chip-admin-bg);border-color:var(--chip-admin-border);color:var(--chip-admin-on)}@media (max-width: 720px){.panel[data-v-783ac54d]{padding:14px 14px 18px}.avatar[data-v-783ac54d]{width:76px;height:76px}.id-block .name[data-v-783ac54d]{font-size:20px;gap:8px}.name-input[data-v-783ac54d]{min-width:0;width:min(68vw,320px)}.header[data-v-783ac54d]{gap:12px}.header .left[data-v-783ac54d]{gap:14px}.actions-bar[data-v-783ac54d]{gap:8px}}.apl-root[data-v-a01872a1]{width:100%;color:var(--activities-on-surface)}.apl-inner[data-v-a01872a1]{padding:.4rem 0;display:flex;flex-direction:column;gap:.5rem}.apl-root--dropdown .apl-inner[data-v-a01872a1]{padding:0;gap:0}.apl-muted[data-v-a01872a1]{color:var(--main-text-soft);font-size:.9rem}.apl-error[data-v-a01872a1]{color:var(--accent-danger);font-weight:600}.apl-center[data-v-a01872a1]{text-align:center}.apl-trigger[data-v-a01872a1]{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .55rem;border-radius:12px;border:2px solid var(--header-btn-border-color, var(--header-border-color));background-color:var(--header-btn-bg, var(--header-surface));color:var(--header-btn-text, var(--header-on-surface));font-weight:900;font-size:13px;line-height:1.1;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--header-shadow);background-image:var(--header-btn-fill);background-repeat:no-repeat;background-position:0 0;background-size:0% 100%;transition:background-size .28s ease,transform .12s ease,color .18s ease,background-color .18s ease}.apl-trigger[data-v-a01872a1]:hover{transform:translateY(-1px);background-color:var(--header-btn-hover, var(--header-surface));color:var(--header-btn-text-hover, var(--header-on-surface));background-size:100% 100%}.apl-trigger[data-v-a01872a1]:active{transform:translateY(0)}.apl-trigger-left[data-v-a01872a1]{display:inline-flex;align-items:baseline;gap:.35rem;min-width:0}.apl-trigger-text[data-v-a01872a1]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apl-trigger-count[data-v-a01872a1]{flex:0 0 auto;font-size:12px;font-weight:900;color:color-mix(in srgb,var(--header-btn-text, var(--header-on-surface)) 70%,transparent)}.apl-trigger-caret[data-v-a01872a1]{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:10px;color:var(--header-btn-text, var(--header-on-surface));transition:transform .18s ease}.apl-trigger--open .apl-trigger-caret[data-v-a01872a1]{transform:rotate(180deg)}.apl-pop-layer[data-v-a01872a1]{z-index:99999;pointer-events:auto;position:fixed}.apl-panel[data-v-a01872a1]{width:100%;max-height:inherit;overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--modal-border);background:var(--modal-surface);box-shadow:var(--modal-shadow)}.apl-panel-inner[data-v-a01872a1]{padding:10px}.apl-pop-enter-active[data-v-a01872a1],.apl-pop-leave-active[data-v-a01872a1]{transition:transform .18s ease,opacity .18s ease;transform-origin:top center;will-change:transform,opacity}.apl-pop-enter-from[data-v-a01872a1],.apl-pop-leave-to[data-v-a01872a1]{transform:scaleY(0);opacity:0}.apl-pop-enter-to[data-v-a01872a1],.apl-pop-leave-from[data-v-a01872a1]{transform:scaleY(1);opacity:1}.apl-sections[data-v-a01872a1]{display:flex;flex-direction:column;gap:.75rem}.apl-section[data-v-a01872a1]{display:flex;flex-direction:column;gap:.35rem;border-radius:var(--radius-lg);border:2px solid var(--header-border-color);background:var(--header-surface);box-shadow:var(--header-shadow);padding:.55rem .6rem .65rem}.apl-section-head[data-v-a01872a1]{display:inline-flex;align-items:baseline;gap:.35rem;padding:0 .15rem .1rem}.apl-section-title[data-v-a01872a1]{margin:0;font-size:.95rem;font-weight:800;color:var(--header-on-surface)}.apl-section-count[data-v-a01872a1]{font-size:.85rem;font-weight:600;color:var(--main-text-soft)}.apl-list[data-v-a01872a1]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.apl-pill[data-v-a01872a1]{--pill-border: var(--activities-border);position:relative;display:inline-flex;align-items:center;gap:.55rem;width:100%;padding:.4rem .7rem .4rem .4rem;border-radius:999px;border:2px solid var(--pill-border);background:var(--activities-surface);color:var(--activities-on-surface);font-weight:700;font-size:.95rem;line-height:1.2;cursor:pointer;text-align:left;box-shadow:0 2px 5px #0000003d;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.apl-pill--tool[data-v-a01872a1]{background:color-mix(in srgb,var(--activities-surface) 82%,var(--neutral-100) 18%)}.apl-pill[data-v-a01872a1]:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000047;border-color:color-mix(in srgb,var(--accent-primary) 60%,var(--activities-border) 40%)}.apl-pill[data-v-a01872a1]:active{transform:translateY(0);box-shadow:0 1px 4px #0003}.apl-pill--new[data-v-a01872a1],.apl-pill--xp[data-v-a01872a1]{position:relative;overflow:visible}.apl-chip-row[data-v-a01872a1]{position:absolute;top:-.5rem;right:.5rem;display:inline-flex;gap:.25rem;pointer-events:none}.apl-new-badge[data-v-a01872a1],.apl-xp-badge[data-v-a01872a1]{display:inline-flex;align-items:center;justify-content:center;padding:.05rem .45rem .15rem;border-radius:999px;font-size:.6rem;font-weight:900;letter-spacing:.08em;line-height:1;box-shadow:0 3px 6px #00000038}.apl-new-badge[data-v-a01872a1]{border:2px solid color-mix(in srgb,var(--accent-warning) 70%,var(--accent-danger) 30%);background:color-mix(in srgb,var(--accent-warning) 70%,var(--neutral-0) 30%);color:#3a2100;text-shadow:0 1px 0 rgba(255,255,255,.4)}.apl-xp-badge[data-v-a01872a1]{border:2px solid color-mix(in srgb,var(--activities-chip-xp) 70%,#000 30%);background:color-mix(in srgb,var(--activities-chip-xp) 75%,var(--neutral-0) 25%);color:var(--activities-on-surface)}.apl-icon-wrap[data-v-a01872a1]{flex:0 0 auto;width:2.1rem;height:2.1rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--activities-border) 60%,#000 40%);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.32),transparent 55%);display:grid;place-items:center;overflow:hidden}.apl-icon[data-v-a01872a1]{width:100%;height:100%;object-fit:contain}.apl-icon-fallback[data-v-a01872a1]{font-weight:800;font-size:1rem;color:var(--activities-on-surface)}.apl-pill-text[data-v-a01872a1]{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (prefers-reduced-motion: reduce){.apl-trigger[data-v-a01872a1],.apl-trigger[data-v-a01872a1]:hover,.apl-pop-enter-active[data-v-a01872a1],.apl-pop-leave-active[data-v-a01872a1],.apl-pill[data-v-a01872a1],.apl-pill[data-v-a01872a1]:hover{transition:none}}.customdeck-login-msg[data-v-92b8eb03]{width:100%;text-align:center;padding:calc(.85rem * var(--cdb-scale, 1)) calc(1rem * var(--cdb-scale, 1));font-size:calc(.9rem * var(--cdb-scale, 1));font-weight:600;color:var(--header-on-surface);background:var(--neutral-0);border:2px solid var(--header-border-color);border-radius:var(--radius-lg);box-shadow:var(--header-shadow);line-height:1.35;max-height:var(--cdb-max-h, none);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:grid;align-items:center}.msg-inline[data-v-92b8eb03]{display:inline;white-space:nowrap}.auth-link[data-v-92b8eb03]{display:inline;white-space:nowrap;color:var(--accent-primary);font-weight:700;text-decoration:underline;text-underline-offset:2px}.auth-link[data-v-92b8eb03]:hover{text-decoration-thickness:2px}.btn.custom-decks[data-v-92b8eb03]{position:relative;overflow:hidden;background:var(--customdeck-button-bg);color:var(--customdeck-button-on);font-weight:900;font-size:calc(1.12rem * var(--cdb-scale, 1));padding:calc(14px * var(--cdb-scale, 1)) calc(26px * var(--cdb-scale, 1));border:0;border-radius:var(--radius-lg);text-decoration:none;text-shadow:-1px 0 color-mix(in srgb,var(--neutral-900) 100%,transparent),0 1px color-mix(in srgb,var(--neutral-900) 100%,transparent),1px 0 color-mix(in srgb,var(--neutral-900) 100%,transparent),0 -1px color-mix(in srgb,var(--neutral-900) 100%,transparent);box-shadow:var(--elevation-2),inset 0 0 0 2px color-mix(in srgb,var(--neutral-0) 35%,transparent);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;max-height:var(--cdb-max-h, none);display:inline-grid;align-items:center}.btn.custom-decks[data-v-92b8eb03]>*{position:relative;z-index:1;line-height:1.1}.btn.custom-decks[data-v-92b8eb03]:before{content:"";position:absolute;top:-120%;left:-170%;width:440%;height:440%;z-index:0;transform:rotate(45deg);background-image:radial-gradient(var(--customdeck-dots) 34%,rgba(0,0,0,0) 36%);background-size:72px 72px;opacity:.52;animation:decks-dots-slower-92b8eb03 120s linear infinite;pointer-events:none}@keyframes decks-dots-slower-92b8eb03{0%{background-position:0 0}to{background-position:450% 450%}}@media (prefers-reduced-motion: reduce){.btn.custom-decks[data-v-92b8eb03]:before{animation:none}.btn.custom-decks[data-v-92b8eb03]:hover{transform:translateY(-2px)}}.btn.custom-decks[data-v-92b8eb03]:hover{transform:scale(1.08) translateY(-2px);box-shadow:var(--elevation-3),inset 0 0 0 2px color-mix(in srgb,var(--neutral-0) 55%,transparent);filter:brightness(1.04) saturate(1.05)}.tpl-root[data-v-b84407a1]{width:100%;color:var(--textbook-on-surface)}.tpl-inner[data-v-b84407a1]{padding:.4rem 0;display:flex;flex-direction:column;gap:.5rem}.tpl-root--dropdown .tpl-inner[data-v-b84407a1]{padding:0;gap:0}.tpl-muted[data-v-b84407a1]{color:var(--main-text-soft);font-size:.9rem}.tpl-error[data-v-b84407a1]{color:var(--accent-danger);font-weight:600}.tpl-center[data-v-b84407a1]{text-align:center}.tpl-trigger[data-v-b84407a1]{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .55rem;border-radius:12px;border:2px solid var(--header-btn-border-color, var(--header-border-color));background-color:var(--header-btn-bg, var(--header-surface));color:var(--header-btn-text, var(--header-on-surface));font-weight:900;font-size:13px;line-height:1.1;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--header-shadow);background-image:var(--header-btn-fill);background-repeat:no-repeat;background-position:0 0;background-size:0% 100%;transition:background-size .28s ease,transform .12s ease,color .18s ease,background-color .18s ease}.tpl-trigger[data-v-b84407a1]:hover{transform:translateY(-1px);background-color:var(--header-btn-hover);color:var(--header-btn-text-hover);background-size:100% 100%}.tpl-trigger--open[data-v-b84407a1]{background-color:var(--header-btn-hover);color:var(--header-btn-text-hover);background-size:100% 100%}.tpl-trigger-left[data-v-b84407a1]{display:inline-flex;align-items:center;gap:8px;min-width:0}.tpl-trigger-text[data-v-b84407a1]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-trigger-count[data-v-b84407a1]{flex:0 0 auto;font-size:12px;font-weight:900;color:color-mix(in srgb,var(--header-btn-text-hover) 65%,var(--header-btn-text) 35%)}.tpl-trigger-caret[data-v-b84407a1]{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:10px;color:var(--header-btn-text, var(--header-on-surface));transition:transform .18s ease}.tpl-trigger--open .tpl-trigger-caret[data-v-b84407a1]{transform:rotate(180deg)}.tpl-pop-layer[data-v-b84407a1]{position:fixed;z-index:9999}.tpl-pop-enter-active[data-v-b84407a1],.tpl-pop-leave-active[data-v-b84407a1]{transition:transform .18s ease,opacity .18s ease;transform-origin:top center;will-change:transform,opacity}.tpl-pop-enter-from[data-v-b84407a1],.tpl-pop-leave-to[data-v-b84407a1]{transform:scaleY(0);opacity:0}.tpl-pop-enter-to[data-v-b84407a1],.tpl-pop-leave-from[data-v-b84407a1]{transform:scaleY(1);opacity:1}.tpl-panel[data-v-b84407a1]{border-radius:var(--radius-lg);border:1px solid var(--modal-border);background:var(--modal-surface);box-shadow:var(--modal-shadow);overflow:hidden;max-height:min(70vh,520px)}.tpl-panel-scroll[data-v-b84407a1]{padding:10px;overflow:auto;max-height:min(70vh,520px)}.tpl-section[data-v-b84407a1]{display:flex;flex-direction:column;gap:.35rem;border-radius:var(--radius-lg);border:2px solid var(--header-border-color);background:var(--header-surface);box-shadow:var(--header-shadow);padding:.55rem .6rem .65rem}.tpl-section-head[data-v-b84407a1]{display:inline-flex;align-items:baseline;gap:.35rem;padding:0 .15rem .1rem}.tpl-section-title[data-v-b84407a1]{margin:0;font-size:.95rem;font-weight:800;color:var(--header-on-surface)}.tpl-section-count[data-v-b84407a1]{font-size:.85rem;font-weight:600;color:var(--main-text-soft)}.tpl-list[data-v-b84407a1]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.tpl-pill[data-v-b84407a1]{--pill-border: var(--textbook-border);position:relative;display:inline-flex;align-items:center;gap:.55rem;width:100%;padding:.45rem .7rem .45rem .4rem;border-radius:999px;border:2px solid var(--pill-border);background:var(--textbook-surface);color:var(--textbook-on-surface);font-weight:700;font-size:.95rem;line-height:1.2;cursor:pointer;text-align:left;box-shadow:var(--textbook-shadow);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.tpl-pill[data-v-b84407a1]:hover{transform:translateY(-1px);box-shadow:var(--elevation-2);border-color:color-mix(in srgb,var(--accent-primary) 60%,var(--textbook-border) 40%)}.tpl-pill[data-v-b84407a1]:active{transform:translateY(0);box-shadow:0 1px 4px #0003}.tpl-icon-wrap[data-v-b84407a1]{flex:0 0 auto;width:2.1rem;height:2.1rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--textbook-border) 60%,#000 40%);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.32),transparent 55%);display:grid;place-items:center;overflow:hidden}.tpl-icon[data-v-b84407a1]{width:100%;height:100%;object-fit:cover}.tpl-icon-fallback[data-v-b84407a1]{font-weight:800;font-size:1rem;color:var(--textbook-on-surface)}.tpl-pill-main[data-v-b84407a1]{flex:1 1 auto;display:flex;flex-direction:column;gap:.12rem;min-width:0}.tpl-pill-title[data-v-b84407a1]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800}.tpl-pill-meta[data-v-b84407a1]{display:flex;flex-wrap:wrap;gap:.3rem;font-size:.78rem}.tpl-pill-meta-item[data-v-b84407a1]{color:var(--main-text-soft)}.tpl-pill-meta-year[data-v-b84407a1]{font-weight:900;color:var(--textbook-on-surface)}.tpl-pill-meta-level[data-v-b84407a1]{font-weight:700;letter-spacing:.03em}.tpl-pill-chips[data-v-b84407a1]{flex:0 0 auto;display:inline-flex;flex-direction:column;gap:.18rem;align-items:flex-end}.tpl-chip[data-v-b84407a1]{font-size:.75rem;font-weight:800;color:var(--textbook-chip-on);background:var(--textbook-chip-bg);border:1px solid var(--textbook-border);padding:.12rem .5rem;border-radius:999px;white-space:nowrap}.cd-centered[data-v-b84407a1]{width:100%;display:flex;align-items:center;justify-content:center;margin:.35rem 0;padding:.35rem 0}@media (prefers-reduced-motion: reduce){.tpl-trigger[data-v-b84407a1],.tpl-trigger[data-v-b84407a1]:hover,.tpl-pop-enter-active[data-v-b84407a1],.tpl-pop-leave-active[data-v-b84407a1],.tpl-pill[data-v-b84407a1]{transition:none!important}}@media (max-width: 640px){.tpl-inner[data-v-b84407a1]{padding:.35rem 0}.tpl-root--dropdown .tpl-inner[data-v-b84407a1]{padding:0}.tpl-section[data-v-b84407a1]{padding:.45rem .5rem .55rem}.tpl-pill[data-v-b84407a1]{padding:.35rem .6rem .35rem .35rem;font-size:.9rem}.tpl-icon-wrap[data-v-b84407a1]{width:1.9rem;height:1.9rem}.tpl-section-title[data-v-b84407a1]{font-size:.9rem}.tpl-section-count[data-v-b84407a1]{font-size:.8rem}}.dpl-root[data-v-a80e8687]{width:100%;color:var(--textbook-on-surface)}.dpl-inner[data-v-a80e8687]{padding:.4rem 0;display:flex;flex-direction:column;gap:.5rem}.dpl-root--dropdown .dpl-inner[data-v-a80e8687]{padding:0;gap:0}.dpl-trigger[data-v-a80e8687]{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .55rem;border-radius:12px;border:2px solid var(--header-btn-border-color, var(--header-border-color));background-color:var(--header-btn-bg, var(--header-surface));color:var(--header-btn-text, var(--header-on-surface));font-weight:900;font-size:13px;line-height:1.1;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--header-shadow);background-image:var(--header-btn-fill);background-repeat:no-repeat;background-position:0 0;background-size:0% 100%;transition:background-size .28s ease,transform .12s ease,color .18s ease,background-color .18s ease}.dpl-trigger[data-v-a80e8687]:hover{transform:translateY(-1px);background-color:var(--header-btn-hover);color:var(--header-btn-text-hover);background-size:100% 100%}.dpl-trigger--open[data-v-a80e8687]{background-color:var(--header-btn-hover);color:var(--header-btn-text-hover);background-size:100% 100%}.dpl-trigger-left[data-v-a80e8687]{display:inline-flex;align-items:center;gap:8px;min-width:0}.dpl-trigger-text[data-v-a80e8687]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dpl-trigger-count[data-v-a80e8687]{flex:0 0 auto;font-size:12px;font-weight:900;color:color-mix(in srgb,var(--header-btn-text-hover) 65%,var(--header-btn-text) 35%)}.dpl-trigger-caret[data-v-a80e8687]{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:10px;color:var(--header-btn-text, var(--header-on-surface));transition:transform .18s ease}.dpl-trigger--open .dpl-trigger-caret[data-v-a80e8687]{transform:rotate(180deg)}.dpl-pop-layer[data-v-a80e8687]{position:fixed;z-index:9999}.dpl-pop-enter-active[data-v-a80e8687],.dpl-pop-leave-active[data-v-a80e8687]{transition:transform .18s ease,opacity .18s ease;transform-origin:top center;will-change:transform,opacity}.dpl-pop-enter-from[data-v-a80e8687],.dpl-pop-leave-to[data-v-a80e8687]{transform:scaleY(0);opacity:0}.dpl-pop-enter-to[data-v-a80e8687],.dpl-pop-leave-from[data-v-a80e8687]{transform:scaleY(1);opacity:1}.dpl-panel[data-v-a80e8687]{border-radius:var(--radius-lg);border:1px solid var(--modal-border);background:var(--modal-surface);box-shadow:var(--modal-shadow);overflow:hidden;max-height:min(70vh,520px)}.dpl-panel-scroll[data-v-a80e8687]{padding:10px;overflow:auto;max-height:min(70vh,520px)}.dpl-section[data-v-a80e8687]{display:flex;flex-direction:column;gap:.35rem;border-radius:var(--radius-lg);border:2px solid var(--header-border-color);background:var(--header-surface);box-shadow:var(--header-shadow);padding:.55rem .6rem .65rem}.dpl-section-head[data-v-a80e8687]{display:inline-flex;align-items:baseline;gap:.35rem;padding:0 .15rem .1rem}.dpl-section-title[data-v-a80e8687]{margin:0;font-size:.95rem;font-weight:800;color:var(--header-on-surface)}.dpl-section-count[data-v-a80e8687]{font-size:.85rem;font-weight:600;color:var(--main-text-soft)}.dpl-list[data-v-a80e8687]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.dpl-pill[data-v-a80e8687]{--pill-border: var(--textbook-border);position:relative;display:inline-flex;align-items:center;gap:.55rem;width:100%;padding:.45rem .7rem .45rem .4rem;border-radius:999px;border:2px solid var(--pill-border);background:var(--textbook-surface);color:var(--textbook-on-surface);font-weight:700;font-size:.95rem;line-height:1.2;cursor:pointer;text-align:left;box-shadow:var(--textbook-shadow);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.dpl-pill[data-v-a80e8687]:hover{transform:translateY(-1px);box-shadow:var(--elevation-2);border-color:color-mix(in srgb,var(--accent-primary) 60%,var(--textbook-border) 40%)}.dpl-pill[data-v-a80e8687]:active{transform:translateY(0);box-shadow:0 1px 4px #0003}.dpl-icon-wrap[data-v-a80e8687]{flex:0 0 auto;width:2.1rem;height:2.1rem;border-radius:999px;border:2px solid color-mix(in srgb,var(--textbook-border) 60%,#000 40%);background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.32),transparent 55%);display:grid;place-items:center;overflow:hidden}.dpl-icon-fallback[data-v-a80e8687]{font-weight:800;font-size:1rem;color:var(--textbook-on-surface)}.dpl-pill-main[data-v-a80e8687]{flex:1 1 auto;display:flex;flex-direction:column;gap:.12rem;min-width:0}.dpl-pill-title[data-v-a80e8687]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:800}.dpl-notice-badge[data-v-a80e8687]{flex:0 0 auto;min-width:1.45rem;height:1.45rem;padding:0 .38rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#d92d20;color:#fff;font-size:.72rem;font-weight:900;line-height:1;box-shadow:0 0 0 2px color-mix(in srgb,var(--textbook-surface) 75%,transparent),0 2px 6px #00000047}@media (prefers-reduced-motion: reduce){.dpl-trigger[data-v-a80e8687],.dpl-trigger[data-v-a80e8687]:hover,.dpl-pop-enter-active[data-v-a80e8687],.dpl-pop-leave-active[data-v-a80e8687],.dpl-pill[data-v-a80e8687]{transition:none!important}}@media (max-width: 640px){.dpl-inner[data-v-a80e8687]{padding:.35rem 0}.dpl-root--dropdown .dpl-inner[data-v-a80e8687]{padding:0}.dpl-section[data-v-a80e8687]{padding:.45rem .5rem .55rem}.dpl-pill[data-v-a80e8687]{padding:.35rem .6rem .35rem .35rem;font-size:.9rem}.dpl-icon-wrap[data-v-a80e8687]{width:1.9rem;height:1.9rem}.dpl-section-title[data-v-a80e8687]{font-size:.9rem}.dpl-section-count[data-v-a80e8687]{font-size:.8rem}.dpl-notice-badge[data-v-a80e8687]{min-width:1.35rem;height:1.35rem;font-size:.68rem}}.app-header[data-v-f4a2cceb]{position:relative;inset-inline:0;inset-block-start:0;width:100%;height:var(--app-header-height);overflow:visible;isolation:isolate;border-bottom:var(--header-border-width) solid var(--header-border-color);box-shadow:var(--header-shadow);z-index:100}.appheader-bg .code-bg[data-v-f4a2cceb]{position:absolute;inset:0;z-index:0;--grid-size: 24px;--grid-line-w: 1px;background:linear-gradient(to bottom,var(--header-grid-color) var(--grid-line-w),transparent 0),linear-gradient(to right,var(--header-grid-color) var(--grid-line-w),transparent 0),var(--header-surface);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),auto;background-position:0 0,0 0,center;pointer-events:none}.inner[data-v-f4a2cceb]{position:relative;z-index:2;height:100%;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:8px clamp(18px,4vw,32px)}.left[data-v-f4a2cceb]{display:inline-flex;align-items:flex-end;min-width:0}.right[data-v-f4a2cceb]{display:inline-flex;align-items:flex-end;gap:12px;min-width:0}.brand-name[data-v-f4a2cceb]{appearance:none;border:0;background:transparent;padding:0;cursor:pointer;font-weight:900;letter-spacing:.3px;font-size:clamp(28px,3vh,34px);color:var(--header-on-surface);text-shadow:0 1px 0 color-mix(in srgb,var(--header-on-surface) 60%,transparent);transition:transform .12s ease,opacity .12s ease}.brand-name[data-v-f4a2cceb]:hover{transform:translateY(-1px);opacity:.98}.brand-name[data-v-f4a2cceb]:active{transform:translateY(0)}.auth-btn[data-v-f4a2cceb]{color:var(--header-btn-on)}.avatar-btn[data-v-f4a2cceb]{position:relative;display:grid;place-items:center;width:clamp(52px,6.6vh,64px);height:clamp(52px,6.6vh,64px);border-radius:999px;padding:0;border:3px dotted transparent;background:transparent;cursor:pointer;transition:border-color .18s ease,transform .12s ease}.avatar-btn[data-v-f4a2cceb]:hover{border-color:var(--header-border-color);transform:translateY(-1px)}.avatar-btn[data-v-f4a2cceb]:active{transform:translateY(0)}.avatar[data-v-f4a2cceb]{width:100%;height:100%;border-radius:50%;border:1.5px solid var(--modal-border);object-fit:cover;background:var(--neutral-100)}.btn[data-v-f4a2cceb]{border:2px solid var(--header-btn-border-color);background-color:var(--header-btn-bg);color:var(--header-btn-text);padding:6px 10px;border-radius:12px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:var(--header-shadow);background-image:var(--header-btn-fill);background-repeat:no-repeat;background-position:0 0;background-size:0% 100%;transition:background-size .32s ease,color .18s ease,background-color .18s ease,transform .12s ease;will-change:background-size}.btn[data-v-f4a2cceb]:hover{transform:translateY(-1px);background-color:var(--header-btn-hover);color:var(--header-btn-text-hover);background-size:100% 100%}.btn[data-v-f4a2cceb]:active{transform:translateY(0)}.nav-btn[data-v-f4a2cceb]{border-radius:12px;padding:10px;font-size:13px;font-weight:700;letter-spacing:.01em;display:inline-flex;align-items:center;gap:8px;line-height:1.1}.nav-btn .icon[data-v-f4a2cceb]{line-height:1}.auth-btn--login[data-v-f4a2cceb]{border:2px solid rgba(116,255,186,.95);color:#062312;background-color:#20e37f;background-image:linear-gradient(180deg,#86ffcf,#2cf08d 45%,#12d06f);box-shadow:0 14px 30px #00000057,0 0 0 2px #0affaa38,0 0 26px #16ffa057;padding:10px;min-width:115px;font-size:13px;font-weight:900;letter-spacing:.01em;border-radius:12px;position:relative;overflow:hidden;background-size:auto;justify-content:center}.auth-btn--login[data-v-f4a2cceb]:before{content:"";position:absolute;inset:1px;border-radius:12px;pointer-events:none;background:linear-gradient(to bottom,#ffffff8c,#fff0 52%);mix-blend-mode:soft-light}.auth-btn--login[data-v-f4a2cceb]:after{content:"";position:absolute;top:-40%;left:-60%;width:55%;height:180%;pointer-events:none;background:linear-gradient(110deg,#fff0,#ffffff8c 45%,#fff0 70%);transform:translate(-10%) rotate(8deg);opacity:0}.auth-btn--login[data-v-f4a2cceb]:hover:not(.is-shimmered):after,.auth-btn--login[data-v-f4a2cceb]:focus-visible:not(.is-shimmered):after{animation:loginShimmer-f4a2cceb 2.2s ease-in-out 1}.auth-btn--login[data-v-f4a2cceb]:hover{transform:translateY(-1px) scale(1.03);filter:brightness(1.06) saturate(1.08);box-shadow:0 18px 36px #0006,0 0 0 2px #0affaa47,0 0 34px #16ffa075;background-size:auto}.auth-btn--login[data-v-f4a2cceb]:active{transform:translateY(0) scale(.99)}.auth-btn--login[data-v-f4a2cceb]:focus-visible{outline:none;box-shadow:0 18px 36px #0006,0 0 0 4px #0affaa59,0 0 40px #16ffa075}@keyframes loginShimmer-f4a2cceb{0%{transform:translate(-10%) rotate(8deg);opacity:0}18%{opacity:.95}55%{transform:translate(240%) rotate(8deg);opacity:.65}to{transform:translate(240%) rotate(8deg);opacity:0}}.actions[data-v-f4a2cceb]{display:inline-flex;align-items:center;gap:10px;z-index:5}.pill-list[data-v-f4a2cceb]{display:inline-flex;gap:10px;align-items:center}.header-action-dropdown[data-v-f4a2cceb]{display:inline-flex;align-items:center;width:auto}.header-action-dropdown[data-v-f4a2cceb] .apl-root--dropdown,.header-action-dropdown[data-v-f4a2cceb] .tpl-root--dropdown,.header-action-dropdown[data-v-f4a2cceb] .vpl-root--dropdown,.menu-dropdown-wrap[data-v-f4a2cceb] .apl-root--dropdown,.menu-dropdown-wrap[data-v-f4a2cceb] .tpl-root--dropdown,.menu-dropdown-wrap[data-v-f4a2cceb] .vpl-root--dropdown{width:auto}.header-action-dropdown[data-v-f4a2cceb] .dev-pill-container,.menu-dropdown-wrap[data-v-f4a2cceb] .dev-pill-container{display:inline-flex;gap:10px;align-items:center}.pill-list[data-v-f4a2cceb] .pill-btn,.menu-sheet[data-v-f4a2cceb] .pill-btn{border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;line-height:1.1}.menu-toggle[data-v-f4a2cceb]{display:none;align-items:center;gap:8px;padding-inline:12px 14px;transition:transform .12s ease,box-shadow .12s ease}.menu-toggle[data-v-f4a2cceb]:hover{transform:translateY(-1px) scale(1.02)}.menu-icon[data-v-f4a2cceb]{position:relative;width:18px;height:16px;display:inline-flex;flex-direction:column;justify-content:center;gap:3px}.menu-icon .bar[data-v-f4a2cceb]{height:2px;width:100%;border-radius:999px;background:var(--header-btn-text);transition:transform .18s ease,opacity .18s ease,width .18s ease,background-color .18s ease}.menu-toggle.is-open .menu-icon .bar[data-v-f4a2cceb]:nth-child(1){transform:translateY(5px) rotate(45deg)}.menu-toggle.is-open .menu-icon .bar[data-v-f4a2cceb]:nth-child(2){opacity:0;width:0}.menu-toggle.is-open .menu-icon .bar[data-v-f4a2cceb]:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.menu-label[data-v-f4a2cceb]{font-size:12.5px;font-weight:900}@media (max-width: 720px){.pill-list[data-v-f4a2cceb]{display:none}.menu-toggle[data-v-f4a2cceb]{display:inline-flex}}.menu-panel[data-v-f4a2cceb]{position:fixed;padding-top:var(--app-header-h);inset:0;z-index:1000;background:var(--modal-overlay-bg);-webkit-backdrop-filter:var(--modal-overlay-filter);backdrop-filter:var(--modal-overlay-filter);pointer-events:auto;transform-origin:top center;transform:scaleY(1)}.menu-sheet[data-v-f4a2cceb]{position:absolute;right:12px;top:calc(var(--app-header-h) + 8px);max-height:calc(100vh - (var(--app-header-h) + 24px));overflow:auto;display:grid;gap:10px;grid-auto-rows:min-content;min-width:min(92vw,420px);background:var(--modal-surface);border:1px solid var(--modal-border);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--modal-shadow);pointer-events:auto}.menu-sheet[data-v-f4a2cceb] *{pointer-events:auto}.menu-sheet .btn[data-v-f4a2cceb]{--menu-item-h: 40px;display:flex;align-items:center;gap:10px;height:var(--menu-item-h);max-height:var(--menu-item-h);padding:8px 12px;font-size:14px;line-height:1.1;border-radius:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--modal-on-surface);background:var(--modal-surface);border-color:var(--modal-border)}.menu-sheet .btn[data-v-f4a2cceb]:hover{background:color-mix(in srgb,var(--modal-accent) 12%,var(--modal-surface) 88%);transform:translateY(-1px)}.menu-sheet .btn .icon[data-v-f4a2cceb]{margin-right:6px;line-height:1}.menu-dropdown-wrap[data-v-f4a2cceb]{width:100%}@media (max-width: 380px){.menu-sheet .btn[data-v-f4a2cceb]{--menu-item-h: 36px;font-size:13px;padding:7px 11px}}.menu-fade-enter-active[data-v-f4a2cceb],.menu-fade-leave-active[data-v-f4a2cceb]{transition:opacity .18s ease,transform .18s ease}.menu-fade-enter-from[data-v-f4a2cceb],.menu-fade-leave-to[data-v-f4a2cceb]{opacity:0;transform:translateY(-4px) scale(.98)}.menu-fade-enter-to[data-v-f4a2cceb],.menu-fade-leave-from[data-v-f4a2cceb]{opacity:1;transform:translateY(0) scale(1)}@media (prefers-reduced-motion: reduce){.btn[data-v-f4a2cceb],.btn[data-v-f4a2cceb]:hover,.menu-icon .bar[data-v-f4a2cceb],.menu-fade-enter-active[data-v-f4a2cceb],.menu-fade-leave-active[data-v-f4a2cceb],.brand-name[data-v-f4a2cceb],.avatar-btn[data-v-f4a2cceb]{transition:none}.auth-btn--login[data-v-f4a2cceb]:hover:after,.auth-btn--login[data-v-f4a2cceb]:focus-visible:after{animation:none}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html,body,#App{width:100%;height:100%}#App{position:relative;min-height:100vh;min-height:100svh;min-height:100dvh;overflow:hidden}.bg-layer{position:fixed;inset:0;pointer-events:none}.bg-layer--image{z-index:-3;background-repeat:repeat;background-position:center;background-size:520px 520px}.bg-layer--color{z-index:-2;background:var(--bg-app-color)}.bg-layer--overlay{z-index:-1;background-repeat:repeat;background-position:center;background-size:440px 440px;opacity:1}.view{position:relative;width:100%;height:100%;z-index:0}.app-bg{position:relative;width:100%;height:100%;overflow-y:auto;background:transparent}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.4}:root{--font-body: "Baloo 2", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;--font-script: "Covered By Your Grace", cursive;--font-strict: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif}
