:root{color:#17201d;font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef0ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:1.4}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}#root{min-height:100svh}.app-shell{color:#17201d;background:#eef0ed;grid-template-rows:auto minmax(0,1fr) auto;height:100svh;min-height:0;display:grid;overflow:hidden}.topbar{background:#fafaf6f5;border-bottom:1px solid #d9ddd7;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:10px 18px;display:flex}.topbar h1,.topbar p,.section-heading h2{margin:0}.topbar h1{font-size:19px;font-weight:680;line-height:1.1}.topbar p{color:#657069;font-size:12px}.topbar-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.brand-switch{background:#f0f2ed;border:1px solid #cdd3cc;border-radius:8px;gap:2px;padding:2px;display:inline-flex}.brand-switch button{color:#293531;min-width:68px;height:30px;font:inherit;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:12px;font-weight:760}.brand-switch button:hover:not(:disabled){background:#fbfbf8}.brand-switch button.is-active,.brand-switch button.is-active:hover:not(:disabled){color:#f8faf5;background:#203a36}.brand-switch button:disabled{cursor:not-allowed;opacity:.48}.button{color:#17201d;min-height:34px;font:inherit;background:#fbfbf8;border:1px solid #cdd3cc;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:620;text-decoration:none;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.button:hover:not(:disabled){background:#f4f3ed;border-color:#aeb7b0}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.45}.button-primary{color:#f8faf5;background:#203a36;border-color:#203a36}.button-primary:hover:not(:disabled){background:#162b28;border-color:#162b28}.workspace{grid-template-columns:minmax(0,1fr) 332px;min-height:0;display:grid;overflow:hidden}.stage{background-color:#0000;background-image:linear-gradient(#dfe4dd 1px,#0000 1px),linear-gradient(90deg,#dfe4dd 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-width:0;min-height:0;position:relative;overflow:hidden}.dieline-canvas{width:100%;height:100%;display:block}.dieline-canvas.is-stage-hidden{opacity:0;pointer-events:none}.dieline-canvas.is-manual-selecting{cursor:crosshair;touch-action:none}.folded-preview{z-index:1;background:#e6e9e3;position:absolute;inset:0;overflow:hidden}.folded-preview-canvas,.folded-preview-webgl{width:100%;height:100%;display:block}.folded-preview-webgl{cursor:grab;touch-action:none}.folded-preview-webgl:active{cursor:grabbing}.folded-preview-empty{color:#657069;text-align:center;justify-content:center;align-items:center;padding:24px;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.stage-mode-switch{z-index:5;background:#fafaf6f2;border:1px solid #17201d29;border-radius:8px;gap:2px;padding:2px;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 10px 28px #17201d1f}.stage-mode-switch button{color:#293531;min-width:48px;height:30px;font:inherit;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:12px;font-weight:760}.stage-mode-switch button:hover:not(:disabled){background:#eff2ec}.stage-mode-switch button.is-active,.stage-mode-switch button.is-active:hover:not(:disabled){color:#f8faf5;background:#203a36}.stage-mode-switch button:disabled{cursor:not-allowed;opacity:.48}.drop-target{z-index:2;color:#293531;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.drop-target strong{font-size:17px;font-weight:650}.drop-target.is-dragging{background:#e8ede7b8}.drop-target.is-processing{background:#eef0edc2;gap:12px}.drop-target.is-processing strong{text-align:center;max-width:min(360px,100% - 48px);font-size:15px;line-height:1.25}.upload-progress-icon{color:#203a36;background:#fafaf6f5;border:1px solid #203a3629;border-radius:12px;justify-content:center;align-items:center;width:54px;height:54px;display:inline-flex}.upload-progress-percent{color:#657069;font-size:12px;font-weight:700}.processing-state{z-index:3;color:#17201d;background:#fafaf6f0;border:1px solid #203a362e;border-radius:8px;align-items:center;gap:10px;min-width:min(310px,100% - 36px);padding:10px 12px;display:inline-flex;position:absolute;bottom:18px;left:18px;box-shadow:0 12px 38px #17201d21}.processing-spinner{border:2px solid #bcc7bf;border-top-color:#203a36;border-radius:50%;flex:none;width:14px;height:14px;animation:.85s linear infinite spin}.processing-state-content{flex:1;gap:7px;min-width:0;display:grid}.processing-state strong{font-size:12px;font-weight:700}.processing-progress{background:#d8ded6;border-radius:999px;width:min(280px,100vw - 80px);height:7px;position:relative;overflow:hidden}.processing-progress span{border-radius:inherit;background:linear-gradient(90deg,#0000,#ffffff47,#0000) 0 0/72px 100%,#203a36 0 0/100% 100%;width:0;height:100%;transition:width .18s;animation:.9s linear infinite progress-shimmer;display:block}.manual-panel-state{z-index:3;color:#17201d;background:#fafaf6f5;border:1px solid #1118272e;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;display:inline-flex;position:absolute;bottom:18px;left:18px;box-shadow:0 12px 38px #17201d21}.manual-panel-state strong{text-transform:capitalize;font-size:12px;font-weight:750}.manual-panel-state span{color:#657069;font-size:12px}.manual-panel-state button,.text-button{color:#153f8a;font:inherit;background:0 0;border:0;padding:0;font-size:12px;font-weight:720}.manual-panel-state button:hover,.text-button:hover{color:#0d2f68;text-decoration:underline}.manual-draw-hint{z-index:3;color:#17201d;pointer-events:none;background:#fafaf6f7;border:1px solid #1f78d13d;border-radius:8px;align-items:center;gap:8px;max-width:min(360px,100% - 36px);padding:9px 12px;display:inline-flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 38px #17201d1f}.manual-draw-hint span{overflow-wrap:anywhere;font-size:12px;font-weight:720;line-height:1.25}.manual-draw-hint svg{color:#1f78d1;flex:none}.inspector{background:#f8f8f4;border-left:1px solid #d9ddd7;min-height:0;overflow-y:auto}.inspector-section{border-bottom:1px solid #d9ddd7;padding:16px}.section-heading{align-items:center;gap:8px;margin-bottom:12px;display:flex}.section-heading h2{font-size:13px;font-weight:700;line-height:1.2}.metric-list{grid-template-columns:1fr 1fr;gap:10px 14px;margin:0;display:grid}.warning-list{color:#8a5d11;gap:7px;margin:14px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.warning-list li{border-left:2px solid #d39a2f;padding-left:8px}.warning-actions{flex-wrap:wrap;gap:8px 12px;margin-top:6px;display:flex}.face-list{gap:6px;margin-top:14px;display:grid}.face-row{color:#657069;border-top:1px solid #e3e6e0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:28px;padding-top:6px;font-size:12px;transition:background .14s,border-color .14s,box-shadow .14s;display:grid}.face-row strong{color:#17201d;text-transform:capitalize;font-size:12px;font-weight:700}.face-row-panel{border-radius:6px;grid-template-columns:minmax(0,1fr) 28px}.face-row-panel.is-selected{background:#edf5fb;border-top-color:#0000;box-shadow:inset 3px 0 #1f78d1}.face-row-panel.is-missing .face-row-main span{color:#9aa39d}.face-row-main{width:100%;min-width:0;min-height:28px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0;display:grid}.face-row-main:hover strong{color:#153f8a}.face-row-panel.is-selected .face-row-main{padding-left:8px}.face-row-main span,.face-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.face-edit-button{justify-self:end}.icon-button:disabled{cursor:not-allowed;opacity:.45}.render-gallery{overscroll-behavior-x:contain;background:#e3e6e0;border-top:1px solid #d9ddd7;grid-auto-columns:clamp(180px,18vw,248px);grid-auto-flow:column;gap:8px;min-width:0;height:152px;padding:8px;display:grid;overflow:auto hidden}.render-item{background:#f8f8f4;border:1px solid #d3d8d1;border-radius:7px;min-width:0;overflow:hidden}.render-preview{background:#f8f8f4;border:0;width:100%;padding:0;display:block}.render-preview img{object-fit:contain;background:#e8ebe5;width:100%;height:100px;transition:filter .14s,transform .14s;display:block}.render-preview:hover img{filter:contrast(1.02)saturate(1.02)}.render-item div{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-height:34px;padding:0 8px 0 10px;display:flex}.render-controls{align-items:center;gap:4px;display:flex}.render-item strong{text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.lightbox{z-index:20;background:#0b0f0ed1;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;gap:12px;padding:58px 24px 28px;display:grid;position:fixed;inset:0}.lightbox-figure{justify-self:center;min-width:0;max-width:min(1280px,100%);margin:0}.lightbox-figure img{object-fit:contain;background:#f8f8f4;width:100%;max-height:calc(100svh - 150px);display:block;box-shadow:0 22px 70px #00000061}.lightbox-figure figcaption{color:#f8faf5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding-top:12px;display:flex}.lightbox-controls{align-items:center;gap:8px;display:flex}.lightbox-controls .icon-button{color:#f8faf5;background:#f8faf51f;border-color:#f8faf533;width:32px;height:32px}.lightbox-controls .icon-button:hover{background:#f8faf533;border-color:#f8faf54d}.lightbox-figure strong{text-transform:capitalize;font-size:15px;font-weight:750}.lightbox-close,.lightbox-nav{color:#f8faf5;background:#f8faf51f;border:1px solid #f8faf529;border-radius:8px;justify-content:center;align-items:center;transition:background .14s,transform .14s;display:inline-flex}.lightbox-close:hover,.lightbox-nav:hover{background:#f8faf533}.lightbox-close:active,.lightbox-nav:active{transform:translateY(1px)}.lightbox-close{width:38px;height:38px;position:absolute;top:18px;right:18px}.lightbox-nav{justify-self:center;width:48px;height:64px}.icon-button{color:#17201d;background:#fff;border:1px solid #cdd3cc;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .14s,border-color .14s,transform .14s;display:inline-flex}.icon-button:hover{background:#f4f3ed;border-color:#aeb7b0}.icon-button.is-active{color:#153f8a;background:#edf5fb;border-color:#1f78d1a8;box-shadow:0 0 0 2px #1f78d129}.icon-button.is-active:hover{background:#e4f0fa;border-color:#1f78d1c7}.icon-button:active{transform:translateY(1px)}.metric-list div{min-width:0}.metric-list dt{color:#657069;font-size:11px;line-height:1.2}.metric-list dd{color:#17201d;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:12px;font-weight:650;overflow:hidden}.toggle-row{color:#293531;align-items:center;gap:9px;min-height:28px;font-size:13px;display:flex}.toggle-row+.toggle-row{margin-top:6px}.toggle-row input{accent-color:#203a36}.legend-swatch{border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #17201d29}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress-shimmer{0%{background-position:-72px 0,0 0}to{background-position:72px 0,0 0}}@media (width<=860px){.app-shell{grid-template-rows:auto minmax(0,1fr) auto}.topbar{flex-direction:column;align-items:flex-start;height:auto;min-height:64px;padding:12px 16px}.workspace{grid-template-rows:minmax(0,1fr) minmax(132px,34%);grid-template-columns:1fr}.inspector{border-top:1px solid #d9ddd7;border-left:0}.render-gallery{grid-auto-columns:minmax(168px,62vw);height:140px}.render-preview img{height:88px}.stage-mode-switch{top:10px;right:10px}.lightbox{grid-template-columns:48px minmax(0,1fr) 48px;gap:4px;padding:58px 10px 22px}.lightbox-nav{width:42px;height:56px}}
