@charset "UTF-8";
:root{color-scheme:light;--ink:#25282e;--muted:#69717d;--line:#e2e5e9;--paper:#fafbfc;--green:#275dcc;--soft:#f0f3f8;--violet:#77689b;font-family:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select,summary{touch-action:manipulation}button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;min-height:36px;cursor:pointer;line-height:1.25;transition:background .16s,border-color .16s}button:hover{background:var(--soft);border-color:#bbc4d1}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,svg:focus-visible{outline:3px solid #658be0;outline-offset:3px}button[aria-pressed=true]{background:#eaf0fc;color:#244fa8;border-color:#c2d1ef}a{color:var(--green);text-underline-offset:3px}input,select,textarea{border:1px solid var(--line);border-radius:7px;background:#fff;padding:10px;max-width:100%}textarea{resize:vertical;line-height:1.5}p{line-height:1.6}h1,h2,h3,p{margin-top:0}h2{font-weight:600;letter-spacing:-.035em}button.primary{background:var(--green);color:#fff;border-color:var(--green)}button.primary:hover{background:#214fae}.eyebrow,.kicker{font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--muted)}
.topbar{height:60px;display:flex;align-items:center;gap:20px;padding:0 24px;border-bottom:1px solid var(--line);background:#fff}.wordmark{text-decoration:none;color:var(--ink);font-size:30px;font-weight:750;letter-spacing:-.1em;line-height:1;flex:none}.wordmark span{color:var(--green)}.lab-title{font-size:15px;font-weight:600;letter-spacing:-.035em;margin:0;white-space:nowrap}.surface-nav{display:flex;gap:4px;margin-left:12px;align-self:stretch;align-items:center}.surface-nav a{display:flex;align-items:center;min-height:36px;padding:8px 12px;text-decoration:none;font-size:12px;color:var(--muted);border-radius:7px}.surface-nav a:hover{background:var(--soft)}.surface-nav a[aria-current=page]{color:var(--ink);background:#f0f2f5;font-weight:600}.document-meta{margin-left:auto;text-align:right;min-width:0}.document-meta input{border:none;background:transparent;text-align:right;padding:0;font-size:12px;width:220px}.document-meta span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.header-actions{display:flex;gap:6px}.header-actions button{font-size:12px;border-color:transparent;background:transparent}.header-actions button[aria-expanded=true]{background:var(--soft);border-color:var(--line)}
.story-nav{height:48px;display:flex;align-items:center;gap:4px;padding:0 24px;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap;scrollbar-width:none;background:#fff}.story-nav button{background:transparent;border-color:transparent;padding:8px 12px;font-size:12px;flex:none}.story-nav button b{font-size:10px;font-weight:500;margin-right:6px;color:#69717d}.story-nav button[aria-current=step]{background:#edf2fc;color:#234da2}.story-nav button[aria-current=step] b{color:#4668a9}.workspace{display:grid;grid-template-columns:minmax(0,1fr);min-height:calc(var(--view-height,100dvh) - 108px)}.workspace.inspector-open{grid-template-columns:minmax(0,1fr) 320px}.canvas-workspace{display:flex;flex-direction:column;min-width:0;height:calc(var(--view-height,100dvh) - 108px);min-height:530px}.stage-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px 0;flex:none;position:relative;z-index:2}.stage-heading h2{font-size:20px;margin:0;line-height:1.3}.stage-heading #next-step{border-color:transparent;background:transparent;font-size:12px;white-space:nowrap}.stage-heading #next-step span{margin-left:8px}.chapter-note{margin-top:5px;font-size:11px;color:var(--muted)}.chapter-note summary{width:max-content;cursor:pointer;list-style:none;padding:3px 0}.chapter-note summary::after{content:' +';color:#8994a4}.chapter-note[open] summary::after{content:' −'}.chapter-note summary::-webkit-details-marker{display:none}.chapter-note p{position:absolute;top:77px;left:28px;margin:0;max-width:min(480px,calc(100% - 56px));padding:16px 18px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 25px #20293612;font-size:12px;color:var(--muted);z-index:3}.stage{position:relative;flex:1;min-height:260px;overflow:hidden}#canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#canvas:active{cursor:grabbing}#world{transition:transform .4s cubic-bezier(.2,.75,.25,1)}#world.manual{transition:none}.frame-box{fill:#f3f5f8;fill-opacity:.9;stroke:#d5dce5;stroke-width:1.3}.frame-root{fill:transparent;stroke:transparent}.frame-label{font-weight:550;fill:#536273}.frame-caption{fill:#626f82}.node-box{fill:#fff;stroke:#bdc9d8;stroke-width:1.4}.node[data-accent=violet] .node-box{stroke:#c9c3dc;fill:#fcfbff}.node[data-accent=amber] .node-box{stroke:#cbb68b;fill:#fffdf7}.node .node-title{font-weight:550;fill:#303c4f}.node .node-copy{font-size:16px;fill:#657184}.node .node-number{font-size:12px;fill:#657184;letter-spacing:1px}.node{cursor:pointer;outline:none}.node:hover .node-box,.node:focus-visible .node-box{stroke:#6583bd;stroke-width:3}.node.selected .node-box{stroke:#2b61c9;stroke-width:3}.node.pinned .node-box{stroke:#8570ac;stroke-width:3}.node.dim{opacity:.48}.edge-line{fill:none;stroke:#718298;stroke-width:1.65}.edge-label{font-size:13px;fill:#5e6d81;paint-order:stroke;stroke:#f3f5f8;stroke-width:7px;stroke-linejoin:round}.gap-box{fill:#fff7df;fill-opacity:.8;stroke:#b5964f;stroke-width:1.8;stroke-dasharray:7 5}.gap-label{font-size:17px;fill:#7b642e}.gap-description{font-size:14px;fill:#746746}.view-toolbar{position:absolute;bottom:16px;left:28px;display:flex;align-items:center;gap:2px;border:1px solid var(--line);background:#ffffffed;box-shadow:0 3px 10px #20293609;padding:3px;border-radius:10px}.view-toolbar button{border:0;background:transparent;padding:8px 10px;font-size:11px;min-width:34px}.view-toolbar output{font-size:10px;color:var(--muted);width:34px;text-align:center}.divider{width:1px;height:18px;background:var(--line);margin:0 3px}.camera-tools{position:absolute;right:28px;bottom:20px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.camera-tools button{font-size:11px;padding:8px 10px;background:#fff}.canvas-hint{display:none;position:absolute;top:7px;right:20px;font-size:10px;color:var(--muted);pointer-events:none}
.composer{margin:0 28px 20px;padding:9px 14px 10px;border:1px solid #d6dde8;background:#fff;border-radius:12px;box-shadow:0 6px 25px #20293605;flex:none;position:relative;z-index:3}.composer-top{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:10px;margin:0 0 2px}.local-indicator{display:flex;align-items:center;gap:6px;font-weight:600;color:#4c5e79}.local-indicator i{background:#5c779c;border-radius:50%;width:5px;height:5px}.composer-top #inference-status{margin-right:auto}.composer-top button{padding:6px 0;border:0;background:transparent;font-size:11px;min-height:28px}.composer form{display:flex;align-items:center;gap:15px}.composer textarea{border:0;background:transparent;flex:1;padding:6px 0;font-size:15px;min-height:35px;max-height:100px;resize:vertical}.send-button{padding:8px 16px;font-size:12px;border-radius:8px}.composer #status{font-size:11px;color:var(--muted);margin:5px 0 0;min-height:17px}.examples,.speech-panel{position:absolute;bottom:calc(100% + 10px);right:0;left:0;max-height:50dvh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 10px 40px #20293617}.examples button{font-size:12px;margin:0 5px 7px 0}.examples p,.speech-panel p{font-size:12px;color:var(--muted);margin:8px 0 0}.speech-panel label{font-size:12px;display:flex;align-items:center;gap:8px;margin-top:14px}.speech-controls{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px}.speech-controls button{font-size:12px}.speech-controls span{font-size:11px;color:#9b4f39}.speech-panel .interim{font-style:italic;color:#7a879b}
.inspector{border-left:1px solid var(--line);padding:20px;background:#fff;overflow:auto;height:calc(var(--view-height,100dvh) - 108px);min-height:530px;scrollbar-width:thin;overscroll-behavior:contain;animation:panel-in .18s ease-out}.inspector-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.inspector-heading h2{font-size:15px;margin:0}.inspector-heading button,.panel-heading button{border:0;background:transparent;padding:4px 9px;font-size:23px}.inspector-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}.inspector-tabs>button{flex:1;font-size:12px;border-color:transparent}.schema-tag{font:10px monospace;color:#626b78;margin-left:4px}.inspector select{width:100%;font-size:12px}.inspector #selection-detail{margin-top:24px}.kicker{margin-bottom:8px}.inspector h2{font-size:20px;margin-bottom:12px}.inspector .inspector-heading h2{font-size:15px;margin:0}.inspector p{font-size:12px;color:var(--muted);margin-bottom:12px}.selection-meta{font:11px monospace;overflow-wrap:anywhere}.connections{display:flex;flex-direction:column;gap:5px;margin:18px 0}.connections button{text-align:left;font-size:12px;padding:9px 10px}.selection-actions{display:flex;gap:6px;margin:16px 0}.selection-actions button{font-size:12px;flex:1}.catalog-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.catalog-heading h2{font-size:18px}.catalog-heading span{font-size:10px;color:var(--muted);white-space:nowrap}.catalog-tabs{display:flex;gap:5px;margin:4px 0 14px}.catalog-tabs button{font-size:12px;flex:1;padding:8px}.catalog-list{display:flex;flex-direction:column;gap:3px}.catalog-list button{text-align:left;border:0;background:transparent;font-size:13px;padding:10px;display:flex;align-items:center;gap:9px}.catalog-list button::before{content:'◇';color:#8394ad}.catalog-list button.active{background:#eff3fa}.catalog-list button[data-kind=data]::before{content:'≡';color:#887295}.catalog-list button[data-kind=action]::before{content:'↗';color:#9e8658}.catalog-list small{font:9px monospace;margin-left:auto;color:var(--muted)}#entry-detail{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}#entry-detail h3{font:12px monospace;margin-bottom:12px;overflow-wrap:anywhere}#entry-detail .composition-links{display:flex;flex-direction:column;gap:5px;margin:10px 0 20px}#entry-detail .composition-links button{border:0;text-align:left;padding:9px 10px;background:#f4f6fa;font:11px monospace;overflow-wrap:anywhere}#entry-detail .entry-actions{display:flex;gap:7px;margin:20px 0 16px}#entry-detail .entry-actions button{font-size:12px;flex:1}#entry-detail summary{font-size:12px;cursor:pointer;padding:6px 0}.variable-list{font:11px/1.8 monospace;color:#657184;white-space:pre-wrap;overflow-wrap:anywhere}.text-button{border:0;background:transparent;font-size:12px;padding:12px 0;color:var(--green)}.inspector-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.inspector-footer a{font-size:11px}.inspector-footer p{font-size:11px;margin-top:12px}
.files-panel{position:fixed;top:68px;right:20px;width:350px;max-width:calc(100vw - 24px);max-height:calc(var(--view-height,100dvh) - 100px);overflow:auto;padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 55px #20293626;z-index:12;animation:panel-in .18s ease-out}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.panel-heading h2{font-size:21px;margin:0}.files-panel p{font-size:12px;color:var(--muted)}.files-panel>button{width:100%;margin-bottom:7px}.files-panel label{display:block;margin:18px 0 7px;font-size:12px}.files-panel select,.files-panel input{width:100%;font-size:12px}.file-actions{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0}.file-actions button{font-size:11px;flex:1}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;width:520px;max-width:calc(100vw - 24px);max-height:90dvh;color:var(--ink);background:#fff;box-shadow:0 25px 80px #20293630}dialog::backdrop{background:#20293666;backdrop-filter:blur(3px)}dialog label{display:block;font-size:12px;margin:15px 0 6px}dialog input,dialog textarea,dialog select{width:100%}dialog textarea.code{font:11px/1.5 monospace;min-height:260px}dialog p{font-size:12px;color:var(--muted)}#editor-error{color:#ac4937;margin:15px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-60px;left:20px;padding:12px;background:#fff;z-index:20}.skip-link:not(:focus){clip-path:inset(100%);width:1px;height:1px;padding:0;overflow:hidden}.skip-link:focus{top:10px}.noscript{padding:40px}.interim:empty,#speech-draft:empty{display:none}[hidden]{display:none!important}@keyframes panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.topbar{gap:14px;padding:0 20px}.document-meta input{width:170px}.surface-nav{margin-left:0}.camera-tools>span{display:none}.stage-heading{padding:18px 24px 0}}
@media(max-width:900px){.workspace,.workspace.inspector-open{display:block}.inspector{position:fixed;bottom:0;left:0;right:0;height:auto;max-height:60dvh;min-height:0;border:1px solid var(--line);border-radius:16px 16px 0 0;box-shadow:0 -8px 35px #2029361a;z-index:10;padding:18px 24px}.inspector-heading{position:sticky;top:-18px;background:#fff;margin:0 -4px 12px;padding:4px;z-index:1}.document-meta input{display:none}.document-meta{max-width:110px}.document-meta span{line-height:1.4;margin:0}.surface-nav a{padding:8px 10px}.canvas-hint{display:block}.camera-tools{right:20px}.composer{margin:0 20px 16px}}
@media(max-width:650px){.topbar{height:100px;flex-wrap:wrap;gap:0 12px;padding:0 16px;align-content:center}.wordmark{font-size:27px}.lab-title{font-size:14px}.surface-nav{order:5;width:100%;height:42px;margin-top:2px}.surface-nav a{font-size:12px;min-height:36px}.header-actions{margin-left:auto;gap:0}.header-actions button{padding:8px;font-size:12px}.document-meta{position:absolute;right:18px;top:65px;max-width:145px}.document-meta span{font-size:10px}.story-nav{height:48px;padding:0 12px}.story-nav button{font-size:11px;padding:9px 10px;min-height:40px}.story-nav button b{font-size:9px;margin-right:4px}.workspace{min-height:calc(var(--view-height,100dvh) - 148px)}.canvas-workspace{height:calc(var(--view-height,100dvh) - 148px);min-height:530px}.stage-heading{padding:16px 18px 0;gap:10px}.stage-heading h2{font-size:18px}.stage-heading #next-step{padding:7px;min-height:40px}.chapter-note p{left:18px;max-width:calc(100% - 36px)}.stage{min-height:270px}.canvas-hint{top:6px;font-size:9px;right:18px}.view-toolbar{left:14px;bottom:13px;gap:0;padding:2px}.view-toolbar button{padding:8px;min-width:31px;font-size:10px;min-height:40px}.view-toolbar output{width:30px;font-size:9px}.divider{margin:0 1px}.camera-tools{right:14px;bottom:16px;gap:3px}.camera-tools button{font-size:10px;min-height:40px;padding:7px}.camera-tools{bottom:65px}.camera-tools #pause{display:inline-block}.camera-tools:has(#resume:not([hidden])){bottom:65px}.composer{margin:0 14px 14px;padding:8px 12px}.composer-top{gap:9px;font-size:9px}.composer-top button{font-size:10px;min-height:32px}.composer textarea{font-size:14px}.composer #status{font-size:10px;max-height:48px;overflow:auto}.send-button{padding:9px 12px;min-height:40px}.examples,.speech-panel{padding:14px;max-height:55dvh}.inspector{padding:16px 20px}.files-panel{top:105px;right:12px;max-height:calc(var(--view-height,100dvh) - 120px)}.files-panel p{font-size:12px}}
@media(pointer:coarse){button,summary,.surface-nav a,.camera-tools button,.send-button{min-height:44px;min-width:44px}.composer-top button{min-height:44px}.chapter-note summary{min-height:44px;padding:10px 0}.view-toolbar button{min-height:44px;min-width:44px}.story-nav button{min-height:44px}.inspector-heading button{min-width:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Short phones, orientation changes and visual viewport resizing. */
@media(max-width:900px),(max-height:650px){.canvas-workspace{min-height:0}.stage{min-height:120px}}
.moving .camera-tools #pause,.moving .camera-tools #resume,.moving #camera-state{display:none}.moving #canvas{cursor:move}.selection-actions{flex-wrap:wrap}.selection-actions button{min-width:58px}
.compact-viewport .topbar{height:52px;flex-wrap:nowrap;gap:0 8px;padding:0 12px}.compact-viewport .lab-title,.compact-viewport .document-meta{display:none}.compact-viewport .surface-nav{order:0;width:auto;height:auto;margin:0;align-self:center}.compact-viewport .surface-nav a{padding:8px;font-size:11px}.compact-viewport .header-actions{margin-left:auto}.compact-viewport .story-nav{height:44px;min-height:44px}.compact-viewport .canvas-workspace{height:calc(var(--view-height,100dvh) - 96px);min-height:0}.compact-viewport .workspace{min-height:0}.compact-viewport .stage-heading{padding:6px 14px 0;gap:10px}.compact-viewport .stage-heading>div{display:flex;align-items:center;gap:12px}.compact-viewport .stage-heading h2{font-size:15px;line-height:1.2;margin:0}.compact-viewport .chapter-note{margin:0;white-space:nowrap}.compact-viewport .chapter-note summary{font-size:10px;min-height:36px}.compact-viewport .stage-heading #next-step{min-height:36px;font-size:11px}.compact-viewport .stage{min-height:64px}.compact-viewport .canvas-hint{display:none}.compact-viewport .composer{margin:0 12px 8px;padding:5px 10px 7px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 12px}.compact-viewport .composer-top{margin:0;gap:8px}.compact-viewport .local-indicator{display:none}.compact-viewport .composer textarea{min-height:36px;font-size:13px;max-height:70px}.compact-viewport .composer #status{grid-column:1/-1;margin-top:2px;max-height:20px;min-height:15px;font-size:10px}.compact-viewport .composer form{gap:8px;min-width:0}.compact-viewport .composer-top #inference-status{font-size:9px;max-width:65px;line-height:1.3}.compact-viewport .camera-tools,.compact-viewport .camera-tools:has(#resume:not([hidden])){bottom:clamp(8px,calc(100% - 48px),59px);right:12px}.compact-viewport .view-toolbar{bottom:9px;left:12px}.compact-viewport .files-panel{top:57px;max-height:calc(var(--view-height,100dvh) - 65px)}.compact-viewport .inspector{max-height:calc(var(--view-height,100dvh) - 60px)}.compact-viewport .chapter-note p{top:44px;white-space:normal}.compact-viewport .examples,.compact-viewport .speech-panel{max-height:calc(var(--view-height,100dvh) - 80px)}
@media(max-width:400px){.compact-viewport .wordmark{display:none}.compact-viewport .composer{grid-template-columns:1fr}.compact-viewport .composer-top{min-height:32px}.compact-viewport .composer-top #inference-status{margin-right:auto;max-width:none}}

.files-panel .autosave-setting{display:flex;align-items:center;gap:9px;margin:6px 0 16px;min-height:44px;font-size:12px}.files-panel .autosave-setting input{width:18px;height:18px;margin:0}#recovery-note:empty{display:none}#recovery-note{color:#865c27;font-size:12px}

.startup-panel{max-width:600px;margin:60px auto;padding:28px;color:var(--ink)}.startup-panel h2{font-size:23px;margin-bottom:14px}.startup-panel p{font-size:14px;color:var(--muted)}.startup-panel a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-left:14px}#canvas-app:focus-visible{outline:3px solid #658be0;outline-offset:-3px}body:has(noscript .noscript) .startup-panel{display:none}

/* Relationship actions retain their label and remain usable without dragging. */
.connection-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:8px 0;border-bottom:1px solid var(--line)}.connections .connection-row>button:first-child{grid-column:1/-1;white-space:normal;overflow-wrap:anywhere}.connection-row>button{min-height:44px}.connection-label{align-self:center;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.connection-row>button:last-child{font-size:12px}.selection-actions{flex-wrap:wrap}#add-component{margin-top:12px}#editor-fields p{overflow-wrap:anywhere}

/* A personal canvas uses the space otherwise occupied by the example tour. */
.custom-canvas .workspace{min-height:0}.custom-canvas .canvas-workspace{height:calc(var(--view-height,100dvh) - 60px)}
@media(max-width:650px){.custom-canvas .canvas-workspace{height:calc(var(--view-height,100dvh) - 100px)}}
.compact-viewport .custom-canvas .canvas-workspace{height:calc(var(--view-height,100dvh) - 52px)}

.practice-notice{font-size:11px;color:var(--muted);margin:8px 28px 0}.practice-panel{border-block:1px solid var(--line);padding:16px 0;margin:18px 0}.practice-panel label{display:block;font-size:14px;margin:12px 0 7px}.practice-panel p{overflow-wrap:anywhere;font-size:14px!important;line-height:1.6;white-space:pre-wrap}.practice-panel select{font-size:16px;min-height:44px}.practice-panel summary{font-size:13px;min-height:44px;padding:12px 0;cursor:pointer}.practice-panel h3{font-size:14px;margin-top:18px}.practice-panel>button{min-height:44px}.practice-panel .practice-review{display:flex;align-items:center;gap:10px;min-height:44px}.practice-review input{width:18px;height:18px;flex:none}.practice-panel #practice-plan{padding:12px;background:var(--soft);border-radius:8px;margin-top:12px}.practice-panel #practice-response{overflow-wrap:anywhere}.compact-viewport .practice-notice{font-size:9px;margin:2px 14px 0}@media(max-width:650px){.practice-notice{margin-left:18px;margin-right:18px}}

#selection-detail h2,#selection-detail p{overflow-wrap:anywhere}#scene-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.stage-heading>div{min-width:0}#add-to-canvas{flex-shrink:0}

/* Keep entry actions near the catalog and allow enlarged text to reflow. */
.catalog-search-label{display:block;font-size:12px;margin:12px 0 6px}#catalog-search{width:100%;font-size:16px;min-height:44px;margin-bottom:12px}.catalog-list{max-height:min(25dvh,240px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.catalog-heading{flex-wrap:wrap}.catalog-heading h2{margin-bottom:0;overflow-wrap:anywhere}.catalog-heading span{white-space:normal}.catalog-list button{flex:none;overflow-wrap:anywhere}.composer-top{flex-wrap:wrap;row-gap:2px}.composer form,.composer textarea{min-width:0}.stage-heading #next-step{flex-shrink:0}
#canvas-editor .workspace{min-height:0}#canvas-editor .canvas-workspace{height:calc(var(--view-height,100dvh) - var(--chrome-height,108px))}
@media(min-width:901px){#canvas-editor .inspector{height:calc(var(--view-height,100dvh) - var(--chrome-height,108px));min-height:0}}
@media(max-width:650px){.canvas-page .topbar{height:auto;min-height:100px;row-gap:0}.canvas-page .lab-title{white-space:normal;min-width:0;overflow-wrap:anywhere}.canvas-page .document-meta{position:static;order:6;width:100%;max-width:none;margin:0 0 4px;text-align:right}.canvas-page .surface-nav{order:5}.canvas-page .header-actions{flex-shrink:0}}
.compact-viewport .canvas-page .topbar{height:auto;min-height:52px;flex-wrap:wrap}

#entry-detail .composition-links{max-height:min(25dvh,240px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}#entry-detail .composition-links button{flex:none}
@media(max-width:650px){.canvas-page .composer-top .local-indicator{flex:1 1 7em;min-width:0;overflow-wrap:anywhere}.canvas-page .composer-top #inference-status{flex:1 1 6em;min-width:0;overflow-wrap:anywhere}}

#entry-detail .entry-actions{flex-wrap:wrap}#entry-detail .entry-actions button{flex:1 1 auto;min-width:100px;overflow-wrap:anywhere}
