:root{--brand-deep: #1F1B3D;--brand-violet: #5B4BD8;--brand-violet-soft: #ECEAFB;--chrome-graphite: #17171D;--chrome-graphite-raised: #2A2934;--chrome-graphite-hover: #343240;--chrome-graphite-border: rgba(255, 255, 255, .16);--chrome-text-muted: rgba(255, 255, 255, .7);--surface: #FFFFFF;--surface-2: #F6F7FB;--surface-inset: #EEF1F7;--surface-raised: #FFFFFF;--surface-muted: #EEF1F7;--canvas-top: #F7F8FB;--canvas-bottom: #E9ECF3;--ground: #FAFBFD;--grid-minor: #DEE2EC;--grid-major: #C5CAD6;--text: #0F1230;--text-muted: #5A6079;--text-secondary: #4F5670;--success: #22A06B;--success-text: #167854;--warning: #D9821A;--danger: #D24858;--color-danger: #D24858;--axis-x: #E5484D;--axis-y: #30A46C;--axis-z: #3E63DD;--border: #DEE2EC;--shadow-elevation: 0 6px 24px rgba(15, 18, 48, .1);--shadow-soft: 0 4px 16px rgba(15, 18, 48, .08);--accent: #5B4BD8;--brand-teal: #1389B0;--block-delete-fill: #4F5BD5;--page-background: #F5F7FB;--radius-chip: 8px;--radius-button: 12px;--radius-panel: 16px;--radius-card: 16px;--radius-control: 10px;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--resource-panel-width: 460px;--library-drag-left: 0px;--library-drag-top: 0px;--touch-stick-x: 0px;--touch-stick-y: 0px;--motion-fast: .12s;--motion-base: .18s;--motion-slow: .24s;--ease-out: cubic-bezier(.2, .8, .2, 1);--viewport-block-size: 100dvh;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--target-touch: 44px;--target-child-primary: 48px;--target-compact-pointer: 32px;--text-input-mobile: 16px;--space-screen-inline: clamp(16px, 4vw, 32px);--sheet-max-inline: 38rem;--z-route: 0;--z-editor-chrome: 20;--z-hud: 30;--z-sheet: 40;--z-dialog: 50;--z-status: 60;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--canvas-bottom);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}html[data-layout-direction=ltr] body{direction:ltr}.adaptive-viewport-shell{position:relative;z-index:var(--z-route);width:100%;height:var(--viewport-block-size, 100dvh);min-height:0;overflow:hidden;isolation:isolate;--adaptive-control-target: var(--target-compact-pointer);--adaptive-screen-inline: var(--space-screen-inline)}.adaptive-viewport-shell[data-pointer=coarse]{--adaptive-control-target: var(--target-touch)}.adaptive-viewport-shell[data-container=compact]{--adaptive-screen-inline: 16px}.adaptive-viewport-shell[data-container=medium]{--adaptive-screen-inline: clamp(20px, 3vw, 28px)}button,input,select{font:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brand-violet);outline-offset:2px}.language-switcher,.projects-language-switcher{display:inline-flex;align-items:center;min-width:0}.language-switcher select,.projects-language-switcher select{min-height:36px;max-inline-size:9rem;padding-block:0;padding-inline:10px 28px;border:1px solid var(--border);border-radius:var(--radius-button);background-color:var(--surface);color:var(--text);font-size:13px;font-weight:700;cursor:pointer}.help-chip.language-switcher select{min-height:28px;padding-inline-start:4px;border:0;background:transparent;color:inherit}kbd{display:inline-block;padding:0 8px;border:1px solid var(--grid-major);border-bottom-width:2px;border-radius:var(--radius-chip);background:var(--surface-2);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}.session-bootstrap{display:grid;place-items:center;width:100%;min-height:var(--viewport-block-size, 100dvh);padding:max(24px,var(--safe-area-top)) max(24px,var(--safe-area-right)) max(24px,var(--safe-area-bottom)) max(24px,var(--safe-area-left));overflow:auto;background:var(--surface-2)}.session-bootstrap-card{width:min(420px,100%);padding:32px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-elevation);text-align:center}.session-bootstrap-icon{width:34px;height:34px;color:var(--brand-violet)}.session-bootstrap-icon.is-spinning{animation:session-bootstrap-spin .9s linear infinite}.session-bootstrap-card h1{margin:18px 0 8px;font-size:20px;line-height:1.25}.session-bootstrap-card p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.55}.smartphone-app-portrait-card:focus{outline:none}.smartphone-app-portrait-icon{position:relative;display:inline-grid;place-items:center;width:64px;height:64px;border-radius:20px;color:var(--brand-violet);background:var(--brand-violet-soft)}.smartphone-app-portrait-icon svg:last-child{position:absolute;right:-5px;bottom:-3px;padding:3px;border-radius:999px;color:#fff;background:var(--brand-violet);box-sizing:content-box}.session-bootstrap-card .smartphone-app-portrait-eyebrow{margin-top:16px;color:var(--brand-violet);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.smartphone-app-portrait-card h1{margin-top:8px}.session-bootstrap-card .smartphone-app-portrait-recovery{margin-top:12px;font-size:13px}.smartphone-app-portrait-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.smartphone-app-portrait-actions .session-bootstrap-retry{margin-top:0}.smartphone-app-portrait-actions .session-bootstrap-retry:disabled{cursor:wait;opacity:.7}.session-bootstrap-retry{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:22px;padding:0 18px;border-radius:var(--radius-button);background:var(--brand-violet);color:#fff;font-weight:750;cursor:pointer}.session-bootstrap-retry:hover{filter:brightness(.94)}.route-status-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.route-status-actions .session-bootstrap-retry{margin-top:0}.route-status-home{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border:1px solid var(--border);border-radius:var(--radius-button);background:#fff;color:var(--text);font:inherit;font-weight:750;cursor:pointer}.route-status-home:hover{background:var(--surface-muted)}.recovery-screen{display:grid;place-items:center;width:100%;min-height:var(--viewport-block-size, 100dvh);padding:max(24px,var(--safe-area-top)) max(24px,var(--safe-area-right)) max(24px,var(--safe-area-bottom)) max(24px,var(--safe-area-left));overflow:auto;background:var(--surface-2)}.recovery-screen.is-embedded{position:absolute;inset:0;z-index:25;min-height:0;padding:20px}.recovery-card{width:min(520px,100%);padding:32px;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-elevation);text-align:center}.recovery-card h1{margin:18px 0 8px;font-size:20px;line-height:1.25}.recovery-card p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.55}.recovery-card .recovery-draft-note{margin-top:12px;color:var(--text);font-weight:650}.recovery-card .recovery-reference{margin-top:14px;font-size:12px}.recovery-reference code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.recovery-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.recovery-actions .session-bootstrap-retry{margin-top:0}.deployment-update-notice{position:fixed;right:max(16px,var(--safe-area-right));bottom:max(16px,var(--safe-area-bottom));z-index:10040;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;width:min(620px,calc(100vw - 32px));padding:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:var(--radius-panel);color:var(--text);background:var(--surface);box-shadow:var(--shadow-elevation)}.deployment-update-copy{display:grid;min-width:0;gap:3px}.deployment-update-copy strong{font-size:14px;line-height:1.3}.deployment-update-copy span{color:var(--text-muted);font-size:12px;line-height:1.35}.deployment-update-action,.deployment-update-dismiss{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:0;border-radius:var(--radius-button);font:inherit;font-weight:750;cursor:pointer}.deployment-update-action{gap:8px;padding:0 16px;color:#fff;background:var(--accent)}.deployment-update-dismiss{width:42px;padding:0;color:var(--text-muted);background:var(--surface-muted)}@media(max-width:640px){.deployment-update-notice{left:max(10px,var(--safe-area-left));right:max(10px,var(--safe-area-right));bottom:max(10px,var(--safe-area-bottom));grid-template-columns:minmax(0,1fr) 42px;width:auto;gap:10px}.deployment-update-action{grid-column:1 / -1;grid-row:2}.deployment-update-dismiss{grid-column:2;grid-row:1}}@keyframes session-bootstrap-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.session-bootstrap-icon.is-spinning{animation:none}}.route-chunk-loading{display:grid;min-height:var(--viewport-block-size, 100dvh);place-items:center;padding:1.5rem;color:var(--text-secondary, #4f5670);background:var(--page-background, #f5f7fb);font-weight:600}html[lang^=ar][data-content-direction=rtl]{--font-arabic-ui: "Noto Sans Arabic", "Noto Kufi Arabic", "Geeza Pro", Tahoma, Arial, sans-serif;font-family:var(--font-arabic-ui);font-kerning:normal;text-rendering:optimizeLegibility}html[lang^=ar][data-content-direction=rtl] :where(h1,h2,h3,h4,p,li,dt,dd,label,button,input,select,textarea){font-family:var(--font-arabic-ui);letter-spacing:normal}html[lang^=ar][data-content-direction=rtl] :where(h1,h2,h3,h4,p,li,dt,dd,label,button){overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}html[lang^=zh][data-content-direction=ltr]{--font-cjk-ui: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", system-ui, sans-serif;font-family:var(--font-cjk-ui);text-rendering:optimizeLegibility;overflow-wrap:normal;word-break:normal;line-break:strict;-webkit-hyphens:none;hyphens:none}html[lang^=zh][data-content-direction=ltr] :where(h1,h2,h3,h4,p,li,dt,dd,label,button,input,select,textarea){font-family:var(--font-cjk-ui);letter-spacing:normal}html[lang^=zh][data-content-direction=ltr] :where(h1,h2,h3,h4,p,li,dt,dd,label,button){overflow-wrap:normal;word-break:normal;line-break:strict;-webkit-hyphens:none;hyphens:none}html[lang^=zh][data-content-direction=ltr] :where(.asset-tile .asset-label,.auth-screen-note,.auth-choice-card small,.auth-role-name,.auth-role-desc){overflow-wrap:normal;word-break:normal;line-break:strict;-webkit-hyphens:none;hyphens:none}html[data-content-direction=rtl] :where(h1,h2,h3,h4,p){direction:rtl;unicode-bidi:isolate}html[data-content-direction=rtl] :where(a,button,label,li,dt,dd,legend,figcaption,th,td,span,small,strong,em,option){unicode-bidi:plaintext}html[data-content-direction=rtl] :where(input:not([type]),input[type=text],input[type=search],textarea){direction:rtl;unicode-bidi:plaintext}html[data-content-direction=rtl] :where(code,pre,kbd,samp,input[type=email],input[type=url],input[type=tel],input[type=number],input[inputmode=decimal],input[inputmode=numeric],input[autocomplete=one-time-code],.auth-code-input,.landing-room-join input,.projects-room-join input,.class-code-chip,.class-invite-code,.project-share-room-code strong,.project-share-copy-row input){direction:ltr;unicode-bidi:isolate;text-align:start}html[data-content-direction=rtl] :where(.landing-nav-secondary .landing-nav-link,.landing-for-link,.auth-choice-card,.assignment-table th,.assignment-table td,.account-settings-nav button,.landing-room-label,.phone-play-room-toggle,.view-mode-option,.luduum-object-picker-item){text-align:start}html[data-content-direction=rtl] :where(.adaptive-viewport-shell[data-container=compact] .landing-hero,.adaptive-viewport-shell[data-container=compact] .auth-role-picker,.adaptive-viewport-shell[data-container=compact] .auth-role-card){text-align:start}
