/* Scoped authoring surfaces. No shared shell, sidebar or tab selectors. */
.an-workbench,.gm-workbench,.ar-workbench,.lb-workbench{--ex-paper:#fbf8f1;--ex-white:#fffdf8;--ex-ink:#394437;--ex-muted:#737c6d;--ex-line:#dedfd3;--ex-accent:#ae5d43;--ex-soft:#eee7dc;grid-column:1/-1;min-width:0;min-height:0;width:100%;height:100%;overflow:auto;background:var(--ex-paper);color:var(--ex-ink);font:14px/1.65 "Noto Sans SC",system-ui,sans-serif;}
.an-workbench :is(button,input,select,textarea),.gm-workbench :is(button,input,select,textarea),.ar-workbench :is(button,input,select,textarea),.lb-workbench :is(button,input,select,textarea){font:inherit;color:inherit;box-sizing:border-box;}
.an-workbench :is(button,a,input,select,textarea):focus-visible,.gm-workbench :is(button,a,input,select,textarea):focus-visible,.ar-workbench :is(button,a,input,select,textarea):focus-visible,.lb-workbench :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--ex-accent);outline-offset:3px;}
.an-workbench button,.gm-workbench button,.ar-workbench button,.lb-workbench button{cursor:pointer;}
.an-workbench button:disabled,.gm-workbench button:disabled,.ar-workbench button:disabled,.lb-workbench button:disabled{cursor:default;opacity:.45;}
.an-header,.gm-header,.ar-header,.lb-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px 19px;border-bottom:1px solid var(--ex-line);}
.an-header h2,.gm-header h2,.ar-header h2,.lb-header h2{font:500 26px/1.4 "Noto Serif SC",Georgia,serif;margin:5px 0 0;}
.an-header h2 input,.gm-header h2 input,.ar-header h2 input,.lb-header h2 input{font:inherit;border:0;background:transparent;padding:0;width:100%;min-width:0;max-width:540px;}
.an-header>div:first-child,.gm-header>div:first-child,.ar-header>div:first-child,.lb-header>div:first-child{min-width:0;flex:1;}
.an-header-actions,.gm-header>div:last-child,.ar-header>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.an-eyebrow,.gm-eyebrow,.ar-eyebrow,.lb-eyebrow{font-size:11px;letter-spacing:.08em;color:var(--ex-accent);}
.an-button,.gm-button,.ar-button,.lb-button{border:1px solid #d3d6c9;background:var(--ex-white);border-radius:5px;padding:9px 13px;font-size:13px;line-height:1.35;white-space:nowrap;}
.an-button:hover,.gm-button:hover,.ar-button:hover,.lb-button:hover{background:#efece2;border-color:#b9bdad;}
.an-primary,.gm-primary,.ar-primary,.lb-primary{background:var(--ex-accent);border-color:var(--ex-accent);color:#fffaf2!important;}
.an-primary:hover,.gm-primary:hover,.ar-primary:hover,.lb-primary:hover{background:#974b34;border-color:#974b34;}
.an-field,.gm-field,.ar-field,.lb-field{display:block;font-size:12px;color:var(--ex-muted);margin:12px 0;line-height:1.6;}
.an-field :is(input:not([type=range]):not([type=color]),select,textarea),.gm-field :is(input,select,textarea),.ar-field :is(input:not([type=range]):not([type=color]),textarea),.lb-field :is(input,select,textarea){display:block;width:100%;min-width:0;margin-top:5px;padding:8px 10px;border:1px solid var(--ex-line);border-radius:4px;background:var(--ex-white);color:var(--ex-ink);font-size:13px;line-height:1.5;}
.an-workbench input[type=range],.gm-workbench input[type=range],.ar-workbench input[type=range],.lb-workbench input[type=range]{accent-color:var(--ex-accent);max-width:100%;}
.an-workbench input[type=color],.ar-workbench input[type=color],.lb-workbench input[type=color]{width:38px;height:32px;padding:3px;background:var(--ex-white);border:1px solid var(--ex-line);border-radius:4px;}
.an-help,.gm-help,.ar-help{font-size:12px;line-height:1.8;color:var(--ex-muted);margin:11px 0;}
.an-section-head,.gm-section-head,.ar-section-head,.lb-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.an-section-head h3,.gm-section-head h3,.ar-section-head h3,.lb-section-head h3{font-size:15px;font-weight:500;margin:0;}
.an-section-head>span,.gm-section-head>span,.lb-section-head>span{font-size:11px;color:var(--ex-muted);}
.an-details summary,.gm-new-rule summary,.gm-add-file summary{font-size:13px;cursor:pointer;color:var(--ex-ink);padding:10px 0;}

/* Animation: the scene sits above its own object tracks. */
.an-workbench{display:flex;flex-direction:column;}
.an-editor{display:grid;grid-template-columns:180px minmax(0,1fr)242px;min-height:0;flex:1;}
.an-layers{padding:20px 16px;background:#f2f2e9;border-right:1px solid var(--ex-line);min-width:0;}
.an-add{display:flex;gap:6px;margin:17px 0 9px;}
.an-add select{flex:1;min-width:0;border:1px solid var(--ex-line);background:var(--ex-white);border-radius:4px;padding:6px 8px;font-size:13px;}
.an-add .an-button{padding:7px 11px;}
.an-layers>.an-button{width:100%;font-size:12px;white-space:normal;}
.an-layer-list{margin:19px -4px 0;}
.an-layer{padding:7px 4px 10px;margin:0 0 8px;border:1px solid transparent;border-radius:5px;}
.an-current{background:var(--ex-white);border-color:#bdc6b4;}
.an-layer-select{display:flex;align-items:center;gap:9px;border:0;padding:4px 0;width:100%;background:none;font-size:12px;text-align:left;}
.an-layer-select>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.an-object-mark{width:27px;height:27px;border-radius:4px;flex:none;display:grid;place-items:center;color:white;font-size:12px;}
.an-layer-tools{display:flex;align-items:center;gap:7px;margin:7px 0 0 35px;}
.an-layer-tools button{border:0;padding:0;background:transparent;color:var(--ex-muted);font-size:10px;min-width:13px;}
.an-layer-tools button:hover{color:var(--ex-accent);}
.an-scene-fields{padding-top:13px;margin-top:20px;border-top:1px solid var(--ex-line);}
.an-scene-fields input[type=color]{display:block;margin-top:6px;width:100%;height:29px;}
.an-stage-column{min-width:0;display:flex;flex-direction:column;background:#eceee5;}
.an-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;flex:1;padding:30px 28px;}
.an-stage canvas{display:block;max-width:100%;width:100%;height:auto;box-shadow:0 9px 24px #34403216;border:1px solid #e5e5d7;touch-action:none;cursor:move;}
.an-stage-corner{position:absolute;right:28px;bottom:9px;color:var(--ex-muted);font:10px ui-monospace,monospace;}
.an-transport{display:flex;align-items:center;gap:9px;padding:13px 18px;border-top:1px solid var(--ex-line);background:#fbf9f2;flex-wrap:wrap;}
.an-transport .an-button{padding:7px 11px;}
.an-transport>input[type=range]{flex:1;min-width:110px;margin:0 2px;}
.an-transport>output{font:11px ui-monospace,monospace;color:var(--ex-muted);min-width:108px;}
.an-loop{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ex-muted);white-space:nowrap;}
.an-export-status{font-size:11px;color:var(--ex-accent);}
.an-timeline{flex:none;background:var(--ex-white);border-top:1px solid var(--ex-line);padding:17px 20px 10px;min-height:215px;overflow:auto;}
.an-time-head{display:flex;justify-content:space-between;gap:15px;font-size:12px;margin-bottom:18px;}
.an-time-head>span:last-child{font-size:11px;color:var(--ex-muted);}
.an-ruler,.an-track{display:grid;grid-template-columns:108px minmax(220px,1fr);align-items:center;}
.an-ruler{height:21px;margin-bottom:7px;}
.an-track-label{min-width:0;color:var(--ex-muted);font-size:11px;border:0;background:none;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 10px 6px 0;}
.an-ruler .an-track-label{font:10px ui-monospace,monospace;}
.an-track-grid{position:relative;height:33px;margin-right:8px;border-bottom:1px solid #e7e9df;background-image:linear-gradient(to right,#e8eae1 1px,transparent 1px);background-size:25% 100%;}
.an-ruler .an-track-grid{height:20px;background:none;}
.an-ruler .an-track-grid>span{position:absolute;bottom:3px;transform:translateX(-50%);font:10px ui-monospace,monospace;color:var(--ex-muted);}
.an-selected-track{background:#f1f4e9;}
.an-selected-track .an-track-label{color:var(--ex-ink);font-weight:500;}
.an-playhead{position:absolute;top:0;bottom:0;width:1px;background:#b45e46;pointer-events:none;}
.an-keyframe{position:absolute;top:11px;width:11px;height:11px;border:1px solid #557362;transform:translateX(-50%) rotate(45deg);background:#75927c;padding:0;border-radius:1px;touch-action:none;}
.an-keyframe:hover,.an-active-frame{background:var(--ex-accent);border-color:#9f4e35;box-shadow:0 0 0 3px #b35e4620;}
.an-track-empty{position:absolute;top:7px;left:12px;color:#92998b;font-size:10px;pointer-events:none;}
.an-timeline-note{font-size:11px;color:var(--ex-muted);margin:13px 0 3px;}
.an-inspector{min-width:0;overflow:auto;padding:22px 18px;border-left:1px solid var(--ex-line);background:var(--ex-paper);}
.an-inspector h3{font-size:17px;font-weight:500;margin:4px 0 18px;}
.an-inspector h4{font-size:13px;font-weight:500;margin:0 0 10px;}
.an-pose-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.an-pose-grid .an-field{margin:8px 0;}
.an-pose-grid input[type=color]{display:block;width:100%;height:35px;margin-top:5px;}
.an-property-row{display:flex;gap:6px;margin-top:15px;}
.an-property-row select{min-width:0;flex:1;padding:7px 5px;background:var(--ex-white);border:1px solid var(--ex-line);border-radius:4px;font-size:12px;}
.an-property-row .an-button{padding:7px 8px;font-size:12px;}
.an-frame-list{max-height:210px;overflow:auto;margin-top:10px;}
.an-frame-row{display:grid;grid-template-columns:1fr 1fr 18px;align-items:end;gap:8px;padding:6px 4px;border-bottom:1px solid var(--ex-line);}
.an-frame-row label{font-size:10px;color:var(--ex-muted);}
.an-frame-row input{display:block;border:1px solid var(--ex-line);border-radius:3px;width:100%;min-width:0;background:var(--ex-white);padding:5px;font-size:12px;}
.an-frame-row>button{border:0;background:none;padding:5px 0;font-size:18px;color:var(--ex-muted);}
.an-frame-selected{background:#f0e9dc;}
.an-details{margin-top:17px;border-top:1px solid var(--ex-line);}
.an-preset-row{display:flex;gap:5px;flex-wrap:wrap;}
.an-preset-row .an-button{font-size:11px;padding:6px 8px;}
.an-ai{margin-top:20px;padding-top:19px;border-top:1px solid var(--ex-line);}
.an-ai textarea{width:100%;padding:10px;border:1px solid var(--ex-line);background:var(--ex-white);border-radius:4px;font-size:13px;line-height:1.7;resize:vertical;}
.an-ai .an-button{width:100%;margin-top:10px;}
.an-preview-stage{flex:1;min-height:360px;padding:35px;display:flex;align-items:center;justify-content:center;background:#eceee5;}
.an-preview-stage canvas{width:100%;max-width:1080px;height:auto;box-shadow:0 8px 28px #3a42301b;}
.an-preview-caption{text-align:center;color:var(--ex-muted);font-size:12px;padding:12px;margin:0;}

/* Game: a playable surface beside the files that make it. */
.gm-workbench{padding-bottom:26px;}
.gm-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px;padding:25px 28px;align-items:start;}
.gm-play-column,.gm-code-column{min-width:0;}
.gm-run-stage{border:1px solid #cdd4c6;border-radius:6px;overflow:hidden;background:var(--ex-white);}
.gm-preview-top{display:flex;align-items:center;gap:7px;padding:10px 13px;background:#edf0e6;border-bottom:1px solid #d6dccd;font-size:12px;}
.gm-preview-top>div{margin-left:auto;display:flex;gap:6px;}
.gm-preview-top .gm-button{padding:5px 8px;font-size:11px;}
.gm-dot{display:block;width:6px;height:6px;background:#6a896d;border-radius:50%;}
.gm-run-stage iframe{display:block;width:100%;height:440px;border:0;background:#f8f4e9;}
.gm-console{min-height:42px;max-height:112px;padding:9px 13px;overflow:auto;border-top:1px solid var(--ex-line);font:11px/1.7 ui-monospace,monospace;color:var(--ex-muted);}
.gm-console>span{font:12px/1.6 "Noto Sans SC",sans-serif;}
.gm-log-error,.gm-log-blocked{color:#a24931;white-space:pre-wrap;overflow-wrap:anywhere;}
.gm-log-ready{color:#507357;}
.gm-after-play{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 0 24px;border-bottom:1px solid var(--ex-line);}
.gm-after-play p{font-size:12px;line-height:1.8;color:var(--ex-muted);margin:0;}
.gm-after-play strong{font-weight:500;color:var(--ex-ink);}
.gm-after-play .gm-button{font-size:12px;}
.gm-rules{padding-top:22px;}
.gm-rules>.gm-button{width:100%;margin-top:16px;padding:11px;}
.gm-rule{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--ex-line);}
.gm-rule>label{display:grid;grid-template-columns:minmax(0,1fr) 94px;flex:1;column-gap:14px;}
.gm-rule label>span{grid-column:1;grid-row:1;font-size:13px;}
.gm-rule small{grid-column:1;grid-row:2;font:10px ui-monospace,monospace;color:var(--ex-muted);margin-top:4px;overflow-wrap:anywhere;}
.gm-rule input{grid-column:2;grid-row:1/3;min-width:0;width:100%;border:1px solid var(--ex-line);padding:7px;background:var(--ex-white);border-radius:4px;font-size:14px;}
.gm-rule input[type=checkbox]{width:18px;justify-self:end;accent-color:var(--ex-accent);}
.gm-rule>button{background:none;border:0;color:var(--ex-muted);font-size:18px;padding:0;}
.gm-new-rule{margin-top:9px;}
.gm-new-rule>.gm-button{margin-top:10px;}
.gm-inline{display:flex;gap:8px;min-width:0;}
.gm-inline>input,.gm-inline>select{flex:1;min-width:0;padding:8px 9px;border:1px solid var(--ex-line);background:var(--ex-white);border-radius:4px;font-size:13px;}
.gm-file-tabs{display:flex;overflow:auto;border-bottom:1px solid var(--ex-line);gap:3px;}
.gm-file-tabs>button{border:0;border-bottom:2px solid transparent;background:transparent;padding:11px 12px;white-space:nowrap;font-size:12px;display:flex;gap:6px;align-items:center;color:var(--ex-muted);}
.gm-file-tabs small{font:9px ui-monospace,monospace;color:#6c816b;border:1px solid #d4ddcd;padding:1px 3px;}
.gm-file-tabs>button.gm-current-file{border-bottom-color:var(--ex-accent);color:var(--ex-ink);background:var(--ex-white);}
.gm-code-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0;}
.gm-code-heading>input{border:0;padding:0;background:transparent;font:12px ui-monospace,monospace;min-width:0;max-width:150px;flex:1;}
.gm-code-heading>button{border:0;padding:0;background:none;font-size:11px;color:var(--ex-muted);}
.gm-code-heading>span{font-size:11px;color:var(--ex-muted);margin-left:auto;}
.gm-code-editor{display:grid;grid-template-columns:38px minmax(0,1fr);height:432px;border:1px solid #d7dbce;border-radius:5px;overflow:hidden;background:#fffdf8;}
.gm-gutter{white-space:pre;text-align:right;padding:14px 9px 14px 3px;color:#9caa91;background:#f0f3e9;overflow:hidden;font:12px/1.8 ui-monospace,monospace;user-select:none;}
.gm-code-editor textarea{min-width:0;resize:none;width:100%;height:100%;margin:0;padding:14px;border:0;border-radius:0;background:#fffdf8;color:#3a4c3d;font:12px/1.8 ui-monospace,SFMono-Regular,monospace;tab-size:2;white-space:pre;overflow:auto;outline-offset:-2px!important;}
.gm-add-file{margin-top:13px;}
.gm-ai{margin-top:18px;padding-top:19px;border-top:1px solid var(--ex-line);}
.gm-ai textarea{display:block;margin-top:12px;width:100%;min-height:95px;border:1px solid var(--ex-line);background:var(--ex-white);border-radius:5px;padding:11px 12px;font-size:13px;line-height:1.75;resize:vertical;}
.gm-ai .gm-button{margin-top:12px;}
.gm-restore{border-top:1px solid var(--ex-line);padding-top:20px;margin-top:23px;}
.gm-restore-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--ex-line);}
.gm-restore-row>span{font-size:12px;}
.gm-restore-row small{display:block;color:var(--ex-muted);font-size:10px;margin-top:3px;}
.gm-restore-row>button{border:1px solid var(--ex-line);border-radius:4px;background:var(--ex-white);padding:6px 9px;font-size:11px;}
.gm-empty{padding:30px;color:var(--ex-muted);font-size:14px;}
.gm-preview-page{display:flex;flex-direction:column;}
.gm-full-stage{margin:28px;flex:1;min-height:500px;display:flex;flex-direction:column;}
.gm-full-stage iframe{flex:1;min-height:460px;height:100%;}
.gm-preview-note{font-size:12px;color:var(--ex-muted);text-align:center;padding:0 25px;}

/* Art: a broad drawing desk, with the paper always in view. */
.ar-workbench{display:flex;flex-direction:column;}
.ar-tools{display:flex;align-items:center;gap:12px;padding:12px 22px;flex-wrap:wrap;border-bottom:1px solid var(--ex-line);background:#f4f3e9;}
.ar-tool-set{display:flex;gap:4px;}
.ar-tool{border:1px solid transparent;border-radius:4px;background:transparent;padding:6px 9px;font-size:12px;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.ar-tool>span{font-size:18px;line-height:1;color:#61765b;}
.ar-active-tool{background:var(--ex-white);border-color:#bdc9b2;box-shadow:0 2px 4px #37462c08;}
.ar-tool-divider{height:25px;width:1px;background:#d4d9cb;}
.ar-color-picker{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ex-muted);}
.ar-palette{display:flex;gap:5px;}
.ar-palette button{width:18px;height:18px;padding:0;border:1px solid #00000014;border-radius:50%;}
.ar-brush-size{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ex-muted);}
.ar-brush-size input{width:90px;}
.ar-brush-size output{min-width:18px;font:11px ui-monospace,monospace;}
.ar-tools>.ar-button{font-size:12px;padding:7px 11px;}
.ar-main{display:grid;grid-template-columns:minmax(0,1fr)260px;flex:1;min-height:0;}
.ar-desk-column{min-width:0;display:flex;flex-direction:column;background:#e9eddf;}
.ar-canvas-desk{display:flex;align-items:flex-start;justify-content:safe center;overflow:auto;flex:1;min-height:450px;padding:35px 30px 28px;}
.ar-canvas-frame{flex:none;box-shadow:0 5px 8px #2d412216,0 22px 40px #3c4e2320;background:repeating-conic-gradient(#f9f9f4 0% 25%,#e8eadf 0% 50%) 50% / 18px 18px;max-width:none;align-self:center;}
.ar-canvas-frame canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair;}
.ar-desk-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 21px;border-top:1px solid #d0d8c5;background:#f3f3e9;font-size:11px;color:var(--ex-muted);}
.ar-desk-bottom strong{font-weight:500;color:var(--ex-ink);}
.ar-desk-bottom .ar-button{font-size:12px;padding:7px 10px;}
.ar-desk-bottom label{display:flex;align-items:center;gap:6px;}
.ar-desk-bottom input[type=range]{width:82px;}
.ar-drawing-tip{padding:14px 22px;font-size:12px;line-height:1.75;color:var(--ex-muted);background:#f8f8ef;min-height:48px;}
.ar-drawing-tip label{display:flex;gap:10px;align-items:center;margin-bottom:6px;}
.ar-drawing-tip input{border:1px solid var(--ex-line);background:var(--ex-white);border-radius:4px;padding:7px 10px;font-size:13px;max-width:100%;min-width:0;}
.ar-layer-panel{padding:22px 19px;border-left:1px solid var(--ex-line);overflow:auto;background:var(--ex-paper);min-width:0;}
.ar-layer-panel>.ar-section-head{align-items:flex-start;}
.ar-layer-panel>.ar-section-head h3{max-width:116px;line-height:1.5;}
.ar-layer-panel>.ar-section-head .ar-button{font-size:11px;padding:6px 8px;}
.ar-layer-list{margin:18px -4px;}
.ar-layer{padding:9px;margin-bottom:8px;border:1px solid transparent;border-radius:5px;}
.ar-current-layer{background:var(--ex-white);border-color:#bac7ae;}
.ar-layer-select{display:flex;align-items:center;gap:10px;padding:0;border:0;background:none;text-align:left;font-size:13px;width:100%;min-width:0;}
.ar-layer-select>span:last-child{min-width:0;overflow-wrap:anywhere;}
.ar-layer-stack{display:grid;place-items:center;width:31px;height:31px;flex:none;border:1px solid #c4ccb7;border-radius:4px;background:#e8edde;color:#6b805f;font-size:23px;}
.ar-layer-select small{display:block;font-size:10px;color:var(--ex-muted);margin-top:2px;}
.ar-layer-actions{display:flex;gap:11px;padding:9px 0 0 40px;}
.ar-layer-actions button{font-size:10px;border:0;padding:0;color:var(--ex-muted);background:none;}
.ar-field>input[type=range]{width:100%;display:block;margin-top:8px;}
.ar-field>output{float:right;color:var(--ex-ink);font:11px ui-monospace,monospace;}
.ar-selected-object{border-top:1px solid var(--ex-line);padding-top:16px;margin-top:18px;}
.ar-selected-object h4,.ar-ai h4{font-size:14px;font-weight:500;margin:0 0 13px;}
.ar-selected-object>.ar-button{font-size:12px;}
.ar-inline{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ar-ai{border-top:1px solid var(--ex-line);padding-top:20px;margin-top:20px;}
.ar-ai h4{margin-top:4px;}
.ar-ai textarea{width:100%;border:1px solid var(--ex-line);border-radius:5px;background:var(--ex-white);padding:10px;font-size:13px;line-height:1.75;resize:vertical;}
.ar-ai .ar-button{width:100%;margin-top:10px;}
.ar-paper-options{display:flex;align-items:end;gap:20px;border-top:1px solid var(--ex-line);padding-top:10px;margin-top:18px;}
.ar-paper-options input[type=color]{display:block;margin-top:7px;}
.ar-transparent{display:flex;align-items:center;gap:5px;font-size:12px;margin-bottom:20px;}
.ar-transparent input{accent-color:var(--ex-accent);}
.ar-empty{font-size:13px;color:var(--ex-muted);padding:15px 0;}
.ar-preview-desk{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px;padding:35px;background:#e9eddf;}
.ar-preview-desk canvas{display:block;width:100%;height:auto;max-width:1120px;box-shadow:0 16px 36px #3c4e2320;background:repeating-conic-gradient(#f9f9f4 0% 25%,#e8eadf 0% 50%) 50% / 18px 18px;}
.ar-preview-caption{font-size:12px;padding:12px;text-align:center;color:var(--ex-muted);margin:0;}

/* Lab: a sample collection and a transparent comparison worksheet. */
.lb-workbench{padding-bottom:30px;}
.lb-learning-path{display:grid;grid-template-columns:repeat(3,1fr);padding:23px 28px 24px;gap:24px;border-bottom:1px solid var(--ex-line);background:#f5f4e9;}
.lb-learning-path>div{display:grid;grid-template-columns:30px 1fr;column-gap:11px;align-items:center;}
.lb-learning-path>div>span{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border:1px solid #bfcab4;border-radius:50%;color:#68825e;font:13px Georgia,serif;background:#fcfcf5;}
.lb-learning-path strong{font-size:14px;font-weight:500;}
.lb-learning-path small{font-size:11px;color:var(--ex-muted);margin-top:3px;}
.lb-main{display:grid;grid-template-columns:minmax(0,1fr)360px;gap:28px;padding:28px;align-items:start;}
.lb-library,.lb-query{min-width:0;}
.lb-library>.lb-section-head{padding-bottom:18px;border-bottom:1px solid var(--ex-line);}
.lb-library h3,.lb-query h3,.lb-neighbor-panel h3,.lb-feature-card h3{font-size:19px;font-weight:500;margin:3px 0 0;line-height:1.5;}
.lb-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:20px;}
.lb-category{border:1px solid var(--ex-line);background:#fefcf5;border-radius:6px;padding:14px 13px;min-width:0;}
.lb-selected-category{border-color:var(--lb-category);box-shadow:0 0 0 2px color-mix(in srgb,var(--lb-category),transparent 90%);}
.lb-category-head{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.lb-category-select{display:flex;align-items:center;gap:7px;background:none;border:0;padding:0;font-size:15px;min-width:0;flex:1;text-align:left;}
.lb-category-select i,.lb-votes i{display:block;width:8px;height:8px;border-radius:50%;background:var(--lb-category);flex:none;}
.lb-category-select span{min-width:0;overflow-wrap:anywhere;}
.lb-category-select small{font-size:11px;color:var(--ex-muted);margin-left:auto;white-space:nowrap;}
.lb-category-head>button:last-child{font-size:19px;background:none;border:0;padding:0;color:#939a89;}
.lb-category-fields{display:flex;align-items:center;gap:8px;margin-top:13px;}
.lb-category-fields>input:first-child{flex:1;min-width:0;width:100%;border:1px solid #e1e4d8;background:#fafaf1;border-radius:4px;padding:7px 9px;font-size:12px;}
.lb-category-fields>input[type=color]{width:30px;height:30px;padding:2px;}
.lb-samples{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:9px;margin-top:16px;min-height:108px;align-content:start;}
.lb-samples>p{grid-column:1/-1;color:var(--ex-muted);font-size:12px;padding:10px 2px;line-height:1.8;margin:0;}
.lb-sample{position:relative;min-width:0;}
.lb-sample img{display:block;width:100%;aspect-ratio:1;border:1px solid #e0e2d5;border-radius:4px;object-fit:contain;background:white;}
.lb-sample>button{position:absolute;right:2px;top:2px;border:0;width:19px;height:19px;padding:0;border-radius:50%;background:#fbfaf0e8;color:var(--ex-muted);font-size:13px;}
.lb-sample>span{display:block;font-size:10px;color:var(--ex-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;}
.lb-add-category{display:flex;gap:9px;margin-top:19px;}
.lb-add-category input{flex:1;min-width:0;border:1px solid var(--ex-line);border-radius:4px;padding:9px 11px;background:var(--ex-white);font-size:13px;}
.lb-library-note{font-size:12px;color:var(--ex-muted);line-height:1.8;margin:17px 0 0;}
.lb-query{background:#eef1e5;border:1px solid #d1d9c5;border-radius:7px;padding:20px;}
.lb-query>.lb-section-head{align-items:flex-start;}
.lb-query .lb-button{font-size:12px;}
.lb-query-desk{display:flex;align-items:center;justify-content:center;padding:24px 0 14px;}
.lb-query-desk canvas{display:block;touch-action:none;background:white;border:1px solid #d9ddcf;box-shadow:0 7px 15px #3b4b2511;width:min(100%,280px);height:auto;aspect-ratio:1;cursor:crosshair;}
.lb-drawing-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px;}
.lb-drawing-tools>button{border:1px solid #cad1bf;border-radius:4px;background:#f8f9f1;padding:5px 8px;font-size:11px;}
.lb-drawing-tools>.lb-active-tool{background:var(--ex-white);border-color:#769266;color:#4c6a40;}
.lb-drawing-tools input[type=color]{width:27px;height:27px;padding:2px;}
.lb-drawing-tools>label{display:flex;align-items:center;gap:4px;color:var(--ex-muted);font-size:10px;}
.lb-drawing-tools input[type=range]{width:57px;}
.lb-sample-save{border-top:1px solid #d6ddc9;padding-top:4px;margin-top:17px;}
.lb-sample-save>.lb-button{width:100%;background:#fbfcf5;}
.lb-query>.lb-primary{width:100%;margin-top:14px;font-size:14px;padding:11px;}
.lb-query-note{font-size:11px;line-height:1.8;color:var(--ex-muted);margin:12px 0 0;}
.lb-results{display:grid;grid-template-columns:200px minmax(0,1fr);gap:30px;margin:0 28px;border-top:1px solid var(--ex-line);padding-top:25px;}
.lb-feature-card{border-right:1px solid var(--ex-line);padding-right:24px;}
.lb-feature-card h3{font-size:15px;margin:4px 0 16px;}
.lb-feature-map{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);gap:1px;width:136px;height:136px;border:1px solid #bfc5b5;background:#d2d8c7;}
.lb-feature-map span{display:block;}
.lb-feature-empty{opacity:.55;}
.lb-feature-card p{font-size:12px;line-height:1.9;color:var(--ex-muted);margin-top:12px;}
.lb-feature-card p strong{font:16px Georgia,serif;color:var(--ex-ink);}
.lb-feature-values{display:grid;grid-template-columns:1fr 1fr;gap:6px;font:10px ui-monospace,monospace;color:var(--ex-muted);margin-top:13px;}
.lb-neighbor-panel{min-width:0;}
.lb-k{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--ex-muted);white-space:nowrap;}
.lb-k select{border:1px solid var(--ex-line);border-radius:4px;padding:5px 9px;font-size:12px;background:var(--ex-white);}
.lb-votes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:17px;}
.lb-votes>span{display:flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--lb-category),transparent 65%);background:var(--ex-white);padding:6px 10px;border-radius:5px;font-size:12px;}
.lb-votes strong{font-weight:500;color:var(--lb-category);margin-left:4px;}
.lb-distance-note{font-size:12px;line-height:1.8;color:var(--ex-muted);margin:12px 0 17px;}
.lb-neighbors{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.lb-neighbor{position:relative;display:flex;gap:11px;align-items:center;min-width:0;border:1px solid #e1e4d8;padding:10px;border-radius:5px;background:#f7f7ed;}
.lb-voting-neighbor{border-color:#c0ccb1;background:#fcfdf6;}
.lb-neighbor-rank{position:absolute;left:7px;top:6px;display:grid;place-items:center;min-width:17px;height:17px;background:#6c8561;color:white;border-radius:50%;font:10px Georgia,serif;}
.lb-neighbor img{display:block;width:64px;height:64px;object-fit:contain;background:white;border:1px solid #e0e5d6;border-radius:3px;flex:none;}
.lb-neighbor>div{min-width:0;}
.lb-neighbor strong{display:block;font-size:13px;font-weight:500;}
.lb-neighbor>div>span{display:block;font-size:11px;color:var(--ex-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
.lb-neighbor small{display:block;font:10px/1.6 ui-monospace,monospace;color:#748269;margin-top:5px;}
.lb-explain{font-size:12px;line-height:1.8;color:var(--ex-muted);margin-top:18px;}
.lb-empty-results{display:flex;align-items:center;gap:25px;padding:31px 10px 20px;max-width:630px;}
.lb-comparison-mark{font:45px Georgia,serif;color:#9aa88d;}
.lb-empty-results p{font-size:14px;color:var(--ex-muted);line-height:1.9;}
.lb-probe-changed{font-size:14px;padding:30px 10px;line-height:1.9;color:var(--ex-muted);}
.lb-preview-main{display:flex;justify-content:center;}
.lb-preview-main .lb-query{width:min(100%,520px);}

@media(min-width:1600px){.an-editor{grid-template-columns:205px minmax(0,1fr)260px;}.an-stage{padding:38px 38px;}.gm-main{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;}.gm-run-stage iframe{height:515px;}.gm-code-editor{height:480px;}.ar-main{grid-template-columns:minmax(0,1fr)285px;}.ar-canvas-desk{padding:45px;}.lb-main{grid-template-columns:minmax(0,1fr)405px;gap:34px;}}
@media(max-width:1250px){.an-editor{grid-template-columns:153px minmax(0,1fr)220px;}.an-layers{padding:19px 11px;}.an-inspector{padding:20px 14px;}.an-stage{padding:24px 18px;}.an-layer-tools{gap:5px;margin-left:28px;}.an-time-head>span:last-child{display:none;}.gm-main{padding:23px;gap:21px;}.gm-code-heading>span{flex-basis:100%;margin:0;}.gm-run-stage iframe{height:410px;}.ar-tools{gap:9px;padding:12px 17px;}.ar-palette{display:none;}.ar-main{grid-template-columns:minmax(0,1fr)240px;}.ar-layer-panel{padding:20px 15px;}.lb-main{grid-template-columns:minmax(0,1fr)330px;gap:22px;}.lb-results{gap:24px;grid-template-columns:180px minmax(0,1fr);}}
@media(max-width:1100px){.an-editor{grid-template-columns:163px minmax(0,1fr);}.an-inspector{grid-column:1/-1;border-left:0;border-top:1px solid var(--ex-line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;}.an-inspector>.an-eyebrow,.an-inspector>h3{grid-column:1/-1;margin:0;}.an-inspector>.an-ai{grid-column:2;grid-row:3/8;margin:5px 0 0;}.an-inspector>.an-pose-grid{grid-column:1;}.an-inspector .an-frame-list{max-height:140px;}.an-inspector>.an-details{grid-column:1/-1;margin-top:6px;}.gm-main{grid-template-columns:1fr;gap:30px;}.gm-run-stage iframe{height:480px;}.gm-code-editor{height:420px;}.gm-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;}.gm-rules>.gm-section-head,.gm-rules>.gm-new-rule,.gm-rules>.gm-button{grid-column:1/-1;}.gm-code-heading>span{flex-basis:auto;margin-left:auto;}.lb-main{grid-template-columns:1fr;}.lb-query{max-width:640px;width:100%;justify-self:center;}.lb-query-desk canvas{width:min(100%,300px);}.lb-drawing-tools{justify-content:center;}.lb-learning-path{gap:13px;}.lb-learning-path strong{font-size:13px;}.lb-learning-path small{font-size:10px;}}
@media(max-width:900px){.an-header,.gm-header,.ar-header,.lb-header{padding:21px 20px 17px;flex-wrap:wrap;gap:13px;}.an-header h2,.gm-header h2,.ar-header h2,.lb-header h2{font-size:23px;}.an-header>.an-header-actions,.gm-header>div:last-child,.ar-header>div:last-child{gap:6px;}.an-header .an-button,.gm-header .gm-button,.ar-header .ar-button,.lb-header .lb-button{font-size:12px;padding:8px 10px;}.ar-main{grid-template-columns:1fr;}.ar-canvas-desk{min-height:340px;padding:30px 24px;}.ar-layer-panel{border-left:0;border-top:1px solid var(--ex-line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 23px;}.ar-layer-panel>.ar-section-head,.ar-layer-panel>.ar-help,.ar-layer-list{grid-column:1/-1;}.ar-layer-panel>.ar-section-head h3{max-width:none;}.ar-layer-panel>.ar-help{margin:0;}.ar-layer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:10px;margin:10px 0;}.ar-layer{margin:0;}.ar-ai{grid-column:2;grid-row:4/8;margin:0;}.ar-paper-options{margin:0;}.lb-results{grid-template-columns:155px minmax(0,1fr);margin:0 20px;gap:20px;}.lb-feature-card{padding-right:17px;}.lb-neighbors{grid-template-columns:1fr;}.gm-full-stage{margin:22px;}}
@media(max-width:700px){.an-header,.gm-header,.ar-header,.lb-header{padding:18px 16px 15px;}.an-header>div:first-child,.gm-header>div:first-child,.ar-header>div:first-child,.lb-header>div:first-child{flex-basis:100%;}.an-eyebrow,.gm-eyebrow,.ar-eyebrow,.lb-eyebrow{font-size:10px;}.an-editor{display:flex;flex-direction:column;}.an-stage-column{order:0;}.an-layers{order:1;border-right:0;border-top:1px solid var(--ex-line);padding:19px 16px;}.an-inspector{order:2;display:block;padding:21px 18px;}.an-stage{min-height:240px;padding:25px 16px;}.an-stage canvas{min-width:0;}.an-transport{padding:11px 13px;gap:7px;}.an-transport>output{font-size:10px;min-width:97px;}.an-loop{display:none;}.an-timeline{padding:15px 15px 10px;min-height:208px;}.an-ruler,.an-track{grid-template-columns:83px minmax(180px,1fr);}.an-track-label{font-size:10px;}.an-layer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;}.an-layer{margin:0;}.an-scene-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}.an-inspector>.an-ai{margin-top:20px;}.an-inspector h3{margin:7px 0 16px;}.an-pose-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.an-preview-stage{padding:22px 16px;min-height:280px;}.gm-main{padding:19px 16px;}.gm-run-stage iframe{height:380px;}.gm-preview-top{padding:9px 10px;font-size:11px;}.gm-preview-top>div .gm-button{padding:5px 6px;font-size:10px;}.gm-after-play{align-items:flex-start;flex-wrap:wrap;}.gm-rules{grid-template-columns:1fr;}.gm-rule label>span{font-size:14px;}.gm-file-tabs>button{padding:10px 9px;}.gm-code-editor{height:365px;grid-template-columns:29px minmax(0,1fr);}.gm-code-editor textarea{font-size:12px;padding:13px 10px;}.gm-gutter{padding:13px 6px 13px 0;}.gm-code-heading>span{flex-basis:100%;margin:0;}.gm-full-stage{margin:20px 15px;min-height:440px;}.gm-full-stage iframe{min-height:400px;}.ar-tools{gap:9px;padding:12px 14px;}.ar-tool-set{width:100%;justify-content:space-between;gap:3px;}.ar-tool{padding:5px 7px;font-size:11px;gap:4px;}.ar-tool-divider{display:none;}.ar-color-picker>span{display:none;}.ar-brush-size{flex:1;}.ar-brush-size input{width:min(90px,25vw);}.ar-canvas-desk{min-height:270px;padding:26px 18px;}.ar-desk-bottom{padding:12px 15px;}.ar-desk-bottom>span:last-child{display:none;}.ar-drawing-tip{padding:13px 16px;}.ar-layer-panel{display:block;padding:20px 17px;}.ar-layer-list{display:grid;margin:15px 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}.ar-layer-select{font-size:12px;gap:6px;}.ar-layer-stack{width:25px;height:25px;font-size:19px;}.ar-layer-actions{padding-left:0;gap:8px;}.ar-ai{margin-top:22px;}.ar-layer-panel>.ar-help{margin-top:10px;}.ar-paper-options{margin-top:20px;}.ar-preview-desk{padding:25px 17px;min-height:300px;}.lb-learning-path{padding:18px 16px;gap:15px;grid-template-columns:1fr;}.lb-learning-path>div{grid-template-columns:25px minmax(0,1fr)auto;column-gap:11px;}.lb-learning-path>div>span{width:25px;height:25px;grid-row:auto;}.lb-learning-path strong{font-size:13px;}.lb-learning-path small{font-size:11px;margin:0;}.lb-main{padding:22px 16px;gap:24px;}.lb-categories{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;}.lb-query{padding:18px 15px;}.lb-query-desk canvas{width:min(100%,280px);}.lb-results{margin:0 16px;grid-template-columns:1fr;gap:20px;}.lb-feature-card{border-right:0;border-bottom:1px solid var(--ex-line);padding:0 0 20px;display:grid;grid-template-columns:136px minmax(0,1fr);gap:6px 20px;}.lb-feature-card>.lb-eyebrow,.lb-feature-card>h3{grid-column:1/-1;}.lb-feature-card>h3{margin:0 0 10px;}.lb-feature-card>[data-lb-feature-map]{grid-column:1;grid-row:3/5;}.lb-feature-card>p{margin:0;grid-column:2;}.lb-feature-values{grid-column:2;margin:0;font-size:9px;}.lb-neighbor-panel h3{font-size:18px;}.lb-neighbors{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));}.lb-empty-results{gap:18px;padding:18px 0;}.lb-empty-results p{font-size:13px;}.lb-category-fields>input:first-child{font-size:13px;}}
@media(max-width:440px){.an-layer-list,.ar-layer-list,.lb-categories{grid-template-columns:1fr;}.ar-tool{padding:5px 4px;font-size:10px;}.ar-tool>span{font-size:16px;}.ar-tools>.ar-button{padding:6px 8px;}.lb-learning-path>div{grid-template-columns:25px 1fr;}.lb-learning-path small{grid-column:2;margin-top:2px;}.lb-neighbors{grid-template-columns:1fr;}.lb-add-category{flex-wrap:wrap;}.lb-add-category input{flex-basis:100%;}.an-scene-fields{grid-template-columns:1fr 1fr;}.gm-inline{flex-wrap:wrap;}.gm-inline>input{flex-basis:100%;}.gm-preview-top>div{gap:4px;}}
