@font-face{font-family:Permanent Marker;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/permanent-marker.woff2)format("woff2")}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-latinext.woff2)format("woff2");unicode-range:U+100-24F,U+304,U+308,U+329,U+1E??}@font-face{font-family:Caveat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/caveat-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Yomogi;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/yomogi.woff2)format("woff2");unicode-range:U+3002,U+3044,U+3046,U+3057,U+306A-306B,U+308D,U+6226,U+6311,U+65B0,U+65E5,U+6700,U+6BCE,U+9AD8}@font-face{font-family:Zhi Mang Xing;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zhi-mang-xing.woff2)format("woff2");unicode-range:U+3002,U+505A,U+5929,U+5DF1,U+6218,U+6311,U+65B0,U+6700,U+6709,U+68D2,U+6BCF,U+7684,U+81EA,U+90FD}:root{--paper:#f7f3e7;--paper-line:#5876a852;--margin-red:#d8574b;--ink:#2a2a2e;--ink-soft:#6b6a63;--marker-blue:#2b417e;--gold:#c08a3e;--gold-deep:#8c5f22;--panel:#fff;--field-bg:#f4f1e9;--border:#2a2a2e1a;--line-strong:#2a2a2e38;--correct:#3f8f5f;--incorrect:var(--margin-red);--shadow-sm:0 1px 2px #2a2a2e0d;--shadow-md:0 1px 2px #2a2a2e0d, 0 18px 40px -22px #2a2a2e4d;--page-bg:var(--paper);--surface:var(--panel);--surface-alt:var(--field-bg);--text:var(--ink);--text-soft:var(--ink-soft);--radius:12px;--radius-sm:11px;--font-display:"Permanent Marker", cursive;--font-script:"Caveat", "Yomogi", "Zhi Mang Xing", cursive;--font-sans:-apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"Cascadia Code", "SF Mono", Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--paper:#221f1a;--paper-line:#7891be38;--ink:#f1eee6;--ink-soft:#b8b3a6;--panel:#201d19;--field-bg:#2a261f;--border:#f1eee61f;--line-strong:#f1eee642;--correct:#5fc087;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root:is([data-theme=niebo-gory],[data-theme=niebo-przestrzen]){--paper:#10182c;--paper-line:#aabee633;--ink:#f3f5fb;--ink-soft:#c2cae0;--panel:#10162ab8;--field-bg:#1a223a99;--border:#f3f5fb29;--line-strong:#f3f5fb4d;--correct:#6fe0a0;--incorrect:#ff8a80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:is([data-theme=laka-zielen-dzien],[data-theme=ocean-skaly-dzien]){--paper:#f3f7ef;--paper-line:#466e5a33;--ink:#22301f;--ink-soft:#55654e;--panel:#fffc;--field-bg:#ffffff9e;--border:#22301f24;--line-strong:#22301f3d;--correct:#2f8f5b;--incorrect:#c6453a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=niebo-gory] body{background-image:linear-gradient(#080c1866,#080c1894),url(/themes/niebo-gory.webp)}:root[data-theme=niebo-przestrzen] body{background-image:linear-gradient(#06081466,#06081494),url(/themes/niebo-przestrzen.webp)}:root[data-theme=laka-zielen-dzien] body{background-image:linear-gradient(#ffffff4d,#ffffff75),url(/themes/laka-zielen-dzien.webp)}:root[data-theme=ocean-skaly-dzien] body{background-image:linear-gradient(#ffffff4d,#ffffff75),url(/themes/ocean-skaly-dzien.webp)}:root:is([data-theme=niebo-gory],[data-theme=niebo-przestrzen],[data-theme=laka-zielen-dzien],[data-theme=ocean-skaly-dzien]) body{background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}:root:is([data-theme=niebo-gory],[data-theme=niebo-przestrzen],[data-theme=laka-zielen-dzien],[data-theme=ocean-skaly-dzien]) .card,:root:is([data-theme=niebo-gory],[data-theme=niebo-przestrzen],[data-theme=laka-zielen-dzien],[data-theme=ocean-skaly-dzien]) .summary-card,:root:is([data-theme=niebo-gory],[data-theme=niebo-przestrzen],[data-theme=laka-zielen-dzien],[data-theme=ocean-skaly-dzien]) .status-chip,:root:is([data-theme=niebo-gory],[data-theme=niebo-przestrzen],[data-theme=laka-zielen-dzien],[data-theme=ocean-skaly-dzien]) .auth-card{-webkit-backdrop-filter:blur(10px)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-sans);background:var(--page-bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;transition:box-shadow .15s,transform .15s,border-color .15s}.card-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.auth-shell{min-height:100dvh;display:flex}.auth-shell:not(:has(.brand-pane)){text-align:center;justify-content:center;align-items:center}.brand-pane{background:repeating-linear-gradient(var(--paper) 0 33px, var(--paper-line) 33px 34px);background-color:var(--paper);flex-direction:column;flex:56%;justify-content:center;align-items:center;padding:56px clamp(24px,5vw,64px) 56px clamp(64px,9vw,104px);display:flex;position:relative;overflow:hidden}.brand-pane:before{content:"";background:var(--margin-red);opacity:.55;pointer-events:none;width:2px;position:absolute;top:0;bottom:0;left:clamp(40px,7vw,72px)}.brand-inner{text-align:center}.title-row{align-items:flex-start;gap:12px;margin-bottom:18px;display:inline-flex;transform:rotate(-1.6deg)}.wordmark{font-family:var(--font-display);color:var(--marker-blue);letter-spacing:.01em;white-space:nowrap;font-size:clamp(2.6rem,7.8vw,6.4rem);line-height:.95}.star{flex:none;width:clamp(22px,3vw,44px);height:clamp(22px,3vw,44px);margin-top:8px;transform:rotate(12deg)}.star path{fill:var(--gold)}.tagline{font-family:var(--font-script);color:var(--ink-soft);font-size:clamp(1.4rem,2.4vw,2rem);font-weight:700}.signature{font-family:var(--font-script);color:var(--ink-soft);margin-top:44px;font-size:1.25rem;font-weight:600;transform:rotate(-1deg)}.form-pane{background:var(--panel);flex:44%;justify-content:center;align-items:center;padding:40px 32px;display:flex}.auth-card{width:100%;max-width:340px}.auth-card h1{margin-bottom:26px;font-size:1.3rem;font-weight:700}@media (width<=860px){.auth-shell{background:repeating-linear-gradient(var(--paper) 0 33px, var(--paper-line) 33px 34px);background-color:var(--paper);padding:max(20px, env(safe-area-inset-top)) 20px max(20px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;align-items:center;gap:22px}.brand-pane{background:0 0;flex:none;padding:0;position:static;overflow:visible}.brand-pane:before{display:none}.title-row{margin-bottom:4px;transform:rotate(-1.2deg)}.wordmark{font-size:clamp(1.9rem,10vw,2.6rem)}.star{width:clamp(16px,2.4vw,22px);height:clamp(16px,2.4vw,22px)}.tagline{font-size:.9rem}.signature{display:none}.form-pane{flex:none;min-height:0;padding:0}.auth-card{border:1px solid var(--border);border-radius:var(--radius);width:100%;max-height:min(520px,100dvh - 140px);box-shadow:var(--shadow-md);background:linear-gradient(var(--surface) 30%, #0000) local, linear-gradient(#0000, var(--surface) 70%) local, radial-gradient(farthest-side at 50% 0, #2a2a2e1f, #2a2a2e00) scroll, radial-gradient(farthest-side at 50% 100%, #2a2a2e29, #2a2a2e00) scroll;background-repeat:no-repeat;background-color:var(--surface);background-position:top,bottom,top,bottom;background-size:100% 40px,100% 40px,100% 14px,100% 14px;padding:28px 22px;overflow:hidden auto}}@media (width<=860px) and (height<=700px){.title-row{margin-bottom:0}.wordmark{font-size:clamp(1.5rem,8vw,1.9rem)}.star{display:none}.tagline{font-size:.8rem}.auth-card{max-height:min(520px,100dvh - 90px);padding:20px 18px}}.field{flex-direction:column;gap:7px;margin-bottom:15px;display:flex}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);font-size:.73rem;font-weight:700}.field input,.field select,.field textarea,.input{font:inherit;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);color:var(--text);padding:12px 14px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c08a3e38}.checkbox-field{align-items:flex-start;gap:8px;margin-bottom:16px;font-size:.85rem;display:flex}.password-field{display:flex;position:relative}.password-field input{flex:1;padding-right:42px}.password-toggle{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:var(--field-bg)}.password-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.btn{border-radius:var(--radius-sm);width:100%;font:inherit;cursor:pointer;background:linear-gradient(180deg, #d3a55b, var(--gold));color:#2a1c05;border:none;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:13px 18px;font-size:.93rem;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .12s;display:inline-flex;box-shadow:0 10px 20px -8px #c08a3e8c}.btn:hover{transform:translateY(-1px);box-shadow:0 14px 26px -8px #c08a3ea6}.btn:focus-visible{outline:3px solid var(--gold-deep);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.secondary{background:var(--surface-alt);color:var(--text);box-shadow:none;border:1px solid var(--border)}.btn.danger{background:var(--incorrect);color:#fff;box-shadow:none}.btn.success{background:var(--correct);color:#fff;box-shadow:none}.btn.small{width:auto;padding:7px 12px;font-size:.82rem}.btn.icon-btn{padding:7px 10px}.btn-row{gap:8px;margin-top:8px;display:flex}.live-session-bottom-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:28px;padding-top:20px}.error-text{color:var(--incorrect);margin-bottom:10px;font-size:.85rem;font-weight:600}.hint-link{text-align:center;color:var(--text-soft);margin-top:18px;font-size:.85rem;display:block}.hint-link a{color:var(--gold-deep);font-weight:700;text-decoration:none}.hint-link a:hover{text-decoration:underline}.lang-switch{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}@media (width<=520px){.lang-switch{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;margin:0 -4px;padding:2px 4px;overflow-x:auto}.lang-switch button{flex:none}}.lang-switch button{font:inherit;border:1px solid var(--border);color:var(--text-soft);cursor:pointer;background:0 0;border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:700}.lang-switch button.active{background:var(--ink);border-color:var(--ink);color:var(--panel)}.lang-switch button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.app-shell{min-height:100vh;display:flex}.app-nav{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;flex:0 0 208px;gap:4px;width:208px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow:hidden}.app-nav-links{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow-y:auto}.app-nav .brand-block{text-align:center;padding:0 8px 18px}.brand-row{flex-direction:column;align-items:center;gap:4px;display:flex}.brand-icon-wrap{flex:none;justify-content:center;align-items:center;display:flex}.brand-icon{width:auto;height:34px;display:block}:root:is([data-theme=niebo-gory],[data-theme=niebo-przestrzen]) .brand-icon-wrap{background:#fff;border-radius:50%;width:72px;height:72px}.app-nav .brand{font-family:var(--font-display);color:var(--marker-blue);letter-spacing:.01em;overflow-wrap:anywhere;font-size:1.15rem}:root:is([data-theme=niebo-gory],[data-theme=niebo-przestrzen]) .app-nav .brand{color:#fff}.app-nav .brand-tagline{font-family:var(--font-script);color:var(--text-soft);margin-top:2px;font-size:.8rem}.app-nav a{border-radius:var(--radius-sm);color:var(--text-soft);padding:10px 12px;font-size:.92rem;font-weight:600;text-decoration:none;display:block}.app-nav a.active,.app-nav a:hover{background:var(--field-bg);color:var(--text)}.app-nav>div>a{color:var(--text-soft)}.nav-footer{flex-direction:column;gap:10px;margin-top:auto;padding-top:16px;display:flex}.teacher-meta{border-top:1px solid var(--border);color:var(--text-soft);margin:18px 0 8px;padding:12px 14px;font-size:.88rem;line-height:1.4;overflow:hidden}.teacher-meta .teacher-email{overflow-wrap:anywhere}.teacher-meta .teacher-name{color:var(--text);font-weight:700}.teacher-meta .teacher-email{margin-top:2px}.app-main{flex-direction:column;flex:1;gap:24px;width:100%;max-width:920px;margin:0 auto;padding:28px 32px;display:flex}.app-main-wide{max-width:none}.app-main-fill,body.live-session-active .app-main{height:100vh;overflow:hidden}@media (width<=760px){.app-shell{flex-direction:column}.app-nav{width:100%;height:auto;max-height:42vh;padding:6px 10px calc(6px + env(safe-area-inset-bottom));border-right:none;border-top:1px solid var(--border);z-index:40;flex-direction:column;gap:0;max-height:128px;position:fixed;inset:auto 0 0;overflow:hidden;box-shadow:0 -4px 14px #14141814}.app-nav .brand-block,.app-nav .teacher-meta,.app-nav .student-avatar-badge{display:none}.app-nav-links{-webkit-overflow-scrolling:touch;flex-direction:row;gap:2px;padding-bottom:2px;overflow:auto hidden}.app-nav-links a{white-space:nowrap;flex:none;padding:8px 10px;font-size:.72rem}.nav-footer{border-top:1px solid var(--border);flex-direction:row;justify-content:space-between;align-items:center;gap:10px;margin-top:0;padding-top:6px}.lang-switch{flex-wrap:nowrap;overflow-x:auto}.app-main{padding:18px 16px calc(128px + 16px + env(safe-area-inset-bottom))}.teacher-badge-topright{padding:3px 10px 3px 3px;top:10px;right:10px}.teacher-badge-name{max-width:34vw}}.teacher-badge-topright{background:var(--panel);box-shadow:var(--shadow-sm);z-index:20;border-radius:999px;align-items:center;gap:7px;padding:4px 14px 4px 4px;display:flex;position:fixed;top:20px;right:28px}.teacher-badge-avatar{background:var(--gold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.05rem;display:flex}.teacher-badge-text{flex-direction:column;line-height:1.2;display:flex}.teacher-badge-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.82rem;font-weight:700;overflow:hidden}.teacher-badge-initials{color:var(--text-soft);letter-spacing:.04em;font-size:.7rem;font-weight:600}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-header .subtitle{color:var(--text-soft);max-width:560px;margin:8px 0 0}.link-button{color:var(--gold-deep);cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-header h2{margin:0;font-size:1.05rem}.section-header p{color:var(--text-soft);max-width:660px;margin:8px 0 0}.status-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;justify-content:center;gap:5px;min-width:170px;padding:14px 18px;display:inline-flex}.status-chip-button{font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s}.status-chip-button:hover:not(:disabled){border-color:var(--gold);box-shadow:var(--shadow-sm)}.status-chip-button:disabled{cursor:default}.status-chip span{text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-size:.72rem}.status-chip strong{color:var(--text);font-size:1rem}.dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;padding:18px;display:flex}.summary-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);min-height:2.7em;margin-bottom:10px;font-size:.78rem;line-height:1.35}.summary-value{color:var(--ink);font-size:2rem;font-weight:700}.student-list{gap:14px;display:grid}.student-card{flex-direction:column;justify-content:flex-start;align-items:stretch;gap:14px;padding:18px;display:flex}.student-card-main{flex:auto;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.student-subtitle{color:var(--text-soft);margin-top:6px;font-size:.92rem}.student-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.section-card{margin-bottom:20px;padding:18px}.create-tab-row{flex-wrap:wrap;align-items:flex-end;gap:12px}.create-tab-row .input{flex:1;min-width:140px}.subject-carousel{-webkit-overflow-scrolling:touch;gap:8px;padding:4px 2px 12px;display:flex;overflow-x:auto}.subject-carousel-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-alt);cursor:pointer;width:84px;color:var(--text);text-align:center;flex-direction:column;flex:none;align-items:center;gap:4px;padding:12px 6px;font-size:.74rem;font-weight:600;display:flex}.subject-carousel-item:hover{border-color:var(--gold)}.subject-carousel-item.active{background:var(--gold);border-color:var(--gold);color:#fff}.subject-carousel-icon{font-size:1.5rem}.subject-carousel-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.library-search-bar{max-width:420px;margin:4px 0 20px}.library-search-results-count{color:var(--text-soft);margin:-12px 0 16px;font-size:.8rem}.library-subject-panel{border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.pack-section{margin-bottom:18px}.pack-section:last-of-type{margin-bottom:0}.pack-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin-bottom:8px;font-size:.78rem}.pack-section .card-row{margin-bottom:8px}.pack-section .card-row:last-child{margin-bottom:0}.pan-pingus-section.pan-pingus-standalone{border-top:2px dashed var(--border);margin-top:32px;padding-top:24px}.pan-pingus-heading{align-items:center;gap:14px;margin-bottom:14px;display:flex}.pan-pingus-icon{object-fit:contain;flex-shrink:0;width:44px;height:44px}.pan-pingus-heading h2{margin:0 0 2px}.pan-pingus-heading p{color:var(--text-soft);margin:0;font-size:.85rem}.pan-pingus-section .card-row{margin-bottom:8px}.pan-pingus-section .card-row:last-child{margin-bottom:0}.new-exercise-form{margin-top:16px}.type-chip-row{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.type-chip{border:1px solid var(--border);background:var(--surface-alt);cursor:pointer;color:var(--text);border-radius:999px;padding:5px 12px;font-size:.78rem}.type-chip:hover{border-color:var(--gold)}.type-chip.active{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:700}.more-options-toggle{align-self:flex-start;margin-bottom:15px}.pill.neutral{background:var(--surface-alt);color:var(--text)}.exercise-list{gap:14px;margin-top:18px;display:grid}.exercise-card{padding:16px}.exercise-meta{color:var(--text-soft);margin-top:10px;font-size:.88rem}.student-plan-page{flex-direction:column;gap:24px;display:flex}.student-plan-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.student-tab-row{border-bottom:1px solid var(--border);gap:6px;margin:18px 0;display:flex}.student-tab{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-weight:600}.student-tab.active{color:var(--gold-deep);border-bottom-color:var(--gold)}.stats-panel{padding:20px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.stats-tile{background:var(--surface-alt);border-radius:var(--radius-sm);text-align:center;padding:16px}.stats-tile-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin-bottom:8px;font-size:.75rem}.stats-tile-value{color:var(--text);font-size:1.8rem;font-weight:800}.stats-tile .streak-badge{justify-content:center}.stats-tile-sub{color:var(--text-soft);margin-top:2px;font-size:.78rem}.plan-summary-overview{flex-wrap:wrap;gap:12px;display:flex}.summary-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:172px;padding:14px 16px}.summary-chip strong{margin-bottom:6px;font-weight:700;display:block}.summary-chip span{color:var(--text-soft);font-size:.9rem}.student-plan-grid{grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:20px;display:grid}.student-plan-sidebar,.student-plan-main{flex-direction:column;gap:20px;display:flex}.plan-select-card,.plan-metrics-card,.day-window-card,.recommendation-panel,.library-section{padding:18px}.plan-select-card .section-header,.plan-metrics-card .section-header,.day-window-card .section-header,.recommendation-panel .section-header,.library-section .section-header{margin-bottom:16px}.plan-date-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.day-part-toggle{flex-wrap:wrap;gap:10px;margin:12px 0 18px;display:flex}.day-part-toggle button{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;padding:9px 12px;font-size:.85rem}.day-part-toggle button.active{background:var(--gold);border-color:var(--gold-deep);color:#2a1c05}.date-chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-width:140px;color:var(--text);justify-content:center;align-items:center;padding:10px 12px;font-weight:700;display:inline-flex}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.week-strip.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.day-pill{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;gap:8px;padding:14px 16px;transition:transform .15s,border-color .15s;display:flex}.day-pill:hover{transform:translateY(-1px)}.day-pill.active{background:var(--field-bg);border-color:var(--gold)}.day-pill.drag-over{border-color:var(--gold);transform:translateY(-3px);box-shadow:0 6px 22px #2a1c0514}.day-pill span{color:var(--text-soft);font-size:.88rem;display:block}.day-pill strong{color:var(--ink);font-size:.95rem}.plan-card-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.assignment-row{gap:12px;padding:14px 0}.card-row.assignment-row{align-items:center}.card-row.assignment-row[draggable=true]{cursor:grab}.card-row.assignment-row:active{cursor:grabbing}.card-row.assignment-summary.drag-over,.day-window-card.drag-over,.day-pill.drag-over{outline:3px solid #d3a55b1f}.assignment-row{transition:transform .12s,box-shadow .12s}.assignment-row+.assignment-row{border-top:1px solid var(--border)}.undo-row{justify-content:flex-end;margin-top:10px;display:flex}.undo-row .btn{width:auto}.card-row.assignment-summary{border-bottom:1px solid var(--border);align-items:flex-start;gap:18px;margin-bottom:18px;padding-bottom:18px}.plan-actions-inline{justify-content:flex-end;align-items:center;display:flex}.pill{border-radius:999px;justify-content:center;align-items:center;padding:4px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.pill.approved{color:#1f6b40;background:#c7e8d3;border:1px solid #1f6b4059;font-weight:700}.pill.pending{color:var(--gold-deep);background:#f6e9d2;border:1px solid #8c5f2240}.pill.revoked{color:var(--incorrect);background:#f6dcdc;border:1px solid #d8574b40}.pill.archived{background:var(--field-bg);color:var(--text-soft);border:1px solid var(--border)}.readonly-field{border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--text-soft);padding:12px 14px}.status-text{margin:-6px 0 10px;font-size:.85rem;font-weight:600}.status-text.success{color:var(--correct)}.status-text.error{color:var(--incorrect)}.status-text.muted{color:var(--text-soft)}.archive-day-header{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:none;padding:0}.row-trigger{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;flex:1;padding:0}.archive-day-detail{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;display:flex}.archive-exercise-row{padding:6px 0}.student-toggle-row{flex-wrap:wrap;flex-shrink:0;gap:18px;display:flex}.toggle-field{cursor:pointer;align-items:center;gap:8px;display:flex}.toggle-field span{color:var(--text-soft);white-space:nowrap;font-size:.82rem}.student-avatar-emoji{background:var(--field-bg);border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;display:inline-flex}.student-avatar-badge{color:var(--text);align-items:center;gap:8px;margin-bottom:8px;padding:8px;font-size:.85rem;font-weight:600;display:flex}.plan-status{margin-top:12px}.status-pill{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-flex}.assignment-title{margin-bottom:6px;font-weight:700}.recommendation-panel .plan-card-header,.library-section .plan-card-header{margin-bottom:16px}.locked-panel{color:var(--text-soft);flex-direction:column;gap:14px;padding:18px 0;display:flex}.suggestion-card{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;display:flex}@media (width<=980px){.student-plan-grid{grid-template-columns:1fr}.week-strip.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.plan-date-row,.week-strip,.week-strip.compact{grid-template-columns:1fr}}.exercise-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:14px}.exercise-card .desc{color:var(--text-soft);margin-top:4px;font-size:.85rem}.celebration-card{text-align:center;margin-top:28px;padding:12px 0 8px;position:relative}.celebration-emoji{font-size:3.4rem;animation:.9s cubic-bezier(.36,1.6,.6,1) both celebration-bounce;display:inline-block}.celebration-sparkle{opacity:0;font-size:1.4rem;animation:1.4s ease-out .25s both celebration-sparkle;position:absolute}.celebration-sparkle.left{top:6px;left:22%}.celebration-sparkle.right{animation-delay:.4s;top:6px;right:22%}.celebration-card p{font-family:var(--font-script);color:var(--gold-deep);opacity:0;margin-top:6px;font-size:1.7rem;animation:.5s ease-out .3s both celebration-text-in}@keyframes celebration-bounce{0%{opacity:0;transform:scale(0)rotate(-12deg)}60%{opacity:1;transform:scale(1.15)rotate(6deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes celebration-sparkle{0%{opacity:0;transform:translateY(0)scale(.4)rotate(0)}40%{opacity:1}to{opacity:0;transform:translateY(-28px)scale(1.1)rotate(25deg)}}@keyframes celebration-text-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card-row.assignment-row{background:linear-gradient(#ffffff05,#00000003);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s,opacity .12s;display:flex;box-shadow:0 6px 18px -10px #0a0a0a1f}.card-row.assignment-row:hover{transform:translateY(-6px);box-shadow:0 18px 36px -18px #0a0a0a29}.card-row.assignment-row.dragging{opacity:.6;transform:rotate(-2deg)scale(.99)}.assignment-meta{flex-direction:column;gap:6px;display:flex}.assignment-meta .meta-row{color:var(--text-soft);font-size:.86rem}.suggestion-card{transition:transform .12s,box-shadow .12s}.suggestion-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #0a0a0a14}.day-pill{min-height:74px;padding:16px 18px;position:relative}.day-pill:after{content:attr(data-count);background:var(--gold);color:#2a1c05;border:2px solid #ffffff0f;border-radius:999px;padding:6px 8px;font-size:.78rem;font-weight:800;position:absolute;top:10px;right:10px;box-shadow:0 6px 12px #2a1c050f}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.recommendation-panel,.day-window-card,.plan-select-card{animation:.26s both fadeInUp}.day-pill.active{box-shadow:0 10px 28px #d3a55b17}.day-pill.active:before{content:"";background:linear-gradient(90deg,#d3a55b0f,#d3a55b00);border-radius:999px;height:6px;position:absolute;bottom:8px;left:8px;right:8px}.drop-target-placeholder{background:linear-gradient(#d3a55b05,#d3a55b03);border:2px dashed #d3a55b47;border-radius:8px;padding:10px}.avatar-grid{flex-wrap:wrap;gap:8px;display:flex}.avatar-grid button{background:var(--surface-alt);cursor:pointer;border:2px solid #0000;border-radius:50%;width:42px;height:42px;font-size:1.3rem}.avatar-grid button.selected{border-color:var(--gold)}.empty-state{text-align:center;color:var(--text-soft);padding:40px 20px}.plan-summary-bar{margin-bottom:20px;padding:20px 24px}.plan-actions-bar{margin-top:20px;padding:18px 24px}.day-tiles-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.day-tile{border-left:4px solid var(--border);flex-direction:column;padding:18px;animation:.22s both fadeInUp;display:flex}.day-tile.status-past{border-left-color:var(--border);background:var(--field-bg)}.day-tile.status-today{border-left-color:var(--gold)}.day-tile.status-future{border-left-color:var(--border)}.day-tile.drag-over{box-shadow:0 6px 22px #2a1c051a}.day-tile-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.day-tile .assignment-row{margin-bottom:8px}.tile-add-row{flex-direction:column;gap:6px;margin-top:12px;display:flex}.tile-add-row .btn{justify-content:flex-start;width:100%}.btn.small.tile-add-plus{border-radius:50%;justify-content:center;align-self:center;align-items:center;width:36px;height:36px;margin-top:12px;padding:0;font-size:1.2rem;font-weight:700;display:flex}.manual-entry-form{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;display:flex}.content-type-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.content-type-chip.selected{background:var(--gold);border-color:var(--gold-deep);color:#2a1c05}.chip-pick-badge{background:var(--correct);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:800;display:inline-flex}.library-picker-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#2a1c0559;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.library-picker-modal{background:var(--panel);width:100%;max-width:560px;max-height:80vh;box-shadow:var(--shadow-md);border-radius:20px;padding:32px;animation:.22s both modalIn;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.confirm-modal{background:var(--panel);width:100%;max-width:400px;box-shadow:var(--shadow-md);border-radius:20px;padding:28px;animation:.22s both modalIn}.confirm-modal h2{margin-bottom:8px}.confirm-modal p{color:var(--text-soft)}.homework-day-modal{max-width:640px;max-height:85vh;overflow-y:auto}.activity-modal{max-width:780px;max-height:85vh;overflow-y:auto}.homework-student-row{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none}.homework-exercise-list{flex-direction:column;gap:6px;margin:6px 0 10px 16px;display:flex}.homework-exercise-row{font-size:.85rem}.homework-student-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.homework-student-row{border-bottom:1px solid var(--border);padding:8px 0}.homework-student-row:last-child{border-bottom:none}.library-pick-list{flex-direction:column;gap:8px;display:flex}.library-pick-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:left;cursor:pointer;font:inherit;color:var(--text);align-items:flex-start;gap:12px;width:100%;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.library-pick-item:hover{border-color:var(--gold)}.library-pick-item.picked{border-color:var(--correct);background:#dceee1}.pick-check{border:1.5px solid var(--border);width:20px;height:20px;color:var(--correct);background:var(--panel);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.plan-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.plan-select-card{text-align:left;cursor:pointer;width:100%;font:inherit}.status-pill{align-items:center}.status-pill.status-draft{color:var(--text-soft)}.status-pill.status-scheduled,.status-pill.status-active,.status-pill.status-archived{color:var(--text-soft);background:var(--field-bg);border-color:var(--border)}.status-pill.status-scheduled:before,.status-pill.status-active:before{content:"";background:var(--incorrect);border-radius:50%;width:7px;height:7px;margin-right:6px;animation:1.6s ease-in-out infinite call-timer-pulse;display:inline-block}.new-plan-form{max-width:420px}.plan-progress{background:var(--field-bg);border-radius:999px;height:8px;margin:12px 0 6px;overflow:hidden}.plan-progress-fill{background:linear-gradient(90deg, var(--gold), var(--gold-deep));border-radius:999px;height:100%;transition:width .3s}.settings-grid{flex-direction:column;gap:24px;display:flex}.settings-block{padding:24px 28px}.settings-block h3{margin-bottom:4px}.settings-block .block-hint{color:var(--text-soft);margin-bottom:16px;font-size:.85rem}.settings-row{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:12px 14px;display:flex}.settings-row:last-child{margin-bottom:0}.settings-row-text{flex-direction:column;gap:2px;display:flex}.settings-row-text strong{font-size:.92rem}.settings-row-text span{color:var(--text-soft);font-size:.82rem}.settings-row.disabled{opacity:.55}.theme-picker{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.theme-swatch{border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--surface-alt) center/cover no-repeat;cursor:pointer;height:90px;padding:0;transition:border-color .12s,transform .12s;position:relative;overflow:hidden}.theme-swatch:hover{transform:translateY(-1px)}.theme-swatch.selected{border-color:var(--gold-deep);box-shadow:0 0 0 2px var(--gold)}.theme-swatch span{color:#fff;text-align:left;background:linear-gradient(#0000,#0009);padding:6px 8px;font-size:.78rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.settings-inline-input{border:1px solid var(--border);background:var(--panel);width:56px;color:var(--text);font:inherit;text-align:center;border-radius:6px;padding:4px 6px}.toggle{flex:none;width:40px;height:22px;display:inline-block;position:relative}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle .track{background:var(--border);cursor:pointer;border-radius:999px;transition:background .15s;position:absolute;inset:0}.toggle .track:before{content:"";background:var(--panel);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle input:checked+.track{background:var(--gold)}.toggle input:checked+.track:before{transform:translate(18px)}.toggle input:disabled+.track{cursor:not-allowed;opacity:.6}.phase2-pill{background:var(--field-bg);color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;margin-left:8px;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.weekday-chips{flex-wrap:wrap;gap:8px;margin:10px 0 16px;display:flex}.weekday-chips button{border:1px solid var(--border);background:var(--panel);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:50%;font-size:.82rem;font-weight:700;transition:background .15s,border-color .15s,color .15s}.weekday-chips button.selected{background:var(--gold);border-color:var(--gold-deep);color:#2a1c05}.day-pill{border-left:4px solid #0000}.day-pill.status-completed{border-left-color:var(--correct)}.day-pill.status-today{border-left-color:var(--gold)}.day-pill.status-incomplete{border-left-color:var(--incorrect)}.day-pill.status-empty,.day-pill.status-upcoming{border-left-color:var(--border)}.marketing-page{background:var(--page-bg);flex-direction:column;min-height:100vh;padding-bottom:70px;display:flex}.marketing-nav{justify-content:space-between;align-items:center;width:100%;max-width:1000px;margin:0 auto;padding:24px 32px 0;display:flex}.marketing-logo{font-family:var(--font-display);color:var(--ink);flex-direction:column;align-items:center;gap:2px;font-size:1.3rem;display:inline-flex}.marketing-logo-icon{width:auto;height:22px}.marketing-hero{text-align:center;padding-bottom:40px}.marketing-hero h1{max-width:720px;margin:32px auto 12px;font-size:clamp(1.8rem,4vw,2.6rem)}.marketing-subtitle{max-width:560px;color:var(--text-soft);margin:0 auto;font-size:1.05rem}.legal-hero{text-align:left;padding-bottom:16px}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;width:100%;max-width:1080px;margin:0 auto;padding:0 32px 60px;display:grid}.pricing-card{flex-direction:column;padding:28px 22px;display:flex;position:relative}.pricing-highlight{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset}.pricing-badge{background:var(--gold);color:#2a1c05;white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:.7rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-card h2{margin-bottom:4px}.pricing-price{color:var(--ink);margin:8px 0 2px;font-size:2rem;font-weight:800}.pricing-period{color:var(--text-soft);font-size:.95rem;font-weight:500}.pricing-limit{color:var(--text-soft);margin-bottom:16px;font-size:.88rem}.pricing-features{flex-direction:column;flex:1;gap:8px;margin:0 0 22px;padding:0;list-style:none;display:flex}.pricing-features li{color:var(--text);padding-left:18px;font-size:.9rem;position:relative}.pricing-features li:before{content:"✓";color:var(--gold-deep);font-weight:700;position:absolute;left:0}.legal-page{width:100%;max-width:720px;margin:0 auto;padding:0 32px 60px;line-height:1.65}.legal-page h1{margin-bottom:4px}.legal-page h2{margin:28px 0 10px;font-size:1.15rem}.legal-page p,.legal-page ul{color:var(--text);margin-bottom:12px}.legal-page li{margin-bottom:4px}.legal-updated{color:var(--text-soft);margin-bottom:24px;font-size:.85rem}.legal-footer-links{color:var(--text-soft);text-align:center;margin-top:14px;font-size:.8rem}.legal-footer-links a{color:var(--text-soft)}.cookie-table{border-collapse:collapse;width:100%;margin:12px 0 20px;font-size:.86rem}.cookie-table th,.cookie-table td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.cookie-table th{color:var(--text-soft);font-weight:600}.marketing-footer{text-align:center;color:var(--text-soft);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:16px;margin-top:auto;padding:24px 32px;font-size:.85rem;display:flex}.marketing-footer a{color:var(--text-soft)}.cookie-banner{z-index:60;background:var(--panel);border-top:1px solid var(--border);box-shadow:var(--shadow-md);flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;padding:16px 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.cookie-banner p{max-width:640px;color:var(--text-soft);margin:0;font-size:.86rem}.cookie-banner .btn-row{flex:none}.error-toast-host{z-index:100;flex-direction:column;gap:8px;max-width:min(360px,100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.error-toast{background:var(--ink);color:var(--panel);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);align-items:flex-start;gap:10px;padding:12px 12px 12px 16px;font-size:.88rem;line-height:1.4;display:flex}.error-toast:before{content:"⚠️";flex:none}.error-toast span{flex:auto}.error-toast button{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;flex:none;padding:0 2px;font-size:1.1rem;line-height:1}.error-toast button:hover{opacity:1}.admin-brand{font-family:var(--font-display);color:var(--ink);margin-bottom:14px;font-size:1.3rem}.admin-teacher-meta{color:var(--text-soft);flex-direction:column;flex:none;gap:2px;margin:0 16px;font-size:.8rem;display:flex}.chat-fab{background:var(--gold);width:56px;height:56px;color:var(--panel);cursor:pointer;box-shadow:var(--shadow-md);z-index:45;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.4rem;transition:transform .15s;display:flex;position:fixed;bottom:28px;right:28px}.chat-fab:hover{transform:scale(1.06)}.announcement-fab{background:var(--surface);width:56px;height:56px;color:var(--gold-deep);cursor:pointer;box-shadow:var(--shadow-md);border:none;border:1.5px solid var(--border);z-index:43;border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;font-weight:700;line-height:1;transition:transform .15s;display:flex;position:fixed;bottom:28px;right:100px}.announcement-fab:hover{transform:scale(1.06)}.chat-fab.has-unread{animation:1.6s ease-in-out infinite chat-fab-pulse}@keyframes chat-fab-pulse{0%,to{box-shadow:var(--shadow-md), 0 0 0 0 #c08a3e73}50%{box-shadow:var(--shadow-md), 0 0 0 10px #c08a3e00}}@media (width<=760px){.chat-fab,.announcement-fab{bottom:calc(112px + env(safe-area-inset-bottom))}.chat-fab{right:16px}.announcement-fab{right:82px}}.chat-fab-badge{background:var(--incorrect);color:#fff;border:2px solid var(--page-bg);border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.68rem;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px}.chat-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(360px,100vw - 48px);height:min(520px,100vh - 140px);box-shadow:var(--shadow-md);z-index:44;opacity:0;pointer-events:none;flex-direction:column;transition:opacity .15s,transform .15s;display:flex;position:fixed;bottom:96px;right:28px;overflow:hidden;transform:translateY(12px)scale(.98)}.chat-panel.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.chat-panel-left{left:28px;right:auto}.chat-panel-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.chat-panel-close{color:var(--text-soft);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1rem}.chat-panel .live-chat{border:none;border-radius:0;flex:1;height:auto;margin-top:0}.live-session-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow-y:auto}.live-session-participants{flex:1;min-height:0;margin-top:16px;overflow-y:auto}.live-stage{flex-direction:column;flex:1;gap:12px;min-height:0;margin-bottom:16px;display:flex}.live-stage-toolbar{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.live-stage-toggle{gap:8px;display:flex}.live-stage-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-soft);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:.86rem}.live-stage-toggle button.active{background:var(--gold);border-color:var(--gold);color:var(--panel);font-weight:700}.live-stage-body{flex:1;gap:16px;min-height:0;display:flex}.live-stage-content{flex-direction:row;flex:1;align-items:stretch;gap:12px;min-width:0;display:flex}.live-stage-content .live-stage-whiteboard-wrap,.live-stage-content .live-self-spotlight{flex:1;min-width:0;min-height:0}.live-stage-content .live-stage-side{flex:none;width:220px}.live-stage-whiteboard-wrap{display:flex;position:relative}.live-stage-whiteboard-wrap .whiteboard{flex:1;min-width:0;min-height:0}.live-self-spotlight{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;overflow:hidden}.live-self-spotlight .lk-participant-tile{flex:1;min-width:0;min-height:0}.live-self-spotlight .lk-participant-media-video{object-fit:contain}.live-self-spotlight-screen .lk-participant-media-video{object-fit:contain;background:#000}.live-screenshare-control{flex:none;align-items:center;gap:10px;display:flex}.live-screenshare-control:empty{display:none}.live-screenshare-active-notice{color:var(--text-soft);font-size:.82rem;font-weight:600}.live-screenshare-denied-notice{color:var(--danger,#c0392b);font-size:.82rem}.live-screenshare-overlay{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 8px 24px #00000040}.live-screenshare-overlay-bar{background:var(--surface-alt);border-bottom:1px solid var(--border);cursor:move;-webkit-user-select:none;user-select:none;flex:none;padding:6px 10px;font-size:.78rem;font-weight:600}.live-screenshare-overlay-body{flex:1;min-height:0;display:flex}.live-screenshare-overlay-body .lk-participant-tile{flex:1;min-width:0;min-height:0}.live-screenshare-overlay-body .lk-participant-media-video{object-fit:contain;background:#000}.live-screenshare-overlay-resize{cursor:nwse-resize;background:linear-gradient(135deg, transparent 50%, var(--border) 50%);width:16px;height:16px;position:absolute;bottom:0;right:0}.live-stage-side{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;display:flex;overflow:hidden}.live-stage-side-header{border-bottom:1px solid var(--border);flex:none;align-items:center;display:flex}.live-stage-side-tabs{flex:1;min-width:0;display:flex}.live-stage-side-tabs button{color:var(--text-soft);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 8px;font-size:.82rem;font-weight:600;position:relative}.live-stage-side-tabs button.active{color:var(--gold-deep);box-shadow:inset 0 -2px 0 var(--gold)}.live-stage-side-tabs button.has-unread{animation:1.6s ease-in-out infinite chat-fab-pulse}.live-own-controls{flex:none;align-items:center;gap:4px;padding:0 8px;display:flex}.live-own-controls .live-room-no-perms{font-size:.72rem}.live-stage-side-body{flex:1;min-width:0;min-height:0;padding:8px;overflow-y:auto}.live-stage-side-body .live-chat{border:none;border-radius:0;width:calc(100% + 16px);height:100%;margin:-8px}.live-video-list{flex-direction:column;gap:10px;display:flex}.live-video-tile{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.live-video-tile .lk-participant-tile{aspect-ratio:4/3}.live-video-tile-perms{background:var(--surface-alt);border-top:1px solid var(--border);justify-content:space-around;align-items:center;gap:4px;padding:6px 4px;display:flex}.live-chat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;min-height:0;display:flex}.live-chat-messages{flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex;overflow-y:auto}.live-chat-empty{color:var(--text-soft);text-align:center;margin-top:16px;font-size:.82rem}.live-chat-message{align-items:flex-start;gap:6px;max-width:85%;display:flex}.live-chat-message.own{text-align:right;flex-direction:row-reverse;align-self:flex-end}.live-chat-avatar{background:var(--surface-alt);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.85rem;display:flex}.live-chat-body{min-width:0}.live-chat-sender{color:var(--text-soft);margin-bottom:2px;font-size:.7rem}.live-chat-bubble{background:var(--surface-alt);word-break:break-word;border-radius:12px;padding:6px 10px;font-size:.85rem;display:inline-block}.live-chat-message.own .live-chat-bubble{background:var(--gold);color:#fff}.live-chat-input-row{border-top:1px solid var(--border);gap:8px;min-width:0;padding:10px;display:flex}.live-chat-input-row input{border:1px solid var(--border);background:var(--field-bg);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:6px 10px}.live-chat-input-row button{flex:none}.live-room{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.live-room [class*=lk-grid-layout]{flex:1;min-height:0}.live-room-no-perms{color:var(--text-soft);font-size:.85rem}.whiteboard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;min-height:0;padding:12px;display:flex}.whiteboard-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.whiteboard-tools{flex-wrap:nowrap;gap:6px;display:flex;overflow-x:auto}.whiteboard-tools button{flex-shrink:0}.whiteboard-colors{gap:8px;display:flex}.whiteboard-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px;padding:0}.whiteboard-swatch.active{border-color:var(--gold)}.whiteboard-clear{align-self:flex-start}.whiteboard-pages-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.whiteboard-pages-tabs{flex-wrap:wrap;gap:4px;display:flex}.whiteboard-page-tab{border:1px solid var(--border);background:var(--surface-alt);color:var(--text-soft);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600}.whiteboard-page-tab.active{background:var(--gold);border-color:var(--gold);color:#fff}.whiteboard-page-add{border-style:dashed}.whiteboard-canvas-wrap{border-radius:var(--radius-sm);border:1px solid var(--border);background:#fff;flex:1;width:100%;min-height:420px;position:relative;overflow:hidden}.whiteboard-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.whiteboard-canvas.drawable{cursor:crosshair}.whiteboard-readonly-badge{color:#fff;z-index:5;background:#2a2a2ebf;border-radius:8px;padding:6px 10px;font-size:.78rem;position:absolute;top:10px;left:10px}.whiteboard-hand-status{color:#fff;z-index:6;background:#2a2a2ebf;border-radius:8px;padding:6px 10px;font-size:.78rem;position:absolute;top:10px;right:10px}.whiteboard-hand-status .hand-status-error{color:#ffb4b4}.whiteboard-hand-cursor{pointer-events:none;z-index:6;background:#2f6fd640;border:2px solid #2f6fd6;border-radius:50%;width:18px;height:18px;margin-top:-9px;margin-left:-9px;transition:width .1s,height .1s,margin .1s;position:absolute}.whiteboard-hand-cursor.pinching{background:#d645458c;border-color:#d64545;width:12px;height:12px;margin-top:-6px;margin-left:-6px}.whiteboard-elements-layer{pointer-events:none;position:absolute;inset:0}.whiteboard-element{pointer-events:auto;position:absolute}.whiteboard-element.selected{outline:1.5px dashed var(--gold-deep);outline-offset:4px}.whiteboard-element-delete{background:var(--incorrect);color:#fff;cursor:pointer;z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;line-height:1;display:flex;position:absolute;top:-10px;right:-10px}.whiteboard-element-move{background:var(--gold);color:#fff;cursor:grab;z-index:2;touch-action:none;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.8rem;line-height:1;display:flex;position:absolute;top:-10px;left:-10px}.whiteboard-element-resize{background:var(--marker-blue,var(--gold));color:#fff;cursor:nwse-resize;z-index:2;touch-action:none;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;line-height:1;display:flex;position:absolute;bottom:-10px;right:-10px}.whiteboard-element.dragging{opacity:.85;z-index:4}.whiteboard-exercise-card{background:var(--surface);border:1px solid var(--gold);min-width:180px;box-shadow:var(--shadow-sm);border-radius:8px;padding:10px}.whiteboard-exercise-title{margin-bottom:4px;font-weight:700}.whiteboard-image{border-radius:6px;width:100%;height:auto;display:block}.whiteboard-youtube{aspect-ratio:16/9;width:100%;position:relative}.whiteboard-youtube iframe{border-radius:6px;width:100%;height:100%;position:absolute;inset:0}.whiteboard-composing{background:var(--surface);border:1px solid var(--gold);min-width:220px;box-shadow:var(--shadow-md);z-index:3;border-radius:8px;padding:10px}.whiteboard-text-tools{gap:4px;margin-bottom:8px;display:flex}.whiteboard-text-tools select{border:1px solid var(--border);border-radius:6px;font-size:.8rem}.whiteboard-composing textarea,.whiteboard-composing input[type=text]{border:1px solid var(--border);background:var(--field-bg);width:100%;min-height:60px;color:var(--text);resize:vertical;border-radius:6px;padding:6px 8px;font-family:inherit}.whiteboard-composing .btn-row{justify-content:flex-end;margin-top:8px}.call-timer{font-variant-numeric:tabular-nums;color:var(--text-soft);align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.call-timer-dot{background:var(--incorrect);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite call-timer-pulse}@keyframes call-timer-pulse{0%,to{opacity:1}50%{opacity:.35}}.streak-badge{color:var(--gold-deep);align-items:center;gap:4px;font-size:1.5rem;font-weight:800;animation:.5s cubic-bezier(.36,1.6,.6,1) both streak-pop;display:inline-flex}.streak-badge.small{gap:2px;font-size:.95rem}.streak-badge.zero{color:var(--text-soft)}.streak-badge.zero .streak-flame{filter:grayscale();opacity:.55;animation:none}.streak-flame{animation:1.6s ease-in-out infinite streak-flame-flicker;display:inline-block}.streak-count{font-variant-numeric:tabular-nums}@keyframes streak-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes streak-flame-flicker{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.08)rotate(-3deg)}50%{transform:scale(.96)rotate(2deg)}75%{transform:scale(1.05)rotate(-1deg)}}.streak-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.streak-best{color:var(--text-soft);font-size:.72rem;font-weight:700}.streak-strip{gap:6px;display:flex}.streak-day{flex-direction:column;align-items:center;gap:4px;display:flex}.streak-day-dot{border:1.5px solid var(--border);background:var(--field-bg);border-radius:50%;width:18px;height:18px}.streak-day-label{color:var(--text-soft);text-transform:uppercase;font-size:.65rem}.streak-day.done .streak-day-dot{background:var(--correct);border-color:var(--correct)}.streak-day.missed .streak-day-dot{border-color:var(--incorrect);background:#f6dcdc}.streak-day.today .streak-day-dot{border-color:var(--gold-deep);border-style:dashed}.streak-day.none .streak-day-dot{opacity:.5}@media (width<=720px){.live-stage-body{flex-direction:column;height:auto}.live-stage-content{flex-direction:column}.live-stage-content .live-stage-side{width:100%;height:220px}}.live-create-student-picker{flex-wrap:wrap;gap:8px;display:flex}.live-create-student-chip{border:1px solid var(--border);cursor:pointer;background:var(--surface-alt);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.82rem;display:flex}.live-create-student-chip:has(input:checked){border-color:var(--gold);background:var(--field-bg)}.live-page{flex-direction:column;height:100%;min-height:0;display:flex}.live-calendar{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.live-calendar-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.live-calendar-title{flex:1;font-size:1.05rem;font-weight:700}.live-calendar-weekdays{color:var(--text-soft);text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;font-size:.78rem;display:grid}.live-calendar-grid{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow-y:auto}.live-calendar-week{flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:6px;min-height:0;display:grid}.live-calendar-day{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:4px;height:100%;min-height:96px;padding:8px;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1414180a}.live-calendar-day:not(.empty):hover{border-color:var(--gold);transform:translateY(-1px);box-shadow:0 4px 14px #1414181a}.live-calendar-day:not(.empty):after{content:"+";color:var(--text-soft);opacity:0;font-size:.85rem;font-weight:700;transition:opacity .15s;position:absolute;top:4px;right:6px}.live-calendar-day:not(.empty):hover:after{opacity:1}.live-calendar-day.empty{box-shadow:none;background:0 0;border-color:#0000}.live-calendar-day.today{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb, var(--gold) 18%, transparent);border-width:2px}.live-calendar-day.past{opacity:.55;filter:grayscale(.4);cursor:default}.live-calendar-day.past:hover{border-color:var(--border);transform:none;box-shadow:0 1px 2px #1414180a}.live-calendar-day.past:after{content:none}.live-calendar-day.saturday{background:color-mix(in srgb, var(--marker-blue,var(--gold)) 8%, var(--surface));border-top:3px solid color-mix(in srgb, var(--marker-blue,var(--gold)) 55%, var(--border))}.live-calendar-day.sunday{background:color-mix(in srgb, var(--incorrect) 10%, var(--surface));border-top:3px solid color-mix(in srgb, var(--incorrect) 65%, var(--border))}.live-calendar-day.saturday .live-calendar-daynum{color:color-mix(in srgb, var(--marker-blue,var(--gold)) 70%, var(--text));font-weight:700}.live-calendar-day.sunday .live-calendar-daynum{color:var(--incorrect);font-weight:700}.live-calendar-day.holiday{background:color-mix(in srgb, var(--gold) 10%, var(--surface))}.live-calendar-daynum{color:var(--text-soft);align-items:center;gap:4px;font-size:.8rem;display:flex}.live-calendar-day.today .live-calendar-daynum{color:var(--gold-deep);font-weight:700}.live-calendar-holiday-dot{background:var(--gold-deep,var(--gold));border-radius:50%;flex-shrink:0;width:5px;height:5px}.live-calendar-sessions{flex-direction:column;gap:3px;display:flex;overflow-y:auto}.live-calendar-chip{text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;width:100%;padding:3px 6px;font-size:.72rem;display:block;overflow:hidden}.live-calendar-chip:disabled{cursor:default;opacity:.75}.live-calendar-homework{cursor:pointer;font-weight:700}.live-homework-row{flex-wrap:wrap;gap:3px;padding:2px 0 0;display:flex}.live-homework-chip{border:1.5px solid var(--border);background:var(--surface-alt,var(--surface));cursor:pointer;border-radius:999px;align-items:center;gap:3px;padding:1px 6px 1px 3px;font-size:.68rem;font-weight:600;display:inline-flex}.live-homework-chip.green{border-color:var(--correct);color:var(--correct);background:color-mix(in srgb, var(--correct) 16%, var(--surface))}.live-homework-chip.red{border-color:var(--incorrect);color:var(--incorrect);background:color-mix(in srgb, var(--incorrect) 12%, var(--surface))}.live-homework-chip.future{opacity:.6}@media (width<=700px){.app-main-fill{height:auto;overflow:visible}.live-calendar,.live-calendar-grid,.live-calendar-week{flex:none}.live-calendar-weekdays{display:none}.live-calendar-week{grid-template-columns:1fr}.live-calendar-day{flex-direction:row;align-items:center;gap:10px;height:84px;min-height:84px}.live-calendar-day.saturday,.live-calendar-day.sunday{border-top-width:1px;border-left-width:3px}.live-calendar-daynum{flex:none}.live-calendar-sessions,.live-homework-row{flex:auto;min-width:0}.live-calendar-day.empty{display:none}.live-calendar-day:not(.empty):after{content:none}}.welcome-modal{max-width:480px}.library-picker-overlay:has(.welcome-modal){z-index:70}.welcome-modal p{margin-bottom:12px;line-height:1.55}.welcome-modal__check{color:var(--text-soft);cursor:pointer;align-items:flex-start;gap:9px;margin:18px 0 20px;font-size:.88rem;display:flex}.welcome-modal__check input{cursor:pointer;width:17px;height:17px;accent-color:var(--gold);flex-shrink:0;margin-top:1px}[data-lk-theme=default]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--lk-bg:#111;--lk-bg2:#1e1e1e;--lk-bg3:#2b2b2b;--lk-bg4:#373737;--lk-bg5:#444;--lk-fg:#fff;--lk-fg2:#f5f5f5;--lk-fg3:#ebebeb;--lk-fg4:#e0e0e0;--lk-fg5:#d6d6d6;--lk-border-color:#ffffff1a;--lk-accent-fg:#fff;--lk-accent-bg:#1f8cf9;--lk-accent2:#3396fa;--lk-accent3:#47a0fa;--lk-accent4:#5babfb;--lk-danger-fg:#fff;--lk-danger:#f91f31;--lk-danger2:#fa3343;--lk-danger3:#fa4756;--lk-danger4:#fb5b68;--lk-success-fg:#fff;--lk-success:#1ff968;--lk-success2:#33fa75;--lk-success3:#47fa83;--lk-success4:#5bfb90;--lk-control-fg:var(--lk-fg);--lk-control-bg:var(--lk-bg2);--lk-control-hover-bg:var(--lk-bg3);--lk-control-active-bg:var(--lk-bg4);--lk-control-active-hover-bg:var(--lk-bg5);--lk-connection-excellent:#06db4d;--lk-connection-good:#f9b11f;--lk-connection-poor:#f91f31;--lk-font-family:system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--lk-font-size:16px;--lk-line-height:1.5;--lk-border-radius:.5rem;--lk-box-shadow:0 .5rem 1.5rem #00000026;--lk-drop-shadow:#fff3 0px 0px 24px;--lk-grid-gap:.5rem;--lk-control-bar-height:69px;--lk-chat-header-height:69px}.lk-button,.lk-start-audio-button,.lk-chat-toggle,.lk-disconnect-button{color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none;border:0;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;display:inline-flex;position:relative}.lk-button:not(:disabled):hover,.lk-start-audio-button:not(:disabled):hover,.lk-chat-toggle:not(:disabled):hover,.lk-disconnect-button:not(:disabled):hover{background-color:var(--lk-control-hover-bg)}.lk-button>svg,.lk-start-audio-button>svg,.lk-chat-toggle>svg,.lk-disconnect-button>svg{overflow:visible}.lk-button[aria-pressed=true],[aria-pressed=true].lk-start-audio-button,[aria-pressed=true].lk-chat-toggle,[aria-pressed=true].lk-disconnect-button{background-color:var(--lk-control-active-bg)}.lk-button[aria-pressed=true]:hover,[aria-pressed=true].lk-start-audio-button:hover,[aria-pressed=true].lk-chat-toggle:hover,[aria-pressed=true].lk-disconnect-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true],[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button{background-color:var(--lk-accent-bg)}.lk-button[data-lk-source=screen_share][data-lk-enabled=true]:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-start-audio-button:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-chat-toggle:hover,[data-lk-source=screen_share][data-lk-enabled=true].lk-disconnect-button:hover{background-color:var(--lk-accent2)}.lk-button:disabled,.lk-start-audio-button:disabled,.lk-chat-toggle:disabled,.lk-disconnect-button:disabled{opacity:.5}.lk-button-group{align-items:stretch;height:100%;display:inline-flex}.lk-button-group>.lk-button:first-child,.lk-button-group>.lk-start-audio-button:first-child,.lk-button-group>.lk-chat-toggle:first-child,.lk-button-group>.lk-disconnect-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-button-group-menu{flex-shrink:0;position:relative}.lk-button-group-menu>.lk-button,.lk-button-group-menu>.lk-start-audio-button,.lk-button-group-menu>.lk-chat-toggle,.lk-button-group-menu>.lk-disconnect-button{border-top-left-radius:0;border-bottom-left-radius:0;height:100%}.lk-button-group-menu>.lk-button:after,.lk-button-group-menu>.lk-start-audio-button:after,.lk-button-group-menu>.lk-chat-toggle:after,.lk-button-group-menu>.lk-disconnect-button:after{margin-left:0}.lk-button-menu:after{content:"";transform-origin:50%;border-bottom:.125em solid;border-left:.125em solid;width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;display:inline-block;transform:rotate(-45deg)}.lk-disconnect-button{color:var(--lk-danger);border:1px solid var(--lk-danger);font-weight:600}.lk-disconnect-button:not(:disabled):hover{--lk-control-hover-bg:var(--lk-danger2);color:var(--lk-danger-fg)}.lk-disconnect-button:not(:disabled):active{--lk-control-hover-bg:var(--lk-danger3);color:var(--lk-danger-fg)}.lk-chat-toggle{position:relative}.lk-chat-toggle[data-lk-unread-msgs]:not([data-lk-unread-msgs="0"]):after{content:attr(data-lk-unread-msgs);background:var(--lk-accent-bg);border-radius:50%;margin-top:.25rem;margin-left:.25rem;padding:.25rem;font-size:.5rem;line-height:.75;position:absolute;top:0;left:0}.lk-media-device-select:not(:last-child){border-bottom:1px solid var(--lk-border-color);margin-bottom:.75rem;padding-bottom:.5rem}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{justify-content:start;width:100%;padding-block:.5rem}.lk-media-device-select li:not([data-lk-active=true])>.lk-button:not(:disabled):hover{background-color:var(--lk-bg3)}.lk-media-device-select [data-lk-active=false]>.lk-button:hover{cursor:pointer;background-color:#0000000d}.lk-media-device-select [data-lk-active=true]>.lk-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}.lk-device-menu{z-index:5;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);width:max-content;min-width:10rem;box-shadow:var(--lk-box-shadow);border-radius:.75rem;margin-bottom:.25rem;padding:.5rem;position:absolute;top:0;left:0}.lk-device-menu-heading{opacity:.65;padding:.25rem .5rem;font-weight:700}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (width<=600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);opacity:0;align-items:stretch;transition:opacity .15s ease-in-out;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.lk-pagination-control:hover{opacity:1}.lk-pagination-control>.lk-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.lk-pagination-control>.lk-button:first-child>svg{transform:rotate(180deg)}.lk-pagination-control>.lk-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.lk-pagination-count{border-inline:1px solid var(--lk-bg);padding:.5rem .875rem}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;bottom:calc(var(--lk-grid-gap)/2);opacity:1;border-radius:2rem;align-items:center;gap:.2rem;padding:.2rem .5rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.lk-pagination-indicator span{background-color:var(--lk-fg);opacity:.35;border-radius:10000000px;width:.4rem;height:.4rem;transition:opacity .2s linear;display:inline-block}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count:1;--lk-row-count:1;grid-template-columns:repeat(var(--lk-col-count), minmax(0, 1fr));grid-gap:var(--lk-grid-gap);width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--lk-grid-gap);grid-auto-rows:minmax(0,1fr);display:grid}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap);grid-template-columns:1fr 5fr;display:grid}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{width:20%;height:auto;position:absolute;top:10px;right:10px}@media (width<=600px){.lk-focus-layout{grid-template-rows:5fr 1fr;grid-template-columns:1fr}.lk-carousel{order:1}}.lk-carousel{gap:var(--lk-grid-gap);max-height:100%;display:flex}.lk-carousel>*{aspect-ratio:16/10;scroll-snap-align:start;flex-shrink:0}.lk-carousel[data-lk-orientation=vertical]{scroll-snap-type:y mandatory;flex-direction:column;overflow:hidden auto}.lk-carousel[data-lk-orientation=vertical]>*{--lk-height-minus-gaps:calc(100% - calc(var(--lk-grid-gap) * calc(var(--lk-max-visible-tiles) - 1)));height:calc(var(--lk-height-minus-gaps)/var(--lk-max-visible-tiles))}.lk-carousel[data-lk-orientation=horizontal]{scroll-snap-type:x mandatory;overflow:auto hidden}.lk-carousel[data-lk-orientation=horizontal]>*{--lk-width-minus-gaps:calc(100% - var(--lk-grid-gap) * (var(--lk-max-visible-tiles) - 1));width:calc(var(--lk-width-minus-gaps)/var(--lk-max-visible-tiles))}.lk-connection-quality{width:1.5rem;height:1.5rem}.lk-track-muted-indicator-camera,.lk-track-muted-indicator-microphone{width:var(--lk-indicator-size,1rem);height:var(--lk-indicator-size,1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out;position:relative}.lk-track-muted-indicator-camera[data-lk-muted=true]{opacity:.5}.lk-track-muted-indicator-microphone{--lk-bg:var(--lk-icon-mic)}.lk-track-muted-indicator-microphone[data-lk-muted=true]{opacity:.5}.lk-participant-name{font-size:.875rem}.lk-participant-media-video{object-fit:cover;object-position:center;background-color:#000;width:100%;height:100%}.lk-participant-media-video[data-lk-orientation=landscape]{object-fit:cover}.lk-participant-media-video[data-lk-orientation=portrait],.lk-participant-media-video[data-lk-source=screen_share]{object-fit:contain;background-color:var(--lk-bg2)}.lk-participant-media-audio{width:auto}[data-lk-facing-mode=user] .lk-participant-media-video[data-lk-local-participant=true][data-lk-source=camera]{transform:rotateY(180deg)}.lk-audio-visualizer{background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;justify-content:space-around;align-items:center;width:100%;height:100%;min-height:160px;display:flex}.lk-audio-visualizer>rect{fill:var(--lk-accent-bg);transition:transform .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-visualizer>path{stroke:var(--lk-accent-bg);transition:all .1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{background:var(--lk-bg);justify-content:center;align-items:center;gap:var(--lk-va-bar-gap,24px);width:100%;height:100%;display:flex}.lk-audio-bar-visualizer>.lk-audio-bar{transform-origin:"center";height:100%;width:var(--lk-va-bar-width,12px);border-radius:var(--lk-va-bar-border-radius,32px);background-color:var(--lk-va-bar-bg,#8883);transition:background-color .25s ease-out}.lk-audio-bar-visualizer[data-lk-va-state=speaking]>.lk-audio-bar,.lk-audio-bar-visualizer>.lk-audio-bar.lk-highlighted,.lk-audio-bar-visualizer>[data-lk-highlighted=true]{background-color:var(--lk-fg,#888);transition:none}.lk-audio-bar-visualizer[data-lk-va-state=thinking]{transition:background-color .15s ease-out}.lk-participant-tile{--lk-speaking-indicator-width:2.5px;border-radius:var(--lk-border-radius);flex-direction:column;gap:.375rem;display:flex;position:relative;overflow:hidden}.lk-participant-tile:after{content:"";border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;pointer-events:none;transition-duration:.4s;transition-delay:.5s;position:absolute;inset:0}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{border-width:var(--lk-speaking-indicator-width);transition-duration:.2s;transition-delay:0s}.lk-participant-tile .lk-focus-toggle-button{border-radius:calc(var(--lk-border-radius)/2);opacity:0;background-color:#00000080;padding:.25rem;transition:opacity .2s ease-in-out .2s;position:absolute;top:.25rem;right:.25rem}.lk-participant-tile:hover .lk-focus-toggle-button,.lk-participant-tile:focus .lk-focus-toggle-button{opacity:1;transition-delay:0}.lk-participant-tile .lk-connection-quality{opacity:0;transition:opacity .2s ease-in-out .2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor],.lk-participant-tile:hover .lk-connection-quality,.lk-participant-tile:focus .lk-connection-quality{opacity:1;transition-delay:0}.lk-participant-tile .lk-participant-placeholder{background-color:var(--lk-bg2);opacity:0;pointer-events:none;border-radius:var(--lk-border-radius);justify-content:center;align-items:center;transition:opacity .2s ease-in-out;display:flex;position:absolute;inset:0}.lk-participant-tile .lk-participant-placeholder svg{width:auto;height:100%;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{flex-direction:row;justify-content:space-between;align-items:center;gap:.5rem;line-height:1;display:flex;position:absolute;bottom:.25rem;left:.25rem;right:.25rem}.lk-participant-metadata-item{border-radius:calc(var(--lk-border-radius)/2);background-color:#00000080;align-items:center;padding:.25rem;display:flex}.lk-toast{background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex;position:fixed;top:.75rem;left:50%;transform:translate(-50%)}.lk-spinner{animation:2s linear infinite lk-rotate}@keyframes lk-rotate{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.lk-room-container{background-color:var(--lk-bg);line-height:var(--lk-line-height)}.lk-room-container{--lk-has-imported-styles:"true";width:100%;height:100%;position:relative}.lk-room-container [class^=lk-],.lk-room-container [class*=\ lk-]{box-sizing:border-box}.lk-audio-conference{width:100%;height:100%;position:relative}.lk-audio-conference-stage{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;height:100%;display:grid}.lk-chat{grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end;width:max(200px,55ch);display:grid}.lk-chat-header{height:var(--lk-chat-header-height);justify-content:center;align-items:center;padding:.75rem;display:flex;position:relative}.lk-chat-header .lk-close-button{background-color:#0000;position:absolute;right:0;transform:translate(-50%)}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{flex-direction:column;gap:.25rem;width:100%;max-height:100%;display:flex;overflow:auto}.lk-chat-entry{flex-direction:column;gap:.25rem;margin:0 .25rem;display:flex}.lk-chat-entry .lk-meta-data{color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;font-size:.75rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{align-self:flex-end;margin-left:auto}.lk-chat-entry .lk-edit-button{float:right;background:0 0;border-radius:0;margin:0;padding:0 .25rem;font-size:12px}.lk-chat-entry .lk-message-body{word-break:break-word;border-radius:15px;width:fit-content;max-width:calc(100% - 32px);padding:.25rem .75rem;display:inline-block}.lk-chat-entry[data-lk-message-origin=local] .lk-message-body{background-color:var(--lk-bg5)}.lk-chat-entry[data-lk-message-origin=remote] .lk-message-body{background-color:var(--lk-accent4)}.lk-chat-entry a{color:inherit;text-decoration:underline}.lk-chat-entry *{margin-block:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height);gap:.75rem;padding:.75rem;display:flex}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media (width<=600px){.lk-chat{max-width:100%;top:0;right:0;bottom:var(--lk-control-bar-height);position:fixed}}.lk-control-bar,.lk-agent-control-bar{border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height);justify-content:center;align-items:center;gap:.5rem;padding:.75rem;display:flex}.lk-agent-control-bar{height:var(--lk-control-bar-height);--lk-bg:transparent;--lk-va-bar-width:2px;--lk-va-bar-gap:4px;--lk-va-bar-border-radius:1px}.lk-agent-control-bar .lk-audio-bar-visualizer .lk-audio-bar.lk-highlighted{filter:none}.lk-prejoin{background-color:var(--lk-bg);line-height:var(--lk-line-height)}[data-lk-theme]{font-size:var(--lk-font-size);font-family:var(--lk-font-family);color:var(--lk-fg)}[data-lk-theme] .lk-list{margin:0;padding:0;list-style:none}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);padding:.625rem 1rem}.lk-prejoin{box-sizing:border-box;background-color:var(--lk-bg);flex-direction:column;align-items:stretch;gap:1rem;width:min(100%,480px);margin-inline:auto;padding:1rem;display:flex}.lk-prejoin .lk-video-container{aspect-ratio:16/10;border-radius:var(--lk-border-radius);background-color:#000;width:100%;height:auto;position:relative;overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{object-fit:cover;width:100%;height:100%;display:block}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{aspect-ratio:16/10;background-color:#000;place-items:center;width:100%;display:grid;position:absolute;top:0;left:0}.lk-prejoin .lk-video-container .lk-camera-off-note>*{max-width:100%;height:70%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{flex-wrap:nowrap;gap:1rem;display:flex}.lk-prejoin .lk-button-group-container>.lk-button-group{width:50%}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button{justify-content:left}.lk-prejoin .lk-button-group-container>.lk-button-group>.lk-button:first-child{width:100%}@media (width<=400px){.lk-prejoin .lk-button-group-container{flex-wrap:wrap}.lk-prejoin .lk-button-group-container>.lk-button-group{width:100%}}.lk-prejoin .lk-username-container{flex-direction:column;gap:1rem;width:100%;max-width:100%;display:flex}.lk-prejoin .lk-join-button{--lk-control-fg:var(--lk-accent-fg);--lk-control-bg:var(--lk-accent-bg);--lk-control-hover-bg:var(--lk-accent2);--lk-control-active-bg:var(--lk-accent3);--lk-control-active-hover-bg:var(--lk-accent4);background-color:var(--lk-control-bg)}.lk-prejoin .lk-join-button:hover{background-color:var(--lk-control-hover-bg)}.lk-focus-layout-wrapper,.lk-grid-layout-wrapper{width:100%;height:calc(100% - var(--lk-control-bar-height));justify-content:center;display:flex;position:relative}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{align-items:stretch;height:100%;display:flex;position:relative}.lk-video-conference-inner{flex-direction:column;align-items:stretch;width:100%;display:flex}.lk-settings-menu-modal{background:var(--lk-bg);border-radius:var(--lk-border-radius);padding:1rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);flex-direction:column;align-items:center;gap:.5rem;min-width:50vw;max-width:100%;min-height:50vh;max-height:100%;padding:.75rem 1.25rem;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}
