[data-lk-theme=default]{color-scheme:dark;--lk-bg: #111;--lk-bg2: rgb(29.75, 29.75, 29.75);--lk-bg3: rgb(42.5, 42.5, 42.5);--lk-bg4: rgb(55.25, 55.25, 55.25);--lk-bg5: #444444;--lk-fg: #fff;--lk-fg2: rgb(244.8, 244.8, 244.8);--lk-fg3: rgb(234.6, 234.6, 234.6);--lk-fg4: rgb(224.4, 224.4, 224.4);--lk-fg5: rgb(214.2, 214.2, 214.2);--lk-border-color: rgba(255, 255, 255, .1);--lk-accent-fg: #fff;--lk-accent-bg: #1f8cf9;--lk-accent2: rgb(50.867826087, 150.2, 249.532173913);--lk-accent3: rgb(70.7356521739, 160.4, 250.0643478261);--lk-accent4: rgb(90.6034782609, 170.6, 250.5965217391);--lk-danger-fg: #fff;--lk-danger: #f91f31;--lk-danger2: rgb(249.532173913, 50.867826087, 67.2713043478);--lk-danger3: rgb(250.0643478261, 70.7356521739, 85.5426086957);--lk-danger4: rgb(250.5965217391, 90.6034782609, 103.8139130435);--lk-success-fg: #fff;--lk-success: #1ff968;--lk-success2: rgb(50.867826087, 249.532173913, 117.3930434783);--lk-success3: rgb(70.7356521739, 250.0643478261, 130.7860869565);--lk-success4: rgb(90.6034782609, 250.5965217391, 144.1791304348);--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 rgba(0, 0, 0, .15);--lk-drop-shadow: rgba(255, 255, 255, .2) 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{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;color:var(--lk-control-fg);background-image:none;background-color:var(--lk-control-bg);border:0;border-radius:var(--lk-border-radius);cursor:pointer;white-space:nowrap;font-size:inherit;line-height:inherit;-webkit-user-select:none;user-select:none}.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{display:inline-flex;align-items:stretch;height:100%}.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{position:relative;flex-shrink:0}.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{height:100%;border-top-left-radius:0;border-bottom-left-radius:0}.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{display:inline-block;content:"";width:.5em;height:.5em;margin-top:-.25rem;margin-left:.5rem;border-left:.125em solid;border-bottom:.125em solid;transform:rotate(-45deg);transform-origin:center center}.lk-disconnect-button{font-weight:600;color:var(--lk-danger);border:1px solid var(--lk-danger)}.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);position:absolute;top:0;left:0;padding:.25rem;margin-left:.25rem;margin-top:.25rem;border-radius:50%;font-size:.5rem;line-height:.75;background:var(--lk-accent-bg)}.lk-media-device-select:not(:last-child){padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid var(--lk-border-color)}.lk-media-device-select li:not(:last-child){margin-bottom:.25rem}.lk-media-device-select li>.lk-button{width:100%;justify-content:start;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{width:max-content;position:absolute;top:0;left:0;z-index:5;min-width:10rem;padding:.5rem;margin-bottom:.25rem;white-space:nowrap;background-color:var(--lk-bg2);border:1px solid var(--lk-border-color);border-radius:.75rem;box-shadow:var(--lk-box-shadow)}.lk-device-menu-heading{padding:.25rem .5rem;font-weight:700;opacity:.65}.lk-start-audio-button{color:var(--lk-accent-fg);background-color:var(--lk-accent-bg)}@media screen and (max-width: 600px){.lk-start-audio-button{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.lk-pagination-control{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:stretch;background-color:var(--lk-control-bg);border-radius:var(--lk-border-radius);transition:opacity ease-in-out .15s;opacity:0}.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{padding:.5rem .875rem;border-inline:1px solid var(--lk-bg)}[data-lk-user-interaction=true].lk-pagination-control{opacity:1}.lk-pagination-indicator{position:absolute;height:var(--lk-grid-gap);background-color:var(--lk-bg2);width:fit-content;padding:.2rem .5rem;bottom:calc(var(--lk-grid-gap)/2);left:50%;transform:translate(-50%);border-radius:2rem;opacity:1;display:flex;gap:.2rem;align-items:center}.lk-pagination-indicator span{display:inline-block;width:.4rem;height:.4rem;border-radius:9999999px;background-color:var(--lk-fg);opacity:.35;transition:opacity linear .2s}.lk-pagination-indicator span[data-lk-active]{opacity:.9}.lk-grid-layout{--lk-col-count: 1;--lk-row-count: 1;display:grid;grid-template-columns:repeat(var(--lk-col-count),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);grid-gap:var(--lk-grid-gap);width:100%;height:100%;max-width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-grid-layout[data-lk-pagination=true]{padding-bottom:calc(var(--lk-grid-gap)*2)}.lk-focus-layout{display:grid;grid-template-columns:1fr 5fr;gap:var(--lk-grid-gap);width:100%;max-height:100%;padding:var(--lk-grid-gap)}.lk-focused-participant{position:relative}.lk-focused-participant .lk-pip-track{position:absolute;top:10px;right:10px;width:20%;height:auto}@media (max-width: 600px){.lk-focus-layout{grid-template-columns:1fr;grid-template-rows:5fr 1fr}.lk-carousel{order:1}}.lk-carousel{max-height:100%;display:flex;gap:var(--lk-grid-gap)}.lk-carousel>*{flex-shrink:0;aspect-ratio:16/10;scroll-snap-align:start}.lk-carousel[data-lk-orientation=vertical]{flex-direction:column;scroll-snap-type:y mandatory;overflow-y:auto;overflow-x:hidden}.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-y:hidden;overflow-x:auto}.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{position:relative;width:var(--lk-indicator-size, 1rem);height:var(--lk-indicator-size, 1rem);margin-inline-end:.25rem;transition:opacity .25s ease-in-out}.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{width:100%;height:100%;object-fit:cover;object-position:center;background-color:#000}.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{width:100%;height:100%;min-height:160px;background:var(--lk-bg-control);aspect-ratio:16/9;border-radius:.5rem;display:flex;justify-content:space-around;align-items:center}.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:.1s cubic-bezier(.19,.02,.09,1)}.lk-audio-bar-visualizer{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--lk-bg);gap:var(--lk-va-bar-gap, 24px)}.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, rgba(136, 136, 136, .2));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, rgb(136, 136, 136));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;position:relative;display:flex;flex-direction:column;gap:.375rem;overflow:hidden;border-radius:var(--lk-border-radius)}.lk-participant-tile:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:var(--lk-border-radius);border:0px solid var(--lk-accent-bg);transition-property:border opacity;transition-delay:.5s;transition-duration:.4s;pointer-events:none}.lk-participant-tile[data-lk-speaking=true]:not([data-lk-source=screen_share]):after{transition-delay:0s;transition-duration:.2s;border-width:var(--lk-speaking-indicator-width)}.lk-participant-tile .lk-focus-toggle-button{position:absolute;top:.25rem;right:.25rem;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2);opacity:0;transition:opacity .2s ease-in-out;transition-delay:.2s}.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;transition-delay:.2s}.lk-participant-tile .lk-connection-quality[data-lk-quality=poor]{opacity:1;transition-delay:0}.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{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:var(--lk-bg2);opacity:0;transition:opacity .2s ease-in-out;pointer-events:none;border-radius:var(--lk-border-radius)}.lk-participant-tile .lk-participant-placeholder svg{height:100%;width:auto;padding:10%}.lk-participant-tile[data-lk-video-muted=true][data-lk-source=camera] .lk-participant-placeholder{opacity:1}.lk-participant-metadata{position:absolute;right:.25rem;bottom:.25rem;left:.25rem;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;line-height:1}.lk-participant-metadata-item{display:flex;align-items:center;padding:.25rem;background-color:#00000080;border-radius:calc(var(--lk-border-radius)/2)}.lk-toast{position:fixed;top:.75rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow)}.lk-spinner{animation:lk-rotate 2s infinite linear}@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{position:relative;width:100%;height:100%;--lk-has-imported-styles: "true"}.lk-room-container *[class^=lk-],.lk-room-container *[class*=" lk-"]{box-sizing:border-box}.lk-audio-conference{position:relative;width:100%;height:100%}.lk-audio-conference-stage{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.lk-chat{display:grid;grid-template-rows:var(--lk-chat-header-height) 1fr var(--lk-control-bar-height);width:clamp(200px,55ch,60ch);background-color:var(--lk-bg2);border-left:1px solid var(--lk-border-color);align-items:end}.lk-chat-header{height:var(--lk-chat-header-height);padding:.75rem;position:relative;display:flex;align-items:center;justify-content:center}.lk-chat-header .lk-close-button{position:absolute;right:0;transform:translate(-50%);background-color:#0000}.lk-chat-header .lk-close-button:hover{background-color:var(--lk-control-active-hover-bg)}.lk-chat-messages{display:flex;width:100%;max-height:100%;flex-direction:column;gap:.25rem;overflow:auto}.lk-chat-entry{display:flex;flex-direction:column;gap:.25rem;margin:0 .25rem}.lk-chat-entry .lk-meta-data{font-size:.75rem;color:var(--lk-fg5);white-space:nowrap;padding:0 .3rem;display:flex}.lk-chat-entry .lk-meta-data .lk-participant-name{margin-top:1rem}.lk-chat-entry .lk-meta-data .lk-timestamp{margin-left:auto;align-self:flex-end}.lk-chat-entry .lk-edit-button{background:none;float:right;margin:0;padding:0 .25rem;border-radius:0;font-size:12px}.lk-chat-entry .lk-message-body{display:inline-block;border-radius:15px;padding:.25rem .75rem;word-break:break-word;width:fit-content;max-width:calc(100% - 32px)}.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{text-decoration:underline;color:inherit}.lk-chat-entry *{margin-block-start:.25em;margin-block-end:.25em}.lk-chat-entry:last-child{margin-bottom:.25rem}.lk-chat-form{display:flex;gap:.75rem;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.lk-chat-form-input{font-size:inherit;line-height:inherit;width:100%}@media (max-width: 600px){.lk-chat{position:fixed;top:0;right:0;max-width:100%;bottom:var(--lk-control-bar-height)}}.lk-control-bar,.lk-agent-control-bar{display:flex;gap:.5rem;align-items:center;justify-content:center;padding:.75rem;border-top:1px solid var(--lk-border-color);max-height:var(--lk-control-bar-height)}.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{list-style:none;margin:0;padding:0}[data-lk-theme] .lk-form-control{font-family:var(--lk-font-family);padding:.625rem 1rem;background-color:var(--lk-control-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius)}.lk-prejoin{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;padding:1rem;gap:1rem;margin-inline:auto;background-color:var(--lk-bg);width:min(100%,480px);align-items:stretch}.lk-prejoin .lk-video-container{position:relative;width:100%;height:auto;aspect-ratio:16/10;background-color:#000;border-radius:var(--lk-border-radius);overflow:hidden}.lk-prejoin .lk-video-container video,.lk-prejoin .lk-video-container .lk-camera-off-note{display:block;width:100%;height:100%;object-fit:cover}.lk-prejoin .lk-video-container video[data-lk-facing-mode=user]{transform:rotateY(180deg)}.lk-prejoin .lk-video-container .lk-camera-off-note{position:absolute;top:0;left:0;width:100%;aspect-ratio:16/10;background-color:#000;display:grid;place-items:center}.lk-prejoin .lk-video-container .lk-camera-off-note>*{height:70%;max-width:100%}.lk-prejoin .lk-audio-container{display:none}.lk-prejoin .lk-audio-container audio{width:100%;height:auto}.lk-prejoin .lk-button-group-container{display:flex;flex-wrap:nowrap;gap:1rem}.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 (max-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{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%}.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{position:relative;display:flex;justify-content:center;width:100%;height:calc(100% - var(--lk-control-bar-height))}.lk-grid-layout-wrapper{flex-direction:column;align-items:center}.lk-focus-layout-wrapper{align-items:stretch}.lk-video-conference{position:relative;display:flex;align-items:stretch;height:100%}.lk-video-conference-inner{display:flex;flex-direction:column;align-items:stretch;width:100%}.lk-settings-menu-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--lk-bg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--lk-bg);border:1px solid var(--lk-border-color);border-radius:var(--lk-border-radius);box-shadow:var(--lk-box-shadow);min-width:50vw;min-height:50vh;max-width:100%;max-height:100%;overflow-y:auto}:root{--indigo: #5b5bf0;--indigo-d: #4242d4;--indigo-bg: #eeeeff;--green: #22c55e;--green-d: #15a34a;--green-bg: #e7f8ee;--amber: #fb923c;--amber-d: #ea7c28;--red: #ef4444;--ink: #16172e;--ink-soft: #23254a;--muted: #7a7e9c;--bg: #f0f1fa;--surface: #fff;--line: #e7e9f5;--line2: #d4d7ef;--r: 14px;--r-lg: 20px;--shadow: 0 4px 16px rgba(22, 23, 46, .1);--shadow-md: 0 8px 28px rgba(22, 23, 46, .13);--font-head: "Plus Jakarta Sans", sans-serif;--font-body: "Inter", sans-serif;--fs-2xs: 11.5px;--fs-xs: 12.5px;--fs-sm: 13.5px;--fs-base: 14.5px;--fs-md: 16px;--fs-lg: 17px;--fs-xl: clamp(20px, 4.5vw, 24px);--fs-2xl: clamp(21px, 5.5vw, 23px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--fs-base);background:var(--bg);color:var(--ink);min-height:100vh;min-height:100dvh;-webkit-text-size-adjust:100%}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:-.3px}button{font-family:var(--font-head);cursor:pointer}input,select{font-family:var(--font-body)}a{color:var(--indigo);text-decoration:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}.btn{border:none;border-radius:12px;padding:12px 20px;font-weight:700;font-size:var(--fs-base);transition:.18s;color:#fff;background:var(--indigo)}.btn:hover{background:var(--indigo-d)}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:var(--bg);color:var(--ink-soft)}.btn.secondary:hover{background:var(--line)}.btn.danger{background:var(--red)}.btn.danger:hover{background:#dc2626}.btn.sm{padding:8px 14px;font-size:var(--fs-sm);border-radius:10px}.input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;font-size:var(--fs-base);outline:none;transition:.18s;background:var(--surface)}.input:focus{border-color:var(--indigo);box-shadow:0 0 0 3px #5b5bf01f}.field{margin-bottom:14px}.field label{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--ink-soft);margin-bottom:6px}.error-box{background:#fef2f2;color:#dc2626;border-radius:11px;padding:11px 13px;font-size:var(--fs-sm);margin-bottom:12px}.success-box{background:var(--green-bg);color:var(--green-d);border-radius:11px;padding:11px 13px;font-size:var(--fs-sm);font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-weight:700;padding:3px 9px;border-radius:20px}.badge.green{background:var(--green-bg);color:var(--green-d)}.badge.indigo{background:var(--indigo-bg);color:var(--indigo)}.badge.amber{background:#fff7ee;color:var(--amber-d)}.badge.red{background:#fef2f2;color:var(--red)}.muted{color:var(--muted)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th{text-align:left;font-size:var(--fs-2xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:10px 12px;border-bottom:1px solid var(--line)}.table td{padding:12px;border-bottom:1px solid var(--line)}.table tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap .table{min-width:620px}.app-header{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 24px;height:60px}.logo{font-family:var(--font-head);font-weight:800;font-size:20px;display:flex;align-items:center;gap:8px;color:var(--ink)}.logo span{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--indigo),var(--indigo-d));display:grid;place-items:center;font-size:14px}.app-main{max-width:1080px;margin:0 auto;padding:24px 20px 60px}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 700px){.grid-2{grid-template-columns:1fr}}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1}.hello h2{font-size:var(--fs-xl)}.hello .sub{color:var(--muted);font-size:var(--fs-sm);margin-top:3px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width: 860px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;display:flex;align-items:center;gap:13px}.stat-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:20px;flex-shrink:0}.stat-icon.indigo{background:var(--indigo-bg)}.stat-icon.green{background:var(--green-bg)}.stat-icon.amber{background:#fff7ee}.stat-icon.red{background:#fef2f2}.stat-card .num{font-family:var(--font-head);font-weight:800;font-size:22px;line-height:1.1}.stat-card .lbl{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.section-head h3{font-size:var(--fs-lg)}.section-head .count{color:var(--muted);font-weight:600;font-size:var(--fs-xs)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.course-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;display:flex;flex-direction:column;gap:10px;transition:.18s}.course-card:hover{box-shadow:var(--shadow);border-color:var(--line2)}.course-card.clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.course-card.active{border-color:var(--indigo);box-shadow:0 0 0 3px #5b5bf024}.course-card .subject{align-self:flex-start;font-size:var(--fs-2xs);font-weight:700;color:var(--indigo);background:var(--indigo-bg);padding:3px 9px;border-radius:20px}.course-card h4{font-size:var(--fs-md)}.course-card .meta{display:flex;gap:14px;color:var(--muted);font-size:var(--fs-sm);font-weight:600}.course-card .next{border-top:1px dashed var(--line);padding-top:9px;font-size:var(--fs-sm);color:var(--ink-soft)}.course-card .next b{font-weight:700}.roster{border-top:1px dashed var(--line);padding-top:10px;display:flex;flex-direction:column;gap:6px;cursor:default}.roster-line{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm)}.roster-line .name{flex:1;font-weight:600}.roster-x{border:none;background:#fef2f2;color:var(--red);width:22px;height:22px;border-radius:7px;font-size:var(--fs-2xs);font-weight:700}.roster-x:hover{background:var(--red);color:#fff}.roster-add{display:flex;gap:8px;margin-top:4px}.roster-add .input{padding:8px 10px;font-size:var(--fs-sm)}.roster-add .btn{flex-shrink:0}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1.5px solid var(--line);background:var(--surface);color:var(--muted);border-radius:20px;padding:6px 14px;font-size:var(--fs-sm);font-weight:700;transition:.18s}.chip:hover{border-color:var(--line2);color:var(--ink-soft)}.chip.active{background:var(--indigo);border-color:var(--indigo);color:#fff}.chip .n{opacity:.75;font-weight:600;margin-left:4px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:2px}.dot.green{background:var(--green)}.dot.indigo{background:var(--indigo)}.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.empty-state{text-align:center;padding:34px 16px;color:var(--muted)}.empty-state .ico{font-size:34px;margin-bottom:8px}.empty-state p{font-size:var(--fs-sm)}.empty-state .hint{font-size:var(--fs-xs);margin-top:3px;opacity:.8}.form-pop{border:1.5px solid var(--indigo-bg);box-shadow:var(--shadow)}.form-pop h3{margin-bottom:12px;font-size:var(--fs-md)}.table .when{white-space:nowrap}.table .when .rel{font-weight:700;color:var(--ink-soft)}.table .when .abs{font-size:var(--fs-xs);color:var(--muted)}.journal-row td{background:var(--bg);border-radius:10px}.journal-title{font-size:var(--fs-2xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.journal-line{display:flex;align-items:center;gap:14px;padding:6px 0;font-size:var(--fs-sm);border-bottom:1px dashed var(--line2)}.journal-line:last-child{border-bottom:none}.journal-line .name{font-weight:600;flex:1}.journal-line .mins{font-weight:700;color:var(--indigo)}.auth-wrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:20px}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--shadow-md)}.auth-logo{width:56px;height:56px;border-radius:16px;margin:0 auto 16px;background:linear-gradient(135deg,var(--indigo),var(--indigo-d));display:grid;place-items:center;font-size:26px;box-shadow:0 12px 26px #5b5bf059}.auth-card h1{text-align:center;font-size:var(--fs-2xl);margin-bottom:4px}.auth-sub{text-align:center;color:var(--muted);font-size:var(--fs-sm);margin-bottom:22px}.auth-foot{text-align:center;font-size:var(--fs-sm);color:var(--muted);margin-top:16px}.section-nav{position:sticky;top:66px;z-index:40;display:flex;gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:5px;box-shadow:var(--shadow);overflow-x:auto;-webkit-overflow-scrolling:touch}.section-nav button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;background:transparent;color:var(--muted);font-weight:700;font-size:var(--fs-sm);padding:9px 14px;border-radius:10px;transition:.18s;white-space:nowrap}.section-nav button:hover{color:var(--ink-soft);background:var(--bg)}.section-nav button.active{background:var(--indigo);color:#fff}.section-nav button .n{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:11px;display:grid;place-items:center}.lesson-line{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);flex-wrap:wrap}.lesson-line:last-child{border-bottom:none}.lesson-line .info{flex:1;min-width:150px}.lesson-line .info .name{font-weight:700;font-size:var(--fs-base)}.lesson-line .info .meta{color:var(--muted);font-size:var(--fs-xs);margin-top:2px}.nav-link{font-size:14px;font-weight:600;color:var(--ink-soft);text-decoration:none;padding:6px 10px;border-radius:8px}.nav-link:hover{background:var(--line)}.chat-page{position:fixed;top:var(--header-h, 61px);left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(300px,380px) 1fr;background:var(--surface);overflow:hidden}.chat-list{border-right:1px solid var(--line);overflow-y:auto}.chat-list-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2}.chat-row{display:flex;gap:10px;width:100%;padding:10px 12px;border:none;background:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--line)}.chat-row:hover{background:var(--indigo-bg)}.chat-row.active{background:var(--indigo)}.chat-row.active .name,.chat-row.active .preview,.chat-row.active .time{color:#fff}.chat-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff;background:linear-gradient(135deg,var(--indigo),var(--indigo-d))}.chat-avatar.group{background:linear-gradient(135deg,#1a9f6c,#0d7a50)}.chat-row-body{flex:1;min-width:0;display:grid;gap:3px;align-content:center}.chat-row-body .top{display:flex;justify-content:space-between;gap:8px}.chat-row-body .name{font-weight:700;font-size:14px;color:var(--ink)}.chat-row-body .time{font-size:12px;color:var(--muted);flex-shrink:0}.chat-row-body .bottom{display:flex;justify-content:space-between;gap:8px}.chat-row-body .preview{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-row-body .unread{background:var(--indigo);color:#fff;font-size:11px;font-weight:800;border-radius:999px;min-width:20px;height:20px;display:grid;place-items:center;padding:0 6px;flex-shrink:0}.chat-row.active .unread{background:#fff;color:var(--indigo)}.chat-thread{display:flex;flex-direction:column;min-width:0;background:#f2f3fb}.chat-empty{display:grid;place-items:center;height:100%;color:var(--muted)}.chat-thread-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--line)}.chat-thread-head .info{display:grid;line-height:1.25;flex:1;min-width:0}.chat-thread-head .info .muted{font-size:12px}.chat-back{display:none;border:none;background:none;font-size:20px;cursor:pointer;color:var(--ink)}.chat-request-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;background:#fff7e0;border-bottom:1px solid #f0e2b0;font-size:14px}.chat-request-bar span{flex:1;min-width:180px}.chat-messages{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:6px}.bubble-row{display:flex}.bubble-row.mine{justify-content:flex-end}.bubble{max-width:min(72%,480px);background:var(--surface);border-radius:14px 14px 14px 4px;padding:7px 10px 5px;box-shadow:0 1px 1px #14163c14;font-size:14px}.bubble-row.mine .bubble{background:#e3e2ff;border-radius:14px 14px 4px}.bubble .sender{font-size:12px;font-weight:800;color:var(--indigo);margin-bottom:2px}.bubble .text{white-space:pre-wrap;word-break:break-word}.bubble .stamp{font-size:10.5px;color:var(--muted);margin-left:8px;float:right;margin-top:6px}.chat-input{display:flex;gap:8px;padding:10px 12px;background:var(--surface);border-top:1px solid var(--line)}.chat-input .input{flex:1}.chat-input .btn{padding:10px 16px}.chat-locked{padding:14px;text-align:center;background:var(--surface);border-top:1px solid var(--line);color:var(--muted);font-size:14px}.chat-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0a0c2873;display:grid;place-items:center;padding:20px}.chat-modal-card{background:var(--surface);border-radius:16px;padding:20px;width:min(420px,100%);display:grid;gap:10px;max-height:min(80dvh,640px);overflow-y:auto}.live-banner{display:flex;align-items:center;gap:10px;width:calc(100% - 16px);margin:8px 8px 0;padding:8px 10px 8px 12px;border:1px solid #dcdcf8;border-radius:12px;cursor:pointer;text-align:left;background:var(--indigo-bg);color:var(--ink);transition:background-color .15s}.live-banner:last-of-type{margin-bottom:8px}.live-banner:hover{background:#e2e2fd}.live-banner .live-dot{flex-shrink:0}.live-banner .lb-body{flex:1;min-width:0;display:grid;line-height:1.3}.live-banner .lb-body b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-banner .lb-body span{font-size:11.5px;color:var(--muted)}.live-banner .lb-go{flex-shrink:0;background:var(--indigo);color:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px}.live-banner:hover .lb-go{background:var(--indigo-d)}.att-mini{border:1px solid var(--line);border-radius:10px;margin-top:-4px;overflow:hidden}.att-mini-row{display:flex;align-items:center;gap:14px;padding:8px 12px;font-size:13px;border-bottom:1px solid var(--line)}.att-mini-row:last-child{border-bottom:none}.att-mini-row:nth-child(odd){background:#f7f8fd}.att-mini-row .who{flex:1;font-weight:600}.att-mini-row .warn{color:#c92a2a;font-weight:700}.chat-teacher-row{display:flex;align-items:center;gap:10px;padding:6px 0}.chat-teacher-row .name{flex:1;font-weight:600;font-size:14px}.tg-menu-btn{border:none;background:none;font-size:19px;cursor:pointer;color:var(--ink-soft);padding:4px 8px;border-radius:8px}.tg-menu-btn:hover{background:var(--line)}.tg-search{flex:1;min-width:0;border:none;background:#eef0f8;border-radius:999px;padding:8px 14px;font-size:14px;outline:none}.tg-search:focus{background:#e6e9f6}.chat-page.tg .chat-list-head{gap:8px}.tg-menu{border-bottom:1px solid var(--line);background:var(--surface);display:grid}.tg-menu-user{display:flex;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.tg-menu>button{border:none;background:none;text-align:left;padding:11px 16px;font-size:14px;cursor:pointer;color:var(--ink)}.tg-menu>button:hover{background:var(--indigo-bg)}.tg-empty-pill{background:#14163c59;color:#fff;border-radius:999px;padding:6px 16px;font-size:13px}.tg-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--line)}.tg-tabs button{flex:1;border:none;background:none;padding:10px 8px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2.5px solid transparent}.tg-tabs button.on{color:var(--indigo);border-bottom-color:var(--indigo)}.tg-tabs button:hover{background:var(--indigo-bg)}.course-tab-body{flex:1;overflow-y:auto;padding:14px;display:grid;gap:10px;align-content:start;background:var(--surface)}.course-tab-body .lesson-line{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.tg-form{display:grid;gap:8px}.student-search{position:relative}.student-search .input{width:100%}.student-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:var(--surface);border:1px solid var(--line2);border-radius:12px;box-shadow:0 10px 30px #14163c29;overflow:hidden}.student-suggest .none{padding:12px 14px;color:var(--muted);font-size:13px}.student-suggest-row{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:none;cursor:pointer;text-align:left;border-bottom:1px solid var(--line)}.student-suggest-row:last-child{border-bottom:none}.student-suggest-row:hover:not(:disabled){background:var(--indigo-bg)}.student-suggest-row:disabled{cursor:default;opacity:.75}.student-suggest-row .who{flex:1;display:grid;line-height:1.25;font-size:14px}.student-suggest-row .who .muted{font-size:12px}.student-suggest-row .add{color:var(--indigo);font-weight:700;font-size:13px}.chat-modal-card textarea.input{resize:vertical}@media (max-width: 760px){.chat-page{grid-template-columns:1fr}.chat-page.thread-open .chat-list{display:none}.chat-page:not(.thread-open) .chat-thread{display:none}.chat-back{display:block}}.today-row{background:#e9f9ef!important;border-left:3px solid #1a9f6c}.room-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f1022}.room-wrap .lk-video-conference{height:100%}.room-wrap .lk-grid-layout:has(>:nth-child(2)):not(:has(>:nth-child(3))){display:block;position:relative;padding:0}.room-wrap .lk-grid-layout:has(>:nth-child(2)):not(:has(>:nth-child(3)))>.lk-participant-tile{width:100%;height:100%}.room-wrap .lk-grid-layout:has(>:nth-child(2)):not(:has(>:nth-child(3)))>.lk-participant-tile[data-lk-local-participant=true]{position:absolute!important;right:14px;bottom:14px;width:clamp(150px,24vw,300px)!important;height:auto!important;aspect-ratio:16 / 9;z-index:6;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 28px #00000080}.room-wrap .lk-focus-layout{grid-template-columns:220px minmax(0,1fr)}.room-wrap .lk-carousel .lk-participant-tile{max-height:140px}.room-wrap .lk-chat{width:min(340px,100vw);flex-shrink:0}[data-lk-theme=default]{--lk-accent-bg: var(--indigo);--lk-accent-fg: #fff}.room-wrap .lk-control-bar{justify-content:center;gap:12px;border-top:none;background:#0a0b1ceb;padding:12px 16px}.room-wrap .lk-control-bar>.lk-button,.room-wrap .lk-control-bar>.lk-button-group>.lk-button,.room-wrap .lk-control-bar>.lk-disconnect-button{font-size:0;gap:0;width:52px;height:52px;padding:0;border-radius:999px;justify-content:center;align-items:center;background:#ffffff21;transition:background .15s}.room-wrap .lk-control-bar>.lk-button:hover,.room-wrap .lk-control-bar>.lk-button-group>.lk-button:hover{background:#ffffff3d}.room-wrap .lk-control-bar svg{flex-shrink:0}.room-wrap .lk-control-bar>.lk-disconnect-button{width:68px;background:#dc3d43}.room-wrap .lk-control-bar>.lk-disconnect-button:hover{background:#b7343a}.room-wrap .lk-control-bar .lk-button-menu{font-size:0;width:30px;height:52px;padding:0;border-radius:999px;background:transparent}.room-wrap .lk-device-menu{font-size:13px}.room-wrap .lk-device-menu .lk-button{font-size:13px;width:auto;height:auto;border-radius:8px;justify-content:flex-start}.room-topbar{position:absolute;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 16px;background:linear-gradient(180deg,rgba(5,6,20,.75),transparent);color:#fff;pointer-events:none}.room-topbar .live-dot{width:9px;height:9px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 #ff4d4d99;animation:live-pulse 1.6s infinite;flex-shrink:0}@keyframes live-pulse{0%{box-shadow:0 0 #ff4d4d8c}70%{box-shadow:0 0 0 8px #ff4d4d00}to{box-shadow:0 0 #ff4d4d00}}.room-topbar-title{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-topbar-timer{font-variant-numeric:tabular-nums;font-size:13px;color:#d6d9f0}.room-topbar-count{font-size:13px;color:#d6d9f0;margin-left:auto}.room-ask-btn{pointer-events:auto;border:1px solid rgba(255,255,255,.3);background:#ffffff1f;color:#fff;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;cursor:pointer;transition:background .15s}.room-ask-btn:hover:not(:disabled){background:#ffffff3d}.room-ask-btn:disabled{opacity:.7;cursor:default}.screen-request-stack{position:absolute;top:56px;right:16px;z-index:30;display:flex;flex-direction:column;gap:10px;max-width:min(340px,calc(100vw - 32px))}.screen-request-toast{background:#1c1e3a;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px;color:#fff;box-shadow:0 8px 28px #00000073;animation:toast-in .25s ease}@keyframes toast-in{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.screen-request-toast .msg{font-size:14px;display:block;margin-bottom:10px}.screen-request-toast .row{display:flex;gap:8px}.screen-request-toast button{flex:1;border:none;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:700;cursor:pointer}.screen-request-toast .ok{background:var(--indigo);color:#fff}.screen-request-toast .ok:hover{background:var(--indigo-d)}.screen-request-toast .no{background:#ffffff1f;color:#fff}.screen-request-toast .no:hover{background:#ffffff38}.board-overlay{position:absolute;top:0;right:0;bottom:0;left:0;bottom:var(--lk-control-bar-height, 69px);z-index:35;background:#0f1022;display:flex}.board-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f1022;display:flex}.board-panel{flex:1;display:flex;flex-direction:column;min-width:0}.board-loading{color:#cdd1ee;display:grid;place-items:center;flex:1}.board-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#171930;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap}.board-colors{display:flex;gap:6px}.board-color{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer}.board-color.on{border-color:#fff;transform:scale(1.15)}.board-tool{border:none;background:#ffffff1a;border-radius:8px;width:34px;height:34px;font-size:16px;cursor:pointer}.board-tool.on{background:var(--indigo)}.board-tool.formula{width:auto;padding:0 12px;font-weight:800;font-style:italic;background:#1a9f6c}.board-tool.formula:hover{background:#148257}.board-tool.formula.on{background:#0d6b47;box-shadow:0 0 0 2px #ffffff8c}.board-canvas-wrap{position:relative}.board-sheet canvas.texting{cursor:text}.board-inline-editor{position:absolute;background:transparent;border:none;outline:none;box-shadow:0 0 0 1.5px var(--indigo),0 0 0 4px #5b5bf02e;border-radius:3px;padding:0;margin:0;font-family:Consolas,Courier New,monospace;line-height:1.3;white-space:pre;overflow:hidden;resize:none;z-index:5}.board-math-hint{position:fixed;bottom:96px;left:50%;transform:translate(-50%);z-index:95;background:var(--ink);color:#fff;border-radius:999px;padding:9px 16px;font-size:var(--fs-sm);box-shadow:var(--shadow-md);pointer-events:none}.board-mathbar{position:fixed;bottom:84px;left:50%;transform:translate(-50%);z-index:95;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-md);width:min(480px,calc(100% - 24px));display:grid;gap:8px;padding:10px}.mc-bar-actions{display:flex;align-items:center;gap:8px}.mc-hint{flex:1;font-size:var(--fs-2xs);color:var(--muted)}.mc-templates-btn{border:1px solid var(--line2);background:var(--surface);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:var(--fs-xs);cursor:pointer}.mc-templates-btn:hover{background:var(--indigo-bg)}.mc-templates{display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;padding:8px;background:#f7f8fd;max-height:200px;overflow-y:auto}.mc-template-row{display:grid;text-align:left;gap:2px;border:none;background:var(--surface);border-radius:10px;padding:7px 10px;cursor:pointer;color:var(--ink)}.mc-template-row:hover{background:var(--indigo-bg)}.mc-template-row b{font-size:var(--fs-xs)}.mc-template-row span{font-size:var(--fs-2xs);color:var(--muted);font-family:Consolas,Courier New,monospace}.mc-ctrl{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.mc-ctrl button{border:none;background:var(--ink);color:#fff;border-radius:999px;padding:8px 0;font-size:15px;cursor:pointer}.mc-ctrl button.on{background:var(--indigo)}.mc-tabs{display:flex;gap:6px;overflow-x:auto}.mc-tabs button{border:1px solid var(--line2);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:var(--fs-xs);font-style:italic;white-space:nowrap;cursor:pointer}.mc-tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.mc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.mc-grid button{border:none;background:#f0f1fa;border-radius:10px;padding:12px 0;font-size:16px;font-weight:600;cursor:pointer;color:var(--ink)}.mc-grid button:hover{background:var(--indigo-bg)}.mc-grid button.fn{background:#e3e5f5;font-size:14px;font-style:italic}.mc-place{border:none;background:#1a9f6c;color:#fff;border-radius:999px;padding:9px 16px;font-size:var(--fs-sm);font-weight:700;cursor:pointer;white-space:nowrap}.mc-place:hover{background:#148257}.board-width{background:#ffffff1a;color:#fff;border:none;border-radius:8px;padding:6px 8px;font-size:13px}.board-width option{color:#000}.board-close{border:none;background:#ffffff1f;color:#fff;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:14px}.room-ask-btn.dark{border-color:#ffffff59}.board-ribbon{flex:1;overflow-y:auto;padding:16px;display:grid;gap:18px;justify-items:center;align-content:start}.board-sheet{width:min(1120px,100%)}.board-sheet-label{color:#8f94bd;font-size:12px;margin-bottom:4px}.board-sheet canvas{width:100%;height:auto;border-radius:10px;background:#fff;display:block;touch-action:none;box-shadow:0 4px 20px #00000059}.board-sheet canvas.drawing{cursor:crosshair}.board-sheet canvas.erasing{cursor:cell}.msg-board-link{display:inline-block;background:var(--indigo);color:#fff!important;border-radius:8px;padding:6px 12px;margin-top:4px;font-weight:700;font-size:13px;text-decoration:none}.msg-board-link:hover{background:var(--indigo-d)}.attention-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;background:#08091ab8;display:grid;place-items:center;animation:toast-in .2s ease}.attention-card{background:#1c1e3a;border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:28px 32px;text-align:center;color:#fff;display:grid;gap:8px;justify-items:center;max-width:min(360px,calc(100vw - 40px));box-shadow:0 16px 48px #00000080}.attention-card .emoji{font-size:40px}.attention-card b{font-size:19px}.attention-card p{font-size:13px;color:#b9bede}.attention-card button{margin-top:6px;border:none;border-radius:12px;background:#1a9f6c;color:#fff;font-size:16px;font-weight:800;padding:12px 26px;cursor:pointer}.attention-card button:hover{background:#148257}.room-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f1022;display:grid;place-content:center;justify-items:center;gap:14px;color:#cdd1ee;font-size:15px}.room-spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--indigo);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.room-error-card{display:grid;gap:12px;justify-items:start;max-width:420px;padding:0 20px}.room-lobby{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f1022;display:grid;place-items:center;padding:24px;overflow-y:auto}.room-lobby-card{width:min(560px,100%);text-align:center}.room-lobby-card h1{color:#fff;font-size:24px;margin-bottom:4px}.room-lobby-sub{color:#a9aed6;font-size:14px;margin-bottom:18px}.room-lobby .lk-prejoin{background:transparent;padding:0}.room-lobby .lk-username-container input{display:none}.room-lobby .lk-username-container{display:flex;justify-content:center;margin-top:14px}.room-lobby .lk-prejoin .lk-join-button{width:min(320px,100%);padding:12px 20px;font-size:15px}.room-lobby .lk-prejoin .lk-video-container{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.12)}.room-lobby .lk-prejoin .lk-join-button{background:var(--indigo);font-weight:700;border-radius:10px}.room-lobby .lk-prejoin .lk-join-button:hover{background:var(--indigo-d)}.room-lobby-back{margin-top:16px;background:none;border:none;color:#a9aed6;font-size:14px;cursor:pointer}.room-lobby-back:hover{color:#fff}@media (max-width: 640px){:root{--fs-2xs: 12px;--fs-xs: 13px;--fs-sm: 14px;--fs-base: 15px}.app-header{padding:0 14px;gap:10px}.app-main{padding:16px 12px 48px}.card{padding:16px}.page-head{flex-direction:column;align-items:stretch}.page-head .row .btn{flex:1}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:12px 14px;gap:10px}.stat-icon{width:36px;height:36px;font-size:17px;border-radius:11px}.stat-card .num{font-size:19px}.course-grid{grid-template-columns:1fr}.input{font-size:16px}.journal-line{flex-wrap:wrap;gap:6px 10px}.auth-card{padding:24px 20px}.room-wrap .lk-focus-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 96px}.room-wrap .lk-carousel .lk-participant-tile{max-height:96px}}@media (max-width: 400px){.app-header .user-name{display:none}.logo{font-size:17px}}
