:root{font-family:Inter,SF Pro Display,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#24221e;background:#ecebe6;font-synthesis:none;--paper:#f7f6f1;--ink:#25231f;--muted:#817d73;--line:#d8d4c9;--orange:#e86538;--green:#2f4c40;--panel:320px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,select{font:inherit}button{color:inherit}.app{height:100%;display:grid;grid-template-rows:62px minmax(0,1fr) 34px;overflow:hidden;background:#e7e5df}.app-header{height:62px;background:#1f211e;color:#f7f5ed;display:flex;align-items:center;padding:0 16px 0 18px;box-shadow:0 2px 12px #0003;z-index:20}.brand{display:flex;align-items:center;width:var(--panel);gap:10px}.brand-mark{width:30px;height:34px;display:flex}.brand-mark i{width:10px;height:30px;display:block;background:#e96d3e;clip-path:polygon(0 0,100% 7%,100% 100%,0 93%)}.brand-mark i:nth-child(2){background:#f3d5a7;clip-path:polygon(0 7%,100% 0,100% 93%,0 100%)}.brand-mark i:nth-child(3){background:#6e8e7e}.brand>div{display:grid;line-height:.85;letter-spacing:.13em}.brand b{font-size:16px}.brand>div span{font-size:10px;color:#bbb8ae}.brand em{font-style:normal;font-size:9px;padding:3px 5px;border:1px solid #706e65;color:#aaa79d;border-radius:2px}.header-center{height:100%;display:flex;align-items:center;gap:4px;flex:1}.header-center>span{height:22px;border-left:1px solid #494a45;margin:0 8px}.header-center button,.mobile-tab{border:0;background:transparent;color:#bcbab2;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:12px}.header-center button:hover,.mobile-tab:hover{background:#343631;color:#fff}.header-center button:disabled{opacity:.25;cursor:default}.icon{display:inline-grid;place-items:center;min-width:17px}.header-actions{display:flex;align-items:center;gap:6px}.export-btn{height:38px;border:0;padding:0 17px;background:var(--orange);color:#fff;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px #ff9b72;font-weight:700}.export-btn:hover{background:#f07042}.mobile-tab{display:none}.workspace{display:grid;grid-template-columns:var(--panel) minmax(280px,1fr) var(--panel);min-height:0;position:relative}.drawer{min-width:0;min-height:0}.sidebar{height:100%;background:var(--paper);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bbb6aa transparent;border-right:1px solid #cbc7bc}.right-sidebar{border-right:0;border-left:1px solid #cbc7bc}.sidebar-title{height:74px;display:flex;align-items:center;padding:0 19px;border-bottom:1px solid var(--line);gap:12px;background:#eeece5}.sidebar-title>span{font-family:Georgia,serif;font-size:32px;color:#c1bdb1}.sidebar-title small,.section summary small{display:block;font-size:8px;letter-spacing:.17em;color:#979286;margin-bottom:3px}.sidebar-title h2{font-size:15px;margin:0}.section{border-bottom:1px solid var(--line);background:#f7f6f1}.section summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:17px 19px;cursor:pointer}.section summary::-webkit-details-marker{display:none}.section summary b{font-size:13px}.section summary>.icon{transition:transform .2s;color:#8f8a7d}.section:not([open]) summary>.icon{transform:rotate(-90deg)}.section-body{padding:0 19px 19px;display:grid;gap:15px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}.number-field{display:grid;gap:6px;font-size:11px;color:#777268}.number-box{height:34px;display:flex;align-items:center;border:1px solid #cbc6b9;background:#fff}.number-box:focus-within{border-color:#998d78;box-shadow:0 0 0 2px #a9967420}.number-box input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:0 8px;color:#292722}.number-box b{font-size:10px;color:#aaa59a;font-weight:500;padding-right:7px}.metric-strip{display:grid;grid-template-columns:1fr 1fr;background:#eeece5;border-left:3px solid #c9a879}.metric-strip>div{padding:9px 10px;display:grid;gap:3px}.metric-strip span{font-size:9px;color:#8c877d}.metric-strip b{font-size:10px}.stepper-row,.color-field,.select-field{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#6f6b62;gap:10px}.stepper{height:32px;display:flex;border:1px solid #cbc6b9;background:#fff}.stepper button{width:31px;border:0;background:#f0eee8;cursor:pointer;font-size:17px}.stepper output{min-width:38px;display:grid;place-items:center;border-inline:1px solid #d6d1c5;font-weight:700;color:#292722}.select-field select{width:165px;height:34px;border:1px solid #cbc6b9;background:#fff;padding:0 8px;color:#292722}.art-card{display:grid;gap:9px;padding-bottom:17px;border-bottom:1px dashed #d6d1c7}.art-card:last-child{border-bottom:0;padding-bottom:0}.art-preview{height:92px;background:#e7e3d9;border:1px solid #d1ccbf;overflow:hidden}.art-preview img{width:100%;height:100%;object-fit:cover;display:block}.art-empty{height:100%;display:grid;place-items:center;align-content:center;gap:5px;color:#aaa498;font-size:10px;background:repeating-linear-gradient(45deg,#e8e5dd,#e8e5dd 5px,#ece9e2 5px 10px)}.art-empty .icon{font-size:25px;color:#918b7e}.art-info{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px}.art-info strong{font-size:11px}.art-info span{font-size:9px;color:#777;max-width:145px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.art-info small{font-size:9px;color:#9a9589;grid-column:1/-1}.ratio{font-size:9px;padding:5px 7px}.ratio.ok{color:#3b6d58;background:#e2ede6}.ratio.warn{color:#98672e;background:#f5ead8}.art-actions{display:flex;align-items:center;gap:5px}.small-btn,.icon-btn{border:1px solid #ccc6b9;background:#fff;height:27px;padding:0 8px;font-size:9px;cursor:pointer}.small-btn.active{background:var(--green);border-color:var(--green);color:#fff}.small-btn.primary-lite{border-color:#d67d58;color:#b64c25;flex:1}.icon-btn{width:27px;padding:0;font-size:17px}.icon-btn.danger:hover{background:#b94530;color:#fff}.sample-btn{border:1px solid #d8c09f;background:#f8eee0;height:36px;padding:0 9px;display:flex;align-items:center;gap:7px;font-size:9px;cursor:pointer;color:#634b33}.sample-btn b{margin-left:auto;color:#c35c32}.sample-swatch{width:18px;height:18px;background:linear-gradient(135deg,#e86737 0 35%,#f3eadb 35% 65%,#354e42 65%)}.range-field{display:grid;gap:8px}.field-head{display:flex;justify-content:space-between;font-size:11px;color:#6f6b62}.field-head output{font-weight:700;color:#292722}.range-field input[type=range]{width:100%;accent-color:var(--orange);height:3px}.fold-scale{display:flex;justify-content:space-between;color:#a09a8e;font-size:8px;margin-top:-9px}.toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.toggle span{display:grid}.toggle b{font-size:10px}.toggle small{font-size:8px;color:#999487}.toggle input{position:absolute;opacity:0}.toggle i{width:34px;height:19px;border-radius:15px;background:#c7c3ba;position:relative}.toggle i:after{content:"";position:absolute;width:15px;height:15px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.2s}.toggle input:checked+i{background:var(--green)}.toggle input:checked+i:after{transform:translate(15px)}.color-field>span:last-child{height:31px;border:1px solid #cbc6b9;background:#fff;display:flex;align-items:center}.color-field input{width:32px;height:29px;border:0;padding:3px;background:none}.color-field code{font-size:9px;color:#615d55;padding:0 7px}.section hr{border:0;border-top:1px dashed #d5d0c5;width:100%;margin:0}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid #cbc6b9}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{border:0;border-right:1px solid #d3cec2;height:30px;background:#fff;font-size:9px;cursor:pointer}.segmented button:last-child{border:0}.segmented button.active{background:var(--green);color:#fff}.upload-line{height:34px;border:1px dashed #bdb6a7;background:#efede7;color:#676158;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.preview-shell{position:relative;min-width:0;min-height:0;overflow:hidden;background:#ddd9d0}.preview-head{position:absolute;z-index:5;top:16px;left:18px;right:18px;display:flex;justify-content:space-between;pointer-events:none;font-size:10px;color:#67635a;letter-spacing:.08em}.preview-head>div{font-weight:700;text-transform:uppercase}.preview-head p{margin:0;color:#89847a}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#63a37e;margin-right:7px;box-shadow:0 0 0 3px #63a37e22}.preview-host{position:absolute;inset:0;background:#eceae4}.background-canvas,.webgl-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.webgl-canvas{z-index:2}.preview-grid{position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(#77706a0b 1px,transparent 1px),linear-gradient(90deg,#77706a0b 1px,transparent 1px);background-size:40px 40px}.camera-bar{position:absolute;bottom:18px;left:50%;transform:translate(-50%);height:52px;z-index:7;display:flex;align-items:center;padding:4px;background:#252723ee;color:#d8d5cc;box-shadow:0 9px 35px #0004;border:1px solid #54564f}.camera-bar button{width:48px;height:42px;border:0;background:transparent;color:inherit;display:grid;place-items:center;align-content:center;gap:2px;cursor:pointer}.camera-bar button:hover{background:#3c4039;color:#fff}.camera-bar button span{font-size:8px}.camera-bar .icon{font-size:15px}.camera-bar>i{height:28px;border-left:1px solid #55574f;margin:0 4px}.view-badge{position:absolute;right:14px;bottom:13px;z-index:5;font-size:7px;letter-spacing:.13em;color:#888379}.status-bar{height:34px;background:#f7f6f1;border-top:1px solid #cac6ba;display:flex;align-items:center;padding:0 14px;gap:8px;font-size:9px;color:#716d64;z-index:20}.status-bar p{margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status-icon{width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#dfeae3;color:#2d7354;font-weight:700}.status-icon.error{background:#f5ddd7;color:#aa4029}.status-bar>div{margin-left:auto;display:flex;gap:6px}.status-bar>div span{border:1px solid #d5d0c5;padding:3px 6px;color:#9b968c}.modal-backdrop{position:fixed;inset:0;background:#171815b8;z-index:100;display:grid;place-items:center;padding:18px;backdrop-filter:blur(3px)}.modal{width:min(520px,100%);background:#f7f5ee;padding:34px;position:relative;box-shadow:0 24px 80px #0008;border-top:4px solid var(--orange)}.modal>small{letter-spacing:.2em;color:#ad7a5e;font-size:9px}.modal h2{font-family:Georgia,Songti SC,serif;font-size:30px;margin:7px 0 8px}.modal>p{font-size:11px;color:#777168;line-height:1.7;margin:0 0 22px}.modal-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:26px;cursor:pointer;color:#78736a}.export-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.export-presets button{height:47px;border:1px solid #d0cabd;background:#fff;font-size:11px;cursor:pointer;display:grid;place-items:center}.export-presets button small{display:block;font-size:8px;color:#999}.export-presets button.active{border-color:var(--orange);box-shadow:inset 0 0 0 1px var(--orange);color:#b84923;background:#fff8f4}.custom-size{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;margin:18px 0}.custom-size>span{padding-bottom:9px;color:#aaa}.modal-note{display:flex;gap:8px;background:#ebe9e1;padding:10px;color:#716d64;font-size:9px;line-height:1.5}.export-confirm{margin-top:18px;width:100%;height:43px;border:0;background:var(--orange);color:#fff;font-weight:700;cursor:pointer}.export-confirm:disabled{opacity:.6}.reset-modal{max-width:420px}.reset-actions{display:grid;gap:8px}.reset-actions button{height:40px;border:1px solid #c9c3b6;background:#fff;cursor:pointer}.reset-actions .danger-fill{background:#9f4433;color:#fff;border-color:#9f4433}.reset-actions .text-btn{border:0;background:transparent;color:#777}.drawer-close,.drawer-scrim{display:none}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.fatal{height:100%;display:grid;place-items:center;align-content:center;background:#efede7;color:#312f2a;text-align:center}.fatal span{letter-spacing:.25em;color:#ad613e}.fatal h1{font-family:Georgia,serif;font-size:42px;margin:12px}.fatal p{color:#7b766d}.fatal button{border:0;background:#e86538;color:#fff;padding:11px 24px;cursor:pointer}@media(orientation:portrait){.app{grid-template-rows:56px minmax(0,1fr) 34px}.app-header{height:56px;padding-inline:10px}.brand{width:auto;flex:1}.brand-mark{transform:scale(.85)}.header-center{display:flex;flex:0 0 auto;gap:0}.header-center button{font-size:0;width:25px;padding:6px 2px}.header-center button .icon{font-size:14px}.header-center>span{display:none}.mobile-tab,.mobile-tab:first-child{display:inline-block;padding:7px}.export-btn{padding:0 10px;height:35px}.export-btn span{display:none}.workspace{display:block}.preview-shell{height:100%}.drawer{position:fixed;top:56px;bottom:34px;left:0;width:min(330px,88vw);z-index:60;transform:translate(-105%);transition:transform .2s;box-shadow:10px 0 35px #0004}.drawer.right{display:block;left:auto;right:0;transform:translate(105%)}.drawer.open{transform:none}.drawer-close{display:block;position:absolute;z-index:3;top:12px;right:10px}.drawer-scrim{display:block;position:fixed;inset:56px 0 34px;border:0;background:#17181580;z-index:50}.sidebar-title{padding-right:50px}.preview-head p{display:none}.camera-bar{bottom:14px}.camera-bar button{width:40px}.camera-bar button:nth-child(3),.camera-bar button:nth-child(4){display:none}.status-bar>div{display:none}.modal{padding:27px 20px}.modal h2{font-size:27px}}@media(orientation:portrait){.brand>div span,.brand em{display:none}.camera-bar button{width:37px}.camera-bar button span{display:none}.camera-bar{height:44px}.camera-bar button{height:35px}.export-presets{grid-template-columns:1fr 1fr}}.app{width:calc(100% / var(--ui-scale,1));zoom:var(--ui-scale,1)}.stepper-input{width:42px;min-width:0;border:0;border-inline:1px solid #d6d1c5;text-align:center;font-weight:700;outline:0;color:#292722;background:#fff}.light-control{display:grid;gap:8px;justify-items:center;padding:2px 0 4px}.light-sphere{width:118px;height:118px;border-radius:50%;position:relative;cursor:crosshair;touch-action:none;background:radial-gradient(circle at 34% 28%,#fff8 0 4%,transparent 18%),radial-gradient(circle at 38% 32%,#f9f0d8 0,#d5b77e 34%,#987246 64%,#4c493e);box-shadow:inset -12px -16px 22px #201e1c55,inset 8px 8px 18px #fff8,0 8px 16px #0002}.light-sphere:before,.light-sphere:after{content:"";position:absolute;inset:16%;border:1px solid #fff6;border-radius:50%}.light-sphere:after{transform:rotate(90deg)}.light-sphere i{position:absolute;width:13px;height:13px;margin:-6.5px;border-radius:50%;background:#fff;border:2px solid var(--orange);box-shadow:0 2px 8px #0007}.sphere-highlight{position:absolute;width:30px;height:14px;left:22px;top:18px;border-radius:50%;background:#fff7;transform:rotate(-35deg);filter:blur(2px)}.light-readout{display:flex;gap:10px;font-size:9px;color:#777268}.app{width:83.333333%;zoom:1.2}.app{width:100%;zoom:1.2}.projection-direction{padding:8px 0 12px}.projection-direction .field-head>span{font-size:9px;color:#8b867c}.projection-hemisphere{position:relative;width:180px;height:164px;margin:0 auto}.projection-hemisphere canvas{display:block;width:180px;height:164px}.projection-direction-point{position:absolute;left:90px;top:50px;width:36px;height:36px;margin:-18px;padding:0;border:0;background:transparent;cursor:grab;touch-action:none;border-radius:50%}.projection-direction-point:before{content:"";position:absolute;left:12px;top:12px;width:12px;height:12px;border-radius:50%;background:#292d32;border:1px solid #fff;box-shadow:0 1px 3px #0006}.projection-direction-point[data-rear=true]:before{background:#555b64;border:1px dashed #fff}.projection-direction-point:active{cursor:grabbing}.projection-direction-point:focus{outline:2px solid var(--orange);outline-offset:0}.projection-direction-readout{display:flex;justify-content:space-between;font-size:10px;color:#777268;margin-bottom:6px}.sidebar{scrollbar-gutter:stable both-edges}.right-sidebar,.left-sidebar{overflow-y:scroll}html,body,#root{width:100%;height:100%;overflow:hidden}.app{position:fixed;inset:0;width:100%;height:100%;min-height:0}.app{zoom:1;font-size:1.2em}.app{overflow:clip}.preview-grid{display:none!important}.coordinate-toggle{position:absolute;right:14px;bottom:13px;z-index:8;border:1px solid #77786f;background:#252723dd;color:#e6e2d8;padding:7px 10px;font-size:10px;cursor:pointer;box-shadow:0 4px 14px #0003}.coordinate-toggle:hover{background:#3b3d37}.coordinate-toggle[aria-pressed=false]{color:#aaa79d}.file-btn{height:38px;border:0;padding:0 17px;background:var(--orange);color:#fff;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px #ff9b72;font-weight:700}.file-btn:hover{background:#f07042}.alpha-mode{display:grid;gap:6px;padding:9px;background:#eeece5}.alpha-mode>span{font-size:10px;font-weight:700}.alpha-mode small{font-size:8px;color:#8b867c}.sidebar-title h2,.section summary b,.header-center button,.header-actions button{font-family:Georgia,Songti SC,serif}.view-badge{right:auto;left:14px}.file-btn>.icon{font-size:16px}.file-btn>span:not(.icon){display:none!important}.header-actions .file-btn{height:38px!important;border:0!important;padding:0 17px!important;background:var(--orange)!important;color:#fff!important;cursor:pointer;border-radius:3px;box-shadow:inset 0 0 0 1px #ff9b72;font-weight:700;font-family:Georgia,Songti SC,serif}.header-actions .file-btn:hover{background:#f07042!important}.header-actions .file-btn>.icon{font-size:16px!important}.header-actions .file-btn>span:not(.icon){display:none!important}.header-actions .file-btn:nth-of-type(3):after{content:"\8bfb\53d6\4f5c\54c1";font-size:10px}.header-actions .file-btn:nth-of-type(4):after{content:"\4fdd\5b58\4f5c\54c1";font-size:10px}.header-actions .file-btn:nth-of-type(3):after,.header-actions .file-btn:nth-of-type(4):after{font-size:inherit!important;font-weight:inherit;font-family:inherit;line-height:inherit}.header-actions .file-btn{font-size:inherit;line-height:normal}@media(orientation:portrait){.app{width:100%!important;max-width:100vw!important;zoom:1!important;font-size:1em!important}.camera-bar button:nth-child(3),.camera-bar button:nth-child(4){display:grid}.camera-bar{left:50%;max-width:calc(100vw - 16px);transform:translate(-50%);overflow:hidden}.camera-bar button{flex:0 0 37px}}.header-actions .file-btn:nth-of-type(5):after{content:"\5bfc\51fa  PNG";font-size:inherit!important;font-weight:inherit;font-family:inherit;line-height:inherit}@media(orientation:portrait){.app-header{height:168px;display:grid;grid-template-columns:1fr;grid-template-rows:56px 56px 56px;padding:0 8px}.brand{grid-column:1;grid-row:1;width:auto;min-width:0;justify-self:start}.header-actions{grid-column:1;grid-row:2;justify-content:center;gap:6px}.header-actions .mobile-tab{display:inline-flex;align-items:center;height:34px;padding:0 10px;font-size:11px;background:#292b27;color:#d8d5cc;border-radius:3px}.header-actions .file-btn,.header-actions .export-btn{height:34px;padding:0 10px;font-size:11px}.header-actions .file-btn>span:not(.icon){display:none!important}.header-actions .file-btn:after{font-size:10px}.header-actions .export-btn span{display:inline!important;font-size:10px!important}.header-center{grid-column:1;grid-row:3;justify-content:center;gap:2px;border-top:1px solid #3b3d38}.header-center button{font-size:10px;width:auto;padding:6px 8px}.header-center button .icon{font-size:14px}.camera-bar button span{display:block!important;font-size:8px!important}.camera-bar .icon{display:inline-grid!important;font-size:15px!important}.camera-bar button{align-content:center}}@media(orientation:portrait){.app{grid-template-rows:168px minmax(0,1fr) 34px}.drawer,.drawer.right{top:168px}.drawer-scrim{inset:168px 0 34px}}@media(orientation:portrait){.coordinate-toggle{display:none}}.mobile-tab:first-child{font-size:0}.mobile-tab:first-child:after{content:"\8bbe\8ba1";font-size:10px}.left-sidebar .sidebar-title h2,.right-sidebar .sidebar-title h2{font-size:0}.left-sidebar .sidebar-title h2:after{content:"\8bbe\8ba1\7a3f";font-size:15px}.right-sidebar .sidebar-title h2:after{content:"3D\8bbe\7f6e";font-size:15px}@media(orientation:portrait){.drawer .drawer-close,.drawer.right .drawer-close{width:29px;height:29px;padding:0;border:0;border-radius:0;background:transparent;color:#262823;font-size:24px;line-height:1;box-shadow:none}}@media(orientation:landscape){.mobile-settings{display:contents}.mobile-settings-head{display:none}.mobile-settings .drawer:not(.right){grid-column:1;grid-row:1}.mobile-settings .drawer.right{grid-column:3;grid-row:1}.workspace>.preview-shell{grid-column:2;grid-row:1}}@media(orientation:portrait){.workspace{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 30px;transition:grid-template-rows .46s cubic-bezier(.22,1,.36,1);min-height:0}.workspace.settings-open{grid-template-rows:minmax(0,38.2fr) minmax(0,61.8fr)}.workspace>.preview-shell{grid-column:1;grid-row:1;width:100%;height:auto;min-height:0}.mobile-settings{grid-column:1;grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--paper);border-top:1px solid #cbc7bc;box-shadow:0 -3px 12px #0002;z-index:10}.mobile-settings-head{height:40px;flex:0 0 40px;display:flex;align-items:center;gap:8px;padding:3px 8px;background:#eeece5;border-bottom:1px solid var(--line);transition:height .46s cubic-bezier(.22,1,.36,1),flex-basis .46s cubic-bezier(.22,1,.36,1)}.mobile-settings:not(.open) .mobile-settings-head{height:30px;flex-basis:30px;justify-content:center;padding:0}.mobile-settings-handle{height:32px;min-width:58px;display:flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:#625e55;font-size:11px;cursor:pointer}.mobile-settings:not(.open) .mobile-settings-handle{height:28px;width:100%;font-size:10px}.handle-mark{font-size:16px;line-height:1;color:var(--orange)}.mobile-settings-tabs{height:34px;flex:1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.mobile-settings-tabs button{min-width:0;height:34px;border:1px solid #cbc7bc;border-radius:2px;background:#f7f6f1;color:#625e55;font-family:Georgia,Songti SC,serif;font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;box-shadow:inset 0 1px #fff;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.mobile-settings-tabs button:hover{border-color:#a7a294;background:#fff}.mobile-settings-tabs button.active{border-color:var(--green);background:var(--green);color:#f7f5ed;box-shadow:inset 0 1px #ffffff20}.mobile-settings .drawer,.mobile-settings .drawer.right{display:none!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0;flex:1 1 auto;transform:none!important;transition:none;box-shadow:none;z-index:auto;overflow:clip}.mobile-settings .drawer.open,.mobile-settings .drawer.right.open{display:block!important}.mobile-settings .drawer .sidebar{height:100%;border:0;overflow-y:auto}.mobile-settings .drawer-close{display:none!important}.workspace>.drawer-scrim{display:none!important}}@media(orientation:portrait){.header-actions .mobile-tab{display:none!important}}@media(orientation:portrait){.mobile-settings-handle{width:100%;height:28px;min-width:0;padding:0;background:transparent}.handle-grip{display:flex;width:28px;flex-direction:column;gap:4px}.handle-grip i{display:block;width:28px;height:2px;border-radius:2px;background:#b8b8b3}}@media(orientation:portrait){.mobile-settings.open .mobile-settings-handle{width:auto;flex:0 0 36px}.mobile-settings-tabs{min-width:0}.mobile-settings-tabs button{width:100%}}@media(orientation:portrait){.mobile-settings-head{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:28px 56px 20px;gap:0;height:104px;flex:0 0 104px;padding:0}.mobile-settings:not(.open) .mobile-settings-head{height:30px;flex-basis:30px;grid-template-rows:30px;padding:0}.mobile-settings-handle,.mobile-settings:not(.open) .mobile-settings-handle{grid-column:1;grid-row:1;width:100%;height:28px;min-width:0;padding:0;justify-self:stretch}.handle-grip{width:calc(100% - 32px);max-width:320px;gap:4px}.handle-grip i{width:100%;height:1px;background:#b8b8b3}.mobile-settings-navigation{display:contents}.mobile-settings-tabs{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:56px;min-width:0;gap:0;padding:0;background:#eeece5;border-bottom:1px solid var(--line)}.mobile-settings-tabs .sidebar-title{height:55px;min-width:0;display:flex;align-items:center;gap:8px;padding:0 12px;border:0;background:transparent;cursor:pointer}.mobile-settings-tabs .sidebar-title+.sidebar-title{border-left:1px solid #d2cfc6}.mobile-settings-tabs .sidebar-title>span{flex:0 0 22px;font-family:Georgia,serif;font-size:20px;color:#c1bdb1}.mobile-settings-tabs .sidebar-title>div{min-width:0}.mobile-settings-tabs .sidebar-title small{font-size:7px;letter-spacing:.12em;margin-bottom:3px}.mobile-settings-tabs .sidebar-title h2,.mobile-settings-tabs .sidebar-title h2:after{font-size:13px;font-weight:600;margin:0;white-space:nowrap}.mobile-settings-tabs .sidebar-title.active{background:#e7e5df;box-shadow:inset 0 -2px var(--green)}.mobile-settings-tabs .sidebar-title.active>span{color:var(--orange)}.mobile-settings-swipe{grid-column:1;grid-row:3;display:flex;align-items:center;justify-content:center;gap:8px;color:#9b978d;font-size:9px;letter-spacing:.04em}.mobile-settings-swipe i{width:min(22vw,76px);height:1px;background:#d1cec5}.mobile-settings-swipe span:first-child,.mobile-settings-swipe span:last-child{font-size:12px;color:#aaa69c}.mobile-settings.open .mobile-settings-handle{width:100%;flex:initial}}@media(orientation:portrait){.mobile-settings-head{grid-template-rows:28px 74px;height:102px;flex-basis:102px}.mobile-settings:not(.open) .mobile-settings-head{grid-template-rows:30px;height:30px;flex-basis:30px}.mobile-settings-tabs{grid-row:2;height:73px}.mobile-settings-tabs .sidebar-title{height:73px;gap:12px;padding:0 19px}.mobile-settings-tabs .sidebar-title>span{flex-basis:auto;font-size:32px}.mobile-settings-tabs .sidebar-title small{font-size:8px;letter-spacing:.17em;margin-bottom:3px}.mobile-settings-tabs .sidebar-title h2,.mobile-settings-tabs .sidebar-title h2:after{font-size:15px;font-weight:400;margin:0;white-space:normal}.mobile-settings .drawer .sidebar-title,.mobile-settings-swipe{display:none!important}}.art-preview img{object-fit:contain}@media(orientation:portrait){.mobile-settings-handle,.mobile-settings:not(.open) .mobile-settings-handle{display:flex;align-items:center;justify-content:center;color:#625e55}.mobile-settings-handle .handle-mark{display:block;width:44px;height:3px;border-radius:3px;background:#a9a59b;transform-origin:center}.mobile-settings:not(.open) .mobile-settings-handle .handle-mark{animation:handle-line-prompt .8s ease-in-out infinite alternate}@keyframes handle-line-prompt{0%{transform:translateY(2px) scaleX(.8);opacity:.55}to{transform:translateY(-4px) scaleX(1);opacity:1}}}@media(orientation:portrait)and (prefers-reduced-motion:reduce){.mobile-settings:not(.open) .mobile-settings-handle .handle-mark{animation:none}}@media(orientation:portrait){.workspace.settings-open{grid-template-rows:minmax(0,calc(100% - var(--settings-menu-ratio,61.8%))) minmax(0,var(--settings-menu-ratio,61.8%))}.workspace.resizing{transition:none!important}.mobile-settings-handle{touch-action:none;user-select:none;-webkit-user-select:none;cursor:ns-resize}}@media(orientation:portrait){.header-actions{width:100%;justify-content:stretch;gap:0}.header-actions .file-btn:nth-of-type(3),.header-actions .file-btn:nth-of-type(4){display:none!important}.header-actions .file-btn:nth-of-type(5){width:100%;flex:1 1 auto}}.camera-bar{max-width:calc(100% - 16px);overflow:hidden}.camera-bar button{min-width:0}@media(orientation:landscape){.workspace{grid-template-columns:minmax(280px,1fr) 390px}.workspace>.preview-shell{grid-column:1;grid-row:1}.mobile-settings{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--paper);border-left:1px solid #cbc7bc}.mobile-settings-head{height:74px;flex:0 0 74px;display:flex;background:#eeece5;border-bottom:1px solid var(--line)}.mobile-settings-handle{display:none}.mobile-settings-navigation{width:100%}.mobile-settings-tabs{height:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.mobile-settings-tabs .sidebar-title{height:73px;min-width:0;padding:0 8px;gap:6px;border-right:1px solid #d2cfc6;cursor:pointer}.mobile-settings-tabs .sidebar-title:last-child{border-right:0}.mobile-settings-tabs .sidebar-title>span{font-size:21px}.mobile-settings-tabs .sidebar-title small{font-size:7px;letter-spacing:.08em}.mobile-settings-tabs .sidebar-title h2{font-size:11px;white-space:nowrap}.mobile-settings-tabs .sidebar-title.active{background:#e7e5df;box-shadow:inset 0 -2px var(--green)}.mobile-settings-tabs .sidebar-title.active>span{color:var(--orange)}.mobile-settings .drawer{display:none;grid-column:auto!important;grid-row:auto!important;min-width:0;min-height:0;flex:1}.mobile-settings[data-active-tab=left] .drawer:not(.right):not(.global),.mobile-settings[data-active-tab=right] .drawer.right,.mobile-settings[data-active-tab=global] .drawer.global{display:block}.mobile-settings .drawer .sidebar{border:0}.mobile-settings .drawer .sidebar-title{display:none}}@media(orientation:portrait){.mobile-settings:not(.open) .mobile-settings-navigation{display:none}}.mobile-gesture-hint{display:none}@media(orientation:portrait){.preview-head{flex-direction:column}.preview-head>div{margin-top:4px}.preview-head p{display:block;order:-1;text-align:right;white-space:nowrap;font-size:11px;font-size:calc(8px + 1vw);line-height:1.5;letter-spacing:0}.desktop-gesture-hint{display:none}.mobile-gesture-hint{display:inline}}@media(orientation:portrait)and (min-width:400px){.preview-head p{font-size:12px}}fieldset{margin:0;padding:0;border:0;min-width:0}fieldset:disabled{opacity:.45}fieldset:disabled .custom-fold-canvas{pointer-events:none}.setting-fields{display:grid;gap:15px}.position-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scope-heading{position:sticky;top:0;z-index:2;margin:0 19px;padding:13px 0;border-bottom:1px solid var(--line);background:var(--paper);box-shadow:19px 0 var(--paper),-19px 0 var(--paper);font-family:Georgia,Songti SC,serif;font-size:13px;font-weight:700;line-height:1.5;color:var(--muted)}.section summary>.icon:before{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor}.scene-actions{margin:0}.scene-actions .small-btn{width:100%;border-color:var(--green);color:var(--green)}.product-types button:disabled{color:var(--muted);background:#eeece5;cursor:default}.product-types button:focus{outline:2px solid var(--orange);outline-offset:-2px}.small-btn:disabled{color:var(--muted);cursor:default;opacity:.5}.instance-list{display:grid;gap:8px;min-width:0}.instance-row.segmented{grid-template-columns:minmax(0,1fr) repeat(4,32px)}.instance-row .instance-name{text-align:left;padding:0 8px;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-row .instance-name-input{min-width:0;width:100%;height:30px;box-sizing:border-box;border:1px solid var(--orange);padding:0 7px;background:#fff;color:var(--ink);font:inherit;font-size:11px;outline:0}.instance-row .instance-control{display:flex;align-items:center;justify-content:center;padding:0;color:var(--muted)}.instance-row .instance-control[aria-pressed=true]{color:var(--green)}.instance-row .instance-control:hover{background:#eeece5;color:var(--ink)}.instance-row .instance-control.danger:hover{background:#b94530;color:#fff}.line-icon{display:block;width:17px;height:17px;flex:none}.setting-note{font-size:9px;line-height:1.6;color:var(--muted)}.instance-row button:focus{outline:1px solid var(--orange);outline-offset:-2px}.projection-direction-point:before{background:var(--orange)}.projection-direction-point[data-rear=true]:before{background:var(--orange)}.coordinate-panel{position:absolute;z-index:6;top:47px;right:14px;width:290px;max-height:calc(100% - 125px);overflow-y:auto;background:#f7f6f1f2;border:1px solid #bdb8ad;box-shadow:0 8px 25px #0003;padding:11px 12px;color:var(--ink);font-size:11px;line-height:1.55;user-select:text;-webkit-user-select:text;-webkit-overflow-scrolling:touch}.coordinate-panel>strong{display:block;font-size:13px}.coordinate-panel>strong small{display:block;color:var(--muted);font-weight:400;font-size:10px}.coordinate-panel>p{margin:6px 0;color:var(--muted);font-size:10px}.coordinate-panel section{border-top:1px solid var(--line);padding-top:7px;margin-top:8px}.coordinate-panel h3{font-size:11px;margin:0 0 5px;color:var(--green)}.coordinate-row{display:flex;align-items:flex-start;padding:5px 0;border-top:1px dotted #dedad0}.coordinate-row:first-of-type{border:0}.coordinate-row>i{width:7px;height:7px;flex:none;border-radius:50%;margin:4px 7px 0 0;border:1px solid #888}.coordinate-row>div{min-width:0}.coordinate-row b,.coordinate-value{display:block;font-weight:400;white-space:normal;overflow-wrap:break-word}.coordinate-row b{font-weight:700}.coordinate-value{font-family:Consolas,Monaco,monospace;font-size:11px;color:#545149;user-select:text;-webkit-user-select:text}@media(orientation:portrait){.coordinate-toggle{display:block;bottom:75px;right:10px}.coordinate-panel{left:10px;right:10px;top:49px;width:auto;max-height:calc(100% - 145px);padding:8px 10px}}@media(orientation:portrait){.mobile-settings-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-settings-tabs .sidebar-title{gap:6px;padding:0 8px}.mobile-settings-tabs .sidebar-title>span{font-size:23px}.mobile-settings-tabs .sidebar-title small{font-size:7px}.mobile-settings-tabs .sidebar-title h2,.mobile-settings-tabs .sidebar-title h2:after{font-size:12px}.mobile-settings .drawer.global{display:none!important}.mobile-settings .drawer.global.open{display:block!important}.product-sidebar{border:0}}.right-sidebar .sidebar-title h2:after{content:"\5168\5c40\573a\666f\8bbe\7f6e"}.scene-products{flex:0 1 auto;min-height:0;max-height:38%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#bbb6aa transparent;border-bottom:1px solid var(--line)}.scene-products .section{border-bottom:0}.scene-products .section summary{position:sticky;top:0;z-index:2;background:var(--paper)}.scene-products .section summary:after{content:"";position:absolute;right:19px;bottom:0;left:19px;border-bottom:1px solid var(--line)}.scene-products .summary-hint{margin:0 8px 0 auto;font-size:9px;line-height:1.4;letter-spacing:0;color:var(--muted);white-space:nowrap}@media(orientation:portrait){.workspace:not(.settings-open){grid-template-rows:minmax(0,1fr) 170px}.scene-products{max-height:35%}.mobile-settings:not(.open) .scene-products{flex:1 1 auto;max-height:none}}@media(orientation:portrait){.workspace:not(.settings-open){grid-template-rows:minmax(0,1fr) 29px}.workspace.products-expanded{grid-template-rows:minmax(0,1fr) minmax(0,50%)}.mobile-settings>.mobile-settings-handle,.mobile-settings.open>.mobile-settings-handle{display:flex;width:100%;height:28px;flex:0 0 28px}.mobile-settings-head{display:block;height:74px;flex:0 0 74px;padding:0}.mobile-settings:not(.open) .mobile-settings-head,.mobile-settings.products-expanded .mobile-settings-head,.mobile-settings.products-expanded .drawer,.mobile-settings:not(.open):not(.products-expanded) .scene-products{display:none!important}.scene-products,.mobile-settings:not(.open) .scene-products{flex:0 0 auto;max-height:none}.mobile-settings.products-expanded .scene-products{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(orientation:portrait){.mobile-settings.products-expanded .drawer.open{display:none!important}}.export-toast{position:fixed;z-index:120;top:76px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:9px;padding:11px 14px;background:var(--green);color:#f7f5ed;border-radius:3px;box-shadow:0 8px 24px #0004;font-size:12px;line-height:1.4;pointer-events:none}.export-toast.error{background:#aa4029}.export-toast svg{width:18px;height:18px;flex:none}.export-toast p{margin:0;overflow-wrap:anywhere}.custom-fold-editor{display:grid;gap:10px;margin-top:10px}.custom-fold-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:end;grid-gap:8px 0}.custom-fold-toolbar .number-box{border-color:var(--green)}.custom-fold-toolbar .small-btn{height:34px;border-color:var(--green);border-left:0;color:var(--green);font-size:18px}.custom-fold-hint{color:var(--muted,#8b8177);font-size:11px}.custom-fold-canvas{width:100%;height:auto;background:#f8f4ee;border:1px solid #d5cabc;border-radius:8px;touch-action:none}.custom-fold-canvas g{cursor:ew-resize}.custom-panel-list{display:grid;gap:6px}.custom-panel-list .number-field{margin:0}.custom-thickness-list{display:grid;gap:6px;padding-top:8px;border-top:1px solid var(--line,#ddd)}.custom-thickness-list>small{color:var(--muted,#8b8177)}
