@charset "UTF-8";
:root{--bg:#f8f7f3;--panel:#fdfcf9;--stage:#eeede8;--ink:#34382f;--muted:#94958c;--line:#e9e7df;--accent:#de6b50;--accent-pale:#f6ebe5;--olive:#56634c;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;font:13px/1.5 var(--font);color:var(--ink);background:var(--bg);overflow:hidden}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}button,input,select,a{outline-offset:4px}:focus-visible{outline:2px solid var(--accent)}input[type=text],input[type=number],select{outline-offset:2px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}button{transition:background .16s,color .16s,border-color .16s,box-shadow .16s}.button{height:38px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12px;border-radius:6px;font-weight:550;white-space:nowrap}.button svg{width:16px;height:16px}.primary{background:var(--accent);color:white;box-shadow:0 3px 7px #9a4f3010}.primary:hover{background:#c95b40}.secondary{border:1px solid #dcded4;background:var(--panel)}.secondary:hover{background:#f1f0e9}.icon-button{width:32px;height:32px;padding:7px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:#777d72}.icon-button svg{width:18px;height:18px}.icon-button:hover{background:#dfdfd665;color:var(--ink)}.icon-button[aria-pressed=true]{color:var(--accent);background:#fff9f199}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.6px;line-height:1.5;color:var(--muted)}
.app-header{height:76px;display:flex;align-items:center;padding:0 26px;gap:24px;border-bottom:1px solid var(--line);background:var(--panel);position:relative;z-index:12}.brand{display:flex;align-items:center;gap:9px}.brand>svg{width:32px;height:36px;color:var(--accent);stroke-width:1.3}.brand>span{font-size:29px;line-height:.9;font-weight:600;letter-spacing:-1.5px}.brand-dot{color:var(--accent)}.brand small{font-size:8px;letter-spacing:3px;font-weight:600;display:block;line-height:1;margin:6px 0 0 1px}.header-divider{height:25px;width:1px;background:var(--line);margin-left:8px}.project-heading{display:flex;flex-direction:column;gap:2px}.project-heading .eyebrow{font-size:8px;letter-spacing:1.1px}.project-heading input{border:0;background:transparent;font-size:12px;padding:2px 0;width:220px;font-weight:500}.project-heading input:hover{background:#f4f2ec}.header-right{margin-left:auto;display:flex;align-items:center;gap:13px}.save-state{display:flex;gap:6px;align-items:center;color:#989b90;font-size:10px;margin-right:10px}.save-state>span,.tiny-dot{width:5px;height:5px;border-radius:50%;background:#8f9b7e}.dropdown{position:absolute;z-index:30;background:var(--panel);box-shadow:0 10px 40px #3c3e3520;border:1px solid var(--line);padding:7px;border-radius:8px}.project-menu{right:177px;top:65px;width:210px}.dropdown button{display:block;width:100%;text-align:left;border-radius:4px;padding:9px 11px;font-size:12px}.dropdown button:hover{background:#f2f0e9}.dropdown button span{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.workspace{display:grid;grid-template-columns:276px minmax(300px,1fr) 282px;height:calc(100dvh - 76px);position:relative}.sidebar{background:var(--panel);overflow:auto;scrollbar-width:thin;scrollbar-color:#d7d8cd transparent;z-index:4}.structure-panel{border-right:1px solid var(--line);padding:25px 19px 0;display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.panel-heading .eyebrow{font-size:8px;letter-spacing:1.2px}.panel-heading h1,.panel-heading h2{font-size:17px;letter-spacing:.5px;font-weight:550;line-height:1.4;margin:6px 0 0}.category-tabs{display:flex;background:#f0efe9;border-radius:6px;padding:3px;gap:3px}.category-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 2px;border-radius:4px;color:#909288;font-size:12px;line-height:1}.category-tabs svg{width:16px;height:16px}.category-tabs small{font-size:8px;opacity:.6;margin-left:3px}.category-tabs button.active{background:var(--panel);color:var(--ink);box-shadow:0 1px 4px #37372b10}.library-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 10px;font-size:10px;color:#71786a}.library-heading>span:last-child{color:#a4a69b;font-size:9px}.structure-list{display:flex;flex-direction:column;gap:7px}.structure-card{border:1px solid #eae9e1;border-radius:7px;padding:11px 10px;display:flex;gap:12px;text-align:left;align-items:center;position:relative;background:#fffefa;min-height:69px;width:100%}.structure-card:hover{border-color:#c7c9b9;background:#f9f8f2}.structure-card.active{border-color:var(--accent);background:#fcf5ef;box-shadow:0 0 0 1px #e17b4d0a}.structure-card .structure-icon{height:43px;width:43px;border-radius:5px;display:grid;place-items:center;background:#f1f0e8;color:#7a826b;flex-shrink:0}.structure-card.active .structure-icon{background:#f3e6d9;color:#a96a45}.structure-icon svg{width:30px;height:30px;stroke-width:1.05}.structure-copy{flex:1;min-width:0}.structure-copy strong{font-size:12px;font-weight:550;display:block}.structure-copy small{display:block;color:#a2a397;font-size:8px;margin-top:3px;letter-spacing:.1px}.structure-card>.selected{width:15px;height:15px;padding:2px;border-radius:50%;color:white;background:var(--accent);opacity:0}.structure-card.active>.selected{opacity:1}.structure-card .tag{display:none}.section{padding:21px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:10px}.section-title h2{font-size:11px;font-weight:550;margin:0;letter-spacing:.2px}.section-title>span{font-size:9px;color:#a0a293}.dimensions-section{margin-top:6px;padding-bottom:20px}.dimension-fields{display:flex;gap:7px}.dimension-fields label{flex:1;min-width:0;background:#f6f5ef;border:1px solid #eae8df;border-radius:5px;padding:7px 9px 6px}.dimension-fields label:focus-within{border-color:var(--accent)}.dimension-fields label>span{display:block;font-size:8px;color:#999b8d;margin-bottom:3px}.dimension-fields input{width:100%;font-size:16px;font-weight:450;border:0;background:transparent;padding:0;outline:none;appearance:textfield;-moz-appearance:textfield;font-variant-numeric:tabular-nums}.dimension-fields input::-webkit-inner-spin-button{display:none}.field-note{font-size:9px;color:#a2a397;line-height:1.8;margin:9px 0 0}.structure-info{display:flex;gap:9px;align-items:center;text-align:left;padding:18px 0;width:100%;font-size:10px}.structure-info:hover{color:var(--accent)}.structure-info small{display:block;color:#9d9f92;font-size:8px;margin-top:3px}.round-info{background:#eeefe5;border-radius:50%;height:28px;width:28px;display:grid;place-items:center;color:#8b947a}.round-info svg{width:15px;height:15px}.chevron{width:11px;height:11px;margin-left:auto;color:#aaa}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:6px;padding:18px 0;border-top:1px solid var(--line);font-size:8px;color:#a1a497;white-space:nowrap}.separator{margin:0 2px;opacity:.5}
.stage{position:relative;overflow:hidden;background:var(--stage);min-width:0}.stage-toolbar{position:absolute;left:24px;right:22px;top:22px;display:flex;align-items:center;justify-content:space-between;z-index:3;gap:10px}.view-switch{display:flex;padding:3px;background:#f9f8f3d9;border:1px solid #e7e6dc;border-radius:7px;box-shadow:0 1px 2px #43473804}.view-switch button{font-size:10px;padding:6px 11px;display:flex;align-items:center;gap:6px;border-radius:4px;color:#8b8f81}.view-switch button svg{width:14px;height:14px;stroke-width:1.3}.view-switch button.active{background:white;box-shadow:0 1px 4px #4e513912;color:#555f4a}.stage-tools{display:flex;gap:4px}.stage-tools .icon-button{width:28px;height:28px;padding:7px}.stage-tools svg{width:15px;height:15px}.stage-caption{position:absolute;top:100px;left:31px;pointer-events:none;z-index:2}.stage-caption .eyebrow{font-size:8px;letter-spacing:1.35px;color:#959a8a}.stage-caption h2{font-size:20px;font-weight:450;margin:8px 0 3px;letter-spacing:1px}.stage-caption p{font-size:10px;color:#a1a595;margin:0;letter-spacing:.2px}.live-badge{position:absolute;top:107px;right:30px;display:flex;align-items:center;gap:5px;font-size:7px;letter-spacing:1px;color:#9da28f;z-index:2}.live-badge>span{width:4px;height:4px;background:#8b977a;border-radius:50%}.canvas-wrap{position:absolute;inset:0 0 85px}.canvas-wrap canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.canvas-wrap canvas.dragging{cursor:grabbing}.view-presets{position:absolute;left:50%;transform:translateX(-50%);bottom:217px;display:flex;gap:2px;background:#fdfcf8aa;border:1px solid #dedfd265;border-radius:30px;padding:3px 5px;z-index:2;backdrop-filter:blur(12px)}.view-presets button{padding:4px 9px;font-size:9px;color:#929685;min-width:40px;border-radius:20px}.view-presets button.active{background:#fffdfa;color:#657055;box-shadow:0 1px 3px #56533b10}.view-presets span{width:1px;background:#d9ddcf;margin:5px 4px}.view-presets button:last-child{min-width:27px;padding:2px 5px;display:grid;place-items:center}.view-presets svg{width:15px;height:15px}.view-presets button[aria-pressed=true]{color:var(--accent)}.fold-control{position:absolute;bottom:47px;left:27px;right:27px;max-width:750px;margin:auto;z-index:3;background:#fdfcf8f0;border:1px solid #ffffffb3;border-radius:10px;box-shadow:0 8px 25px #5c5c3b09;padding:19px 20px 15px;backdrop-filter:blur(16px)}.fold-control-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.fold-label{display:flex;align-items:center;gap:7px}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--olive)}.fold-label strong{font-size:10px;font-weight:550;white-space:nowrap}.fold-label>span:last-child{font-size:9px;color:#a1a497;margin-left:5px}.progress-label{font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:4px}.progress-label b{font-size:16px;font-weight:450;color:#58634c}.progress-label>span{font-size:9px;color:#a0a591}.timeline-row{display:flex;align-items:center;gap:14px}.play-button{width:29px;height:29px;border-radius:50%;background:var(--olive);color:white;display:grid;place-items:center;padding:7px;flex-shrink:0}.play-button:hover{background:#394c31}.play-button svg{width:14px;height:14px;fill:currentColor;stroke-width:1.3}.play-button.playing svg{fill:none;stroke-width:2.2}.range-wrap{position:relative;flex:1;height:28px;display:flex;align-items:center}.range-wrap input{margin:0;width:100%;height:3px;appearance:none;-webkit-appearance:none;outline-offset:6px;background:linear-gradient(to right,var(--accent) var(--progress,100%),#e2e4d8 var(--progress,100%));border-radius:5px;cursor:pointer;position:relative;z-index:2}.range-wrap input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:white;border:2px solid var(--accent);box-shadow:0 1px 5px #a26c3030;cursor:ew-resize}.range-wrap input::-moz-range-thumb{width:8px;height:8px;border-radius:50%;background:white;border:2px solid var(--accent);cursor:ew-resize}.timeline-ticks{display:flex;justify-content:space-between;position:absolute;left:3px;right:3px;top:22px}.timeline-ticks i{height:3px;background:#dadcd0;width:1px}.speed-button{font-size:9px;color:#969d88;width:26px;padding:3px 0}.speed-button:hover{color:var(--accent)}.fold-stages{display:flex;align-items:flex-start;justify-content:space-between;gap:3px;margin-top:13px;padding-left:42px;padding-right:38px}.fold-stages button{font-size:7px;color:#b6b9aa;padding:0;text-align:left;white-space:nowrap;line-height:1.3}.fold-stages button span{font-size:8px;margin-left:3px;color:#929987}.fold-stages button.active,.fold-stages button.active span{color:var(--accent)}.stage-bottom{position:absolute;bottom:16px;left:29px;right:28px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.2px;color:#969d89;gap:10px;z-index:1;pointer-events:none}.stage-bottom>span{display:flex;align-items:center;gap:5px}.stage-bottom svg{width:11px;height:11px}.stage-bottom i{opacity:.5;font-style:normal;padding:0 1px}#dimension-summary{white-space:nowrap;font-size:8px}.net-wrap{position:absolute;inset:95px 20px 65px;z-index:1;overflow:auto;display:flex;align-items:center;justify-content:center}.net-wrap[hidden]{display:none}.net-wrap svg{width:100%;height:auto;max-height:100%;stroke:none}.net-legend{position:absolute;bottom:5px;left:0;right:0;display:flex;gap:18px;justify-content:center;font-size:9px;color:#8b9182}.net-legend span{display:flex;align-items:center;gap:5px}.cut-line,.fold-line{display:inline-block;width:17px;height:0;border-top:1px solid #4a5b49}.fold-line{border-top:1px dashed var(--accent)}.render-error{position:absolute;top:40%;left:10%;right:10%;padding:22px;border:1px solid #d3b49e;border-radius:9px;background:#fffaf2;z-index:9;font-size:13px;line-height:1.8}.stage:fullscreen{width:100vw;height:100dvh}.stage:fullscreen .canvas-wrap{inset:0 0 85px}
.design-panel{border-left:1px solid var(--line);padding:25px 20px 0}.design-panel .panel-heading{margin-bottom:20px}.editor-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line)}.editor-tabs button{font-size:11px;padding:0 0 12px;position:relative;color:#9b9e91}.editor-tabs button.active{color:#4e5b42;font-weight:550}.editor-tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#778267}.preset-list{display:flex;gap:7px}.design-preset{width:calc((100% - 14px)/3);height:82px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #e4e4d9;border-radius:5px;overflow:hidden;padding:10px 3px 17px}.design-preset>span{font-family:Georgia,serif;font-size:23px;letter-spacing:-1px}.design-preset>small{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:7px;line-height:20px;background:#fcfaf399;color:#848978;letter-spacing:.5px}.design-preset.mori{background:#e8e6d8;color:#53664d}.design-preset.pulse{background:#ed8561;color:#f8ecd7}.design-preset.pulse>span{font:bold 12px var(--font);letter-spacing:-.5px}.design-preset.blank{background:repeating-linear-gradient(45deg,#f2f2eb 0px,#f2f2eb 4px,#f8f8f2 4px,#f8f8f2 8px);color:#a8b098}.design-preset.blank>span{font:25px var(--font);font-weight:200}.design-preset.active{border-color:#6a7857;box-shadow:0 0 0 1px #6a7857}.material-list{display:flex;flex-direction:column;gap:7px}.material-button{display:flex;align-items:center;gap:10px;border:1px solid #e8e8de;border-radius:5px;padding:7px 9px;text-align:left;background:#fffefa}.material-button.active{border-color:#a3ae91;background:#f7f8f1}.material-chip{width:27px;height:31px;border:1px solid #d4d4c660;border-radius:3px;background:var(--chip);position:relative;overflow:hidden}.material-chip:after{content:"";position:absolute;inset:0;opacity:.15;background:repeating-linear-gradient(13deg,transparent 0px,#625e3930 1px,transparent 2px,transparent 4px)}.material-chip.metal{background:linear-gradient(100deg,#9fa8a2,#f2f3ed 45%,#c5cac5 60%,#a7b1aa)}.material-button strong{font-size:10px;display:block;font-weight:500}.material-button small{display:block;font-size:8px;color:#a4a796;margin-top:2px}.material-button>svg{margin-left:auto;color:#78895e;width:13px;height:13px;opacity:0}.material-button.active>svg{opacity:1}select{border:1px solid #e4e5d9;border-radius:4px;background:var(--panel);padding:4px 6px;font-size:9px;max-width:100%}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:129px;border:1px dashed #c9cdbb;border-radius:6px;background:#f7f7ef;cursor:pointer;position:relative;overflow:hidden}.upload-zone:hover,.upload-zone.drag-over{background:#eef0e4;border-color:#7f9266}.upload-zone>span{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0}.upload-icon{background:#eeefe3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#9aa38a;margin-bottom:1px}.upload-icon svg{width:14px;height:14px}.upload-zone strong{font-size:10px;font-weight:500;color:#79866a}.upload-zone small{font-size:7px;color:#a3aa94}.upload-zone img{display:block;width:100%;height:130px;object-fit:contain;padding:9px}.upload-zone img[hidden]{display:none}.artwork-actions{display:flex;gap:5px;justify-content:space-between;margin-top:8px;font-size:8px}.artwork-actions[hidden]{display:none}.artwork-actions button{padding:3px;color:#849474}.artwork-actions button:hover{color:var(--accent)}.branding-section{border-bottom:0;padding-top:18px}.text-field{display:block;margin-bottom:10px}.text-field>span{display:block;font-size:8px;color:#979e8c;margin-bottom:5px}.text-field input{width:100%;background:#f8f7f2;border:1px solid #e9e9de;border-radius:4px;font-size:10px;padding:8px 9px;color:#657255}.color-field{display:flex;align-items:center;gap:9px;margin-top:13px;font-size:9px}.color-field>span{margin-left:auto;color:#a6aa99;font-size:8px}.color-field input{width:25px;height:24px;padding:1px;border:1px solid #dfdfd4;border-radius:4px;background:white;cursor:pointer}.color-field input::-webkit-color-swatch-wrapper{padding:2px}.color-field input::-webkit-color-swatch{border:0;border-radius:2px}.editor-footnote{font-size:8px;color:#afb3a1;padding:20px 0 22px;display:flex;gap:6px;justify-content:center;align-items:center}.editor-footnote svg{width:11px;height:11px}.background-swatches{display:flex;gap:10px;align-items:center}.background-swatches button{background:var(--swatch);border:1px solid #d7d9cc;width:29px;height:29px;border-radius:50%}.background-swatches button.active{outline:1px solid #84916e;outline-offset:3px}.background-swatches input{width:28px;height:28px;border:0;background:transparent;padding:0;cursor:pointer}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;padding:11px 0;cursor:pointer;position:relative}.toggle-row input{position:absolute;opacity:0;right:0;width:30px;height:20px}.switch{width:28px;height:16px;border-radius:12px;background:#dedfd4;position:relative;pointer-events:none;transition:background .2s}.switch:before{content:"";width:12px;height:12px;border-radius:50%;position:absolute;top:2px;left:2px;background:white;box-shadow:0 1px 2px #4442;transition:transform .2s}.toggle-row input:checked+.switch{background:#7b8968}.toggle-row input:checked+.switch:before{transform:translateX(12px)}.toggle-row input:focus-visible+.switch{outline:2px solid var(--accent);outline-offset:4px}.scene-tip{padding:32px 6px;text-align:center;color:#9aa189}.scene-tip>svg{width:26px;height:26px;margin-bottom:10px;stroke-width:1}.scene-tip strong{display:block;font-size:11px;font-weight:500;color:#78836c}.scene-tip p{font-size:10px;line-height:1.9;margin:10px 0 20px}.scene-tip .button{font-size:10px;height:32px}
.dialog{border:1px solid #efeee6;border-radius:13px;background:var(--panel);color:var(--ink);box-shadow:0 25px 120px #282a2940;padding:35px;width:480px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);scrollbar-width:thin}.dialog::backdrop{background:#363b3150;backdrop-filter:blur(5px)}.dialog h2{font-weight:450;letter-spacing:.5px;font-size:25px;line-height:1.5;margin:11px 0 6px}.dialog-close{position:absolute;right:15px;top:15px}.dialog-subtitle{color:#9fa391;font-size:11px;margin:0 0 25px;line-height:1.8}.dialog p{font-size:11px;line-height:1.9;color:#838b77}.info-dialog{width:570px}.info-dialog h3{font-size:11px;font-weight:550;margin:24px 0 10px}.info-steps{list-style:none;counter-reset:step;padding:0;margin:23px 0}.info-steps li{display:flex;align-items:center;gap:11px;font-size:11px;padding:7px 0;color:#758167}.info-steps li:before{counter-increment:step;content:"0" counter(step);background:#eff0e6;color:#96a285;font:9px var(--font);width:25px;height:25px;border-radius:50%;display:grid;place-items:center}.info-note{padding:15px 17px;background:#f0f0e5;border-radius:5px}.info-note strong{font-size:10px;color:#79826d;font-weight:500}.info-note p{font-size:10px;margin:6px 0 0;color:#929984}.source-links a{display:block;font-size:10px;padding:9px 0;border-bottom:1px solid var(--line);color:#808b70}.source-links a span{float:right}.source-links a:hover{color:var(--accent)}.export-format{display:flex;gap:10px;margin:22px 0}.export-format button{width:50%;border:1px solid #e2e4d6;padding:15px 12px;border-radius:6px;font-size:12px;text-align:left;color:#8b947c}.export-format small{display:block;font-size:9px;margin-top:4px;color:#a1a991}.export-format button.active{border-color:#8c9b76;background:#f2f4e9;color:#687a50}.export-label{display:block;font-size:10px;color:#8e9881;margin-bottom:8px}#export-size{width:100%;padding:10px 12px;font-size:11px}.export-dialog .toggle-row{margin-top:10px;color:#8a947b;font-size:11px}.export-confirm{width:100%;margin-top:24px;height:42px}.export-note{padding:16px;background:#f4f4eb;border-radius:4px}.reset-dialog{width:490px}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:25px}.dialog-actions .button{font-size:10px;padding:0 12px}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);z-index:99;background:#3e4b35f2;color:#f5f8ee;box-shadow:0 5px 20px #0002;border:1px solid #fff2;border-radius:7px;padding:11px 20px;font-size:11px;opacity:0;pointer-events:none;transition:transform .2s,opacity .2s;max-width:85vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}.mobile-structure,.mobile-settings,.close-panel{display:none}.panel-scrim{position:absolute;inset:0;background:#343b3155;z-index:8}noscript{position:fixed;top:40%;left:10%;right:10%;z-index:100;padding:25px;background:white;border:1px solid var(--accent)}
@media(min-width:1600px){.workspace{grid-template-columns:295px minmax(400px,1fr) 305px}.structure-panel,.design-panel{padding-left:25px;padding-right:25px}.structure-card{min-height:77px}.structure-list{gap:9px}.structure-copy strong{font-size:13px}.structure-copy small{font-size:9px}.fold-control{bottom:57px}.view-presets{bottom:231px}.canvas-wrap{inset:0 0 90px}.stage-caption{left:40px;top:110px}.stage-toolbar{left:32px;right:30px}.stage-bottom{bottom:21px;left:35px;right:35px}.section{padding:23px 0}}
@media(max-height:850px) and (min-width:901px){.app-header{height:65px}.workspace{height:calc(100dvh - 65px)}.structure-panel,.design-panel{padding-top:19px}.panel-heading{margin-bottom:17px}.panel-heading h1,.panel-heading h2{font-size:16px}.library-heading{margin-top:19px}.structure-card{min-height:60px;padding:7px 9px}.structure-icon{transform:scale(.92)}.dimensions-section{padding-top:18px}.section{padding-top:18px;padding-bottom:18px}.stage-caption{top:92px}.stage-caption h2{font-size:18px}.live-badge{top:95px}.view-presets{bottom:207px}.fold-control{bottom:43px;padding:15px 18px 13px}.stage-bottom{bottom:14px;font-size:7px}.fold-stages{padding-left:40px;padding-right:32px}.canvas-wrap{inset:0 0 105px}.editor-footnote{padding-top:12px}.preset-list .design-preset{height:73px}.upload-zone{min-height:113px}.upload-zone img{height:110px}}
@media(max-width:1240px){.workspace{grid-template-columns:245px minmax(300px,1fr) 252px}.structure-panel,.design-panel{padding-left:16px;padding-right:16px}.structure-card{gap:8px}.structure-icon{width:36px!important}.structure-copy small{font-size:7px}.structure-copy strong{font-size:11px}.stage-toolbar{left:17px;right:15px}.stage-caption{left:22px}.fold-control{left:18px;right:18px}.fold-label>span:last-child{display:none}.fold-stages{padding-left:0;padding-right:0}.fold-stages button{font-size:6px}.fold-stages button span{font-size:7px}.stage-bottom{left:20px;right:20px;font-size:7px}.stage-bottom #interaction-hint i:nth-of-type(2),.stage-bottom #interaction-hint{gap:4px}.live-badge{right:22px}.preset-list{gap:5px}.design-preset{width:calc((100% - 10px)/3)}}
@media(max-width:1050px){.workspace{grid-template-columns:250px minmax(300px,1fr)}.design-panel{display:none;position:absolute;right:0;top:0;bottom:0;width:282px;z-index:10;box-shadow:-10px 0 30px #373c3020}.design-panel.open{display:block}.mobile-settings,.close-panel{display:inline-flex}.structure-panel .close-panel{display:none}.stage-tools{gap:2px}.save-state{display:none}.app-header{padding:0 20px}.stage-bottom{font-size:8px}.fold-stages button span{font-size:8px}.fold-control{left:24px;right:24px}.fold-label>span:last-child{display:inline}.view-presets{bottom:213px}.structure-copy small{font-size:8px}.structure-copy strong{font-size:12px}}
@media(max-width:700px){.app-header{height:65px;padding:0 16px;gap:14px}.brand>svg{width:26px;height:30px}.brand>span{font-size:25px}.brand small{font-size:6px;letter-spacing:2.5px}.brand{gap:6px}.header-divider,.project-heading .eyebrow{display:none}.project-heading input{font-size:10px;width:95px}.header-right{gap:5px}.header-right .button{height:33px;padding:0 10px;font-size:10px}.header-right .button svg{width:13px;height:13px}.header-right .icon-button{width:26px;padding:5px}.project-menu{right:24px;top:57px}.workspace{display:block;height:calc(100dvh - 65px)}.stage{height:100%}.structure-panel{display:none;position:absolute;left:0;top:0;bottom:0;width:275px;z-index:10;box-shadow:10px 0 30px #373c3020}.structure-panel.open{display:flex}.structure-panel .close-panel{display:inline-flex}.mobile-structure{display:inline-flex}.stage-toolbar{top:17px;left:16px;right:13px;gap:5px}.view-switch button{padding:6px 8px;font-size:9px;gap:4px}.view-switch svg{width:12px;height:12px}.stage-tools .icon-button{width:26px;height:28px;padding:6px}.stage-tools svg{width:14px;height:14px}#grid-toggle{display:none}.stage-caption{top:83px;left:23px}.stage-caption h2{font-size:18px}.stage-caption p{font-size:9px}.live-badge{top:90px;font-size:6px;right:22px;letter-spacing:.5px}.canvas-wrap{inset:10px 0 105px}.fold-control{bottom:49px;left:14px;right:14px;padding:14px 15px 13px;border-radius:9px}.fold-label>span:last-child{display:none}.fold-label strong{font-size:10px}.progress-label b{font-size:15px}.fold-control-top{margin-bottom:8px}.timeline-row{gap:12px}.fold-stages{margin-top:12px}.fold-stages button span{font-size:7px;display:block;margin:4px 0 0}.fold-stages button{font-size:6px}.view-presets{bottom:217px}.stage-bottom{bottom:16px;left:20px;right:20px;display:flex;font-size:7px}.stage-bottom #interaction-hint{font-size:0;gap:0}.stage-bottom #interaction-hint svg{width:14px;height:14px}.stage-bottom #interaction-hint:after{content:"拖动旋转 · 双指缩放";font-size:8px;margin-left:5px}.stage-bottom #interaction-hint i{display:none}#dimension-summary{font-size:7px}.net-wrap{inset:130px 10px 60px}.net-legend{font-size:7px;gap:10px}.dialog{padding:28px 24px}.dialog h2{font-size:23px}.dialog-subtitle{font-size:10px}.net-wrap svg{min-width:340px}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1}.design-panel{padding-top:22px}.save-state{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Keep the entire dieline inside the available preview, including both tray blanks. */
#net-container{width:100%;height:calc(100% - 35px);display:flex;align-items:center;justify-content:center}
#net-container>svg{width:100%;height:100%;max-height:none;min-width:0}
/* v2: design round-trip, direct vector exports and spatial dimension editing. */
.dimensions-toggle{display:flex;align-items:center;gap:5px;font-size:9px;color:#879278;margin-top:11px;cursor:pointer}.dimensions-toggle input{accent-color:var(--olive);width:12px;height:12px;margin:0}
.dimension-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;stroke:none;fill:none;z-index:2;touch-action:none}.dimension-handle{pointer-events:all;cursor:ew-resize;outline:none}.dimension-handle[data-axis="2"]{cursor:ns-resize}.dim-hit{fill:none;stroke:transparent;stroke-width:17;pointer-events:stroke}.dim-edge{fill:none;stroke:#b27b50;stroke-width:1;stroke-dasharray:3 3;opacity:.7;pointer-events:stroke}.dim-end{fill:#fcfaf2;stroke:#b47b51;stroke-width:1.5}.dim-value rect{fill:#fffdf8f2;stroke:#dfd9c8;stroke-width:1;filter:drop-shadow(0 2px 3px #6a633916)}.dim-value text{fill:#8a6749;stroke:none;font:10px -apple-system,BlinkMacSystemFont,sans-serif;pointer-events:none}.dimension-handle:hover .dim-edge,.dimension-handle.resizing .dim-edge,.dimension-handle:focus-visible .dim-edge{stroke:#d96949;stroke-width:2;opacity:1}.dimension-handle:hover rect,.dimension-handle.resizing rect,.dimension-handle:focus-visible rect{stroke:#d96949;fill:#fff4e8}.dimension-overlay.resizing .dimension-handle:not(.resizing){opacity:.3}
.canvas-wrap{bottom:170px}.net-wrap{bottom:112px}.net-actions{position:absolute;bottom:51px;left:20px;right:20px;display:flex;justify-content:center;gap:9px;z-index:4}.net-actions .button{height:33px;font-size:10px}.net-legend{font-size:8px}.template-header{font-size:11px}.template-header svg{width:14px;height:14px}.template-inline{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:9px;color:#738460;padding:9px 0 0;text-align:left}.template-inline:hover{color:var(--accent)}.sheet-active{font-size:8px;color:#7c936c;background:#eef2e7;border-radius:4px;padding:6px 8px;margin:8px 0 0}.template-dialog{width:560px}.template-detail{background:#f0f1e7;border:1px solid #e3e6d5;border-radius:6px;padding:13px 16px;margin:22px 0}.template-detail strong{font-size:11px;font-weight:500;color:#687c56}.template-detail p{font-size:10px;line-height:1.7;margin:5px 0 0;color:#8b967c}#template-format{width:100%;padding:10px;font-size:11px}.template-instructions{padding-left:18px;color:#8a957c;font-size:10px;line-height:2;margin:20px 0 12px}.export-format button{width:33.333%;padding:13px 9px;font-size:11px}.export-format{gap:7px}.template-dialog h2{font-size:23px}.stage:fullscreen .canvas-wrap{bottom:170px}
@media(max-height:850px) and (min-width:901px){.canvas-wrap{bottom:165px}}
@media(max-width:700px){.project-heading{display:none}.header-right{gap:5px}.template-header{padding:0 8px!important;font-size:9px!important}.template-header svg{display:none}.app-header{gap:10px}.canvas-wrap{inset:20px 0 205px}.dim-value text{font-size:10px}.view-presets{bottom:196px}.net-wrap{bottom:112px}.net-actions{bottom:50px;gap:6px}.net-actions .button{font-size:9px;padding:0 10px}.template-dialog h2{font-size:20px}}

@media(min-width:701px){.view-presets{bottom:166px}}
/* v3 / structured packaging library */
.category-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px;flex-shrink:0}.category-tabs button{min-height:34px;font-size:10px;justify-content:flex-start;padding:7px 8px;gap:6px}.category-tabs small{margin-left:auto;font-variant-numeric:tabular-nums}.category-tabs svg{width:16px;height:16px}.library-search{display:flex;align-items:center;gap:6px;background:#f5f4ee;border:1px solid #e8e7de;border-radius:6px;padding:8px 9px;margin-top:13px;flex-shrink:0}.library-search svg{width:14px;height:14px;color:#929c86}.library-search input{border:0;background:none;min-width:0;width:100%;font-size:10px;outline-offset:5px}.library-search:focus-within{border-color:var(--accent)}.library-heading{margin-top:16px}.structure-list{max-height:320px;min-height:130px;overflow-y:auto;flex-shrink:0;padding:1px 3px 2px 1px;scrollbar-width:thin;scrollbar-color:#d7d8cd transparent}.structure-card{min-height:73px;padding:8px 9px;gap:8px}.structure-copy em{display:block;font-style:normal;font-size:8px;color:#879374;margin-top:5px}.structure-copy strong{font-size:11px}.structure-copy small{font-size:7px}.structure-card .structure-icon{width:35px;height:39px}.structure-icon svg{width:27px;height:27px}.library-empty{font-size:11px;color:#8a927e;background:#f2f2e9;padding:22px 13px;line-height:2;border-radius:6px}.structure-spec{padding:17px 0 10px;flex-shrink:0}.spec-tag{background:#e9eddf;color:#71815d;font-size:8px;padding:4px 7px;border-radius:3px}.structure-spec dl{margin:14px 0 0}.structure-spec dl>div{display:grid;grid-template-columns:55px 1fr;margin:9px 0;font-size:9px}.structure-spec dt{color:#9b9e91}.structure-spec dd{margin:0;color:#737d65;line-height:1.7}.spec-link{font-size:10px;display:flex;justify-content:space-between;padding:12px 0;color:#637a51;border-top:1px solid var(--line);flex-shrink:0}.spec-link:hover{color:var(--accent)}.structure-info{padding-top:10px;flex-shrink:0}.info-specs{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;background:#f3f3eb;padding:17px;border-radius:6px;margin:20px 0}.info-specs dt{font-size:9px;color:#929d82;margin-bottom:5px}.info-specs dd{font-size:11px;line-height:1.8;margin:0;color:#657456}.info-dialog{max-height:88dvh;overflow:auto}.color-field input[type=color]{cursor:pointer}.structure-panel .dimensions-section{flex-shrink:0}.structure-panel .sidebar-footer{flex-shrink:0}.structure-panel .panel-heading{flex-shrink:0}.structure-panel{padding-bottom:0}.structure-panel h1{font-size:16px}
@media(max-height:850px){.structure-list{max-height:240px}.structure-card{min-height:68px}.category-tabs button{min-height:31px}.structure-panel .panel-heading{margin-bottom:15px}}
@media(min-height:1000px){.structure-list{max-height:400px}}
@media(max-width:700px){.structure-list{max-height:270px}.info-specs{grid-template-columns:1fr}.stage-caption h2{font-size:17px}.structure-panel{width:286px}.info-dialog{max-height:86dvh}}
