@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@600;700&display=swap";:root{color:#111827;font-synthesis:none;background:#e9eef3;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}.app{flex-direction:column;height:100vh;display:flex}header{color:#fff;background:#101827;border-bottom:1px solid #293244;justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex}.brand{align-items:center;gap:10px;font-family:Space Grotesk;display:flex}.brand .mark{color:#081b1d;background:#16c7b7;border-radius:11px;place-items:center;width:36px;height:36px;font-size:22px;font-weight:800;display:grid}.brand b{font-size:17px;display:block}.brand span{letter-spacing:2.5px;color:#8b99ad;font:700 9px DM Sans}.top-actions{align-items:center;gap:9px;display:flex}.top-actions label{color:#aab4c4;align-items:center;gap:8px;font-size:12px;display:flex}.top-actions input{color:#fff;background:#192334;border:1px solid #354156;border-radius:8px;width:58px;padding:9px}.top-actions button,.toolbar button,.bottom-tools button{border:0;border-radius:8px;align-items:center;gap:7px;display:flex}.top-actions button{padding:10px 14px}.ghost{color:#fff;background:#253044}.primary{color:#062724;background:#18bbaa;font-weight:700}.top-actions .close{color:#fff;background:#e64a4a;padding:10px}main{flex:1;grid-template-columns:66px 290px 1fr 300px;min-height:0;display:grid}nav{background:#111a29;flex-direction:column;gap:6px;padding:10px 7px;display:flex}nav button{color:#8491a4;text-transform:capitalize;background:0 0;border:0;border-radius:9px;flex-direction:column;align-items:center;gap:4px;padding:10px 2px;font-size:10px;display:flex}nav button svg{width:20px}nav button.on{color:#4ee0d0;background:#223047}.left,.right{background:#fff;border-right:1px solid #dbe1e8;padding:18px;overflow:auto}.right{border-left:1px solid #dbe1e8;border-right:0}.left h2{margin:0 0 16px;font:700 18px Space Grotesk}.drop{text-align:center;cursor:pointer;background:#f7fafc;border:1.5px dashed #9aa7b8;border-radius:12px;flex-direction:column;align-items:center;gap:7px;padding:24px 14px;display:flex}.drop svg{color:#11a999}.drop span,.empty span{color:#667085;font-size:12px}.drop small{color:#99a1ad;font-size:10px}.wide{background:#fff;border:1px solid #d5dce5;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:10px;padding:11px;font-weight:600;display:flex}.objects{margin-top:22px}.section-title{letter-spacing:.7px;text-transform:uppercase;color:#667085;justify-content:space-between;margin:0 0 9px;font-size:11px;font-weight:700;display:flex}.section-title span,.right-head span{background:#e5eaf0;border-radius:20px;padding:2px 7px}.object{text-align:left;background:#fff;border:0;border-radius:8px;gap:9px;width:100%;padding:8px;display:flex}.object svg{color:#667085;width:18px}.object span{text-overflow:ellipsis;font-size:12px;overflow:hidden}.object small{color:#98a2b3;display:block}.object.on{color:#087d72;background:#e8fbf8}.empty{text-align:center;flex-direction:column;align-items:center;gap:9px;padding:35px 10px;display:flex}.empty svg{color:#9da8b7;width:40px;height:40px}.form label,.inspector label{margin-bottom:12px;font-size:12px;font-weight:600;display:block}.form input,.inspector input{border:1px solid #d7dde5;border-radius:7px;width:100%;margin-top:5px;padding:9px}.form .check{align-items:center;gap:8px;display:flex}.form .check input{width:auto;margin:0}.workspace{background:#edf1f5;flex-direction:column;min-width:0;display:flex}.toolbar{background:#fff;border-bottom:1px solid #dce2e8;align-items:center;gap:6px;height:54px;padding:8px 12px;display:flex}.toolbar select{background:#fff;border:1px solid #d7dde5;border-radius:8px;max-width:280px;padding:8px}.toolbar i{border-left:1px solid #dbe1e8;height:25px;margin:0 3px}.toolbar button{color:#526071;background:#f3f5f7;padding:8px}.toolbar button svg{width:18px}.toolbar button.active{color:#07877a;background:#dff8f5}.toolbar .autonest{color:#fff;background:#102039;margin-left:auto}.canvas-zone{flex:1;place-items:center;min-height:0;padding:36px;display:grid;position:relative;overflow:auto}.sheet-shadow{background:#fff;position:relative;box-shadow:0 10px 35px #3440542e}.sheet-shadow canvas{background-color:#fff;background-image:linear-gradient(45deg,#f1f3f5 25%,#0000 25%),linear-gradient(-45deg,#f1f3f5 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#f1f3f5 75%),linear-gradient(-45deg,#0000 75%,#f1f3f5 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.ruler{color:#778395;font-size:9px;position:absolute}.top-ruler{width:570px;height:18px;top:13px;left:50%;transform:translate(-50%)}.top-ruler span{position:absolute}.bottom-tools{background:#fff;border-top:1px solid #dbe1e8;justify-content:center;align-items:center;gap:6px;height:48px;display:flex}.bottom-tools button{background:#f1f4f6;padding:7px 10px}.bottom-tools button:last-child{color:#fff;background:#142139;margin-left:12px}.bottom-tools svg{width:17px}.bottom-tools span{text-align:center;min-width:48px;font-size:12px}.right-head{align-items:center;gap:7px;margin-bottom:13px;font:700 13px Space Grotesk;display:flex}.right-head svg{width:19px}.right-head span{margin-left:auto}.sheet-card{text-align:left;background:#fff;border:1px solid #dce2e8;border-radius:10px;width:100%;margin-bottom:8px;padding:12px}.sheet-card b,.sheet-card span,.sheet-card small{display:block}.sheet-card span{color:#667085;margin-top:4px;font-size:11px}.sheet-card small{color:#98a2b3;margin-top:5px;font-size:10px}.sheet-card.on{background:#effcf9;border:1.5px solid #13ad9e}.dashed{color:#3d4c61;border-style:dashed}.inspector,.quality{border-top:1px solid #e5e9ef;margin-top:18px;padding-top:16px}.two{grid-template-columns:1fr 1fr;gap:8px;display:grid}.two button{background:#fff;border:1px solid #d5dce5;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:9px 4px;font-size:11px;display:flex}.two button svg{width:15px}.two .danger{color:#d23030}.quality p,.quality button{text-align:left;border:0;border-radius:8px;align-items:center;gap:7px;width:100%;padding:9px;font-size:11px;display:flex}.quality svg{flex:none;width:17px}.quality .pass{color:#16784d;background:#e9f9f1}.quality .warn{color:#876400;background:#fff6db}.quality .bad{color:#b42318;background:#ffeded}.modal{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b1220aa;place-items:center;display:grid;position:fixed;inset:0}.welcome{background:#fff;border-radius:18px;width:min(500px,100vw - 30px);padding:28px;position:relative;box-shadow:0 24px 70px #0006}.welcome .x{background:#f1f3f5;border:0;border-radius:50%;padding:7px;position:absolute;top:15px;right:15px}.welcome .spark{color:#0d9d90;background:#dffaf6;border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.welcome h1{margin:17px 0 7px;font:700 27px Space Grotesk}.welcome p{color:#667085;font-size:14px;line-height:1.5}.choice{text-align:left;background:#fff;border:1px solid #dce2e8;border-radius:11px;justify-content:space-between;align-items:center;width:100%;margin-top:9px;padding:13px;display:flex}.choice span{flex-direction:column;gap:3px;display:flex}.choice small{color:#7c8797}.choice:hover{background:#effcf9;border-color:#13ad9e}.choice svg{width:18px;transform:rotate(-90deg)}.textbtn{color:#087f75;background:0 0;border:0;margin:16px auto 0;font-weight:600;display:block}@media (width<=1000px){main{grid-template-columns:58px 235px 1fr}.right,.top-actions label,.top-actions .ghost{display:none}}@media (width<=700px){main{grid-template-columns:52px 1fr}.left,.brand span{display:none}.top-actions .primary{font-size:0}.top-actions .primary svg{margin:0}.toolbar select{max-width:165px}.toolbar button:not(.autonest){display:none}.canvas-zone{padding:30px 12px}}.save-state{color:#72ded2;white-space:nowrap;text-overflow:ellipsis;max-width:170px;font-size:11px;overflow:hidden}.upload-error{color:#b42318;background:#ffeded;border-radius:8px;align-items:flex-start;gap:6px;padding:9px;font-size:11px;line-height:1.4;display:flex}.upload-error svg{flex:none;width:16px}@media (width<=1000px){.save-state{display:none}}.sheet-shadow{background-color:#fff;background-image:linear-gradient(45deg,#d7dadd 25%,#0000 25%),linear-gradient(-45deg,#d7dadd 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d7dadd 75%),linear-gradient(-45deg,#0000 75%,#d7dadd 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;outline:1px dashed #55aee8}.sheet-shadow canvas{background:0 0!important}.quality-legend{z-index:4;color:#303846;background:#fff;border:1px solid #d8dee6;border-radius:8px;width:235px;padding:9px;font-size:11px;line-height:1.65;position:absolute;top:28px;left:12px;box-shadow:0 4px 16px #0f172a12}.quality-legend label{border:1px solid #e2e7ed;border-radius:5px;align-items:center;gap:7px;margin-bottom:6px;padding:4px 6px;font-weight:700;display:flex}.quality-legend input{accent-color:#111a2b;width:16px;height:16px}.quality-legend div{align-items:center;gap:8px;padding:0 7px;font-weight:600;display:flex}.swatch{flex:none;width:13px;height:13px;display:inline-block}.swatch.optimal{background:#22c55e}.swatch.good{background:#facc15}.swatch.bad{background:#ef4444}.swatch.minimum{background:#111827}.swatch.overlap{background:#2563eb}.side-ruler{width:20px;height:520px;top:50%;left:15px;transform:translateY(-50%)}.side-ruler span{writing-mode:vertical-rl;position:absolute}.canvas-zoom{z-index:8;background:#fff;border:1px solid #d8dee8;border-radius:10px;place-self:start end;align-items:center;gap:4px;margin-right:12px;padding:5px;display:flex;position:sticky;top:12px;box-shadow:0 5px 18px #0f172a1c}.canvas-zoom button{color:#172033;background:#f1f4f7;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-width:34px;height:34px;font-weight:700;display:flex}.canvas-zoom button:hover{color:#087d72;background:#dff8f5}.canvas-zoom button svg{width:17px}.canvas-zoom strong{text-align:center;min-width:58px;font-size:13px}.canvas-zoom .fit{color:#fff;background:#142139;padding:0 9px}.bottom-tools .zoom-hint{color:#718096;min-width:0;font-size:11px}.bottom-tools .zoom-hint+button{color:#fff;background:#142139;margin-left:12px}@media (width<=700px){.canvas-zoom{margin-right:2px}.canvas-zoom .fit{font-size:0}.canvas-zoom .fit svg{margin:0}.bottom-tools .zoom-hint{display:none}}.quality .minimum{color:#fff;background:#202733}.image-editor{color:#30343b}.editor-title{color:#fff;text-align:center;background:#111a2d;border-radius:8px;margin-bottom:16px;padding:12px;font-weight:800}.measurement-row{grid-template-columns:1fr 42px;align-items:end;margin-bottom:10px;display:grid}.measurement-row label{grid-template-columns:88px 1fr;align-items:center;margin:0;font-size:12px;display:grid}.measurement-row input{border-radius:7px 0 0 7px;height:42px;margin:0;font-size:16px;font-weight:700}.measurement-row>span{border:1px solid #d7dde5;border-left:0;border-radius:0 7px 7px 0;place-items:center;height:42px;font-weight:700;display:grid}.ratio-row{grid-template-columns:88px 1fr 38px;align-items:center;margin:12px 0 16px;display:grid}.ratio-row output{border:1px solid #d7dde5;border-radius:7px 0 0 7px;align-items:center;height:42px;padding:0 12px;font-weight:700;display:flex}.ratio-row button{color:#30343b;background:#fff;border:1px solid #d7dde5;border-left:0;border-radius:0 7px 7px 0;height:42px}.ratio-row svg{width:17px}.repeat-box{border:1px solid #d7dde5;border-radius:9px;padding:12px}.repeat-box label{grid-template-columns:1fr 92px;align-items:center;margin-bottom:10px;display:grid}.repeat-box input{height:38px;margin:0;font-weight:700}.repeat-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.repeat-actions button,.delete-object{color:#fff;background:#111a2d;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:11px;font-weight:700;display:flex}.repeat-actions svg,.delete-object svg{width:15px}.delete-object{color:#b42318;background:#fff1f1;border:1px solid #ffd0d0;width:100%;margin-top:10px}@media (width<=1150px){.quality-legend{width:195px;font-size:10px}}@media (width<=850px){.quality-legend{display:none}}.large-drop{gap:10px;padding:20px 12px}.large-drop>b{font-size:15px}.large-drop>.upload-button{color:#fff;background:#111a2d;border-radius:9px;align-items:center;gap:7px;padding:11px 16px;font-weight:800;display:flex}.large-drop>.upload-button svg{width:18px}.artwork-grid{border-bottom:1px solid #e1e6ed;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0 16px;padding-bottom:14px;display:grid}.add-text-card,.artwork-card{background:#fff;border:1px solid #d8dee7;border-radius:3px;min-width:0;height:120px;padding:0;position:relative;overflow:hidden}.add-text-card{flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex}.artwork-card.on{outline-offset:1px;outline:2px solid #14b8a6}.artwork-preview{background-color:#fff;background-image:linear-gradient(45deg,#e3e5e8 25%,#0000 25%),linear-gradient(-45deg,#e3e5e8 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e3e5e8 75%),linear-gradient(-45deg,#0000 75%,#e3e5e8 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;place-items:center;height:91px;display:grid;position:relative}.artwork-preview img{object-fit:contain;width:100%;height:100%}.artwork-preview b{color:#fff;background:#111a2d;border-radius:4px;place-items:center;min-width:24px;height:27px;padding:0 5px;font-size:13px;display:grid;position:absolute;bottom:3px;right:3px}.artwork-card small{color:#fff;white-space:nowrap;text-overflow:ellipsis;text-align:left;background:#111;height:29px;padding:6px 7px;font-weight:700;display:block;overflow:hidden}.left .image-editor{border-top:0;margin-top:0;padding-top:0}.account-library{text-align:center;background:#f7fafc;border:1px solid #d8dee7;border-radius:11px;padding:18px}.account-library>svg{color:#0f9f91;width:34px;height:34px}.account-library b{margin:8px 0;display:block}.account-library p{color:#667085;font-size:12px;line-height:1.45}.account-library button{color:#667085;background:#dbe2e9;border:0;border-radius:8px;width:100%;padding:10px;font-weight:700}.library-grid{border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=1100px){.app main{grid-template-columns:58px 330px minmax(0,1fr)}.right{display:none}}@media (width<=700px){.app main{grid-template-columns:52px minmax(0,1fr)}.left{display:none}}.account-library form{gap:8px;margin:12px 0 8px;display:grid}.account-library form input{width:100%;font:inherit;background:#fff;border:1px solid #ccd5df;border-radius:8px;padding:10px}.account-library form button{color:#fff;background:#111a2d}.account-library .auth-switch{color:#087d72;background:0 0;padding:6px}.account-library>small{color:#7b8795;margin-top:8px;font-size:10px;line-height:1.4;display:block}.account-library .auth-message{color:#087468;background:#e8f8f5;border-radius:7px;margin-bottom:0;padding:8px}.workspace-controls{z-index:10;background:#f8fafc;border-bottom:1px solid #dce2e8;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:8px 12px;display:flex;position:relative}.workspace-controls .quality-legend{width:auto;max-width:none;box-shadow:none;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:5px;padding:0;line-height:1.2;display:flex;position:static}.workspace-controls .quality-legend label{background:#fff;margin:0;padding:6px 8px}.workspace-controls .quality-legend div{white-space:nowrap;padding:4px 5px;font-size:10px}.workspace-controls .swatch{width:10px;height:10px}.workspace-controls .canvas-zoom{box-shadow:none;flex:none;margin:0;position:static}.workspace-controls .canvas-zoom input[type=range]{accent-color:#14b8a6;width:90px}.canvas-zone{overscroll-behavior:contain;scroll-behavior:auto}.sheet-shadow{transform-origin:50%}@media (width<=1250px){.workspace-controls .quality-legend div{display:none}.workspace-controls .canvas-zoom input[type=range]{width:70px}}@media (width<=850px){.workspace-controls .quality-legend{display:flex}.workspace-controls .quality-legend label{font-size:0}.workspace-controls .quality-legend label input{margin:0}.workspace-controls .canvas-zoom input[type=range]{display:none}}.canvas-zone{scrollbar-gutter:stable both-edges;padding:36px!important;display:block!important;overflow:auto!important}.canvas-zone .sheet-shadow{margin:0 auto}.canvas-zone::-webkit-scrollbar{width:14px;height:14px}.canvas-zone::-webkit-scrollbar-track{background:#dfe5eb}.canvas-zone::-webkit-scrollbar-thumb{background:#8e9aaa;border:3px solid #dfe5eb;border-radius:20px}.canvas-zone::-webkit-scrollbar-thumb:hover{background:#657386}.app main{grid-template-columns:60px 320px minmax(0,1fr) 280px}nav{gap:4px;padding:7px 5px}nav button{padding:8px 2px}.left{padding:11px 12px}.left h2{margin-bottom:9px;font-size:16px}.large-drop{border-radius:9px;gap:5px;padding:11px 9px}.large-drop>svg{width:22px;height:22px}.large-drop>b{font-size:13px;line-height:1.25}.large-drop>.upload-button{padding:8px 12px;font-size:12px}.large-drop>small{font-size:8px}.artwork-grid{gap:7px;margin:8px 0 9px;padding-bottom:9px}.add-text-card,.artwork-card{height:86px}.artwork-preview{height:63px}.artwork-card small{height:23px;padding:4px 6px;font-size:9px}.add-text-card{gap:4px;font-size:11px}.add-text-card svg{width:24px;height:24px}.artwork-preview b{min-width:21px;height:23px;font-size:11px}.editor-title{margin-bottom:8px;padding:8px;font-size:12px}.measurement-row{grid-template-columns:1fr 36px;margin-bottom:6px}.measurement-row label{grid-template-columns:76px 1fr;font-size:11px}.measurement-row input,.measurement-row>span{height:34px}.measurement-row input{font-size:14px}.measurement-row>span{font-size:12px}.ratio-row{grid-template-columns:76px 1fr 34px;margin:7px 0 8px}.ratio-row b{font-size:11px}.ratio-row output,.ratio-row button{height:34px}.ratio-row output{padding:0 9px;font-size:13px}.repeat-box{grid-template-columns:1fr 1fr;gap:7px;padding:8px;display:grid}.repeat-box label{grid-template-columns:1fr 58px;gap:5px;margin:0;font-size:10px;display:grid}.repeat-box input{height:32px;padding:6px}.repeat-actions{grid-column:1/-1;gap:6px}.repeat-actions button{min-height:34px;font-size:9px}.delete-object{min-height:34px;margin-top:7px;font-size:10px}@media (width<=1100px){.app main{grid-template-columns:56px 300px minmax(0,1fr)}.left{padding:10px}}@media (height<=720px){.large-drop>svg,.large-drop>small{display:none}.large-drop{padding:8px}.artwork-grid{margin:6px 0}.add-text-card,.artwork-card{height:76px}.artwork-preview{height:54px}.artwork-card small{height:22px}.editor-title{margin-bottom:6px}.measurement-row{margin-bottom:4px}.ratio-row{margin:5px 0 6px}.delete-object{margin-top:5px}}
