@layer theme,base,legacy,components,utilities;@layer legacy{/* Loopnet workspace tokens. Lesson colours remain independent of UI colours. */
:root{color-scheme:light;--paper:#f7f8fa;--surface:#fff;--subtle:#f1f3f5;--hover:#e9edf0;--ink:#24282c;--soft-ink:#555e66;--muted:#737c85;--line:#e1e5e9;--strong-line:#c6cdd4;--dots:#dce1e6;--primary:#252b30;--on-primary:#fff;--error:#b7413d;--error-bg:#fff1f0;--scrim:#18232d48;--shadow:0 8px 32px #1424330b;--menu-shadow:0 12px 40px #14243318;--focus:#6b879d;--graph-grid:#e1e5e9;--graph-axis:#98a3ad;--graph-text:#58636e;--header-height:66px;--composer-space:210px}
:root[data-theme=black]{color-scheme:dark;--paper:#101112;--surface:#191b1e;--subtle:#222529;--hover:#2b2e33;--ink:#f1f2f3;--soft-ink:#c4c7cb;--muted:#969ca4;--line:#2c3035;--strong-line:#454b54;--dots:#292d32;--primary:#e9ebee;--on-primary:#141619;--error:#ffb0a9;--error-bg:#321d20;--scrim:#08090bc9;--shadow:0 10px 34px #03040530;--menu-shadow:0 16px 44px #03040560;--focus:#c9d9e8;--graph-grid:#292e34;--graph-axis:#78838e;--graph-text:#c1cad3}
*{box-sizing:border-box}html,body{margin:0}body{color:var(--ink);background:var(--paper);font:13px/1.5 'SF Pro Display','Helvetica Neue',Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none;cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}svg{flex-shrink:0;vertical-align:middle}[hidden]{display:none!important}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus)}button{transition:background-color .15s,color .15s,border-color .15s}input,select,textarea{max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:10px}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical}input[type=checkbox],input[type=range]{accent-color:var(--primary)}
.workspace{height:100dvh;min-height:460px;display:flex;flex-direction:column}.topbar{height:var(--header-height);display:flex;align-items:center;gap:20px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}.brand{display:flex;align-items:center;gap:2px;font-size:26px;line-height:1;font-weight:650;letter-spacing:-1.1px;flex-shrink:0}.brand-dot{font-size:8px;align-self:flex-start;margin:3px 0 0 3px;letter-spacing:0}.header-divider,.vertical-rule{width:1px;height:20px;background:var(--line);flex-shrink:0}.board-title-button{display:flex;align-items:center;gap:10px;padding:6px 0;min-width:0}.board-title-button h1{font-size:13px;font-weight:500;margin:0;max-width:235px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-title-button>svg{color:var(--muted)}.top-status{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;white-space:nowrap}.top-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.top-actions>#present{margin-left:10px}.top-actions [data-panel].active,.top-actions #mobile-panel.active{background:var(--subtle);color:var(--ink)}
.icon-button,.tool{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:7px;flex-shrink:0;color:var(--soft-ink)}.icon-button:hover:not(:disabled),.quiet-button:hover:not(:disabled),.tool:hover:not(:disabled){background:var(--subtle);color:var(--ink)}.icon-button.active,.tool.active{background:var(--hover);color:var(--ink)}.primary,.secondary,.quiet-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;border-radius:7px;font-size:12px;line-height:1.4}.primary{background:var(--primary);color:var(--on-primary);font-weight:550}.primary:hover:not(:disabled){opacity:.86}.secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.secondary:hover:not(:disabled){background:var(--subtle);border-color:var(--strong-line)}.quiet-button{color:var(--soft-ink)}.small{padding:10px 15px}.full{width:100%;margin-top:10px}.button-row{display:flex;gap:9px}
.work-area{flex:1;display:flex;min-height:0;position:relative}.board{position:relative;flex:1;min-width:0;overflow:hidden;background-color:var(--paper);background-image:radial-gradient(var(--dots) .7px,transparent .7px);background-size:24px 24px;background-position:12px 12px}.board.grid-hidden{background-image:none}#visual{position:absolute;inset:14px 20px var(--composer-space) 76px;width:auto}#visual canvas{display:block}#ink{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;touch-action:none}.toolrail{position:absolute;left:18px;top:28px;z-index:5;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:11px;max-height:calc(100% - 100px);overflow:auto;scrollbar-width:none;box-shadow:0 2px 8px #00000003}.tool{width:33px;height:33px}.tool svg{width:19px;height:19px}.rail-handle{cursor:grab;touch-action:none;color:var(--muted);font-size:23px;line-height:1}.rail-line{height:1px;background:var(--line);margin:5px 3px}.color-control{width:33px;height:31px;position:relative;display:grid;place-items:center}.color-control input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.color-control span{width:17px;height:17px;background:var(--ink);border-radius:50%;pointer-events:none;border:1px solid var(--line)}.color-control:focus-within{outline:2px solid var(--focus);border-radius:5px}.width-dot{width:6px;height:6px;background:currentColor;border-radius:50%}.board-formula{position:absolute;left:92px;right:24px;top:20px;text-align:center;pointer-events:none;z-index:3;color:var(--soft-ink);font-size:12px;line-height:1.6}.board-badge{display:none}.board-bottom{position:absolute;bottom:16px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;z-index:5}.canvas-actions{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:2px}.canvas-actions .icon-button{width:29px;height:29px}.canvas-actions .vertical-rule{height:15px;margin:0 5px}.zoom-fit{padding:6px;font-size:11px;color:var(--soft-ink)}.gesture-hint{color:var(--muted);font-size:10px}.board-bottom>#remove-visual{background:var(--surface);border:1px solid var(--line);padding:9px;border-radius:8px}.blank-hint{position:absolute;top:39%;left:50%;transform:translate(-50%,-50%);font-size:14px;color:var(--muted);text-align:center;max-width:280px;pointer-events:none}
/* One quiet prompt surface with controls that open in place. */
.composer{position:absolute;left:50%;transform:translateX(-50%);bottom:65px;width:calc(100% - 192px);max-width:860px;z-index:6;background:var(--surface);border:1px solid var(--strong-line);border-radius:16px;padding:17px 18px 13px;box-shadow:var(--shadow)}.composer:focus-within{border-color:var(--muted)}.composer-label{display:block;font-size:10px;font-weight:550;color:var(--muted);margin:0 2px 8px;letter-spacing:.02em}.composer textarea{display:block;width:100%;min-height:46px;max-height:180px;resize:none;padding:0 2px;border:0;border-radius:0;background:transparent;font-size:15px;line-height:1.65;box-shadow:none}.composer textarea:focus-visible{outline:none}.composer-bottom{display:flex;align-items:center;gap:4px;margin-top:14px;min-width:0}.composer-bottom>.icon-button{width:32px;height:32px}.composer-spacer{flex:1;min-width:0}.composer-divider{display:none}.send-button{width:36px;height:36px;display:grid;place-items:center;flex-shrink:0;margin-left:4px;background:var(--primary);color:var(--on-primary);border-radius:10px}.send-button:hover:not(:disabled){opacity:.85}.composer .form-error{margin:10px 2px 0}.composer .form-error:empty{display:none}.generation-progress{display:block;color:var(--muted);font-size:11px;margin-top:10px}#cancel-generation{background:var(--subtle);color:var(--ink)}.listening{background:var(--error-bg);color:var(--error)!important}.picker-trigger{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid transparent;border-radius:7px;font-size:11px;color:var(--soft-ink);min-width:0;max-width:210px;overflow:hidden;white-space:nowrap}.picker-trigger:hover:not(:disabled),.picker-trigger[aria-expanded=true]{color:var(--ink);background:var(--subtle)}.picker-trigger[aria-expanded=true]{border-color:var(--line)}.picker-trigger>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-trigger>.model-logo{width:20px;height:20px;min-width:20px;max-width:20px}.picker-trigger>svg:last-child{color:var(--muted)}#pick-model{color:var(--ink);font-weight:500}#pick-placement{max-width:125px}.model-logo{display:block;width:22px;height:22px;min-width:22px;max-width:22px;max-height:22px;object-fit:contain;flex:0 0 auto}.model-logo.monochrome{filter:brightness(0)}[data-theme=black] .model-logo.monochrome{filter:brightness(0) invert(1)}
.prompt-menu{position:fixed;z-index:35;display:flex;flex-direction:column;width:308px;padding:7px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:var(--menu-shadow);overflow:hidden;animation:menu-in .12s ease-out}.prompt-menu-heading{padding:7px 9px 9px;font-size:11px;color:var(--muted);font-weight:500}.prompt-menu-options{overflow:auto;scrollbar-width:thin;min-height:0;overscroll-behavior:contain}.prompt-menu-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 9px;border-radius:7px;text-align:left;min-height:48px}.prompt-menu-option:hover,.prompt-menu-option:focus-visible{background:var(--subtle)}.prompt-menu-option[aria-selected=true]{background:var(--subtle)}.menu-symbol{width:28px;height:28px;overflow:hidden;display:grid;place-items:center;flex-shrink:0;color:var(--soft-ink)}.menu-option-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.menu-option-copy strong{overflow-wrap:anywhere;font-size:12px;line-height:1.4;font-weight:500}.menu-option-copy small{overflow-wrap:anywhere;font-size:10px;line-height:1.4;color:var(--muted)}.menu-check{width:16px;flex-shrink:0}.menu-empty{padding:18px 10px;color:var(--muted);font-size:12px}@keyframes menu-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
/* Teaching panel */
.sidebar{width:312px;display:none;flex-direction:column;flex-shrink:0;background:var(--surface);border-left:1px solid var(--line)}.panel-open .sidebar{display:flex}.panel-header{height:64px;display:flex;align-items:center;gap:6px;padding:0 16px 0 22px;flex-shrink:0;border-bottom:1px solid var(--line)}.panel-header h2{flex:1;font-size:14px;font-weight:550;margin:0}.panel-header .icon-button{width:30px;height:30px}.panel-body{overflow:auto;flex:1;padding:22px;scrollbar-width:thin;scrollbar-color:var(--strong-line) transparent}.panel-footer{border-top:1px solid var(--line);height:50px;padding:7px 15px;display:flex;align-items:center;gap:4px;flex-shrink:0}.panel-footer #connection{margin-right:auto}.panel-footer .icon-button{width:30px;height:30px;color:var(--muted)}.template-scope{display:flex;gap:5px;margin-bottom:17px}.template-scope button{font-size:11px;padding:7px 9px;border-radius:6px;color:var(--muted)}.template-scope button.active{background:var(--subtle);color:var(--ink)}.template-search{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;padding-left:10px;color:var(--muted);background:var(--surface)}.template-search input{width:100%;min-width:0;border:0;background:transparent;padding:10px;font-size:11px}.subject-filters{display:flex;flex-wrap:wrap;gap:4px;margin:14px 0 18px}.subject-filters button{padding:6px 8px;border-radius:5px;color:var(--muted);font-size:10px;border:1px solid transparent}.subject-filters button:hover{background:var(--subtle)}.subject-filters button.active{background:var(--subtle);color:var(--ink);border-color:var(--line)}.template-row{display:flex;align-items:center;gap:11px;width:100%;padding:13px 0;text-align:left;border-bottom:1px solid var(--line)}.template-row:hover{background:var(--subtle)}.template-row:last-child{border:0}.template-icon{width:34px;height:36px;display:grid;place-items:center;border-radius:8px;flex-shrink:0;color:var(--soft-ink);background:var(--subtle)}.template-meta{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.template-meta strong{font-weight:500;font-size:12px;line-height:1.4}.template-meta small{font-size:10px;color:var(--muted);line-height:1.4}.template-row>svg{color:var(--muted)}.template-empty{padding:24px 0}.import-button{font-size:11px;color:var(--muted);margin-top:20px}.adjust-title{font-size:14px;font-weight:550;line-height:1.5;margin:0 0 20px}.adjust-section{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.range-field{display:block;margin:20px 0 10px}.range-field>span{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px;color:var(--soft-ink)}.range-field output{font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink);background:var(--subtle);padding:3px 6px;border-radius:4px;min-width:30px;text-align:right}.range-field input{width:100%;padding:0;margin:16px 0 7px;height:4px;cursor:pointer}.range-field .range-ends{color:var(--muted)}.range-ends small{font-size:10px}.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;font-size:12px;color:var(--soft-ink)}.toggle-row input{flex-shrink:0}.field{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:12px;color:var(--soft-ink)}.field input,.field select,.field textarea{width:100%;font-size:13px;color:var(--ink)}.field-row{display:flex;gap:14px}.field-row>.field{flex:1;min-width:0}
.lesson-explanation>.eyebrow{margin-top:0}.eyebrow{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lesson-explanation h2{font-size:22px;font-weight:550;line-height:1.3;letter-spacing:-.5px;margin:15px 0}.lesson-explanation p{font-size:14px;line-height:1.85;color:var(--soft-ink);overflow-wrap:anywhere}.explain-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:20px 0}.explain-actions button,.step-navigation button{padding:9px 8px;font-size:11px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--soft-ink)}.explain-actions button:hover:not(:disabled),.step-navigation button:hover:not(:disabled){background:var(--subtle);color:var(--ink)}.teaching-step{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;margin:20px 0}.teaching-step small{font-size:10px;color:var(--muted)}.teaching-step h3{font-size:18px;font-weight:550;line-height:1.4;margin:13px 0}.step-navigation{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:18px}.lesson-explanation ol{padding-left:22px}.lesson-explanation li{padding:10px 0 10px 3px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--soft-ink)}.lesson-explanation li::marker{font-weight:600;color:var(--ink)}.lesson-explanation pre,.scene-card pre{font:12px/1.7 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--subtle);color:var(--ink);border-radius:7px;padding:12px}.lesson-explanation summary{cursor:pointer;font-size:12px;padding:11px 0;color:var(--soft-ink)}.lesson-table{overflow:auto;margin:18px 0}.lesson-table table,.scene-card table{border-collapse:collapse;width:100%;font-size:12px}.lesson-table td,.lesson-table th,.scene-card td,.scene-card th{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:9px}.lesson-table th,.scene-card th{background:var(--subtle);font-weight:550}.question-box{background:var(--subtle);border-radius:9px;padding:16px;font-size:12px;line-height:1.7;margin:18px 0;color:var(--soft-ink)}.question-box small{color:var(--muted)}
/* Scene overlays */
.scene-labels{position:absolute;inset:0;z-index:2;pointer-events:none}.scene-label{position:absolute;top:0;left:0;max-width:165px;font-size:12px;line-height:1.4;text-align:center;text-wrap:balance;color:var(--soft-ink);background:var(--surface);border-radius:5px;padding:4px 7px;white-space:normal}.scene-card{position:absolute;left:0;top:0;transform-origin:center;pointer-events:auto;overflow:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:var(--shadow);color:var(--ink);line-height:1.65}.scene-card h3{font-size:17px;font-weight:550;line-height:1.3;margin:0 0 12px}.scene-card p{font-size:14px;margin:0 0 12px;color:var(--soft-ink)}.scene-card pre{font-size:14px;margin:0}#scene-navigation{position:absolute;top:12px;left:84px;right:20px;display:flex;gap:6px;overflow:auto;z-index:5;padding:3px 0}#scene-navigation:empty{display:none}#scene-navigation button{white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--line);border-radius:7px;background:var(--surface);padding:7px 10px;font-size:11px;color:var(--soft-ink)}#scene-navigation button.active{background:var(--subtle);border-color:var(--strong-line);color:var(--ink)}.multiple-visuals #visual,.multiple-visuals .board-formula{top:58px}#visual[data-loading]::after{content:attr(data-loading);position:absolute;top:45%;left:20%;font-size:13px;color:var(--soft-ink)}#visual[data-error]::after{content:attr(data-error);position:absolute;top:45%;left:15%;right:15%;text-align:center;font-size:13px;color:var(--error)}
.animation-bar{position:absolute;top:64px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;max-width:calc(100% - 160px);padding:4px 7px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:var(--shadow);z-index:5}.animation-bar .icon-button{width:30px;height:30px}.animation-bar input[type=range]{width:105px;min-width:40px;padding:0}.animation-bar output{min-width:42px;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums}.animation-bar select{padding:4px;background:transparent;border:0;font-size:11px}.motion-loop{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--soft-ink)}
#canvas-progress{position:absolute;left:50%;top:39%;transform:translate(-50%,-50%);z-index:7;width:min(320px,calc(100% - 100px));padding:24px;text-align:center;pointer-events:none;background:var(--paper);border:0;border-radius:14px}#canvas-progress strong{font-size:17px;font-weight:500;letter-spacing:-.3px}#canvas-progress p{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.6}.progress-lines,.voice-bars{height:36px;display:flex;align-items:center;justify-content:center;gap:5px;margin:0 auto 20px}.progress-lines i,.voice-bars i{display:block;height:12px;width:3px;border-radius:3px;background:var(--soft-ink);animation:line-breathe 1.2s ease-in-out infinite}.progress-lines i:nth-child(2),.voice-bars i:nth-child(2){animation-delay:.12s}.progress-lines i:nth-child(3),.voice-bars i:nth-child(3){animation-delay:.24s}.progress-lines i:nth-child(4),.voice-bars i:nth-child(4){animation-delay:.36s}.progress-lines i:nth-child(5),.voice-bars i:nth-child(5){animation-delay:.48s}@keyframes line-breathe{0%,100%{transform:scaleY(.6);opacity:.35}50%{transform:scaleY(2);opacity:1}}
/* Dialogs and saved lessons */
.modal-shade{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--scrim);backdrop-filter:blur(3px)}.modal{width:460px;max-width:100%;max-height:90dvh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:25px;box-shadow:var(--menu-shadow)}.modal header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.modal h2{font-size:20px;font-weight:550;letter-spacing:-.4px;margin:5px 0}.helper,.muted,.dialog-copy{font-size:12px;line-height:1.7;color:var(--muted)}.helper{font-size:10px}.form-error{color:var(--error);font-size:11px;line-height:1.6}.dialog-illustration{display:none}.saved-list{max-height:350px;overflow:auto;margin:20px 0}.saved-list button{display:flex;align-items:center;width:100%;gap:15px;padding:18px 5px;border-bottom:1px solid var(--line);text-align:left}.saved-list button:hover{background:var(--subtle)}.saved-list span{flex:1;display:flex;flex-direction:column;gap:7px}.saved-list small{font-size:10px;color:var(--muted)}.saved-list strong{font-size:12px;font-weight:500}.empty-state{text-align:center;padding:30px;color:var(--muted)}.empty-state h3{font-size:16px;font-weight:500;color:var(--ink)}.teaching-notes{padding-left:18px;font-size:13px;line-height:1.8;color:var(--soft-ink)}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,10px);z-index:80;background:var(--primary);color:var(--on-primary);font-size:12px;padding:12px 18px;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 30px)}#toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Deepgram voice explanations */
/* Voice is an independent teaching panel. */
.voice-host{flex:1;min-height:0;overflow:auto;padding:0 22px 22px}.voice-tutor{position:static;width:100%;padding:0;background:transparent;box-shadow:none;border:0}.voice-intro{font-size:12px;color:var(--muted);line-height:1.7;margin:18px 0}.voice-state{text-align:center;padding:20px 0}.voice-state strong{font-size:15px;font-weight:500}.voice-state p{font-size:11px;color:var(--muted);line-height:1.65;max-width:240px;margin:9px auto 0}.voice-bars{margin-bottom:15px}.voice-bars i{animation-play-state:paused;background:var(--muted)}[data-state=connecting] .voice-bars i,[data-state=thinking] .voice-bars i,[data-state=speaking] .voice-bars i,[data-state=hearing] .voice-bars i{animation-play-state:running}.voice-main-controls{display:flex;gap:7px;justify-content:center}.voice-shortcuts{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin:18px 0}.voice-shortcuts button{font-size:10px;color:var(--soft-ink);border:1px solid var(--line);border-radius:6px;padding:7px}.voice-shortcuts button:hover:not(:disabled){background:var(--subtle)}.voice-volume{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin:20px 0}.voice-volume input{width:100px;padding:0}.transcript-heading{display:flex;align-items:center;gap:2px;border-top:1px solid var(--line);padding-top:12px}.transcript-heading h3{font-size:12px;font-weight:500;margin-right:auto}.transcript-heading button{font-size:10px;padding:6px}.voice-tutor [data-caption]{max-height:310px;min-height:75px;overflow:auto}.transcript-empty{font-size:11px;color:var(--muted);line-height:1.7;padding:12px 0}.transcript-turn{padding:11px 0;border-bottom:1px solid var(--line)}.transcript-turn small{font-size:10px;color:var(--muted)}.transcript-turn p{font-size:13px;line-height:1.75;margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.transcript-turn.action p{font-size:11px;color:var(--soft-ink)}.voice-type{display:flex;gap:5px;margin-top:16px}.voice-type input{min-width:0;flex:1;font-size:12px}.voice-type button{background:var(--subtle);border:1px solid var(--line)}.voice-tutor [data-privacy]{display:block;color:var(--muted);font-size:10px;line-height:1.7;margin-top:18px}.voice-active{position:relative}.voice-active::after{content:'';width:5px;height:5px;position:absolute;right:3px;top:3px;border-radius:50%;background:var(--ink)}
/* Admin shares the same tokens. */
.admin-main{max-width:1120px;margin:0 auto;padding:36px}.auth-card{max-width:360px;margin:50px auto;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.auth-card h1{font-size:23px;font-weight:500;letter-spacing:-.6px}.admin-heading{display:flex;justify-content:space-between;align-items:center}.admin-heading h1{font-size:27px;font-weight:500;letter-spacing:-.8px;margin:0}.admin-stats{display:flex;border:1px solid var(--line);border-radius:10px;margin:30px 0;background:var(--surface)}.admin-stats>div{padding:22px;flex:1;display:flex;flex-direction:column;gap:7px}.admin-stats>div+div{border-left:1px solid var(--line)}.admin-stats strong{font-size:24px;font-weight:500}.admin-stats span{font-size:11px;color:var(--muted)}.settings-section{display:grid;grid-template-columns:220px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:25px 0}.settings-section h2{font-size:14px;font-weight:500;margin:15px 0}.settings-section .field:first-child{margin-top:12px}.settings-section .secondary{margin-top:0}.admin-model{border-bottom:1px solid var(--line);padding:2px 0}.admin-model .toggle-row{font-size:12px}.admin-model small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.instruction-details{padding:24px 0;border-bottom:1px solid var(--line)}.instruction-details summary{font-size:12px;cursor:pointer}.instruction-details textarea{font:11px/1.6 ui-monospace,monospace}.admin-save{display:flex;align-items:center;justify-content:space-between;padding:25px 0}.usage-list>div{display:flex;gap:18px;border-bottom:1px solid var(--line);padding:14px 0;font-size:11px}.usage-list>div span:first-child{flex:1}.usage-list small{color:var(--muted)}
#exit-present{display:none}.presenting .sidebar,.presenting .topbar,.presenting .composer{display:none}.presenting #visual{inset:32px 20px 50px 72px}.presenting .toolrail{opacity:.25;transition:opacity .2s}.presenting .toolrail:hover,.presenting .toolrail:focus-within{opacity:1}.presenting #exit-present{display:flex;position:absolute;right:20px;top:20px;z-index:8}.presenting .board-formula{top:26px}
@media(min-width:1600px){.sidebar{width:320px}.panel-body{padding:24px}}
@media(max-width:1100px){.topbar{gap:12px;padding:0 18px}.board-title-button h1{max-width:160px}.top-actions{gap:2px}.composer{width:calc(100% - 150px)}.picker-trigger{padding:7px;gap:5px;max-width:175px}#pick-placement{max-width:105px}}
@media(max-width:1000px){.sidebar{position:absolute;right:0;top:0;bottom:0;z-index:10;width:292px;box-shadow:-8px 0 28px #0000000c}.top-status{display:none}.toolrail{left:12px}.composer{width:calc(100% - 130px);max-width:760px}}
@media(max-width:700px){:root{--header-height:58px;--composer-space:225px}.topbar{gap:8px;padding:0 12px}.brand{font-size:23px}.brand-dot,.header-divider,.top-status{display:none}.board-title-button h1{max-width:110px;font-size:12px}.top-actions{gap:0}.top-actions .icon-button{width:30px;height:32px}.top-actions>#present{padding:9px;margin-left:3px}.top-actions>#present span{display:none}.composer{width:calc(100% - 28px);bottom:60px;padding:14px 13px 12px;border-radius:14px}.composer textarea{font-size:14px;min-height:47px}.composer-bottom{flex-wrap:wrap;gap:3px;margin-top:10px}.picker-trigger{padding:6px 7px;font-size:11px;max-width:170px}#pick-placement{max-width:115px}#visual{inset:12px 10px var(--composer-space) 50px}.toolrail{left:10px;top:20px;padding:4px;gap:0;max-height:calc(100% - 240px)}.tool{width:29px;height:30px}.tool svg{width:17px;height:17px}.color-control{width:29px}.board-formula{left:58px;right:16px;top:18px;font-size:11px}.board-bottom{left:12px;right:12px;bottom:12px}.gesture-hint{display:none}.sidebar{width:min(300px,calc(100% - 48px))}.panel-body{padding:20px}.animation-bar{top:56px;right:12px;left:auto;transform:none;max-width:calc(100% - 75px)}.animation-bar input[type=range]{width:64px}.motion-loop{display:none}#scene-navigation{left:55px;right:10px}#canvas-progress{min-width:220px;top:35%;padding:20px}.modal{padding:22px}.admin-main{padding:24px}.settings-section{grid-template-columns:1fr;gap:0}.admin-stats>div{padding:16px}.admin-stats strong{font-size:21px}}
@media(max-width:480px){.board-title-button,.top-actions>#new-board{display:none}.top-actions{margin-left:auto}.topbar{gap:4px}.top-actions .icon-button{width:32px}.composer-bottom>.icon-button{width:29px}#pick-model{max-width:158px}#pick-visual-type{max-width:104px}#pick-placement{order:8;margin-left:32px;max-width:180px;font-size:10px}.composer-spacer{min-width:0}.composer-label{font-size:10px}.composer textarea{min-height:47px}#pick-model .model-logo{width:20px;height:20px}.voice-tutor{right:16px;bottom:16px}.field-row{gap:10px}}
@media(max-height:720px) and (min-width:701px){:root{--composer-space:185px}.toolrail{top:16px;gap:0}.tool{height:29px}.composer{bottom:57px;padding-top:12px}.composer textarea{min-height:38px}.composer-bottom{margin-top:9px}.board-bottom{bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){:root{--composer-space:260px}.composer-bottom{display:grid;grid-template-columns:30px minmax(0,1fr) 30px 36px;gap:5px}.composer-spacer{display:none}#prompt-options{grid-column:1;grid-row:1}#pick-model{grid-column:2;grid-row:1;max-width:100%;width:100%;justify-self:stretch}#voice{grid-column:3;grid-row:1}#generate,#cancel-generation{grid-column:4;grid-row:1}#pick-visual-type{grid-column:2;grid-row:2;max-width:none;justify-self:start}#pick-placement{grid-column:3 / 5;grid-row:2;order:0;margin:0;max-width:none;justify-self:end;font-size:10px}#pick-placement>svg:first-child{display:none}.toolrail{max-height:calc(100% - 265px)}}
.voice-config{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.voice-config label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px}.voice-config select{width:100%;font-size:12px;padding:8px}.initial-loading{padding:28px;color:var(--muted)}

.lesson-overview{margin-bottom:24px}.lesson-step-picker{display:block;margin:22px 0 10px}.lesson-step-picker>span{display:block;color:var(--muted);font-size:10px;margin-bottom:8px}.lesson-step-picker select{width:100%;font-size:12px;text-overflow:ellipsis}.step-progress{display:flex;gap:4px;margin-bottom:18px}.step-progress span{height:2px;flex:1;background:var(--line)}.step-progress span.complete{background:var(--ink)}.teaching-step p{white-space:pre-line}.teaching-step h3{overflow-wrap:anywhere}.teaching-step pre{border:1px solid var(--line);font-size:13px;padding:14px}.question-box{border:1px solid var(--line);background:var(--surface)}.question-box small{font-size:11px;font-weight:600;color:var(--ink)}.lesson-explanation details[open]>summary{color:var(--ink)}.lesson-explanation #talk-lesson{margin:4px 0 0}.step-navigation button{min-height:36px}.step-navigation button:last-child:not(:disabled){background:var(--primary);color:var(--on-primary);border-color:var(--primary)}

/* Compact menus retain scrolling and keyboard navigation without arrow chrome. */
.panel-body,.prompt-menu-options,.chat-log,.voice-host,.voice-tutor [data-caption],.saved-list,#scene-navigation{scrollbar-width:none}.panel-body::-webkit-scrollbar,.prompt-menu-options::-webkit-scrollbar,.chat-log::-webkit-scrollbar,.voice-host::-webkit-scrollbar,.voice-tutor [data-caption]::-webkit-scrollbar,.saved-list::-webkit-scrollbar,#scene-navigation::-webkit-scrollbar{display:none}.mode-menu .prompt-menu-options{display:grid;grid-template-columns:1fr 1fr;gap:3px}.mode-menu .prompt-menu-option{gap:7px;padding:10px 7px;min-height:55px}.mode-menu .menu-symbol{width:20px}.mode-menu .menu-option-copy small{font-size:9px}.mode-menu .menu-check{width:12px}.prompt-menu-heading{font-size:10px;letter-spacing:.02em}.prompt-menu{padding:8px;border-color:var(--strong-line)}.composer{padding:18px 18px 13px;border-radius:17px}.composer textarea{min-height:48px}.composer-bottom{margin-top:13px}.composer:focus-within{box-shadow:0 0 0 2px var(--subtle)}.top-actions .icon-button:active,.picker-trigger:active,.send-button:active{transform:translateY(1px)}
/* The lesson's active step leads the explanation. */
.teaching-step{margin:22px 0 16px;padding:0 0 20px;border-top:0}.lesson-step-picker{margin:0 0 10px}.lesson-overview{margin-bottom:20px}.lesson-explanation h2{font-size:21px;text-wrap:pretty}.explain-explore{border-bottom:1px solid var(--line);margin-top:12px}.explain-explore .explain-actions{margin:3px 0 16px}.explain-values{padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:14px}.explain-values>small{color:var(--muted);font-size:10px}.explain-values>p{font:12px/1.8 ui-monospace,monospace;color:var(--ink)}.explain-values details div{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:6px 0;color:var(--soft-ink)}.step-outline{margin:12px 0}.step-outline>button{display:flex;align-items:baseline;text-align:left;width:100%;gap:10px;padding:9px 0;font-size:11px;color:var(--soft-ink)}.step-outline>button>span{font-size:10px;min-width:15px;color:var(--muted)}.step-outline>button[aria-current=step]{color:var(--ink);font-weight:500}.step-outline>button:hover{background:var(--subtle)}
.chat-host{flex:1;min-height:0;display:flex}.lesson-chat{display:flex;flex-direction:column;width:100%;min-width:0;min-height:0}.chat-context{display:flex;align-items:center;gap:5px;margin:0 20px;padding:10px 0;border-bottom:1px solid var(--line)}.chat-context>span{font-size:10px;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-context .icon-button{width:26px;height:26px}.chat-log{flex:1;min-height:0;overflow:auto;padding:0 22px 20px;overscroll-behavior:contain}.chat-empty{padding:35px 0}.chat-empty h3{font-size:18px;line-height:1.4;font-weight:500;letter-spacing:-.3px;margin:0 0 12px}.chat-empty p{font-size:12px;line-height:1.75;color:var(--muted);margin-bottom:22px}.chat-empty button{display:block;text-align:left;font-size:11px;color:var(--soft-ink);padding:12px 0;border-bottom:1px solid var(--line);width:100%}.chat-empty button:hover{color:var(--ink)}.chat-message{padding:20px 0 5px;overflow-wrap:anywhere}.chat-message>small{font-size:10px;color:var(--muted)}.chat-message>p{font-size:13px;line-height:1.85;white-space:pre-wrap;color:var(--soft-ink);margin:9px 0}.chat-message.user>p{color:var(--ink);font-weight:500}.chat-message h4{font-size:11px;font-weight:600;margin:20px 0 8px}.chat-composer{margin:12px 16px 18px;padding:13px;border:1px solid var(--strong-line);border-radius:12px;background:var(--paper)}.chat-composer textarea{display:block;width:100%;border:0;background:transparent;padding:0;resize:none;font-size:12px;line-height:1.7;min-height:52px;max-height:140px}.chat-composer textarea:focus-visible{outline:none}.chat-composer>div{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px}.chat-composer small{font-size:9px;color:var(--muted)}.chat-composer .send-button{width:29px;height:29px;border-radius:7px}.chat-composer .form-error{margin:7px 0 0}.chat-composer .form-error:empty{display:none}.chat-pending{font-size:11px;color:var(--muted);animation:chat-breathe 1.8s ease-in-out infinite}.chat-show{font-size:11px;padding:8px 10px;margin-top:10px}.chat-followups{display:flex;flex-direction:column;gap:5px;margin-top:16px}.chat-followups button{font-size:11px;line-height:1.6;text-align:left;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--line)}.chat-followups button:hover{color:var(--ink)}.chat-diagram{margin:16px 0;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.chat-connection{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:8px 0;line-height:1.6;font-size:10px}.chat-connection span{padding:5px 7px;border:1px solid var(--strong-line);border-radius:4px;max-width:100%;overflow-wrap:anywhere}.chat-connection small{font-size:9px;color:var(--muted)}@keyframes chat-breathe{50%{opacity:.5}}
.blueprint-board{background-color:#102c50;--dots:#244469;--graph-grid:#284b70;--graph-axis:#75a8d6;--graph-text:#daecff;background-image:linear-gradient(#24446966 1px,transparent 1px),linear-gradient(90deg,#24446966 1px,transparent 1px);background-size:24px 24px}.blueprint-board .scene-label{background:#102c50dd;color:#e2f0ff;border:1px solid #557ba0}.blueprint-board .board-formula{color:#d2eaff}.blueprint-board.grid-hidden{background-image:none}
@media(min-width:1001px){.sidebar{width:340px}}
@media(max-width:700px){.mode-menu .prompt-menu-options{grid-template-columns:1fr 1fr}.mode-menu .menu-option-copy small{display:none}.mode-menu .prompt-menu-option{min-height:44px}.top-actions .icon-button{width:28px}.top-actions #new-board{display:none}.voice-host{padding:0 18px 18px}.chat-log{padding:0 18px 18px}.board-title-button h1{max-width:80px}}
@media(max-width:480px){.top-actions .icon-button{width:29px}.brand{font-size:21px}.top-actions>#present{padding:8px}.mode-menu .menu-symbol{width:18px}.mode-menu .prompt-menu-option{padding:8px 5px}.mode-menu .menu-option-copy strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.progress-lines i,.voice-bars i,.chat-pending{animation:none}}

@media(max-width:380px){.topbar{padding:0 10px;gap:3px}.brand{font-size:19px}.top-actions .icon-button{width:26px}.top-actions>#present{margin-left:3px;padding:7px}.top-actions>#present svg{width:14px}}

/* Loopnet workspace: quiet monochrome surfaces. */
@font-face{font-family:Geist;src:url('/landing/assets/geist-latin-wght-normal.20f3xrkj613ah.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#f8f8f7;--surface:#fff;--subtle:#f3f3f1;--hover:#ebebea;--ink:#1b1b1a;--soft-ink:#51514f;--muted:#70706d;--line:#e4e4e1;--strong-line:#cececa;--dots:#dfdfdb;--primary:#20201f;--on-primary:#fff;--focus:#71716d;--shadow:0 5px 18px #0000000b;--menu-shadow:0 12px 36px #00000019;--header-height:54px;--composer-space:175px}
:root[data-theme=black]{--paper:#111110;--surface:#191918;--subtle:#252524;--hover:#30302e;--ink:#f2f2f0;--soft-ink:#c5c5c1;--muted:#a3a39d;--line:#333330;--strong-line:#4e4e49;--dots:#30302d;--primary:#f0f0ed;--on-primary:#171716;--focus:#aaa9a4;--shadow:0 5px 18px #00000033;--menu-shadow:0 12px 36px #00000066}
body{font-family:Geist,'Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.012em}
.topbar{padding:0 18px;gap:13px}.brand{font-size:19px;letter-spacing:-.055em;font-weight:650}.brand-dot{display:none}.header-divider{height:17px}.board-title-button{padding:7px 9px;border-radius:6px}.board-title-button:hover{background:var(--subtle)}.board-title-button h1{font-size:12px;font-weight:550}.top-status{font-size:10px}.top-actions{gap:1px}.top-actions>.icon-button{width:33px;height:33px;border-radius:6px}.top-actions [data-panel].active,.top-actions #mobile-panel.active,.tool.active{background:var(--subtle);color:var(--ink)}.top-actions>#present{padding:7px 11px;border-radius:7px;margin-left:8px}
.board{background-color:var(--paper);background-image:radial-gradient(var(--dots) .75px,transparent .75px);background-size:24px 24px}.board.grid-hidden{background-image:none}.toolrail{left:16px;top:18px;padding:5px;gap:1px;border-radius:9px;box-shadow:var(--shadow)}.tool{width:32px;height:32px;border-radius:6px}.tool svg{width:17px;height:17px}.rail-handle{height:21px;font-size:18px}.rail-line{margin:4px}.color-control{width:32px}.board-bottom{bottom:14px}.canvas-actions,.board-bottom>#remove-visual{border-radius:7px;box-shadow:var(--shadow)}.zoom-fit{font-weight:550}
.sidebar{width:300px;box-shadow:none}.panel-header{height:52px;padding:0 14px 0 18px}.panel-header h2{font-size:12px;font-weight:600}.panel-body{padding:17px 18px}.panel-footer{height:45px}.template-scope{gap:4px;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:14px}.template-scope button{border-radius:5px}.template-search{border-radius:6px}.subject-filters button{border-radius:5px}.template-row{padding:10px 5px;border-radius:6px;border-bottom:1px solid var(--line)}.template-row:hover{background:var(--subtle)}.template-icon{color:var(--soft-ink);background:var(--subtle);border-radius:6px}.template-meta strong{font-weight:550}.composer{border-color:var(--line);border-radius:12px;box-shadow:var(--shadow)}.composer:focus-within{border-color:var(--strong-line);box-shadow:0 0 0 2px color-mix(in srgb,var(--focus) 12%,transparent),var(--shadow)}
@media(max-width:700px){:root{--composer-space:210px}.topbar{padding:0 10px;gap:4px}.brand{font-size:18px}.top-actions>.icon-button{width:29px}.top-actions>#present{margin-left:3px;padding:7px}.toolrail{left:9px;top:14px;padding:4px;gap:0}.tool{width:29px;height:30px}.sidebar{width:min(300px,calc(100% - 48px))}.board-bottom{bottom:10px}}
}