:root{color:#1c201b;font-synthesis:none;text-rendering:optimizelegibility;--ink:#1c201b;--muted:#73786f;--line:#dfe2da;--paper:#fbfcf8;--acid:#cbed75;--acid-dark:#b9dc66;--cut:#e04747;--fold:#2469f6;background:#f2f3ef;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{color:inherit}button,a,input[type=range]{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #779c28}.app-shell{background:radial-gradient(circle at 75% -10%,#cbed7524,#0000 30%),#f2f3ef;min-height:100vh}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 22px;display:grid}.brand{width:max-content;color:var(--ink);letter-spacing:.1em;align-items:center;gap:10px;font-size:13px;font-weight:760;text-decoration:none;display:inline-flex}.brand-mark{width:34px;height:34px;color:var(--ink);background:var(--acid);border-radius:10px;place-items:center;display:grid}.mode-pill{background:#ffffff9e;border:1px solid #daddd5;border-radius:999px;align-items:center;gap:9px;height:36px;padding:0 14px 0 8px;font-size:12px;font-weight:650;display:inline-flex}.mode-index{color:#65743f;letter-spacing:.04em;background:#e8f4cc;border-radius:50%;place-items:center;width:23px;height:23px;font-size:9px;display:grid}.export-button{color:#18200f;background:var(--acid);cursor:pointer;border:0;border-radius:11px;justify-content:center;justify-self:end;align-items:center;gap:8px;min-width:94px;height:40px;padding:0 16px;font-size:12px;font-weight:730;transition:transform .16s,background .16s;display:inline-flex;box-shadow:inset 0 -1px #00000017}.export-button:hover{background:var(--acid-dark);transform:translateY(-1px)}.export-button:disabled{cursor:wait;opacity:.7;transform:none}.workspace{grid-template-columns:272px minmax(420px,1.25fr) minmax(320px,.78fr);gap:12px;min-height:calc(100vh - 72px);padding:14px;display:grid}.controls-panel,.preview-card{border:1px solid var(--line);background:#fbfcf8e0;border-radius:18px;min-width:0;box-shadow:0 18px 60px #222a190a}.controls-panel{scrollbar-color:#cdd2c7 transparent;scrollbar-width:thin;max-height:calc(100vh - 100px);padding:22px 18px 18px;overflow-y:auto}.mobile-controls-trigger{display:none}.section-heading,.dimensions-heading{justify-content:space-between;align-items:flex-start;height:25px;display:flex}.eyebrow{color:#6f756b;letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:750}.type-switcher{gap:7px;margin-top:10px;display:grid}.type-option{text-align:left;cursor:pointer;background:#f7f8f4;border:1px solid #e1e4dc;border-radius:13px;grid-template-columns:42px 1fr;align-items:center;gap:10px;width:100%;min-height:66px;padding:10px;transition:border-color .16s,background .16s;display:grid}.type-option:hover{border-color:#cbd2c0}.type-option.active{background:#f3f8e7;border-color:#9db950;box-shadow:inset 0 0 0 1px #9db95029}.type-option strong,.type-option small{display:block}.type-option strong{font-size:12px;font-weight:700}.type-option small{color:#858b80;margin-top:3px;font-size:9px;line-height:1.35}.mini-net{background:#eaede5;border-radius:10px;width:39px;height:39px;display:block;position:relative}.active .mini-net{background:#e5efcc}.mini-net i{background:#ffffffa6;border:1px solid #748064;display:block;position:absolute}.mini-net i:first-child{width:13px;height:15px;top:12px;left:13px}.mini-net i:nth-child(2){width:8px;height:15px;top:12px;left:5px}.mini-net i:nth-child(3){width:13px;height:8px;top:4px;left:13px}.mini-net-mailer:after{content:"";background:#ffffffa6;border:1px solid #748064;width:13px;height:7px;position:absolute;bottom:4px;left:13px}.mini-net-carton i:first-child,.mini-net-straight-carton i:first-child{width:21px;height:8px;top:16px;left:9px}.mini-net-carton i:nth-child(2),.mini-net-straight-carton i:nth-child(2){width:21px;height:6px;top:10px;left:9px}.mini-net-carton i:nth-child(3),.mini-net-straight-carton i:nth-child(3){width:21px;height:6px;top:24px;left:9px}.mini-net-carton:before,.mini-net-carton:after,.mini-net-straight-carton:before,.mini-net-straight-carton:after{content:"";background:#ffffffa6;border:1px solid #748064;width:5px;height:4px;position:absolute}.mini-net-carton:before,.mini-net-straight-carton:before{top:11px;left:30px}.mini-net-carton:after{top:25px;left:4px}.mini-net-straight-carton:after{top:25px;left:30px}.mini-net-sleeve i:first-child,.mini-net-seal-end i:first-child,.mini-net-snap-lock i:first-child,.mini-net-auto-bottom i:first-child{width:21px;height:8px;top:16px;left:9px}.mini-net-sleeve i:nth-child(2),.mini-net-seal-end i:nth-child(2),.mini-net-snap-lock i:nth-child(2),.mini-net-auto-bottom i:nth-child(2){width:21px;height:6px;top:10px;left:9px}.mini-net-sleeve i:nth-child(3),.mini-net-seal-end i:nth-child(3),.mini-net-snap-lock i:nth-child(3),.mini-net-auto-bottom i:nth-child(3){width:21px;height:6px;top:24px;left:9px}.mini-net-seal-end:before,.mini-net-seal-end:after,.mini-net-snap-lock:before,.mini-net-snap-lock:after,.mini-net-auto-bottom:before,.mini-net-auto-bottom:after{content:"";background:#ffffffa6;border:1px solid #748064;width:5px;height:14px;position:absolute;top:12px}.mini-net-seal-end:before,.mini-net-snap-lock:before,.mini-net-auto-bottom:before{left:3px}.mini-net-seal-end:after,.mini-net-snap-lock:after,.mini-net-auto-bottom:after{right:3px}.mini-net-snap-lock:before{clip-path:polygon(100% 0,100% 34%,45% 50%,100% 66%,100% 100%,0 78%,0 22%)}.mini-net-auto-bottom:before{clip-path:polygon(100% 0,100% 100%,0 72%,38% 50%,0 28%)}.mini-net-gable i:first-child,.mini-net-gable i:nth-child(2){clip-path:polygon(0 28%,50% 0,100% 28%,100% 100%,0 100%);width:13px;height:19px;top:12px}.mini-net-gable i:first-child{left:6px}.mini-net-gable i:nth-child(2){left:20px}.mini-net-gable i:nth-child(3){width:12px;height:8px;top:27px;left:13px}.mini-net-rsc i:first-child,.mini-net-rsc i:nth-child(2),.mini-net-rsc i:nth-child(3){width:8px;height:17px;top:11px}.mini-net-rsc i:first-child{left:6px}.mini-net-rsc i:nth-child(2){left:15px}.mini-net-rsc i:nth-child(3){left:24px}.mini-net-rsc:before,.mini-net-rsc:after{content:"";background:#ffffffa6;border:1px solid #748064;width:26px;height:4px;position:absolute;left:6px}.mini-net-rsc:before{top:6px}.mini-net-rsc:after{top:29px}.divider{background:#e5e7e0;height:1px;margin:22px 0 20px}.option-divider{margin-top:25px}.carton-controls{gap:18px}.material-presets{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:9px;display:grid}.material-presets button{color:#737a6e;cursor:pointer;background:#f7f8f4;border:1px solid #dfe2da;border-radius:8px;min-height:29px;font-size:9px;font-weight:680}.material-presets button.active{color:#2a331d;background:#edf5dc;border-color:#9db950}.material-slider{margin-top:15px}.notch-options{border-top:1px solid #e5e7e0;gap:10px;margin-top:22px;padding-top:17px;display:grid}.notch-option-row{grid-template-columns:48px 1fr;align-items:center;gap:8px;display:grid}.notch-option-row>span{color:#6f756b;font-size:9px;font-weight:650}.compact-segment{background:#ecefe8;border-radius:9px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;padding:3px;display:grid}.compact-segment button{color:#777d73;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:27px;padding:0 6px;font-size:8px;font-weight:680}.compact-segment button.active{color:#27301b;background:#fff;box-shadow:0 1px 4px #262e1d1a}.unit-chip{color:#6e7569;background:#ecefe8;border-radius:6px;padding:3px 7px;font-size:9px;font-weight:700}.dimension-controls{gap:20px;margin-top:7px;display:grid}.control-row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.control-label{color:#535950;font-size:11px;font-weight:630}.value-field{color:#8b9187;background:#fff;border:1px solid #dfe2da;border-radius:8px;align-items:center;gap:3px;height:28px;padding:0 7px;font-size:9px;display:inline-flex}.number-input{width:35px;color:var(--ink);text-align:right;appearance:textfield;background:0 0;border:0;outline:0;padding:0;font-size:11px;font-weight:680}.number-input::-webkit-inner-spin-button{appearance:none;margin:0}.number-input::-webkit-outer-spin-button{appearance:none;margin:0}.range-input{--range-progress:50%;appearance:none;cursor:pointer;background:0 0;grid-column:1/-1;width:100%;height:14px;margin:-1px 0 0}.range-input::-webkit-slider-runnable-track{background:linear-gradient(var(--ink), var(--ink)) 0 / var(--range-progress) 100% no-repeat, #dfe3da;border-radius:99px;height:3px}.range-input::-webkit-slider-thumb{appearance:none;background:var(--ink);border:3px solid #fff;border-radius:50%;width:15px;height:15px;margin-top:-6px;box-shadow:0 1px 5px #10140e40}.range-input::-moz-range-track{background:#dfe3da;border-radius:99px;height:3px}.range-input::-moz-range-progress{background:var(--ink);border-radius:99px;height:3px}.range-input::-moz-range-thumb{background:var(--ink);border:3px solid #fff;border-radius:50%;width:11px;height:11px;box-shadow:0 1px 5px #10140e40}.reset-button{color:#82877e;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:26px;padding:0;font-size:10px;display:inline-flex}.reset-button:hover{color:var(--ink)}.preview-card{min-height:560px;position:relative;overflow:hidden}.card-header{z-index:5;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:20px;left:22px;right:22px}.card-kicker{color:#969c91;letter-spacing:.14em;font-size:9px;font-weight:780}.card-header h1,.card-header h2{letter-spacing:-.025em;margin:4px 0 0;font-size:16px;font-weight:710}.line-legend{color:#7d8379;gap:13px;font-size:9px;display:flex}.line-legend span{align-items:center;gap:6px;display:inline-flex}.line-legend i{border-top:1.5px solid;width:15px;height:0;display:block}.legend-cut{color:var(--cut)}.legend-fold{color:var(--fold);border-top-style:dashed!important}.dieline-stage,.three-stage{position:absolute;inset:0}.dieline-stage{background-image:linear-gradient(#2b322609 1px,#0000 1px),linear-gradient(90deg,#2b322609 1px,#0000 1px);background-position:-1px -1px;background-size:20px 20px;place-items:center;padding:68px 24px 54px;display:grid}.dieline-svg{filter:drop-shadow(0 12px 14px #39432c12);width:100%;height:100%;max-height:560px;overflow:visible}.panel{fill:#f8f9f4}.panel-base{fill:#f1f5e8}.panel-lid{fill:#f5f7ef}.panel-tab,.panel-dust,.panel-tuck,.panel-glue,.panel-lock,.panel-liner,.panel-seal,.panel-flap{fill:#f0f2eb}.panel-cover,.panel-roof{fill:#f4f6ee}.cut-lines polyline{fill:none;stroke:var(--cut);stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round}.fold-lines polyline{fill:none;stroke:var(--fold);stroke-width:1.1px;stroke-dasharray:5 4;stroke-linecap:round}.size-stamp{z-index:4;color:#878d82;align-items:baseline;gap:8px;font-size:9px;display:flex;position:absolute;bottom:19px;left:22px}.size-stamp span{margin-right:5px}.size-stamp strong{color:#3c4239;font-size:11px}.size-stamp small{font-size:8px}.model-card{background:radial-gradient(circle at 50% 44%,#f8faef 0,#f2f4ed 44%,#e9ede4 100%)}.model-card .card-header{pointer-events:auto}.three-stage{cursor:grab}.three-loading{background:radial-gradient(circle at 50% 44%,#f8faef 0,#0000 44%),#eef1ea;position:absolute;inset:0}.three-stage:active{cursor:grabbing}.play-button{cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #d8ddd2;border-radius:50%;place-items:center;width:36px;height:36px;transition:transform .16s,background .16s;display:grid}.play-button:hover{background:#fff;transform:scale(1.04)}.play-button svg{margin-left:1px}.fold-control{z-index:5;grid-template-columns:31px 1fr;align-items:center;gap:10px;display:grid;position:absolute;bottom:20px;left:22px;right:22px}.fold-control>span{color:#626960;font-variant-numeric:tabular-nums;font-size:9px}.fold-range{grid-column:auto}.orbit-hint{z-index:4;color:#9da399;letter-spacing:.04em;writing-mode:vertical-rl;pointer-events:none;font-size:8px;position:absolute;top:50%;right:13px;transform:translateY(-50%)}@media (max-width:1160px){.workspace{grid-template-columns:250px minmax(370px,1fr)}.model-card{grid-column:2;min-height:420px}.dieline-card{grid-row:span 2}}@media (max-width:820px){.topbar{height:64px;padding:0 14px}.brand{font-size:11px}.brand-mark{width:32px;height:32px}.mode-pill{height:32px}.workspace{flex-direction:column;gap:10px;min-height:calc(100vh - 64px);padding:10px;display:flex}.controls-panel{order:0;max-height:none;padding:0;overflow:hidden}.mobile-controls-trigger{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:58px;padding:0 16px;font-size:12px;font-weight:700;display:flex}.mobile-controls-trigger span{gap:3px;display:grid}.mobile-controls-trigger small{color:#858b81;font-size:9px;font-weight:500}.mobile-controls-trigger svg{transition:transform .2s}.controls-panel.is-open .mobile-controls-trigger svg{transform:rotate(180deg)}.controls-content{opacity:0;max-height:0;padding:0 16px;transition:max-height .26s,opacity .18s,padding .26s;overflow:hidden}.controls-panel.is-open .controls-content{opacity:1;max-height:4200px;padding:8px 16px 20px}.type-switcher{grid-template-columns:1fr 1fr}.preview-card{min-height:520px}.model-card{min-height:430px}.model-card,.dieline-card{grid-area:auto}}@media (max-width:560px){.topbar{grid-template-columns:auto 1fr auto}.brand>span:last-child{display:none}.mode-pill{justify-self:center;margin:0}.export-button{min-width:72px;padding:0 13px}.preview-card{border-radius:15px;min-height:min(505px,68vh)}.model-card{min-height:min(430px,60vh)}.card-header{top:16px;left:16px;right:16px}.dieline-stage{background-size:18px 18px;padding:64px 12px 50px}.size-stamp{bottom:15px;left:16px;right:16px}.size-stamp span{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.line-legend{gap:9px}.fold-control{bottom:16px;left:16px;right:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
