@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap";:root{font-family:DM Sans,sans-serif;color:#303d37;background:#f6f5f0;font-synthesis:none;font-size:13px;--selected-bg:#e2ead8;--selected-border:#7d956c;--selected-text:#38522f}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}button:disabled{opacity:.35;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #b46c4b;outline-offset:3px}svg{width:17px;height:17px;stroke-width:1.6}header{height:77px;display:flex;align-items:center;padding:0 30px;border-bottom:1px solid #dedfd6;gap:16px;background:#faf9f5}.brandmark{width:35px;height:35px;background:#304e40;color:#faf6ed;display:grid;place-items:center;flex-shrink:0;border-radius:10px}.brandmark img{width:32px;height:32px}.brand{font-family:Playfair Display,serif;font-size:27px;letter-spacing:-1px;white-space:nowrap}.brand span{font-family:DM Sans,sans-serif;text-transform:uppercase;font-size:10px;letter-spacing:2px;margin-left:17px;color:#879088}.header-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.save-status{color:#8c938a;font-size:11px;margin-right:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid #d8dcd2;border-radius:6px;background:#faf9f5;font-weight:550}.btn.primary{background:#314f40;color:#fff;border-color:#314f40}.projectbar{height:64px;padding:0 30px;display:flex;align-items:center;gap:16px;border-bottom:1px solid #dedfd6}.projectbar h1{font-family:Playfair Display,serif;font-weight:500;font-size:24px;margin:0 0 5px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:9px;font-weight:650;color:#8e9589}.projectbar select{margin-left:auto;border:1px solid #d4d9cd;background:#fffefa;border-radius:6px;padding:11px 34px 11px 14px;color:#425447}.model-info{font-size:11px;color:#81897d}.workspace{display:grid;grid-template-columns:224px minmax(360px,1fr) 300px;min-height:calc(100vh - 171px)}aside{padding:23px 20px;border-right:1px solid #dedfd6;background:#f9f8f3}.section-title{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;color:#737f71;font-weight:650;margin-bottom:17px}.section-title svg{width:14px}.tools{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tool{display:flex;flex-direction:column;align-items:center;gap:9px;border:1px solid #e0e2d9;border-radius:6px;padding:13px 5px;color:#7c867b;font-size:11px;background:#fdfcf8}.tool svg{width:21px;height:21px}.tool.active{background:#e7ecdf;border-color:#a9b79c;color:#3d5b43}.divider{height:1px;background:#e1e3d9;margin:24px 0}.labelrow{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:18px 0 10px;color:#7b8477}.value{color:#43533e;font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:#667d59;height:3px;cursor:pointer}.brush-example{height:44px;margin:16px 0 0;border:1px solid #e4e5dd;background:#fffefa;border-radius:5px;overflow:hidden}.brush-example svg{width:100%;height:100%}.swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.swatch{width:23px;height:23px;border-radius:50%;background:var(--color);border:3px solid #f9f8f3;outline:1px solid transparent}.swatch.active{outline-color:#708267}.custom-color{display:flex;align-items:center;gap:8px;font-size:10px;color:#808a7b;margin-top:15px}input[type=color]{border:1px solid #cdd2c7;padding:2px;background:#fff;width:25px;height:25px;border-radius:50%;cursor:pointer}.full{width:100%}.hint{font-size:10px;line-height:1.7;color:#949b8e;margin:10px 0 0}.main{background:#eeefe8;display:flex;flex-direction:column;min-width:0;position:relative}.canvasbar{height:57px;display:flex;align-items:center;padding:0 25px;gap:10px;border-bottom:1px solid #e1e3d9;background:#f6f6ef}.face-dot{width:7px;height:7px;border-radius:50%;background:#d76c49}.canvasbar strong{font-size:12px;font-weight:550}.pill{font-size:9px;border:1px solid #d5dacd;padding:4px 7px;border-radius:4px;color:#86907f;margin-left:3px}.canvas-actions{margin-left:auto;display:flex;gap:8px}.iconbtn{width:29px;height:29px;display:grid;place-items:center;border-radius:4px}.iconbtn:hover{background:#e0e5d8}.canvas-space{flex:1;display:flex;align-items:center;justify-content:center;min-height:440px;padding:22px;position:relative;background-image:radial-gradient(#c7cdbd .65px,transparent .65px);background-size:15px 15px}.canvas-wrap{width:min(100%,650px);aspect-ratio:1;position:relative;filter:drop-shadow(0 12px 15px #3e493510)}#canvas{width:100%;height:100%;touch-action:none;display:block;cursor:crosshair}.canvas-caption{position:absolute;bottom:21px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.4px;color:#99a08f;pointer-events:none}.canvasfooter{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#f6f6ef;border-top:1px solid #dfe3d6;font-size:10px;color:#8a9480}.canvasfooter label{display:flex;align-items:center;gap:7px}input[type=checkbox]{accent-color:#536e47}.preview-panel{border-left:1px solid #dedfd6;background:#f9f8f3;display:flex;flex-direction:column;max-height:calc(100vh - 141px)}.preview-head{padding:24px 20px 18px;border-bottom:1px solid #e2e4d9}.preview-head h2{font-family:Playfair Display,serif;font-size:21px;font-weight:500;margin:0 0 6px}.preview-head p{font-size:10px;color:#939a8b;margin:0;line-height:1.6}.previews{overflow:auto;padding:20px;flex:1}.face-group{margin-bottom:24px}.face-label{font-size:10px;display:flex;justify-content:space-between;align-items:center;color:#78846f;margin-bottom:10px}.face-label span:first-child{display:flex;align-items:center;gap:7px}.face-label span:last-child{font-size:9px;color:#9aa18f}.orientation-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.preview{padding:3px 3px 7px;border:1px solid #e0e3d8;border-radius:5px;background:#fdfcf8;text-align:center;position:relative;font-size:9px;color:#89937e}.preview.selected{border-color:#7d956c;background:#f1f4e9;box-shadow:0 0 0 1px #7d956c}.preview canvas{width:100%;display:block}.preview.selected:after{content:"✓";position:absolute;top:7px;right:7px;background:#59724a;color:#fff;border-radius:50%;width:13px;height:13px;font-size:9px}.preview-bottom{border-top:1px solid #e1e4d9;padding:15px 20px;font-size:10px;color:#89957d;display:flex;align-items:center;gap:9px}.bottom{height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-top:1px solid #dedfd6;font-size:9px;color:#939b8a;background:#f9f8f3}.bottom button{font-size:9px;color:#687e5a;text-decoration:underline}.toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%);background:#304e40;color:#fff;padding:12px 22px;border-radius:6px;box-shadow:0 5px 20px #0002;z-index:10;max-width:90%;font-size:12px}.hidden{display:none!important}dialog{border:1px solid #d5dacb;border-radius:12px;padding:28px;color:#374933;background:#faf9f4;max-width:550px;width:90%;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#23332770;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog h2{font-family:Playfair Display,serif;font-size:26px;font-weight:500;margin-top:0}dialog p{line-height:1.7;color:#7b8572;font-size:12px}dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:23px}dialog label{display:block;margin:14px 0}dialog select{margin-left:10px;padding:6px;border:1px solid #d5dacb;background:#fff}dialog a{color:#507445}.key{border:1px solid #d4d9cb;border-radius:3px;padding:1px 4px;font-size:9px}#imageControls{padding:12px;background:#e8ecdf;border-bottom:1px solid #d1d9c5;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11px}#imageControls input{width:85px}#imageControls label{display:flex;align-items:center;gap:5px}@media(min-width:1450px){.workspace{grid-template-columns:244px minmax(360px,1fr) 330px}aside{padding:25px}.canvas-space{min-height:560px}}@media(max-width:1000px){.workspace{grid-template-columns:180px minmax(300px,1fr) 240px}aside{padding:20px 13px}.preview-head,.previews{padding:17px 13px}.brand span,.save-status{display:none}.swatches{gap:4px}.swatch{width:21px;height:21px}}@media(max-width:760px){header{padding:12px 14px;min-height:65px;height:auto;flex-wrap:wrap;gap:10px}.header-actions{gap:4px}.header-actions .btn{padding:8px;font-size:10px}.brand{font-size:22px}.projectbar{padding:12px 14px;height:auto;flex-wrap:wrap;gap:10px}.projectbar h1{font-size:20px}.projectbar select{max-width:175px;padding:9px}.workspace{grid-template-columns:135px minmax(200px,1fr)}.preview-panel{grid-column:1/-1;max-height:420px;border-top:1px solid #ddd}.previews{display:flex;gap:22px}.face-group{min-width:220px}.preview-head{padding:15px}.canvas-space{padding:0;min-height:340px}aside{padding:17px 10px}.tools{gap:4px}.tool{padding:10px 3px}.swatches{grid-template-columns:repeat(4,1fr)}.canvasbar{padding:0 10px;gap:5px}.canvasbar .pill{display:none}.canvas-actions{gap:0}.canvasfooter{padding:0 10px}.canvas-caption{font-size:8px}.bottom{height:auto;min-height:30px;gap:12px}.model-info{font-size:10px}.btn{padding:8px 9px}.brandmark{display:grid}.header-actions{width:100%;justify-content:flex-end}}.sample-toggle,.panel-swap-toggle{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#63745b;font-size:11px;cursor:pointer}.sample-toggle{margin-left:auto}.workspace{--tools-default:224px;--preview-default:300px;grid-template-columns:var(--tools-width,var(--tools-default)) 6px minmax(300px,1fr) 6px var(--preview-width,var(--preview-default))}.workspace>aside,.workspace>.preview-panel{min-width:0;border-left:0;border-right:0}.panel-resizer{position:relative;background:#dedfd6;cursor:col-resize;touch-action:none;z-index:2;outline-offset:-2px}.panel-resizer:after{content:"";position:absolute;left:1px;top:50%;width:4px;height:40px;border-radius:3px;background:#b4bda9;transform:translateY(-50%)}.panel-resizer:hover,.panel-resizer:focus-visible,.panel-resizer.dragging{background:#bdc9b0}.panel-resizer:hover:after,.panel-resizer:focus-visible:after,.panel-resizer.dragging:after{background:#617b50}.resizing-panels,.resizing-panels *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media(min-width:1450px){.workspace{--tools-default:244px;--preview-default:330px}}@media(min-width:761px)and (max-width:1000px){.workspace{--tools-default:180px;--preview-default:240px}}.workspace-scroll{width:100%;overflow-x:auto}.workspace{min-width:712px}.workspace>aside{grid-column:1;grid-row:1}#toolsDivider{grid-column:2;grid-row:1}.workspace>.main{grid-column:3;grid-row:1}#previewDivider{grid-column:4;grid-row:1}.workspace>.preview-panel{grid-column:5;grid-row:1;border-top:0;max-height:calc(100vh - 141px)}.workspace.panels-swapped{grid-template-columns:var(--preview-width,var(--preview-default)) 6px minmax(300px,1fr) 6px var(--tools-width,var(--tools-default))}.workspace.panels-swapped>.preview-panel{grid-column:1}.workspace.panels-swapped>#previewDivider{grid-column:2}.workspace.panels-swapped>#toolsDivider{grid-column:4}.workspace.panels-swapped>aside{grid-column:5}.workspace .previews{display:block}.workspace .face-group{min-width:0}@media(max-width:760px){.workspace{--tools-default:180px;--preview-default:220px}}.tool[data-tool=lasso]{grid-column:1/-1;flex-direction:row;justify-content:center;padding:9px}#selectionControls{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:10px 14px;background:#e8ecdf;border-bottom:1px solid #d1d9c5;font-size:11px}#selectionControls .btn{padding:6px 10px;font-size:11px}.brush-picker-button{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;padding:8px 10px;margin-bottom:12px;border:1px solid #cbd4c0;background:#fdfcf8;border-radius:6px;text-align:left;font-size:11px}.brush-picker-button canvas{grid-column:1/-1;width:100%;height:44px;object-fit:contain}#brushPicker{position:fixed;margin:0;padding:16px;width:min(340px,calc(100vw - 16px));max-height:min(450px,calc(100vh - 16px));overflow:auto;border:1px solid #ccd5c1;border-radius:9px;background:#faf9f4;box-shadow:0 12px 45px #24351f30;color:#35482d}.brush-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.brush-picker-head .btn{padding:5px 9px;font-size:10px}.brush-category{display:flex;align-items:center;justify-content:space-between;font-size:11px;margin-bottom:14px}.brush-category select{padding:6px;border:1px solid #d4d9ca;border-radius:4px;background:#fff;color:inherit}#brushList{display:grid;grid-template-columns:1fr 1fr;gap:8px}.brush-card{border:1px solid #dce1d4;border-radius:5px;background:#fffef9;padding:6px;font-size:10px;text-align:left}.brush-card canvas{width:100%;height:44px;object-fit:contain;display:block}.brush-card[aria-pressed=true]{background:#e8eddf;border-color:#7f976d}.canvas-viewbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid #dce1d3;background:#f6f6ef;font-size:10px}.canvas-viewbar .btn{padding:5px 8px;font-size:10px}.canvas-viewbar .tool{display:flex;flex-direction:row;gap:5px;padding:5px 9px}.canvas-viewbar label{display:flex;align-items:center;gap:4px;margin-left:4px}.canvas-viewbar input{width:57px;padding:4px;border:1px solid #d4dacc;border-radius:4px;background:#fffef9;color:inherit}.canvas-viewbar .hint{margin:0 0 0 auto;font-size:9px}.canvas-viewbar .zoom-input{gap:0;margin-left:0;padding-right:5px;border:1px solid #d4dacc;border-radius:4px;background:#fffef9}.canvas-viewbar #zoomValue{width:26px;min-width:0;text-align:right;font-variant-numeric:tabular-nums;padding:4px 1px;border:0;background:transparent;color:inherit;outline-offset:0}.view-control-group{display:inline-flex;align-items:stretch}.view-control-group>*{height:29px;border:1px solid #d4dacc!important;border-radius:0!important;margin:0 0 0 -1px!important;background:#fffef9}.view-control-group>*:first-child{margin-left:0!important;border-radius:5px 0 0 5px!important}.view-control-group>*:last-child{border-radius:0 5px 5px 0!important}.view-control-group .iconbtn{width:29px}.view-control-group .btn:hover,.view-control-group .iconbtn:hover{background:#e7ecdf}.canvas-viewbar #handTool.active{background:#dfe8d5;border-color:#92a783;color:#38522f}.canvas-space{overflow:hidden;isolation:isolate;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.canvas-wrap{flex-shrink:0;transform-origin:center;will-change:transform}.canvas-space.pan-mode #canvas{cursor:grab}.canvas-space.panning #canvas{cursor:grabbing}.canvas-space[data-tool=eyedropper] #canvas{cursor:crosshair}.tool[data-tool=lasso]{grid-column:auto;flex-direction:column;padding:13px 5px}.tool[data-tool=eyedropper]{font-size:10px}#recentColors{grid-template-columns:repeat(6,1fr);min-height:24px}#recentColors .hint{grid-column:1/-1;margin:0}.transform-options{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.transform-options label{display:flex;align-items:center;gap:4px;font-size:10px}.transform-options input{width:60px;padding:5px;background:#fffef9;border:1px solid #cdd5c3;border-radius:4px;color:inherit}.transform-options button[aria-pressed=true]{background:#ccd9bf;border-color:#8ba375}html,body{height:100%;overflow:hidden}#app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}#app>header,#app>.projectbar,#app>.bottom,#recoveryBanner,#backupNotice{flex-shrink:0}.workspace-scroll{flex:1;min-height:0;overflow-y:hidden}.workspace{height:100%;min-height:0;grid-template-rows:minmax(0,1fr)}.workspace>aside{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain}.workspace>.preview-panel{height:100%;max-height:none;min-height:0;overflow:hidden}.preview-head{flex-shrink:0}.previews{min-height:0;overscroll-behavior:contain}.workspace>.main{height:100%;min-height:0;overflow:hidden}.canvasbar,.canvas-viewbar,.canvasfooter,#imageControls,#selectionControls{flex-shrink:0}.canvas-space{min-height:0;min-width:0;padding:1px}.canvas-wrap{width:720px;height:720px;max-width:none;aspect-ratio:1}#selectionControls{max-height:38%;overflow-y:auto}#recoveryBanner,#backupNotice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 20px;border-bottom:1px solid #ced8c3;background:#e8eddf;color:#4d6540;font-size:11px}#backupNotice{background:#f2ead8;border-color:#ded0af;color:#66583b}#recoveryBanner>div,#backupNotice>div{display:flex;align-items:center;gap:6px}#recoveryBanner .btn,#backupNotice .btn{padding:5px 9px;font-size:10px}#saveStatus[role=button]{cursor:pointer}#saveStatus[role=button]:hover{text-decoration:underline}@media(max-height:600px){.canvasbar{height:42px}.canvasfooter{height:34px}.canvas-viewbar .hint{display:none}}#saveStatus[role=button]:focus-visible{outline:2px solid #b46c4b;outline-offset:3px;border-radius:3px}@media(max-width:1000px){.save-status[role=button]{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;margin-right:0;font-size:0}.save-status[role=button]:before{content:"↶";font-size:19px;color:#657b58}}.preview{background:#edf0e9;border-color:#d9ded2;color:#77836f;padding:1px 1px 5px}.preview:hover{background:#e7ece2;border-color:#c6d0bd}.preview.selected{background:#e2ead8}.selection-mode{display:inline-flex;border:1px solid #c5d0bc;border-radius:6px;overflow:hidden}.selection-mode .btn{border:0;border-radius:0;background:#f8f9f4}.selection-mode .btn+button{border-left:1px solid #c5d0bc}.selection-mode .btn{display:grid;place-items:center;width:37px;height:32px;padding:0;color:#687764}.selection-mode .btn:hover{background:#edf1e8;color:#425a3e}.selection-mode .btn svg{display:block;width:19px;height:15px;overflow:visible}.freeform-selection-icon .selection-outline,.rectangle-selection-icon .selection-outline{fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3.2 2.2;vector-effect:non-scaling-stroke}.rectangle-selection-icon{width:19px;height:15px}.selection-mode .btn[aria-pressed=true]{background:#cbd9bf;color:#344d2b;box-shadow:inset 0 0 0 1px #91a983}.selection-mode .btn .freeform-selection-icon{width:23px;height:17px}.swatch{box-shadow:inset 0 0 0 1px #39463824}.panel-tab-content .swatches{grid-template-columns:repeat(6,21px);justify-content:space-between;gap:6px}.panel-tab-content .swatch{width:21px;height:21px}.background-controls{display:flex;align-items:center}.background-controls .btn{padding:5px 8px;font-size:10px}.zoom-input input[type=number],.angle-input input[type=number]{appearance:textfield;-moz-appearance:textfield}.zoom-input input[type=number]::-webkit-inner-spin-button,.zoom-input input[type=number]::-webkit-outer-spin-button,.angle-input input[type=number]::-webkit-inner-spin-button,.angle-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.canvasbar{height:49px;padding:0 12px;gap:8px;overflow-x:auto;overflow-y:hidden}.canvasbar .face-dot{flex:0 0 auto}.canvasbar strong,.canvasbar .pill{white-space:nowrap}.canvasbar .pill{margin-left:1px}.canvas-view-controls{display:flex;align-items:center;gap:8px;margin-left:4px;white-space:nowrap;flex:0 0 auto}.canvas-view-controls .btn{padding:5px 8px;font-size:10px}.canvas-view-controls label{display:flex;align-items:center;gap:0;margin:0}.canvas-view-controls input{border:0;background:transparent;color:inherit;outline-offset:0;font-variant-numeric:tabular-nums;text-align:right;padding:4px 1px}.canvas-view-controls .zoom-input{padding-right:5px}.canvas-view-controls #zoomValue{width:26px;min-width:0}.canvas-view-controls #handTool{display:flex;flex-direction:row;gap:5px;padding:5px 9px;height:29px}.canvas-view-controls #handTool.active{background:#dfe8d5;border-color:#92a783;color:#38522f}.canvasbar .canvas-actions{margin-left:auto;gap:3px;flex:0 0 auto}.transform-options label:has(.selection-stepper){gap:0}.selection-stepper{display:inline-flex}.selection-stepper .selection-value-box{display:flex;align-items:center;padding:0 1px;background:#fffef9}.selection-stepper input{width:24px!important;min-width:0;padding:4px 0!important;border:0!important;background:transparent!important;text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}.selection-stepper input::-webkit-inner-spin-button,.selection-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.selection-stepper .iconbtn{width:29px;padding:0}@media(max-width:760px){.canvasbar{padding:0 8px}.canvasbar .pill{display:none}}.projectbar{gap:13px}.projectbar select{margin-left:0}.project-title{display:block}.project-title input{width:170px;padding:8px 10px;border:1px solid #d4d9cd;border-radius:6px;background:#fffefa;color:#425447}.project-title input::placeholder{color:#9aa18f}.project-options{margin-left:auto;display:flex;align-items:center;gap:8px}.project-options .sample-toggle{margin-left:0;margin-right:3px}.project-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid #d8dcd2;border-radius:6px;background:#faf9f5;color:#65755f}.project-icon:hover{background:#edf1e8;color:#3f5840}.project-icon[aria-pressed=true]{background:var(--selected-bg);border-color:var(--selected-border);color:var(--selected-text)}.recent-title{margin:15px 0 8px;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#8a9384;font-weight:650}.asset-formats{text-align:center;letter-spacing:.2px}.panel-tabs{display:flex;margin:0 0 19px;border:1px solid #cfd7c7;border-radius:6px;overflow:hidden}.panel-tab{flex:1;padding:7px 5px;background:#fdfcf8;color:#77836f;font-size:11px;font-weight:600}.panel-tab+.panel-tab{border-left:1px solid #cfd7c7}.panel-tab.active{background:var(--selected-bg);color:var(--selected-text)}.panel-tab-content[hidden]{display:none}.asset-library-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.asset-library-head[hidden]{display:none}.asset-library-head .section-title{margin-bottom:0}.asset-library-actions{display:flex;align-items:center;gap:7px}.asset-library-actions .btn{padding:5px 8px;font-size:10px}.asset-library-count{font-size:10px;color:#879184}.image-library{display:grid;grid-template-columns:1fr 1fr;gap:8px}.image-library>.hint{grid-column:1/-1;margin:0}.image-library-card{position:relative;min-width:0;border:1px solid #dce1d4;border-radius:6px;background:#fffef9;overflow:hidden}.image-library-use{display:block;width:100%;padding:5px;text-align:left}.image-library-use:hover{background:#edf1e8}.image-library-use img{display:block;width:100%;height:68px;object-fit:contain;background:#f1f2ec}.image-library-use span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 2px 1px;font-size:10px;color:#596957}.image-library-remove{position:absolute;top:7px;right:7px;width:18px;height:18px;border-radius:50%;background:#fdfcf8cc;color:#71806d;font-size:15px;line-height:1}.image-library-remove:hover{background:#eadfd8;color:#8c4e3d}.asset-create-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.asset-create-buttons .btn{padding:8px 5px;font-size:10px}.asset-creation-controls{display:grid;gap:9px;margin-top:12px;padding:10px;border:1px solid #dce2d4;border-radius:6px;background:#fdfcf8}.asset-creation-controls label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#667461}.asset-creation-controls input[type=text],.asset-creation-controls select{min-width:0;width:118px;padding:5px 6px;border:1px solid #d5dacb;border-radius:4px;background:#fff;color:inherit}.asset-creation-controls input[type=color]{width:24px;height:24px}dialog h3{margin:22px 0 10px;font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#6e7b69}.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;color:#6f7a69;font-size:11px}.shortcut-grid span{display:flex;align-items:center;gap:8px}kbd{min-width:48px;padding:3px 6px;border:1px solid #d2d8ca;border-bottom-width:2px;border-radius:4px;background:#fffef9;color:#42533d;font:10px DM Sans,sans-serif;text-align:center}.tool.active,.brush-card[aria-pressed=true],.canvas-view-controls #handTool.active,.selection-mode .btn[aria-pressed=true]{background:var(--selected-bg);border-color:var(--selected-border);color:var(--selected-text)}.preview.selected{background:var(--selected-bg);border-color:var(--selected-border);color:var(--selected-text);box-shadow:0 0 0 1px var(--selected-border)}.transform-options button[aria-pressed=true]{background:var(--selected-bg);border-color:var(--selected-border);color:var(--selected-text)}@media(max-width:760px){.project-title{order:3;width:100%}.project-title input{flex:1}.project-options{margin-left:auto}.model-info{order:4;width:100%}.shortcut-grid{grid-template-columns:1fr}}.touch-drawing-option{display:none;align-items:center;gap:7px;margin-top:18px;padding-top:16px;border-top:1px solid #e1e3d9;color:#63745b;font-size:11px;cursor:pointer}.canvasfooter .touch-drawing-option{display:none;margin:0;padding:0;border:0;color:inherit;font-size:inherit;white-space:nowrap}@media(hover:none)and (pointer:coarse){.canvasfooter .touch-drawing-option{display:flex}}.canvasfooter .background-controls{margin-left:auto}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.brush-defaults{margin-top:12px}.duplex-calibration{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;color:#78846f;font-size:11px}.duplex-calibration .btn{padding:6px 9px;font-size:10px;white-space:nowrap}.calibration-download{justify-content:flex-start;margin-top:10px}.calibration-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.calibration-fields label{margin:0}.calibration-fields input{width:70px;margin-left:6px;padding:5px;border:1px solid #d5dacb;border-radius:4px;background:#fff}.canvasbar{overflow:hidden}.canvas-context{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto;overflow:hidden}.canvas-context .face-dot{flex:0 0 auto}.canvas-context strong,.canvas-context .pill{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-context strong{flex:0 1 auto}.canvas-context .pill{flex:0 1 auto;margin-left:0}.canvas-view-controls,.canvasbar .canvas-actions{margin-left:0;flex:0 0 auto}.workspace>.preview-panel{overflow-y:auto;overscroll-behavior:contain}.workspace>.preview-panel .previews{overflow:visible;flex:0 0 auto;padding-top:6px}.preview-head{padding:15px 16px 4px;border-bottom:0;background:transparent}.preview-head h2{font-size:15px;margin:0}#imageControls .image-transform-control{display:flex;align-items:center;gap:5px}#imageControls .image-value{display:flex;align-items:center;gap:0;padding-right:5px}#imageControls .image-value input{width:30px;min-width:0;border:0;background:transparent;color:inherit;text-align:right;font-variant-numeric:tabular-nums;padding:4px 1px;outline-offset:0;appearance:textfield}#imageControls .image-value input::-webkit-inner-spin-button,#imageControls .image-value input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#imageControls .image-angle{padding-right:3px}#imageControls .image-angle input{width:28px;padding-left:0;padding-right:0}#imageLayout,#imageTarget,#symmetryMenu{position:fixed;inset:auto;margin:0;padding:5px;border:1px solid #d5dacb;border-radius:7px;background:#faf9f4;box-shadow:0 8px 24px #314f4020}#imageLayout button,#imageTarget button,#symmetryMenu button{position:relative;display:block;width:100%;padding:8px 28px 8px 10px;border-radius:4px;text-align:left;font-size:11px}#imageLayout button:hover,#imageTarget button:hover,#symmetryMenu button:hover{background:#e7ecdf}#symmetryMenu button[aria-pressed=true]{background:var(--selected-bg);color:var(--selected-text);font-weight:700}#symmetryMenu button[aria-pressed=true]:after{content:"✓";position:absolute;right:9px}.symmetry-button{flex:0 0 auto;margin-left:auto;padding:5px 8px!important;font-size:10px!important;height:29px}.symmetry-button svg{width:13px;height:13px}.symmetry-button.active{background:var(--selected-bg);border-color:var(--selected-border);color:var(--selected-text)}.asset-library-head .recent-title{margin:0}.shape-color-picker .custom-color{margin:10px 0 0}.shape-color-picker .swatches{grid-template-columns:repeat(6,1fr)}#lineThicknessField[hidden]{display:none}.text-color-picker .custom-color,.color-menu .custom-color{margin:10px 0 0}.text-color-picker .swatches,.color-menu .swatches{grid-template-columns:repeat(6,1fr)}.color-menu{width:194px;margin:0;padding:11px;border:1px solid #d7ddd1;border-radius:7px;background:#fdfcf8;box-shadow:0 9px 24px #36403320}.background-menu-actions{display:grid;gap:6px;margin-top:11px;padding-top:11px;border-top:1px solid #e1e4d9}.background-menu-actions .btn{width:100%;padding:7px 9px;font-size:10px}.background-color-dot{width:13px;height:13px;border:1px solid #cdd2c7;border-radius:50%;background:#fffef9}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.flex-preview-button{white-space:nowrap}.preview-head .flex-preview-button{padding:6px 8px;font-size:9px}.flex-preview-dialog{width:min(92vw,820px);max-width:820px;max-height:94vh;padding:22px;overflow:auto}.flex-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.flex-preview-head h2{margin:3px 0 0}.flex-preview-body{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:8px}.flex-preview-body>canvas{display:block;flex:1 1 460px;min-width:0;width:min(100%,560px,65vh);height:auto;aspect-ratio:1;border-radius:10px;background:#eeefe8}.traversal-map{flex:0 0 218px;padding:13px 10px;border:1px solid #d8dfd2;border-radius:9px;background:#f6f8f2;color:#536554}.traversal-diagrams{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px}.traversal-cycle{display:flex;flex-direction:column;align-items:center;gap:3px}.traversal-cycle strong{font-size:10px;color:#667461}.traversal-cycle-grid{position:relative;width:74px;height:74px}.traversal-node{position:absolute;min-width:26px;padding:3px 4px;border:1px solid #cfd8c9;border-radius:4px;background:#fffef9;color:#697467;text-align:center;font-size:10px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.traversal-node.at-top-left{top:0;left:0}.traversal-node.at-top-right{top:0;right:0}.traversal-node.at-bottom-right{right:0;bottom:0}.traversal-node.at-bottom-left{bottom:0;left:0}.traversal-node.current{border-color:#598675;background:#598675;color:#fff}.traversal-node.next{border-color:#cba34e;background:#fff8e6;color:#806427}.cycle-arrow{position:absolute;color:#84917f;font-size:13px;line-height:1}.arrow-top{top:6px;left:31px}.arrow-right{top:30px;right:6px}.arrow-bottom{bottom:6px;left:31px}.arrow-left{top:30px;left:7px}.traversal-flip{display:flex;flex-direction:column;align-items:center;gap:2px;color:#7183ba;font-size:20px}.traversal-flip small{font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.traversal-map p{margin:10px 0 0;padding-top:8px;border-top:1px solid #dde4d8;font-size:10px;text-align:center;color:#697467}.flex-preview-status{display:flex;justify-content:space-between;gap:16px;margin:8px 1px 10px;color:#667461}.flex-preview-status span{color:#90988b}.flex-preview-dialog>[data-scrubber]{width:100%;margin:0}.flex-preview-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}.flex-preview-actions [hidden]{display:none}.flex-preview-dialog>.hint{text-align:center;margin:14px 0 0}.flex-preview-dialog{width:min(94vw,860px);padding:18px}.flex-preview-head .eyebrow{display:none}.flex-preview-head h2{margin:0;font-size:18px;line-height:1.2}.flex-preview-head-actions{display:flex;align-items:center;gap:14px}.flex-line-toggle{display:flex;align-items:center;gap:6px;color:#667461;font-size:11px;white-space:nowrap;cursor:pointer}.flex-line-toggle input{margin:0}.flex-preview-head .iconbtn{font-size:18px}.flex-preview-body{align-items:stretch;gap:14px;margin-top:10px}.flex-preview-body>canvas{width:min(100%,560px,68vh)}.traversal-map{display:flex;flex:0 0 190px;box-sizing:border-box;flex-direction:column;justify-content:center;padding:18px 13px;border-color:#dfe4da;background:#fafbf7}.traversal-map[hidden]{display:none}.traversal-map>.eyebrow{font-size:10px;letter-spacing:.08em;text-align:center}.traversal-diagrams{flex-direction:column;gap:0;margin-top:12px}.traversal-cycle{gap:5px}.traversal-cycle strong{display:none}.traversal-cycle:first-child{padding-top:14px;border-top:1px solid #dfe5dc}.traversal-cycle:last-child{padding-bottom:14px;border-bottom:1px solid #dfe5dc}.traversal-cycle-grid{width:92px;height:92px}.traversal-node{min-width:30px;padding:4px 5px;font-size:11px}.arrow-top{top:8px;left:40px}.arrow-right{top:39px;right:8px}.arrow-bottom{bottom:8px;left:40px}.arrow-left{top:39px;left:9px}.traversal-flip{width:100%;margin:14px 0;padding:13px 0;border-top:1px solid #dfe5dc;border-bottom:1px solid #dfe5dc;font-size:20px;line-height:1}.traversal-flip small{font-size:9px}.preview-head .flex-preview-button{font-size:10px;padding:7px 9px}.traversal-diagrams[hidden]{display:none}.tri-cycle-grid{position:relative;width:92px;height:82px}.tri-cycle-grid .tri-top{top:0;left:50%;transform:translate(-50%)}.tri-cycle-grid .tri-bottom-right{right:0;bottom:0}.tri-cycle-grid .tri-bottom-left{bottom:0;left:0}.tri-cycle-arrow{position:absolute;color:#84917f;font-size:14px;line-height:1}.tri-arrow-down-right{top:28px;right:17px}.tri-arrow-bottom{bottom:8px;left:42px}.tri-arrow-up-left,.tri-arrow-down-left{top:28px;left:17px}.tri-arrow-up-right{top:28px;right:17px}.cycle-arrow,.tri-cycle-arrow{width:16px;height:16px;font-size:0}.map-route-arrow{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transform:rotate(var(--arrow-angle));transform-origin:center}.traversal-flip>span,.hexa-flip-divider>span{display:block;width:20px;height:20px;font-size:0}.map-flip-arrows{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.hexa-traversal-diagrams{display:block;width:100%;margin-top:10px}.hexa-map-section{padding-top:10px;border-top:1px solid #dfe5dc}.hexa-map-section+.hexa-map-section{margin-top:10px}.hexa-map-label{display:block;margin:0 0 6px;color:#697467;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.hexa-route-grid{display:grid;gap:5px}.hexa-route{display:flex;align-items:center;gap:3px}.hexa-route .traversal-node,.hexa-flip-grid .traversal-node{position:static;min-width:0;padding:3px 4px;font-size:9px}.hexa-route i{color:#84917f;font-size:11px;font-style:normal;line-height:1}.hexa-flip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 3px}.hexa-flip-grid>div{display:flex;align-items:center;justify-content:center;gap:2px}.hexa-flip-grid b{color:#7183ba;font-size:10px;line-height:1}.traversal-node{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.traversal-node:hover{border-color:#8aa998;background:#f4faf4}.traversal-node.current,.traversal-node.current:hover{border-color:#598675;background:#598675;color:#fff}.traversal-node.next,.traversal-node.next:hover{border-color:#cba34e;background:#fff8e6;color:#806427}.traversal-node:focus-visible{outline:2px solid #598675;outline-offset:2px}.traversal-map.has-hexa-map{flex-basis:252px;padding:14px 11px}.hexa-traversal-diagrams{margin-top:10px;padding-top:12px;border-top:1px solid #dfe5dc}.hexa-graph{position:relative;width:230px;height:184px;margin:0 auto}.hexa-graph svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.hexa-graph svg>path{fill:none;stroke-width:1.5}.hexa-graph svg>.primary-flex-route{stroke:#598675}.hexa-graph svg>.alternate-flex-route{stroke:#7651a8}.hexa-graph .traversal-node{position:absolute;left:calc(var(--x) - 35px);top:var(--y);min-width:30px;transform:translate(-50%,-50%);appearance:none;font:700 11px system-ui}.hexa-flip-divider{display:flex;align-items:center;justify-content:center;gap:5px;margin:5px 0;padding:7px 0;border-top:1px solid #dfe5dc;border-bottom:1px solid #dfe5dc;color:#7183ba}.hexa-flip-divider span{font-size:20px;line-height:1}.hexa-flip-divider small{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}@media(max-width:600px){.flex-preview-dialog{padding:16px}.flex-preview-body{flex-direction:column}.flex-preview-body>canvas{flex-basis:auto;width:min(100%,500px)}.traversal-map{width:100%;box-sizing:border-box}.flex-preview-actions .btn{flex:1 1 130px}.flex-preview-status{font-size:10px}}.asset-creation-controls .asset-text-input{width:100%;padding:7px 8px;border:1px solid #d5dacb;border-radius:4px;background:#fff;color:#425447}.asset-creation-controls input[type=text].asset-text-input{width:100%}.asset-creation-controls textarea.asset-text-input{width:100%;min-height:70px;resize:none;padding:7px 8px;border:1px solid #d5dacb;border-radius:4px;background:#fff;color:#425447;line-height:1.4}#shapeFillField[hidden],#shapeEdgeField[hidden]{display:none}#shapeFillField{justify-content:flex-start;gap:7px;cursor:pointer}#shapeFillField input{accent-color:#536e47}#showGrid{margin-left:8px}@media(any-pointer:coarse){button,.btn,.iconbtn,.swatch,input[type=checkbox],input[type=range]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.header-actions .btn{min-height:44px}.panel-tab{min-height:42px}.tools{gap:9px}.panel-tab-content .tool{min-height:76px}.swatches{grid-template-columns:repeat(4,31px);justify-content:space-between;gap:9px}.swatch{width:31px;height:31px}.panel-tab-content .swatches{grid-template-columns:repeat(5,26px);gap:6px}.panel-tab-content .swatch{width:26px;height:26px}.custom-color input[type=color]{width:32px;height:32px}.image-library-remove{width:28px;height:28px;top:5px;right:5px}.panel-resizer:before{content:"";position:absolute;inset:0 -8px;z-index:3}.preview{min-height:118px}}@media(max-width:900px)and (orientation:portrait){.canvasbar{height:88px;min-height:88px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:42px 42px;align-items:center;padding:0 8px;gap:0 7px;overflow:visible}.canvasbar .canvas-actions{grid-column:2;grid-row:1;justify-self:end}.canvas-view-controls{display:contents}.canvas-view-controls .view-control-group:first-child{grid-column:1;grid-row:1;justify-self:start}.canvas-view-controls .view-control-group:nth-child(2){grid-column:1;grid-row:2;justify-self:start}.canvas-view-controls #handTool{display:none}.canvas-view-controls .view-control-group>*{height:36px}.canvas-view-controls .view-control-group .iconbtn{width:36px}.symmetry-button{grid-column:2;grid-row:2;margin-left:0;height:36px;max-width:132px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.canvasfooter{height:auto;min-height:56px;display:grid;grid-template-columns:auto auto auto;justify-content:center;align-content:center;gap:9px 12px;padding:8px 10px}.canvasfooter .background-controls{margin:0;justify-content:center}.canvasfooter .background-controls .btn{min-height:36px;padding:6px 8px}#showGrid{margin-left:0}}
