:root{--paper:#f7f6f2;--surface:#fdfcf9;--ink:#303b37;--muted:#82877e;--line:#e3e4dc;--accent:#426d65;--accent-soft:#e5ece6;--canvas:#dfe1da;--danger:#a75449;--radius:6px;color-scheme:light;font:13px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button,summary,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}input,select{min-width:0}input[type=text],input:not([type]),input[type=number],select{border:1px solid var(--line);border-radius:4px;background:var(--surface);padding:7px 9px}input[type=color]{width:30px;height:28px;padding:2px;border:1px solid var(--line);background:var(--surface);border-radius:4px;cursor:pointer}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}input[type=range]{width:100%;height:22px;margin:0;accent-color:var(--accent);cursor:pointer}svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.small{width:13px;height:13px}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}h1,h2,h3,p{margin:0}h2{font-size:13px;font-weight:600}h3{font-size:12px;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.muted{color:var(--muted);font-size:12px}.eyebrow{font-size:10px;letter-spacing:.1em;font-weight:600;color:var(--muted)}[hidden]{display:none!important}
.app-header{height:72px;display:flex;align-items:center;gap:30px;padding:0 24px;border-bottom:1px solid var(--line);background:var(--surface);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none;white-space:nowrap;letter-spacing:-1px;font-size:22px;font-weight:650}.brand-dot{color:var(--accent)}.logo{width:30px;height:30px;stroke:var(--accent);stroke-width:1.7}.version{font-size:9px;letter-spacing:.06em;align-self:center;background:var(--accent-soft);color:var(--accent);padding:3px 5px;border-radius:3px;margin-left:1px;font-weight:650}.project-heading{display:flex;flex-direction:column;flex:1;gap:2px;min-width:0}.project-heading input{border:none;background:none!important;padding:0!important;font-size:13px;font-weight:550;width:min(100%,330px);text-overflow:ellipsis}.project-heading span{font-size:10px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:7px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:5px;flex-shrink:0;color:#6b766c}.icon-button:hover,.tool-button:hover{background:var(--accent-soft);color:var(--accent)}.icon-button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.divider{height:20px;width:1px;background:var(--line);margin:0 5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;white-space:nowrap;line-height:1.3;font-size:12px;font-weight:500}.button:hover{background:#eff0e9}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.primary:hover{background:#355e56}.button.quiet{border-color:transparent}.text-button{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--accent);padding:5px 3px}.text-button:hover{text-decoration:underline}.text-button svg{width:13px;height:13px}.menu{position:relative}.menu summary{list-style:none;cursor:pointer}.menu summary::-webkit-details-marker{display:none}.menu-panel{position:absolute;right:0;top:calc(100% + 8px);background:var(--surface);padding:6px;border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 30px #27352c18;min-width:225px;z-index:40}.menu-panel button{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:9px 10px;border-radius:3px;font-size:12px}.menu-panel button:hover{background:var(--accent-soft)}.menu-panel small{font-size:10px;color:var(--muted);margin-left:20px}hr{border:0;border-top:1px solid var(--line);margin:5px 0}
.workspace{height:calc(100dvh - 72px);display:grid;grid-template-columns:220px minmax(0,1fr) 264px}.panel{background:var(--surface);min-width:0;display:flex;flex-direction:column;overflow:hidden}.library{border-right:1px solid var(--line)}.inspector{border-left:1px solid var(--line)}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 18px 14px;min-height:52px}.search-box{display:flex;align-items:center;gap:8px;margin:0 14px 13px;border:1px solid var(--line);border-radius:5px;padding:7px 9px}.search-box svg{width:14px;height:14px;color:#8c9388}.search-box input{background:transparent;border:0;outline:none!important;width:100%;font-size:11px}.search-box:focus-within{border-color:var(--accent)}.catalog-filters{display:flex;flex-wrap:wrap;gap:3px;padding:0 14px 13px}.catalog-filters button{font-size:10px;border-radius:4px;padding:5px 7px;color:#788173}.catalog-filters button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.catalog-scroll{padding:0 14px 15px;overflow:auto;flex:1;min-height:150px}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.model-card{background:#f5f4ef;border:1px solid #eaeae2;border-radius:5px;padding:0 0 6px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;position:relative}.model-card:hover{border-color:#9aafa2;background:#edf0e8}.model-card img{width:100%;aspect-ratio:1.15;object-fit:contain;pointer-events:none}.model-card span{font-size:10px;pointer-events:none}.model-card .card-plus{position:absolute;top:4px;right:5px;font-size:16px;color:#a1ada0;line-height:1}.custom-button{font-size:10px;width:100%;margin-top:12px;padding:8px 4px;gap:3px;border-style:dashed;color:var(--accent)}.custom-button svg{width:14px;height:14px}.section-heading{display:flex;align-items:center;justify-content:space-between}.scene-section{border-top:1px solid var(--line);padding:13px 10px 7px;min-height:130px;max-height:31%;display:flex;flex-direction:column}.section-heading h2{font-size:11px}.scene-section .section-heading{padding:0 7px 8px}.section-heading>span{font-size:10px;color:var(--muted);background:#eeeee7;border-radius:3px;padding:1px 5px}.object-list{overflow:auto;min-height:40px}.object-row{display:flex;align-items:center;gap:7px;width:100%;padding:5px 6px;border-radius:4px;user-select:none;border:1px solid transparent}.object-row.active{background:var(--accent-soft);border-color:#d8e3d9}.object-row:hover{background:#f0f1eb}.object-row .object-swatch{width:9px;height:9px;border-radius:2px;flex-shrink:0;border:1px solid #0001}.object-row .object-name{text-align:left;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;padding:0}.object-row .icon-button{width:22px;height:22px;opacity:.5}.object-row:hover .icon-button,.object-row.active .icon-button{opacity:1}.object-row .icon-button svg{width:13px;height:13px}.object-row.hidden-object{opacity:.5}.library-footer{font-size:9px;color:#92978b;display:flex;align-items:center;gap:5px;padding:11px 15px;border-top:1px solid var(--line);white-space:nowrap}.local-dot{width:5px;height:5px;background:#7b987c;border-radius:50%}
.studio{display:flex;flex-direction:column;min-width:0;min-height:0}.studio-toolbar{height:55px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);flex-shrink:0}.shot-heading{display:flex;align-items:center;gap:10px;min-width:0}.shot-heading .eyebrow{color:var(--accent);font-variant-numeric:tabular-nums}.shot-heading input{background:transparent!important;border:0!important;padding:4px 0!important;font-size:12px;font-weight:500;max-width:210px;width:100%}.studio-options{display:flex;align-items:center;gap:8px}.aspect-label select{border:0;background:transparent;font-size:10px;padding:6px 3px;color:#7c8479}.stage-surround{background:var(--canvas);flex:1;min-height:140px;position:relative;padding:48px 26px 43px;display:flex;align-items:center;justify-content:center;overflow:hidden}.stage{position:relative;box-shadow:0 3px 13px #343a3410;flex-shrink:0;touch-action:none;background:#eeeae1;outline-offset:4px;overflow:hidden;user-select:none}.stage canvas{width:100%;height:100%;display:block;touch-action:none}.stage-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;stroke-width:1;stroke-linecap:round}.pose-handle{pointer-events:all;cursor:grab;fill:var(--surface);stroke:var(--accent);stroke-width:2}.pose-handle.active{fill:var(--accent);stroke:white}.pose-line{stroke:#426d6580;stroke-width:1;stroke-dasharray:3 4}.selection-rect{fill:none;stroke:#426d6599;stroke-width:1;stroke-dasharray:5 4}.frame-label{position:absolute;left:12px;right:12px;bottom:9px;display:flex;justify-content:space-between;font-size:9px;color:#4d595282;pointer-events:none;letter-spacing:.07em}.stage-tools{position:absolute;left:50%;top:10px;transform:translateX(-50%);display:flex;gap:2px;background:#f7f8f2d9;padding:3px;border:1px solid #cbd1c7;border-radius:6px;z-index:2}.tool-button{width:31px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:#7b8579}.tool-button svg{width:15px;height:15px}.tool-button.active{background:#fff;color:var(--accent);box-shadow:0 1px 3px #0001}.stage-bottom{position:absolute;bottom:10px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#828b7c}.stage-bottom .text-button{font-size:10px;white-space:nowrap;color:#697d6b}.thirds{position:absolute;inset:0;pointer-events:none}.thirds i{position:absolute;background:#fff6}.thirds i:nth-child(1),.thirds i:nth-child(2){top:0;bottom:0;width:1px;left:33.333%}.thirds i:nth-child(2){left:66.666%}.thirds i:nth-child(3),.thirds i:nth-child(4){left:0;right:0;height:1px;top:33.333%}.thirds i:nth-child(4){top:66.666%}.shot-note{height:45px;padding:0 20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0}.shot-note input{border:0!important;background:transparent!important;padding:4px 0!important;width:100%;font-size:11px}.shot-note input::placeholder{color:#a1a69a}.shot-strip-section{height:175px;background:var(--paper);padding:12px 18px 13px;flex-shrink:0}.strip-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;height:22px}.strip-heading h2{font-size:11px}.strip-heading h2 span{font-size:10px;font-weight:400;color:var(--muted);margin-left:8px}.strip-heading>div{display:flex;align-items:center;gap:8px}.strip-heading .icon-button{width:25px;height:25px}.strip-heading .icon-button svg{width:14px;height:14px}.shot-strip{display:flex;gap:11px;overflow-x:auto;height:117px;padding:1px 2px 6px}.shot-card{display:flex;flex-direction:column;align-items:stretch;width:140px;min-width:140px;padding:3px;border:1px solid transparent;border-radius:5px;text-align:left}.shot-card.active{border-color:var(--accent);background:#edf0e9}.shot-card:hover{background:#e8ebe2}.shot-card img{width:100%;height:73px;object-fit:contain;background:#e3e3d9;border-radius:2px}.shot-card .shot-card-caption{display:flex;align-items:center;gap:7px;padding:5px 3px;font-size:10px;overflow:hidden;white-space:nowrap}.shot-card-caption strong{color:var(--accent);font-size:9px;font-weight:600}.shot-card-caption span{overflow:hidden;text-overflow:ellipsis}.add-shot{width:92px;min-width:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed #c5cdc0;margin:3px 0 22px;border-radius:4px;color:#83917d;font-size:10px}.add-shot:hover{background:var(--accent-soft);color:var(--accent)}
.inspector-tabs{display:flex;margin:0 16px 12px;border-bottom:1px solid var(--line);gap:15px}.inspector-tabs button{font-size:11px;padding:7px 2px 10px;position:relative;color:#899080}.inspector-tabs button[aria-selected=true]{color:var(--accent);font-weight:600}.inspector-tabs button[aria-selected=true]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}.inspector-content{padding:0 17px 20px;overflow:auto;flex:1}.property-section{padding:14px 0 16px;border-bottom:1px solid var(--line)}.property-section:first-child{padding-top:3px}.property-section:last-child{border:0}.property-section h3{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#89917f;margin-bottom:14px;font-weight:500}.property-section .object-name-input{width:100%;margin-bottom:12px;font-weight:500}.property-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.property-header .object-type{font-size:10px;color:var(--muted)}.color-label{display:flex;align-items:center;justify-content:space-between;font-size:11px}.swatch-row{display:flex;gap:6px;margin-top:10px}.swatch{width:19px;height:19px;border-radius:50%;border:2px solid var(--surface);outline:1px solid #dedfd5}.swatch:hover{outline-color:var(--accent)}.property-row{margin-bottom:11px}.property-row:last-child{margin-bottom:0}.property-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1px;font-size:11px}.number-unit{display:flex;align-items:center;gap:4px;font-size:9px;color:#9a9f91}.number-unit input{width:55px;padding:3px 4px;text-align:right;background:#f3f4ed;font-size:10px;border-color:transparent}.number-unit input:hover,.number-unit input:focus{border-color:var(--line)}.check-row{display:flex;align-items:center;gap:7px;font-size:11px;margin-top:12px}.property-select{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;margin-bottom:12px}.property-select select{max-width:145px;padding:5px;font-size:11px}.property-actions{display:flex;gap:6px;margin-top:13px}.property-actions .button{flex:1;padding:7px;font-size:10px}.property-actions svg{width:13px;height:13px}.danger{color:var(--danger)!important}.property-tip{font-size:10px;color:#929b89;line-height:1.6;margin-top:10px}.empty-state{padding:28px 6px;text-align:center;color:var(--muted)}.empty-state svg{width:30px;height:30px;color:#a3ae9b;margin:0 auto 12px;display:block}.empty-state p{font-size:11px;line-height:1.7}.empty-state .button{margin-top:18px;font-size:11px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:16px}.preset-grid button{font-size:10px;padding:7px 3px;border:1px solid var(--line);border-radius:4px}.preset-grid button:hover{background:var(--accent-soft);border-color:#a3b5a4}.joint-select{width:100%;margin-bottom:12px;font-size:11px}.camera-presets{display:flex;gap:5px;margin-bottom:17px}.camera-presets button{font-size:10px;padding:6px 8px;background:#f0f1ea;border-radius:4px;flex:1}.camera-presets button:hover{background:var(--accent-soft)}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--canvas);font-size:12px;z-index:4}.spinner{width:16px;height:16px;border:2px solid #aebdaf;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#344b42;color:#f7f8f2;border-radius:6px;padding:11px 20px;box-shadow:0 3px 14px #0002;z-index:100;font-size:12px;max-width:90vw;text-align:center}.mobile-toggle,.mobile-close{display:none}
dialog{border:1px solid var(--line);border-radius:10px;box-shadow:0 20px 100px #202d3033;padding:0;background:var(--surface);color:var(--ink);max-width:calc(100vw - 24px);max-height:calc(100dvh - 30px)}dialog::backdrop{background:#25332b50;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 28px 20px;border-bottom:1px solid var(--line);gap:30px}.dialog-heading h2{font-size:22px;font-weight:500;letter-spacing:-.6px;margin-top:4px}.dialog-footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 28px;border-top:1px solid var(--line)}.guide-dialog{width:570px}.guide-content{padding:24px 28px 20px;font-size:13px}.guide-content>p:first-child{color:#788272;line-height:1.7;margin-bottom:24px}.guide-row{display:flex;gap:13px;margin:17px 0}.keycap{display:flex;width:26px;height:26px;border:1px solid #cbd4c6;border-radius:4px;flex-shrink:0;align-items:center;justify-content:center;color:var(--accent);font-size:11px}.guide-row strong{font-size:12px;font-weight:600}.guide-row p{font-size:11px;color:#84907c;margin-top:4px;line-height:1.65}.guide-shortcuts{font-size:10px;line-height:2.5;margin:22px 0 15px;color:var(--muted)}kbd{font:10px inherit;border:1px solid #d9dfd3;border-radius:3px;padding:2px 4px;background:var(--paper);margin:0 3px 0 9px}.model-dialog{width:850px}.model-builder{display:grid;grid-template-columns:1.1fr 1fr;min-height:450px;max-height:65dvh;overflow:auto}.model-preview-column{padding:20px;background:#eff0e8}.model-name{width:100%;font-weight:600;background:var(--surface)}#model-preview{display:block;width:100%;height:auto;aspect-ratio:1.2;margin-top:15px;background:#e3e5dc;border-radius:4px}.model-preview-footer{display:flex;align-items:center;justify-content:space-between;font-size:8px;color:var(--muted);margin:7px 0 13px}.model-preview-footer .button{font-size:10px;padding:6px}.model-parts-column{padding:20px;overflow:auto}.model-parts-column h3{font-size:11px}.model-parts-list{display:flex;flex-wrap:wrap;gap:4px;margin:11px 0 17px}.model-part-chip{padding:5px 8px;font-size:10px;border:1px solid var(--line);border-radius:4px}.model-part-chip.active{background:var(--accent-soft);color:var(--accent);border-color:#aabca8}.part-fields input:not([type=color]),.part-fields select{width:100%;padding:5px 6px;font-size:11px}.part-fields>label{font-size:10px;color:var(--muted);display:block;margin-bottom:10px}.part-fields>label input,.part-fields>label select{display:block;margin-top:4px}.triple-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin:5px 0 12px}.triple-fields label{font-size:9px;color:var(--muted)}.triple-fields input{display:block;margin-top:4px}.part-fields h4{font-size:10px;font-weight:500;margin:14px 0 4px}.noscript{position:fixed;inset:0;background:var(--paper);display:grid;place-items:center;z-index:200}
@media(min-width:1500px){.workspace{grid-template-columns:244px minmax(0,1fr) 280px}.catalog-card img{aspect-ratio:1.3}.stage-surround{padding:55px 40px}.app-header{gap:40px}}
@media(max-width:1100px){.workspace{grid-template-columns:190px minmax(0,1fr) 230px}.app-header{padding:0 15px;gap:20px}.brand{font-size:20px}.logo{width:26px}.catalog-scroll{padding:0 10px 12px}.catalog-grid{gap:6px}.catalog-filters{padding:0 10px 12px;gap:2px}.catalog-filters button{padding:4px 5px}.inspector-content{padding:0 13px 15px}.stage-surround{padding:46px 16px 43px}.stage-bottom{left:15px;right:15px;font-size:9px}.stage-hint{max-width:70%}.shot-strip-section{height:158px}.shot-strip{height:105px}.shot-card{width:125px;min-width:125px}.shot-card img{height:64px}.library-footer{font-size:8px;padding:10px}.studio-toolbar{padding:0 15px}}
@media(max-width:820px){.workspace{grid-template-columns:minmax(0,1fr)}.panel{position:fixed;top:64px;bottom:0;z-index:31;width:270px;box-shadow:0 0 25px #25352420;display:none}.library{left:0}.inspector{right:0}.panel.drawer-open{display:flex}.drawer-backdrop{position:fixed;inset:64px 0 0;background:#25332b33;z-index:30}.mobile-toggle,.mobile-close{display:inline-flex}.app-header{height:64px;padding:0 15px;gap:20px}.workspace{height:calc(100dvh - 64px)}.project-heading span{font-size:9px}.project-heading input{font-size:12px}.brand .version{display:none}.brand{font-size:20px}.header-actions{gap:3px}.history-button,.divider{display:none}.header-actions .button{padding:7px 9px}.stage-surround{padding:50px 22px 43px}.shot-heading{gap:8px}.studio-toolbar{height:49px}.shot-strip-section{height:162px}.shot-strip{height:111px}.shot-card{width:135px;min-width:135px}.shot-card img{height:70px}.scene-section{max-height:33%}.library-footer{font-size:10px}.model-builder{grid-template-columns:1fr 1fr}.stage-bottom{font-size:10px}.shot-note{height:42px}}
@media(max-width:520px){.app-header{height:60px;gap:10px;padding:0 11px}.brand{font-size:19px;gap:5px}.brand .logo{width:22px}.project-heading{display:none}.header-actions{margin-left:auto;gap:2px}.header-actions .button{font-size:11px;padding:7px 8px;gap:4px}.header-actions .button>svg:first-child{display:none}.header-actions>#help{width:26px}.workspace{height:calc(100dvh - 60px)}.panel{top:60px;width:min(280px,86vw)}.drawer-backdrop{top:60px}.studio-toolbar{padding:0 10px}.shot-heading input{max-width:150px;font-size:11px}.studio-options{gap:3px}.stage-surround{padding:46px 12px 48px;min-height:160px}.stage-bottom{left:14px;right:14px;bottom:8px;font-size:9px;align-items:flex-end}.stage-bottom>span{max-width:65%;line-height:1.5}.stage-bottom .text-button{font-size:9px}.shot-strip-section{height:143px;padding:9px 11px}.shot-strip{height:100px;gap:7px}.shot-card{width:120px;min-width:120px}.shot-card img{height:62px}.shot-card .shot-card-caption{font-size:9px}.add-shot{width:80px;min-width:80px}.shot-note{height:39px;padding:0 14px;gap:10px}.shot-note input{font-size:10px}.strip-heading{margin-bottom:4px}.model-builder{grid-template-columns:1fr;max-height:65dvh}.model-preview-column{padding:14px}#model-preview{max-height:220px}.model-parts-column{overflow:visible}.dialog-heading{padding:18px}.dialog-heading h2{font-size:19px}.dialog-footer{padding:14px 18px}.guide-content{padding:20px 18px}.guide-row{margin:13px 0}.guide-shortcuts{display:none}.guide-content>p:first-child{font-size:12px;margin-bottom:17px}}
@media(max-height:650px) and (min-width:821px){.app-header{height:58px}.workspace{height:calc(100dvh - 58px)}.shot-strip-section{height:140px}.studio-toolbar{height:45px}.shot-note{height:36px}.shot-strip{height:95px}.shot-card{width:115px;min-width:115px}.shot-card img{height:58px}.stage-surround{padding-top:43px;padding-bottom:34px}.stage-bottom{bottom:5px}.panel-heading{padding-top:13px;padding-bottom:10px;min-height:43px}}
.image-export-dialog{width:850px}.image-export-list{max-height:68dvh;overflow:auto;padding:20px 24px;background:#eff0e8}.image-export-item+.image-export-item{margin-top:22px}.image-export-item img{display:block;max-width:100%;max-height:52dvh;margin:auto;object-fit:contain}.image-export-item .export-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px}.image-export-item .export-caption span{font-size:11px;color:#7a8773}.image-export-item a{text-decoration:none}.image-export-dialog .dialog-footer{align-items:center;justify-content:space-between;gap:20px}.image-export-dialog .dialog-footer .muted{font-size:10px}

/* Production workspace: shared type scale, spacing, and controls. */
:root{--paper:#f3f5f7;--surface:#fff;--ink:#263441;--muted:#778390;--line:#e1e6eb;--accent:#365f73;--accent-soft:#e8eff4;--canvas:#e5e9ed;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-header{height:68px;padding:0 22px;gap:32px;background:#fff}.brand{font-size:20px;letter-spacing:-.7px;font-weight:650}.logo{width:28px;height:28px}.version{background:#edf1f5;color:#667789;font-size:9px;letter-spacing:.04em}.project-heading input{font-size:13px}.project-heading span{font-size:10px;color:#7b8794}.header-actions{gap:6px}.button{min-height:32px;padding:7px 11px;border-color:#d9e0e6;font-size:11px;font-weight:500;background:#fff;border-radius:5px}.button:hover{background:#f3f6f8;border-color:#becbd5}.button.primary{background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:#2a4e62}.button.quiet{background:transparent}.icon-button{width:31px;height:31px;color:#647482}.icon-button:hover{background:var(--accent-soft)}.workspace{height:calc(100dvh - 68px);grid-template-columns:238px minmax(0,1fr) 282px}.panel-heading{padding:19px 18px 13px;min-height:50px}.panel-heading h2{font-size:12px;font-weight:650;letter-spacing:.01em}.library-tabs{display:flex;margin:0 15px 15px;background:#f0f3f6;border-radius:5px;padding:3px;gap:3px}.library-tabs button{flex:1;font-size:11px;min-height:29px;border-radius:3px;color:#738190}.library-tabs button.active{background:#fff;color:#2e5064;box-shadow:0 1px 3px #182c4110;font-weight:600}.search-box{margin:0 15px 13px;background:#fff;border-color:#dce3e9;padding:8px 10px}.search-box input{font-size:11px}.catalog-scroll{padding:0 15px 16px}.catalog-filters{padding:0 15px 12px}.catalog-filters button{font-size:10px;padding:4px 6px;color:#77828e}.catalog-filters button.active{background:var(--accent-soft);color:var(--accent)}.catalog-grid{gap:9px}.model-card{border-color:#e1e6eb;background:#f2f4f7;border-radius:5px;padding-bottom:9px}.model-card:hover{border-color:#a5b8c7;background:#eef3f7}.model-card span{font-size:11px}.model-card .card-plus{color:#879dad}.model-card img{aspect-ratio:1.1}.custom-button{border-style:solid;background:#fff;color:#365f73;margin-top:13px;min-height:34px;font-size:11px;gap:6px}.character-card{position:relative;border:1px solid #e0e6eb;border-radius:5px;background:#fff;overflow:hidden}.character-card:hover{border-color:#9db3c2}.character-place{display:flex;align-items:stretch;flex-direction:column;text-align:left;width:100%;padding:0}.character-place img{display:block;width:100%;aspect-ratio:.82;object-fit:contain;background:#f2f4f7}.character-place>span{font-size:12px;font-weight:550;padding:9px 9px 1px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.character-place small{font-size:9px;color:#8192a1;padding:0 9px 9px}.character-edit{position:absolute;top:5px;right:5px;width:24px;height:24px;border:1px solid #d9e2e9;background:#fff;opacity:.6}.character-edit svg{width:13px;height:13px}.character-card:hover .character-edit{opacity:1}.library-empty{grid-column:1/-1;border:1px dashed #d2dce4;padding:20px 13px;border-radius:5px;margin:1px 0 7px}.library-empty strong{display:block;font-size:12px;margin-bottom:7px;font-weight:550}.library-empty p{font-size:11px;color:#82909d;line-height:1.7}.scene-section{padding-top:14px;min-height:160px;max-height:35%;background:#fcfdfe}.scene-section .section-heading{padding-bottom:10px}.section-heading h2{font-size:11px}.section-heading>span{background:#edf1f4;color:#7a8a99}.object-row{padding:6px;font-size:11px}.object-row.active{background:#e9f0f5;border-color:#d8e5ef}.object-row:hover{background:#f0f4f7}.object-row .object-name{font-size:11px}.library-footer{font-size:9px;color:#8794a0;padding:12px 15px;background:#fff}.local-dot{background:#6a8b80}.studio-toolbar{height:53px;background:#fff;padding:0 20px}.shot-heading input{font-size:12px}.shot-heading .eyebrow{font-size:10px;color:#7290a3}.studio-options select{color:#657889;font-size:11px}.stage-surround{padding:48px 25px 42px;background:var(--canvas)}.stage{box-shadow:0 1px 7px #25384a17}.stage-tools{background:#f7f9fb;border-color:#ccd6df;border-radius:5px;top:10px;padding:3px}.tool-button{color:#6c8192;width:32px;height:27px}.tool-button.active{color:#365f73;box-shadow:0 1px 3px #27384915}.stage-bottom{color:#7e8b98;font-size:10px}.stage-bottom .text-button{color:#647e92}.shot-note{background:#fff}.shot-note .eyebrow{font-size:9px;color:#8a98a5}.shot-note input{font-size:11px}.shot-strip-section{background:#f8fafb;height:168px;padding:13px 18px}.strip-heading h2{font-size:12px;font-weight:550}.strip-heading h2 span{color:#8b98a4;font-size:10px}.shot-card.active{border-color:#6689a3;background:#eaf1f6}.shot-card:hover{background:#eef3f7}.shot-card img{background:#e7eaf0}.shot-card-caption strong{color:#6589a1}.add-shot{border-color:#c4d0db;color:#70899d;border-radius:4px}.add-shot:hover{background:#edf3f7}.inspector-tabs{margin:0 17px 0;gap:18px}.inspector-tabs button{padding-bottom:12px;font-size:11px;color:#83919e}.inspector-tabs button[aria-selected=true]{color:#365f73}.inspector-content{padding:0 17px 20px}.selection-heading,.saved-camera-section{padding:18px 0 16px;border-bottom:1px solid var(--line)}.selection-heading .object-name-input{width:100%;font-size:13px;font-weight:550;padding:8px 10px;margin-bottom:8px}.property-header{margin-bottom:8px}.property-header .object-type{font-size:10px;color:#8695a1}.property-header strong{font-size:13px;font-weight:600}.character-instance-info{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:10px;color:#7e8d9a}.character-instance-info .text-button{font-size:10px}.text-button{font-size:11px;color:#476c84}.property-tip{font-size:10px;line-height:1.6;color:#8b98a4;margin-top:8px}.saved-camera-actions{display:flex;gap:6px;align-items:center}.saved-camera-actions .button{flex:1;justify-content:center;font-size:11px}.saved-camera-actions .button svg{width:13px;height:13px}.saved-camera-actions .icon-button{border:1px solid #d9e0e6}.field-label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#6f7e8b;margin:0 0 14px}.field-label>input,.field-label>select{width:100%;background:#fff;border:1px solid #dbe2e8;border-radius:4px;padding:8px 9px;color:#2f4150;font-size:12px;min-height:33px}.property-fold{border-bottom:1px solid var(--line);padding:0;margin:0}.property-fold>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:11px;font-weight:600;padding:14px 0;cursor:pointer;color:#4a6071;letter-spacing:0}.property-fold>summary::-webkit-details-marker{display:none}.property-fold>summary svg{width:12px;height:12px;transform:rotate(-90deg);color:#8a9eac}.property-fold[open]>summary svg{transform:rotate(0)}.fold-content{padding:0 0 17px}.property-row{margin-bottom:12px}.property-row-head{font-size:11px;margin-bottom:3px}.number-unit{font-size:10px;color:#92a1ad;min-width:75px;justify-content:flex-end}.number-unit input{background:#f3f6f8;border:1px solid #e8edf1;border-radius:4px;font-size:11px;padding:4px 5px;width:59px;color:#526b7e;font-variant-numeric:tabular-nums}.color-label{font-size:11px;margin-top:11px;gap:12px}.color-label:first-child{margin-top:0}.property-select{margin-top:12px;font-size:11px}.check-row{font-size:10px;color:#728593;margin-top:9px}.transform-fieldset{border:0;margin:0;padding:0;min-width:0}.selection-actions{display:flex;gap:7px;padding:16px 0 6px}.selection-actions .button{flex:1;font-size:11px}.selection-actions .button svg{width:13px;height:13px}.preset-grid{margin:0;gap:6px}.preset-grid button{border-color:#dce3ea;font-size:11px;padding:8px 3px;background:#fff}.joint-select{margin-bottom:4px}.camera-presets{margin:9px 0 0;gap:6px}.camera-presets button{background:#f1f5f8;color:#657e91;font-size:10px;border:1px solid #e2e9ef;padding:5px}.empty-state{padding:33px 12px}.empty-state strong{display:block;font-size:12px;font-weight:550;margin-bottom:9px}.empty-state p{font-size:11px;line-height:1.75}.empty-state svg{color:#8ca2b3}.dialog-heading{padding:22px 25px}.dialog-heading h2{font-size:20px;font-weight:550;letter-spacing:-.4px}.dialog-heading .eyebrow{font-size:9px;color:#8296a6}.dialog-footer{padding:15px 24px;background:#fff}.dialog-footer .button{min-height:34px}.guide-content .guide-row p,.guide-content>p:first-child{color:#7e8e9c}.keycap{border-color:#cbd8e2;color:#52788f}.model-preview-column{background:#f1f4f7}.model-parts-column{background:#fff}.model-part-chip.active{background:#e8f0f6;border-color:#adc3d3;color:#365f73}
.asset-dialog{width:940px}.asset-editor-layout{display:grid;grid-template-columns:1.25fr 1fr;max-height:67dvh;min-height:430px}.asset-preview-column{padding:22px;background:#f1f4f7;display:flex;flex-direction:column;justify-content:center;min-width:0}.asset-preview-caption{font-size:10px;font-weight:550;color:#8193a2;margin-bottom:13px;letter-spacing:.02em}.asset-preview-column canvas{width:100%;height:auto;max-height:45dvh;object-fit:contain;display:block;background:#e9edf0;border:1px solid #dce4eb;border-radius:4px}.asset-preview-tools{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.asset-preview-tools .button{background:transparent;font-size:10px;min-height:29px;padding:5px 10px}.asset-help{font-size:11px;line-height:1.7;color:#8393a0;margin-top:20px}.asset-settings{padding:24px;overflow:auto}.asset-settings>.field-label{color:#445d6f;font-weight:550;margin-bottom:20px}.asset-field-group{padding:0 0 16px;margin:0 0 17px;border-bottom:1px solid #e2e8ee}.asset-field-group:last-child{border:0;padding-bottom:0;margin-bottom:0}.asset-field-group h3{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#899ca9;font-weight:550;margin-bottom:13px}.asset-color-field{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#657f90;margin-bottom:10px}.asset-color-field input{width:37px;height:28px}.asset-numbers{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.field-with-unit{display:flex;border:1px solid #dbe3e9;border-radius:4px;background:#fff;align-items:center;overflow:hidden}.field-with-unit input{border:0;padding:7px 8px;width:100%;background:none;font-size:12px}.field-with-unit span{font-size:10px;color:#92a0ac;padding-right:8px}.asset-field-group>select{width:100%;padding:8px;font-size:12px}.asset-dialog .dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.asset-footer-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.asset-dialog .dialog-footer>.text-button{font-size:10px;white-space:nowrap}.image-export-list{background:#f1f4f7}.image-export-item .export-caption span{color:#7b8f9e}.toast{background:#304d61;color:#fff;font-size:12px}
input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;height:18px;accent-color:#476f88}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#dce4eb;border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;margin-top:-4px;background:#507b94;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #507b94}input[type=range]::-moz-range-track{height:3px;background:#dce4eb;border-radius:2px}input[type=range]::-moz-range-thumb{width:9px;height:9px;background:#507b94;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #507b94}
@media(min-width:1550px){.workspace{grid-template-columns:254px minmax(0,1fr) 302px}}
@media(max-width:1100px) and (min-width:821px){.workspace{grid-template-columns:204px minmax(0,1fr) 252px}.app-header{padding:0 16px;gap:20px}.catalog-scroll{padding:0 11px 15px}.library-tabs{margin-left:11px;margin-right:11px}.inspector-content{padding-left:14px;padding-right:14px}.stage-surround{padding-left:16px;padding-right:16px}.scene-section{max-height:32%}}
@media(max-width:820px){.app-header{height:64px}.workspace{height:calc(100dvh - 64px);grid-template-columns:minmax(0,1fr)}.panel{top:64px;width:290px}.drawer-backdrop{top:64px}.scene-section{max-height:34%}.asset-editor-layout{grid-template-columns:1fr 1fr}.shot-strip-section{height:158px}.asset-dialog .dialog-footer{align-items:flex-start}.asset-footer-actions{gap:5px}.asset-footer-actions .button{font-size:10px}}
@media(max-width:520px){.app-header{height:60px;padding:0 11px;gap:10px}.brand{font-size:19px}.brand .logo{width:22px}.workspace{height:calc(100dvh - 60px)}.panel{top:60px;width:min(290px,86vw)}.drawer-backdrop{top:60px}.studio-toolbar{padding:0 10px;height:49px}.stage-surround{padding:46px 12px 48px}.shot-strip-section{height:143px;padding:9px 11px}.app-header .button{min-height:31px;font-size:11px;padding:7px 8px}.app-header .icon-button{width:26px}.asset-editor-layout{grid-template-columns:1fr;max-height:66dvh;min-height:0}.asset-preview-column{padding:16px}.asset-preview-column canvas{max-height:220px}.asset-preview-caption{font-size:9px;margin-bottom:9px}.asset-preview-tools{margin-top:9px}.asset-help{margin-top:12px;font-size:10px}.asset-settings{padding:18px;overflow:visible}.asset-dialog .dialog-footer{padding:12px 16px;flex-wrap:wrap}.asset-footer-actions{width:100%}.asset-dialog .dialog-footer>.text-button{margin-bottom:3px}.asset-footer-actions .button{font-size:11px}.dialog-heading{padding:18px}.dialog-heading h2{font-size:19px}.image-export-list{padding:15px}.image-export-dialog .dialog-footer{padding:13px 16px}.field-label>input,.field-label>select,.field-with-unit input{font-size:16px}.asset-numbers .field-label{font-size:10px}.property-fold>summary{padding:15px 0}.scene-section{max-height:34%}}
.asset-preview-column,.asset-settings{min-height:0}.asset-editor-layout{height:min(600px,65dvh);min-height:0}.asset-footer-actions{margin-left:auto}.asset-preview-column{overflow:hidden}.asset-preview-column canvas{min-height:0;flex-shrink:1}.asset-preview-tools,.asset-help,.asset-preview-caption{flex-shrink:0}
@media(max-width:520px){.asset-editor-layout{height:auto;max-height:66dvh;overflow:auto}.asset-preview-column{overflow:visible}.asset-preview-column canvas{flex-shrink:0}.asset-settings{overflow:visible}.asset-footer-actions{margin-left:0}}
.menu-project-title{display:flex;flex-direction:column;gap:7px;padding:9px 10px 10px;font-size:10px;color:#8393a0}.menu-project-title input{width:100%;font-size:12px;color:#334c5e;padding:7px 8px;min-height:33px}@media(max-width:520px){.menu-project-title input{font-size:16px}}
/* Board-first layout. Tool surfaces overlay the frame without shrinking it. */
body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}img{-webkit-user-drag:none}.workspace{display:block!important}.studio{width:100%;height:100%}.stage-surround{padding:0!important;background:#252b31;min-height:100px}.stage{box-shadow:none;border:0}.stage-tools{position:static;transform:none;flex-shrink:0;margin:0 12px;background:#f4f7f9;z-index:auto}.studio-toolbar{gap:12px;height:49px}.shot-heading{flex:1}.shot-heading input{max-width:210px}.studio-options{flex:1;justify-content:flex-end;gap:9px}.aspect-label{display:flex;align-items:center;gap:7px}.frame-control-label{font-size:10px;color:#82909c}.aspect-label select{border:1px solid #dce3e9;background:#fff;border-radius:4px;min-height:30px;padding:4px 7px;font-size:11px}.board-add{margin-right:8px}.board-add svg{width:14px;height:14px}.camera-drawer-toggle svg{width:15px;height:15px}.stage-bottom{position:static;height:25px;flex-shrink:0;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);font-size:10px}.stage-bottom .text-button{font-size:10px}.shot-note{height:32px}.shot-strip-section{height:125px;padding:8px 18px}.shot-strip{height:86px;gap:9px}.strip-heading{margin-bottom:4px}.shot-card{width:112px;min-width:112px}.shot-card img{height:49px}.shot-card-caption{padding-top:4px!important;font-size:9px!important}.add-shot{margin-bottom:18px;min-width:79px;width:79px}.panel{position:fixed!important;display:none!important;z-index:31;background:#fff;box-shadow:0 8px 30px #22334424;border:1px solid #d6dfe7;border-radius:9px;overflow:hidden}.panel.drawer-open{display:flex!important}.panel .mobile-close{display:inline-flex}.library{left:12px;top:128px;bottom:15px;width:280px}.inspector{width:300px;right:14px;top:140px;bottom:auto;max-height:min(520px,calc(100dvh - 160px))}.inspector.camera-panel{top:128px!important;right:12px!important;left:auto!important;bottom:15px;max-height:none;width:300px}.inspector .panel-heading{padding-top:13px;padding-bottom:9px;min-height:43px}.inspector .panel-heading h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector-content{min-height:0;overflow:auto}.drawer-backdrop{top:117px}.library-footer{font-size:9px}.selection-heading,.saved-camera-section{padding-top:12px}.inspector-tabs{flex-shrink:0}.camera-drawer-toggle{white-space:nowrap}.frame-label{display:none}
@media(max-width:820px){.library{top:122px;bottom:12px;left:10px}.inspector{left:auto;right:10px;top:auto;bottom:145px;max-height:48dvh;width:min(340px,calc(100vw - 20px))}.inspector.camera-panel{top:122px!important;bottom:12px;right:10px!important;width:min(340px,calc(100vw - 20px))}.studio-toolbar{padding:0 10px;gap:6px}.stage-tools{margin:0 3px}.studio-options{gap:5px}.shot-heading{gap:5px}.shot-heading input{max-width:130px}.board-add{margin:0 3px 0 0;padding:6px 8px}.stage-bottom{font-size:9px;padding:0 10px}.stage-bottom>span{max-width:75%}.frame-control-label{display:none}}
@media(max-width:580px){.studio-toolbar{height:88px;flex-wrap:wrap;padding:7px 10px;align-content:center;gap:5px}.shot-heading{flex-basis:calc(100% - 119px);order:0}.stage-tools{order:1;margin:0;height:32px}.studio-options{order:2;flex-basis:100%;justify-content:space-between}.studio-options .aspect-label{flex:1}.camera-drawer-toggle{min-height:30px;padding:5px 9px;font-size:11px}.camera-drawer-toggle span{display:inline}.frame-control-label{display:inline;font-size:10px}.aspect-label select{font-size:11px}.library{top:156px;bottom:10px}.inspector.camera-panel{top:156px!important}.inspector{bottom:143px;max-height:46dvh}.drawer-backdrop{top:148px}.shot-strip-section{padding:8px 10px}.shot-note{padding:0 10px}.stage-bottom{height:29px;line-height:1.3}.stage-bottom>span{max-width:68%}.panel .panel-heading{padding:12px 14px 8px}.stage-surround{min-height:80px}.tool-button{height:25px;width:30px}}

.stage:focus,.stage:focus-visible{outline:none}
.catalog-group-label{grid-column:1/-1;margin:9px 0 1px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8496a4}.catalog-filters{max-height:115px;overflow:auto;flex-shrink:0}.interior-view-button{display:flex;width:100%;justify-content:flex-start;margin-bottom:6px;font-size:10px}.interior-view-button svg{width:14px;height:14px}
.scene-setup-help{grid-column:1/-1;font-size:11px;line-height:1.65;color:#8192a0;margin:2px 0 8px}.library-tabs{gap:1px}.library-tabs button{font-size:10px}

/* The camera drawer has its own toolbar entry; selection tabs belong to objects. */
.inspector.camera-panel .inspector-tabs{display:none}
