.mesh-builder-page{min-height:100vh;overflow:hidden;color:#f4f3ef;background:#050505;font-family:var(--font-geist-sans),Arial,sans-serif}.mesh-builder-header{max-width:1480px;height:68px;display:flex;align-items:center;justify-content:space-between;margin:0 auto;padding:0 30px;border-bottom:1px solid #292929}.mesh-brand{display:inline-flex;align-items:center;gap:9px;color:#f5f4ef;text-decoration:none;font-size:20px;letter-spacing:-.06em}.mesh-brand>span:last-child>span{padding-left:6px;font-weight:300}.mesh-brand-mark{width:24px;height:24px;display:block;-o-object-fit:contain;object-fit:contain}.mesh-back-link{display:inline-flex;align-items:center;gap:7px;color:#b8b8b8;text-decoration:none;font-size:12px}.mesh-back-link:hover,.mesh-page-actions a:hover,.mesh-page-actions button:hover{color:#fff}.mesh-builder-content{max-width:1480px;margin:0 auto;padding:23px 30px 52px}.mesh-credit-footer{margin-top:28px;padding-top:14px;border-top:1px solid #292929;text-align:right}.mesh-page-title{display:flex;align-items:center;justify-content:space-between;min-height:42px;margin-bottom:16px}.mesh-page-title h1{margin:0;font-size:25px;font-weight:400;letter-spacing:-.045em}.mesh-page-actions{display:flex;align-items:center;gap:20px}.mesh-page-actions a,.mesh-page-actions button{display:inline-flex;align-items:center;gap:8px;border:0;padding:4px 0;color:#f4f3ef;background:transparent;text-decoration:none;font-size:13px}.mesh-page-actions button{cursor:pointer}.mesh-page-actions .mesh-reset-button{color:#b8b8b8}.mesh-page-actions .mesh-reset-button:hover{color:#ffe457}.mesh-page-actions a svg{transform:rotate(135deg)}.mesh-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 298px;align-items:start;gap:30px}.mesh-preview{width:100%;aspect-ratio:16/9;overflow:hidden;background:#15131b}.mesh-preview canvas,.mesh-preview>div{width:100%!important;height:100%!important;display:block}.mesh-controls{position:sticky;top:14px;max-height:calc(100vh - 94px);overflow-y:auto;padding:11px 10px 12px;border:1px solid #363636;border-radius:13px;background:#282828;box-shadow:0 10px 28px #0008;scrollbar-width:thin;scrollbar-color:#5d5d5d transparent}.mesh-section-label{display:flex;align-items:center;justify-content:space-between;margin:1px 0 8px;color:#e7e5df;font:600 11px var(--font-geist-mono),monospace}.mesh-section-label>span{color:#aaa;font-weight:400}.mesh-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:9px}.mesh-preset-grid button{min-height:25px;border:1px solid #4b4b4b;border-radius:3px;color:#fff;background:#737373;font:600 10px var(--font-geist-mono),monospace}.mesh-preset-grid button:hover{border-color:#c6c6c6;background:#858585}.mesh-preset-grid button[aria-pressed=true]{border-color:#ffe457;color:#ffe457;background:#454122}.mesh-control-row{min-height:30px;display:grid;grid-template-columns:82px minmax(0,1fr) 48px;align-items:center;gap:7px;color:#e5e4e0}.mesh-color-row>span,.mesh-control-row label{color:#dfded8;font:10px var(--font-geist-mono),monospace}.mesh-control-row input[type=range]{width:100%;height:16px;margin:0;accent-color:#a4a4a4;cursor:ew-resize}.mesh-color-row output,.mesh-control-row output{min-width:0;overflow:hidden;border-radius:2px;padding:5px 6px;color:#f5f5f5;background:#383838;font:10px var(--font-geist-mono),monospace;text-align:right;white-space:nowrap}.mesh-color-count{margin-bottom:3px}.mesh-color-row{min-height:31px;display:grid;grid-template-columns:82px 26px minmax(0,1fr);align-items:center;gap:7px}.mesh-color-row input{width:25px;height:25px;padding:0;overflow:hidden;border:1px solid #686868;border-radius:2px;background:#373737;cursor:pointer}.mesh-color-row input::-webkit-color-swatch-wrapper{padding:0}.mesh-color-row input::-webkit-color-swatch{border:0}.mesh-color-row output{text-align:left}.mesh-saved-section{margin-top:9px;padding-top:10px;border-top:1px solid #454545}.mesh-save-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.mesh-save-row input{min-width:0;height:30px;border:1px solid #4d4d4d;border-radius:4px;padding:0 8px;color:#eee;background:#1e1e1e;font-size:10px}.mesh-save-row input::-moz-placeholder{color:#8a8a8a}.mesh-save-row input::placeholder{color:#8a8a8a}.mesh-save-row button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:66px;padding:0 8px;border:1px solid #5b5b5b;border-radius:4px;color:#fff;background:#404040;font-size:10px}.mesh-save-row button:hover{background:#555}.mesh-empty-saved{margin:9px 1px 1px;color:#aaa;font-size:10px}.mesh-saved-list{display:grid;gap:4px;margin:8px 0 0;padding:0;list-style:none}.mesh-saved-list li{justify-content:space-between;gap:6px}.mesh-load-design,.mesh-saved-list li{min-width:0;display:flex;align-items:center}.mesh-load-design{flex:1;gap:7px;overflow:hidden;border:0;padding:4px 3px;color:#dedede;background:transparent;text-align:left;font-size:10px}.mesh-load-design:hover{color:#fff;background:#ffffff0a}.mesh-saved-swatch{width:20px;height:20px;flex:0 0 20px;border:1px solid #ffffff40;border-radius:3px}.mesh-load-design>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mesh-remove-design{width:25px;height:25px;display:grid;flex:0 0 25px;place-items:center;border:0;border-radius:4px;color:#aaa;background:transparent}.mesh-remove-design:hover{color:#fff;background:#ffffff12}.mesh-status{position:fixed;z-index:10;right:25px;bottom:24px;display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid #555;border-radius:8px;color:#eee;background:#292929;box-shadow:0 8px 30px #0009;font-size:12px}.mesh-status svg{color:#a6d59c}@media (max-width:920px){.mesh-builder-layout{grid-template-columns:minmax(0,1fr) 282px;gap:18px}.mesh-builder-content,.mesh-builder-header{padding-inline:20px}}@media (max-width:720px){.mesh-builder-header{height:60px;padding-inline:14px}.mesh-brand{font-size:17px}.mesh-builder-content{padding:17px 14px 36px}.mesh-page-title{align-items:flex-start;gap:12px;flex-direction:column;margin-bottom:12px}.mesh-page-title h1{font-size:23px}.mesh-builder-layout{display:flex;flex-direction:column;gap:15px}.mesh-controls{position:static;width:100%;max-height:none}.mesh-preview{min-height:210px}}@media (max-width:380px){.mesh-page-actions{gap:12px}.mesh-page-actions .mesh-reset-button{padding:4px}.mesh-page-actions .mesh-reset-button span{display:none}}