@font-face{font-family:Assistant;src:url(/fonts/Assistant/Assistant-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Assistant;src:url(/fonts/Assistant/Assistant-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Assistant;src:url(/fonts/Assistant/Assistant-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{--host-bg: #f6f6f9;--host-surface: #ffffff;--host-surface-2: #f3f3f7;--host-track: #ebebf2;--host-fg: #1b1b1f;--host-muted: #6b6b76;--host-border: #e4e4eb;--host-border-strong: #cdcdd6;--host-accent: #6965db;--host-accent-hover: #5b57d1;--host-accent-fg: #ffffff;--host-accent-soft: #eeedfc;--host-accent-text: #5550c9;--host-danger: #e03131;--host-danger-hover: #c92a2a;--host-danger-soft: #fff1f1;--host-danger-text: #c92a2a;--host-good: #2f9e44;--host-good-soft: #ebfbee;--host-good-text: #2b8a3e;--host-warn: #f08c00;--host-warn-soft: #fff8e1;--host-warn-text: #9c5700;--host-toast-bg: #1b1b1f;--host-toast-fg: #ffffff;--host-shadow: 0 1px 2px rgba(24, 24, 48, .04), 0 1px 3px rgba(24, 24, 48, .03);--host-shadow-lg: 0 16px 48px rgba(24, 24, 48, .2);--host-focus: 0 0 0 3px rgba(105, 101, 219, .3);--host-backdrop: rgba(24, 24, 32, .4);--host-radius: 12px;--host-radius-sm: 8px;--host-mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--host-bg: #121212;--host-surface: #1e1e22;--host-surface-2: #27272d;--host-track: #34343c;--host-fg: #e3e3e8;--host-muted: #a0a0ab;--host-border: #313138;--host-border-strong: #46464f;--host-accent: #a8a5ff;--host-accent-hover: #bcb9ff;--host-accent-fg: #17171c;--host-accent-soft: rgba(168, 165, 255, .14);--host-accent-text: #bdbaff;--host-danger: #e03131;--host-danger-hover: #f03e3e;--host-danger-soft: rgba(255, 107, 107, .1);--host-danger-text: #ff8787;--host-good: #51cf66;--host-good-soft: rgba(81, 207, 102, .12);--host-good-text: #69db7c;--host-warn: #fcc419;--host-warn-soft: rgba(252, 196, 25, .1);--host-warn-text: #ffd43b;--host-toast-bg: #e3e3e8;--host-toast-fg: #17171c;--host-shadow: none;--host-shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);--host-focus: 0 0 0 3px rgba(168, 165, 255, .35);--host-backdrop: rgba(0, 0, 0, .55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--host-bg);color:var(--host-fg);font-family:Assistant,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1{font-size:1.65rem;font-weight:700;line-height:1.2;letter-spacing:-.01em}h2{font-size:1.1rem;font-weight:700;line-height:1.25}h3{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--host-muted)}a{color:var(--host-accent-text);text-underline-offset:2px}code{font-family:var(--host-mono);font-size:.92em}:focus-visible{outline:2px solid var(--host-accent);outline-offset:2px}.host-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.host-muted{color:var(--host-muted)}.host-small{font-size:.88rem}.host-num{font-variant-numeric:tabular-nums}.host-icon{flex:none}.host-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid var(--host-border-strong);border-radius:var(--host-radius-sm);background:var(--host-surface);color:var(--host-fg);font:inherit;font-size:.93rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .12s,border-color .12s,color .12s}.host-btn:hover:not(:disabled){background:var(--host-surface-2)}.host-btn:disabled{opacity:.5;cursor:default}.host-btn[aria-busy=true]{opacity:.8;cursor:progress}.host-btn--small{min-height:30px;padding:0 10px;font-size:.87rem}.host-btn--small .host-icon{width:16px;height:16px}.host-btn--icon-only{width:36px;padding:0}.host-btn--small.host-btn--icon-only{width:30px}.host-btn--primary{background:var(--host-accent);border-color:var(--host-accent);color:var(--host-accent-fg)}.host-btn--primary:hover:not(:disabled){background:var(--host-accent-hover);border-color:var(--host-accent-hover)}.host-btn--ghost{background:transparent;border-color:transparent;color:var(--host-muted)}.host-btn--ghost:hover:not(:disabled){color:var(--host-fg)}.host-btn--danger{color:var(--host-danger-text)}.host-btn--danger:hover:not(:disabled){background:var(--host-danger-soft);border-color:color-mix(in srgb,var(--host-danger) 45%,transparent)}.host-btn--danger-solid{background:var(--host-danger);border-color:var(--host-danger);color:#fff}.host-btn--danger-solid:hover:not(:disabled){background:var(--host-danger-hover);border-color:var(--host-danger-hover)}.host-icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;padding:0;border:0;border-radius:var(--host-radius-sm);background:transparent;color:var(--host-muted);cursor:pointer}.host-icon-btn:hover:not(:disabled){background:var(--host-surface-2);color:var(--host-fg)}.host-icon-btn:disabled{opacity:.4;cursor:default}.host-spinner{width:14px;height:14px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:host-spin .7s linear infinite}@keyframes host-spin{to{transform:rotate(360deg)}}.host-input{width:100%;min-width:0;height:38px;padding:0 12px;border:1px solid var(--host-border-strong);border-radius:var(--host-radius-sm);background:var(--host-surface);color:var(--host-fg);font:inherit;transition:border-color .12s,box-shadow .12s}.host-input::placeholder{color:var(--host-muted);opacity:.8}.host-input:focus{outline:none;border-color:var(--host-accent);box-shadow:var(--host-focus)}.host-input[aria-invalid=true]{border-color:var(--host-danger)}.host-input:disabled{opacity:.6}select.host-input{width:auto;padding-right:32px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238a8a96' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:16px;cursor:pointer}.host-input--mono{font-family:var(--host-mono);font-size:.95rem;letter-spacing:.01em}.host-field{display:flex;flex-direction:column;gap:6px;min-width:0}.host-field>label{font-weight:600;font-size:.93rem}.host-field__hint{font-size:.85rem;color:var(--host-muted)}.host-field__hint.is-error{color:var(--host-danger-text)}.host-input-group{display:flex;flex-wrap:wrap;gap:8px}.host-input-group>.host-input{flex:1 1 180px}.host-input-group>.host-input--mono{flex-basis:250px}.host-input-group>.host-btn{flex:none}.host-quota-input{display:flex;gap:8px;min-width:0}.host-quota-input input{flex:1;max-width:160px}.host-quota-input select{flex:none}.host-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.host-check input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--host-accent);cursor:pointer}.host-check>span{display:flex;flex-direction:column;gap:2px;font-weight:600}.host-check small{font-size:.85rem;font-weight:400;color:var(--host-muted)}.host-check--danger{padding:12px 14px;border:1px solid color-mix(in srgb,var(--host-danger) 35%,transparent);border-radius:10px}.host-check--danger input{accent-color:var(--host-danger)}.host-radio{display:flex;align-items:center;gap:8px;cursor:pointer}.host-radio input{width:16px;height:16px;margin:0;accent-color:var(--host-accent)}.host-switch{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;cursor:pointer}.host-switch input{position:absolute;top:0;right:0;width:40px;height:24px;margin:0;opacity:0;cursor:pointer}.host-switch__text{display:flex;flex-direction:column;gap:2px}.host-switch__label{display:inline-flex;align-items:center;gap:8px;font-weight:600}.host-switch__hint{font-size:.88rem;color:var(--host-muted)}.host-switch__track{position:relative;flex:none;width:40px;height:24px;border-radius:999px;background:var(--host-border-strong);transition:background-color .15s}.host-switch__track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}input:checked+.host-switch__track{background:var(--host-accent)}input:checked+.host-switch__track:after{transform:translate(16px)}input:focus-visible+.host-switch__track{box-shadow:var(--host-focus)}input:disabled+.host-switch__track{opacity:.55}.host-error{color:var(--host-danger-text);font-size:.93rem;font-weight:600}.host-success{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--host-good-text)}.host-notice{display:flex;gap:12px;padding:14px 16px;border:1px solid;border-radius:10px}.host-notice>.host-icon{width:20px;height:20px;margin-top:1px}.host-notice>div{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:.93rem}.host-notice strong{font-size:1rem}.host-notice--danger{background:var(--host-danger-soft);border-color:color-mix(in srgb,var(--host-danger) 30%,transparent)}.host-notice--danger>.host-icon,.host-notice--danger strong{color:var(--host-danger-text)}.host-notice--warning{background:var(--host-warn-soft);border-color:color-mix(in srgb,var(--host-warn) 40%,transparent)}.host-notice--warning>.host-icon,.host-notice--warning strong{color:var(--host-warn-text)}.host-badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1;white-space:nowrap;vertical-align:middle}.host-badge .host-icon{width:13px;height:13px}.host-badge--good{background:var(--host-good-soft);color:var(--host-good-text)}.host-badge--warn{background:var(--host-warn-soft);color:var(--host-warn-text)}.host-badge--bad{background:var(--host-danger-soft);color:var(--host-danger-text)}.host-badge--muted{background:var(--host-surface-2);color:var(--host-muted)}.host-badge--accent{background:var(--host-accent-soft);color:var(--host-accent-text)}.host-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:36px 16px;text-align:center;color:var(--host-muted)}.host-empty strong{color:var(--host-fg);font-weight:600}.host-empty p{max-width:40ch;font-size:.92rem}.host-empty__icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:6px;border-radius:50%;background:var(--host-surface-2)}.host-empty__icon .host-icon{width:22px;height:22px}.host-empty__actions{display:flex;justify-content:center;margin-top:-12px;padding-bottom:12px}.host-loading{display:flex;align-items:center;gap:10px;padding:24px 0;color:var(--host-muted)}.host-toasts{inset:auto auto 24px 50%;translate:-50% 0;margin:0;padding:0;border:0;background:transparent;overflow:visible;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.host-toasts:not(:popover-open){display:none}.host-toast{max-width:min(440px,100vw - 32px);padding:10px 16px;border-radius:10px;background:var(--host-toast-bg);color:var(--host-toast-fg);font-size:.93rem;font-weight:600;box-shadow:var(--host-shadow-lg);animation:host-rise .18s ease-out}.host-toast--error{background:var(--host-danger);color:#fff}@keyframes host-rise{0%{opacity:0;transform:translateY(8px)}}.host-bar{position:sticky;top:0;z-index:10;border-bottom:1px solid var(--host-border);background:color-mix(in srgb,var(--host-surface) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.host-bar__inner{display:flex;align-items:center;gap:28px;max-width:1180px;margin:0 auto;padding:10px 24px}.host-brand{display:flex;align-items:center;gap:10px;color:inherit;font-size:1.1rem;font-weight:700;text-decoration:none}.host-brand img{border-radius:7px;box-shadow:0 0 0 1px var(--host-border)}.host-brand__tag{padding:2px 8px;border-radius:999px;background:var(--host-accent-soft);color:var(--host-accent-text);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.host-tabs{display:flex;gap:4px;flex:1}.host-tab{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:var(--host-radius-sm);color:var(--host-muted);font-weight:600;text-decoration:none;white-space:nowrap}.host-tab:hover{background:var(--host-surface-2);color:var(--host-fg)}.host-tab[aria-current=page]{background:var(--host-accent-soft);color:var(--host-accent-text)}.host-main{max-width:1180px;margin:0 auto;padding:28px 24px 72px}.host-page{display:flex;flex-direction:column;gap:20px}.host-page--narrow{max-width:720px}.host-page__header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px}.host-page__header p{margin-top:4px}.host-page__actions{display:flex;gap:8px}.host-card{min-width:0;padding:20px;border:1px solid var(--host-border);border-radius:var(--host-radius);background:var(--host-surface);box-shadow:var(--host-shadow)}.host-card--flush{padding:0;overflow:hidden}.host-card__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.host-card__header h2{display:flex;align-items:center;gap:8px}.host-login{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:24px 16px}.host-login__card{display:flex;flex-direction:column;gap:18px;width:min(420px,100%);padding:28px;box-shadow:var(--host-shadow-lg)}.host-login__card .host-btn--primary{min-height:40px}.host-login__brand{display:flex;align-items:center;gap:14px}.host-login__brand img{flex:none;border-radius:10px;box-shadow:0 0 0 1px var(--host-border)}.host-login__brand h1{font-size:1.4rem}.host-login__brand p{margin-top:2px;font-size:.93rem}.host-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.host-stat{display:flex;align-items:flex-start;gap:14px;padding:18px 20px}.host-stat__icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:10px;background:var(--host-accent-soft);color:var(--host-accent-text)}.host-stat__icon .host-icon{width:22px;height:22px}.host-stat__text{display:flex;flex-direction:column;min-width:0}.host-stat__label{color:var(--host-muted);font-size:.88rem;font-weight:600}.host-stat__value{font-size:1.75rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.host-stat__detail{color:var(--host-muted);font-size:.85rem}.host-overview-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:16px;align-items:start}.host-live{width:8px;height:8px;flex:none;border-radius:50%;background:var(--host-good);animation:host-pulse 2s ease-out infinite}@keyframes host-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--host-good) 50%,transparent)}70%,to{box-shadow:0 0 0 7px transparent}}.host-rooms{margin:0;padding:0;list-style:none}.host-room{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--host-border)}.host-room:first-child{border-top:0}.host-room:last-child{padding-bottom:0}.host-room__main{display:flex;flex-direction:column;gap:2px;min-width:0}.host-room__name{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.host-room__name code{font-size:.95rem;font-weight:600;overflow-wrap:anywhere}.host-room__meta{color:var(--host-muted);font-size:.88rem}.host-status-list{margin:0}.host-status-list>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px 0;border-top:1px solid var(--host-border)}.host-status-list>div:first-child{padding-top:4px;border-top:0}.host-status-list>div:last-child{padding-bottom:0}.host-status-list dt{display:flex;align-items:center;gap:8px;font-weight:600}.host-status-list dt .host-icon{color:var(--host-muted)}.host-status-list dd{margin:0}.host-status-list p{grid-column:1/-1;color:var(--host-muted);font-size:.88rem}.host-overview-side{display:flex;flex-direction:column;gap:16px;min-width:0}.host-invites-card{display:flex;flex-direction:column;gap:12px}.host-invites-card .host-card__header{margin-bottom:0}.host-invites-card .host-card__header .host-icon{color:var(--host-muted)}.host-invites-card__actions{display:flex;flex-wrap:wrap;gap:8px}a.host-btn{text-decoration:none}.host-toolbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--host-border)}.host-search{position:relative;flex:1;max-width:360px}.host-search .host-icon{position:absolute;top:50%;left:11px;translate:0 -50%;color:var(--host-muted);pointer-events:none}.host-search input{padding-left:36px}.host-sort-select{display:none;align-items:center;gap:8px}.host-sort-select span{color:var(--host-muted);font-size:.88rem;white-space:nowrap}.host-table{width:100%;border-collapse:collapse}.host-table th,.host-table td{padding:12px 16px;border-bottom:1px solid var(--host-border);text-align:left;vertical-align:middle;white-space:nowrap}.host-table thead th{padding-top:10px;padding-bottom:10px;background:var(--host-surface-2);color:var(--host-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.host-table tbody tr{cursor:pointer;transition:background-color .1s}.host-table tbody tr:hover{background:var(--host-surface-2)}.host-table tbody tr:last-child>*{border-bottom:0}.host-table tbody th{font-weight:600}.host-table .is-disabled .host-table__username{color:var(--host-muted)}.host-sort{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.host-sort .host-icon{width:14px;height:14px;opacity:.45}.host-sort:hover,.host-sort.is-active{color:var(--host-fg)}.host-sort:hover .host-icon,.host-sort.is-active .host-icon{opacity:1}.host-table__user .host-avatar{margin-right:10px}.host-table__username{vertical-align:middle}.host-table__storage{width:26%;min-width:180px}.host-table__manage{width:1%;padding-left:0!important;text-align:right!important;color:var(--host-muted)}.host-avatar{display:inline-grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--host-accent-soft);color:var(--host-accent-text);font-size:.85rem;font-weight:700;vertical-align:middle}.host-avatar--large{width:40px;height:40px;font-size:1.1rem}.host-usage{display:flex;flex-direction:column;gap:5px;min-width:0}.host-usage__track{height:6px;overflow:hidden;border-radius:999px;background:var(--host-track)}.host-usage__fill{height:100%;border-radius:inherit;background:var(--host-accent)}.host-usage--high .host-usage__fill{background:var(--host-warn)}.host-usage--full .host-usage__fill{background:var(--host-danger)}.host-usage--muted .host-usage__fill{background:var(--host-muted);opacity:.5}.host-usage__text{color:var(--host-muted);font-size:.82rem;font-variant-numeric:tabular-nums}.host-segmented{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--host-surface-2)}.host-segmented__option{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--host-muted);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer}.host-segmented__option:hover{color:var(--host-fg)}.host-segmented__option[aria-checked=true]{background:var(--host-surface);color:var(--host-fg);box-shadow:0 1px 2px #0000001a}.host-segmented__count{min-width:20px;padding:1px 6px;border-radius:999px;background:var(--host-track);color:var(--host-muted);font-size:.78rem;font-variant-numeric:tabular-nums;text-align:center}[aria-checked=true]>.host-segmented__count{background:var(--host-accent-soft);color:var(--host-accent-text)}.host-invites tbody tr{cursor:default}.host-invites tbody tr:hover{background:none}.host-invite__code{width:1%}.host-invite__code code{display:inline-block;max-width:22ch;overflow:hidden;font-size:.86rem;font-weight:500;text-overflow:ellipsis;vertical-align:middle;-webkit-user-select:all;user-select:all}.host-invite__code .host-btn{margin-left:4px;vertical-align:middle}.is-used .host-invite__code code{color:var(--host-muted)}@media (min-width: 1100px){.host-invite__code code{max-width:none}}.host-invite__note{width:40%;max-width:0;overflow:hidden;text-overflow:ellipsis}.host-invite__status{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}@media (min-width: 761px){.host-invite__status{flex-wrap:nowrap}}.host-invite__accounts{display:block;margin-top:4px;contain:inline-size;white-space:normal;overflow-wrap:anywhere}.host-invite-uses{min-width:0;margin:0;padding:0;border:0;gap:8px}.host-invite-uses legend{margin-bottom:6px;padding:0;font-weight:600;font-size:.93rem}.host-invite-uses__count,.host-invite-uses .host-field__hint{margin-left:24px}.host-invite-uses__count{display:flex;align-items:center;gap:8px}.host-invite-uses__count .host-input{max-width:100px}.host-invite__actions{width:1%;text-align:right!important}.host-invite__actions .host-btn+.host-btn{margin-left:6px}.host-invite-share{display:flex;flex-direction:column;gap:14px;padding:14px;border:1px solid var(--host-border);border-radius:10px;background:var(--host-surface-2)}.host-invite-share .host-input{background:var(--host-surface);font-size:.8rem}.host-invite__summary{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--host-radius-sm);background:var(--host-surface-2)}.host-invite__summary code{font-size:.86rem;overflow-wrap:anywhere}.host-invite__summary span{color:var(--host-muted);font-size:.9rem}.host-publications__summary{margin-left:auto;text-align:right}.host-publications tbody tr{cursor:default}.host-publications tbody tr:hover{background:none}.host-publications .is-offline .host-publication__title>span{color:var(--host-muted)}.host-publication__title{width:34%;max-width:0}.host-publication__title>span{display:block;overflow:hidden;text-overflow:ellipsis}.host-publication__title code{display:block;overflow:hidden;color:var(--host-muted);font-size:.8rem;font-weight:400;text-overflow:ellipsis}.host-publication__teacher .host-avatar{width:24px;height:24px;margin-right:8px;font-size:.75rem}.host-publication__actions{width:1%;text-align:right!important}.host-publication__actions>*+*{margin-left:6px}.host-modal{width:min(500px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);padding:0;overflow:auto;border:1px solid var(--host-border);border-radius:14px;background:var(--host-surface);color:var(--host-fg);box-shadow:var(--host-shadow-lg);overscroll-behavior:contain}.host-modal::backdrop{background:var(--host-backdrop)}.host-modal[open]{animation:host-pop .16s ease-out}.host-modal--drawer{width:min(540px,100vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto;border-width:0 0 0 1px;border-radius:16px 0 0 16px;scroll-padding-top:96px;scroll-padding-bottom:16px}.host-modal--drawer[open]{animation:host-slide .2s ease-out}.host-modal--drawer .host-modal__header{position:sticky;top:0;z-index:1;padding-bottom:14px;border-bottom:1px solid var(--host-border);background:var(--host-surface)}@keyframes host-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes host-slide{0%{transform:translate(40px);opacity:0}}.host-modal__body{min-height:100%}.host-modal__body>form>.host-error{margin:0 20px 12px}.host-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 0}.host-modal__header h2{min-width:0;font-size:1.2rem;overflow-wrap:anywhere}.host-modal__content{display:flex;flex-direction:column;gap:16px;padding:16px 20px}.host-modal__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:4px 20px 20px}.host-panel{display:flex;flex-direction:column;padding:0 20px 24px}.host-panel__title{display:flex;align-items:center;gap:12px}.host-panel__title>span:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;overflow-wrap:anywhere}.host-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px;margin:18px 0}.host-facts>div{min-width:0}.host-facts dt{color:var(--host-muted);font-size:.8rem;font-weight:600}.host-facts dd{margin:2px 0 0;font-weight:600}.host-facts dd a{color:var(--host-accent-text)}.host-facts__wide{grid-column:1/-1}.host-id{color:var(--host-muted);font-size:.8rem;font-weight:400;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.host-panel__section{display:flex;flex-direction:column;gap:14px;padding:18px 0;border-top:1px solid var(--host-border)}.host-panel__section.is-danger{margin-top:6px;padding:16px;border:1px solid color-mix(in srgb,var(--host-danger) 35%,transparent);border-radius:var(--host-radius)}.host-panel__section.is-danger h3{color:var(--host-danger-text)}.host-panel__section.is-danger .host-action-row+.host-action-row{padding-top:14px;border-top:1px solid var(--host-border)}.host-panel__section fieldset{display:flex;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;border:0}.host-panel__section legend{margin-bottom:6px;padding:0;font-weight:600}.host-panel__section .host-quota-input{margin-left:24px}.host-quota>div:last-of-type{display:flex}.host-action-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.host-action-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.host-action-row strong{font-weight:600}.host-action-row span{color:var(--host-muted);font-size:.88rem}.host-action-row .host-btn{flex:none}.host-credentials{margin:0;overflow:hidden;border:1px solid var(--host-border);border-radius:10px;background:var(--host-surface-2)}.host-credentials>div{display:grid;grid-template-columns:8.5em minmax(0,1fr);align-items:baseline;gap:12px;padding:10px 14px;border-top:1px solid var(--host-border)}.host-credentials>div:first-child{border-top:0}.host-credentials dt{color:var(--host-muted);font-size:.88rem;font-weight:600}.host-credentials dd{margin:0;min-width:0}.host-credentials code{font-size:.98rem;font-weight:600;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.host-credentials code:focus{outline:none}.host-credentials div:nth-child(2) code{font-size:1.1rem;color:var(--host-accent-text)}.host-credentials div:nth-child(3) code{font-family:inherit;font-size:.93rem;font-weight:400;overflow-wrap:break-word}.host-settings{display:flex;flex-direction:column;gap:18px}.host-settings h2{margin-bottom:2px}.host-settings__quota{padding-top:18px;border-top:1px solid var(--host-border)}.host-settings__quota .host-input-group{max-width:420px;margin-top:4px}@media (max-width: 960px){.host-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.host-overview-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 760px){.host-bar__inner{flex-wrap:wrap;gap:8px 12px;padding:10px 16px 8px}.host-tabs{order:3;flex-basis:100%;overflow-x:auto}.host-tab{flex:1;justify-content:center}.host-bar__logout{margin-left:auto}.host-main{padding:20px 16px 56px}h1{font-size:1.45rem}.host-toolbar{flex-wrap:wrap}.host-search{flex-basis:100%;max-width:none}.host-sort-select{display:flex}.host-table{display:block}.host-table thead{display:none}.host-table tbody{display:block}.host-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;grid-template-areas:"user user status manage" "storage storage storage storage" "created login login login" "cloud sessions sessions sessions";gap:10px 12px;padding:14px 16px;border-bottom:1px solid var(--host-border)}.host-table tbody tr:last-child{border-bottom:0}.host-table tbody th,.host-table tbody td{padding:0!important;border:0;white-space:normal}.host-table td[data-label]:before{content:attr(data-label);display:block;margin-bottom:2px;color:var(--host-muted);font-size:.78rem;font-weight:600}.host-table__user{grid-area:user;display:flex;align-items:center;min-width:0;overflow-wrap:anywhere}.host-table__manage{grid-area:manage}.host-table__status{grid-area:status;align-self:center;justify-self:end}.host-table__storage{grid-area:storage;width:auto;min-width:0}.host-table__created{grid-area:created}.host-table__login{grid-area:login}.host-table__cloud{grid-area:cloud}.host-table__sessions{grid-area:sessions}.host-invites tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"code code" "note created" "state state" "actions actions"}.host-invite__code{grid-area:code;display:flex;align-items:center;width:auto;min-width:0}.host-invite__code code{flex:0 1 auto;max-width:none;white-space:nowrap}.host-invite__note{grid-area:note;width:auto;max-width:none;overflow-wrap:anywhere}.host-invite__created{grid-area:created;text-align:right}.host-invite__state{grid-area:state}.host-invite__actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:6px;width:auto;text-align:left!important}.host-invite__actions .host-btn+.host-btn{margin-left:0}.host-publications__summary{flex-basis:100%;margin-left:0;text-align:left}.host-publications tbody tr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title title" "teacher status" "size updated" "actions actions"}.host-publication__title{grid-area:title;width:auto;max-width:none}.host-publication__title>span{white-space:normal;overflow-wrap:anywhere}.host-publication__teacher{grid-area:teacher;display:flex;align-items:center}.host-publication__teacher:before{display:none!important}.host-publication__status{grid-area:status;align-self:center;justify-self:end}.host-publication__size{grid-area:size;text-align:left}.host-publication__updated{grid-area:updated;text-align:right}.host-publication__actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:6px;width:auto;text-align:left!important}.host-publication__actions>*+*{margin-left:0}.host-modal--drawer{width:100vw;border-width:0;border-radius:0}.host-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.host-action-row{flex-wrap:wrap}}@media (max-width: 520px){.host-brand__tag{display:none}.host-tabs{gap:2px;scrollbar-width:none}.host-tab{flex:1 0 auto;flex-direction:column;gap:2px;padding:6px 3px;font-size:.7rem}.host-tab .host-icon{width:20px;height:20px}.host-stats{gap:12px}.host-stat{flex-direction:column;gap:10px;padding:14px 16px}.host-stat__icon{width:34px;height:34px}.host-stat__value{font-size:1.45rem}.host-room{flex-wrap:wrap}.host-modal__actions{flex-direction:column-reverse}.host-modal__actions .host-btn{width:100%}.host-credentials>div{grid-template-columns:minmax(0,1fr);gap:2px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
