:root{color:#292929;font-synthesis:none;--panel-width:300px;--line:#e3e3e3;--quiet:#f2f2f2;--muted:#767676;background:#333;font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:12px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;border-radius:2px}button:hover{background:#e8e8e8}button:disabled{cursor:default;opacity:.38}button:disabled:hover{background-color:#0000}input,select{min-width:0}button,input,select,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:2px;outline:2px solid #777}button:active:not(:disabled){background:#dedede}a{color:inherit;text-underline-offset:3px}fieldset{border:0;min-width:0;margin:0;padding:0}svg{flex-shrink:0}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:var(--panel-width) minmax(0, 1fr);width:100%;height:100dvh;display:grid;overflow:hidden}.inspector{border-right:1px solid var(--line);z-index:2;background:#fff;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.panel-header{border-bottom:1px solid var(--line);padding:9px 10px 0}.model-tabs{grid-template-columns:repeat(3,1fr);gap:3px;padding-bottom:9px;display:grid}.model-tabs button{color:#707070;height:32px}.model-tabs button.active{color:#171717;background:#ededed}.workspace-actions{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding-top:9px;display:grid}.quiet-button,.secondary-button,.primary-button{background:var(--quiet);justify-content:center;align-items:center;gap:6px;min-height:32px;padding:7px 9px;display:inline-flex}.primary-button{color:#fff;background:#292929}.primary-button:hover{background:#444}.history-tools{align-items:center;gap:2px;height:31px;display:flex}.icon-button{justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.history-tools .autosave{color:#888;text-align:right;flex:1;margin-right:6px;font-size:10px}.rotation-readout{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding-bottom:9px;display:grid}.rotation-readout .control-label{gap:2px;padding:0 6px}.rotation-readout .number-unit{gap:1px}.rotation-readout .number-unit input{width:45px;font-size:11px}.rotation-readout .number-unit>span{min-width:5px}.file-menu{position:relative}.file-menu>button{width:100%}.menu-backdrop{z-index:5;cursor:default;border-radius:0;width:100%;height:100%;position:fixed;inset:0}.menu-backdrop:hover{background:0 0}.menu-popover{z-index:6;background:#fff;border:1px solid #d7d7d7;width:182px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 5px 16px #0000000c}.menu-popover button{text-align:left;width:100%;padding:10px;display:block}.panel-scroll{scrollbar-width:thin;scrollbar-color:#d6d6d6 transparent;overscroll-behavior:contain;min-height:0;overflow:auto}.settings-section{border-bottom:1px solid var(--line)}.settings-section>summary{color:#747474;cursor:pointer;justify-content:space-between;align-items:center;min-height:39px;padding:11px 10px;font-weight:400;list-style:none;display:flex}.settings-section>summary::-webkit-details-marker{display:none}.settings-section[open]>summary{color:#292929}.settings-section>summary svg{opacity:.55;width:11px;height:11px;transform:rotate(-90deg)}.settings-section[open]>summary svg{transform:rotate(0)}.section-content{gap:6px;padding:0 10px 11px;display:grid}.asset-list{gap:4px;display:grid}.asset-card{background:var(--quiet);border-radius:2px;min-width:0;display:flex}.asset-select{text-align:left;flex:1;align-items:center;gap:9px;min-width:0;min-height:55px;padding:7px 9px;display:flex}.asset-preview{color:#aaa;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:42px;display:flex}.artwork-thumbnail{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.asset-copy{gap:6px;display:grid;overflow:hidden}.asset-copy strong{font-size:11px;font-weight:400}.asset-copy>span{text-overflow:ellipsis;white-space:nowrap;color:#747474;font-size:10px;overflow:hidden}.asset-remove{flex-shrink:0;align-self:center;margin-right:3px}.range-control,.color-control{background:var(--quiet);border-radius:2px}.control-label{justify-content:space-between;align-items:center;gap:8px;min-height:33px;padding:0 8px;display:flex}.control-label label{flex:1;font-size:11px}.number-unit{font-variant-numeric:tabular-nums;align-items:center;gap:3px;min-width:0;display:inline-flex}.number-unit input{text-align:right;appearance:textfield;background:0 0;border:0;width:74px;padding:6px 0}.number-unit input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.number-unit input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-unit input:focus{background:#fff}.number-unit>span{color:#7e7e7e;text-align:right;min-width:13px;font-size:10px}.range-control.disabled{opacity:.45}.select-control{background:var(--quiet);border-radius:2px;align-items:center;gap:6px;min-height:33px;padding-left:8px;display:flex}.select-control>label{flex:none;font-size:11px}.select-wrap{flex:1;min-width:0;position:relative}.select-wrap select{appearance:none;text-align:right;cursor:pointer;background:0 0;border:0;width:100%;padding:8px 21px 8px 5px;font-size:11px}.select-wrap svg{pointer-events:none;color:#888;width:11px;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.toggle-control{background:var(--quiet);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:33px;padding:4px 8px;font-size:11px;display:flex}.toggle-control input{accent-color:#444;width:13px;height:13px;margin:0}.switch{display:none}.color-control{justify-content:space-between;align-items:center;min-height:33px;padding:4px 8px;font-size:11px;display:flex}.color-control>div{align-items:center;gap:5px;display:flex}.color-control input[type=color]{background:0 0;border:0;width:20px;height:20px;padding:0}.color-control input:not([type=color]){text-align:right;background:0 0;border:0;width:65px}.field-note{color:var(--muted);margin:2px 0;font-size:10px;line-height:1.6}.small-asset{background:var(--quiet);min-height:34px;display:flex}.small-asset>button:first-child{text-align:left;flex:1;align-items:center;gap:7px;min-width:0;padding:8px;font-size:11px;display:flex}.small-asset span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.small-asset>.icon-button{align-self:center}.placement-group{gap:6px;display:grid}.placement-group+.placement-group{margin-top:7px}.subheading{color:#777;margin-bottom:2px;font-size:10px}.preset-note{background:var(--quiet);justify-content:space-between;padding:9px 8px;font-size:11px;display:flex}.preset-note strong{font-weight:400}.preset-note span{color:#777;font-size:10px}.panel-widths{gap:5px;display:grid}.panel-widths .control-label{padding:0;font-size:11px}.panel-widths .control-label>span:last-child{color:#777;font-size:10px}.panel-map{gap:4px;display:flex}.panel-map label{background:var(--quiet);text-align:center;flex:1;gap:4px;min-width:0;padding:6px;display:grid}.panel-map label>span{color:#777;font-size:10px}.panel-map input{text-align:center;appearance:textfield;background:0 0;border:0;width:100%;padding:3px}.text-button{text-align:left;text-underline-offset:3px;padding:4px 0;font-size:11px;text-decoration:underline}.inline-error{color:#a52c26;margin:3px 0;font-size:11px;line-height:1.5}.view-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:3px;display:grid}.view-presets button{background:var(--quiet);padding:9px 2px;font-size:10px}.scene-save{width:100%}.scene-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.scene-card{border:1px solid #0000;position:relative}.scene-card.selected{border-color:#555}.scene-card>button:first-child{background:var(--quiet);width:100%;padding:0;display:grid;overflow:hidden}.scene-card img{aspect-ratio:4/3;object-fit:contain;width:100%}.scene-card span{text-align:left;padding:6px;font-size:10px}.scene-delete{width:24px;height:24px;position:absolute;bottom:1px;right:1px}.panel-output{border-top:1px solid var(--line);background:#fff;gap:8px;padding:9px 10px 10px;display:grid}.playback-controls{align-items:center;gap:5px;display:flex}.playback-controls>.quiet-button{flex:1;justify-content:flex-start;padding-left:8px;font-size:11px}.timecode{color:#777;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.panel-output input[type=range]{accent-color:#555;cursor:pointer;width:100%;height:2px;margin:3px 0 5px}.export-button{justify-content:space-between;width:100%;padding-inline:11px}.preview{background:#333;min-width:0;height:100%;min-height:0;overflow:hidden}.viewport-wrapper{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.render-frame{max-width:100%;max-height:100%;position:relative}.viewport-host{width:100%;height:100%}.mockup-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.mockup-canvas:active{cursor:grabbing}.locked .mockup-canvas{pointer-events:none}.checkerboard{background:conic-gradient(#dadada 25%, #f7f7f7 0 50%, #dadada 0 75%, #f7f7f7 0) 0 0/20px 20px}.stage-message,.webgl-fallback{color:#ccc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stage-message{gap:8px}.webgl-fallback{text-align:center;background:#333;flex-direction:column;gap:12px;padding:30px}.webgl-fallback p{max-width:400px;margin:0;font-size:12px;line-height:1.7}.webgl-fallback .artwork-thumbnail{max-width:160px;max-height:180px}.webgl-fallback button{color:#292929}.spinner{border:1px solid #888;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:1s linear infinite spin}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}dialog{color:#292929;background:#fff;border:1px solid #d6d6d6;border-radius:3px;width:min(520px,100vw - 28px);max-height:calc(100dvh - 32px);padding:22px;overflow:auto}dialog::backdrop{background:#0008}.dialog-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.dialog-heading h2{margin:0;font-size:16px;font-weight:500}.dialog-description{color:#666;margin:0 0 18px;line-height:1.7}.export-options{grid-template-columns:1fr 1fr;gap:6px;display:grid}.export-option{cursor:pointer;background:#f4f4f4;border:1px solid #0000;align-items:center;gap:9px;padding:13px 10px;display:flex;position:relative}.export-option.selected{background:#ebebeb;border-color:#777}.export-option input{accent-color:#333;margin:0}.export-option>svg{display:none}.export-option strong{font-size:12px;font-weight:500;display:block}.export-option small{color:#777;margin-top:4px;font-size:10px;line-height:1.6;display:block}.radio-dot{display:none}.export-note{color:#777;margin:15px 0;font-size:11px;line-height:1.7}.dialog-actions{justify-content:flex-end;gap:6px;margin-top:20px;display:flex}.export-progress{gap:6px;font-size:11px;display:grid}.export-progress progress{accent-color:#333;width:100%;height:5px}.about-links{gap:10px;margin:18px 0;font-size:11px;display:grid}.toast{z-index:10;background:#fff;border:1px solid #ddd;align-items:center;gap:16px;max-width:min(500px,100vw - 36px);padding:10px 12px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 4px 15px #0001}.toast>span{align-items:center;gap:7px;line-height:1.6;display:flex}.toast.error{border-color:#b66}.busy-indicator{z-index:8;background:#ffffffb8;justify-content:center;align-items:center;gap:10px;display:flex;position:fixed;inset:0}.panel-toggle{display:none}@media (width<=680px){:root{--panel-width:min(300px, calc(100vw - 44px))}.app-shell{display:block}.inspector{width:var(--panel-width);z-index:3;height:100dvh;position:fixed;top:0;left:0}.inspector[data-open=false]{visibility:hidden;transform:translate(-100%)}.preview{width:100%}.panel-toggle{z-index:4;color:#292929;background:#fff;border:1px solid #ddd;border-left:0;border-radius:0 2px 2px 0;min-width:38px;height:34px;display:block;position:fixed;top:10px;left:0}.panel-toggle[data-open=true]{left:var(--panel-width);font-size:20px}.number-unit input,.panel-map input{font-size:16px}.export-options{grid-template-columns:1fr}dialog{padding:18px}.toast{max-width:calc(100vw - 16px);bottom:8px;right:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
