*{box-sizing:border-box;margin:0;padding:0}:root{--crust:#0d1117;--mantle:#131923;--base:#18202d;--surface-card:#1e2838;--surface0:#253145;--surface1:#34445e;--surface2:#485c7e;--overlay0:#64748b;--overlay1:#94a3b8;--overlay2:#cbd5e1;--subtext0:#cbd5e1;--subtext1:#e2e8f0;--text:#f8fafc;--lavender:#a5b4fc;--blue:#60a5fa;--sapphire:#38bdf8;--sky:#7dd3fc;--teal:#2dd4bf;--green:#4ade80;--yellow:#fbbf24;--peach:#fb923c;--terracotta:#f97316;--maroon:#fb7185;--red:#f87171;--mauve:#c084fc;--pink:#f472b6;--flamingo:#fda4af;--rosewater:#fde68a;--primary-container:#60a5fa29;--primary-container-hover:#60a5fa40;--primary-border:#60a5fa7a;--brand-container:#fb923c29;--brand-border:#fb923c73;--success-container:#4ade8026;--success-border:#4ade806b;--warning-container:#fbbf2426;--warning-border:#fbbf246b;--danger-container:#f8717126;--danger-border:#f8717173;--bg:var(--mantle);--sidebar:var(--base);--viewport:var(--crust);--accent:var(--blue);--accent-hover:#3b82f6;--on-accent:#0b1120;--text-light:var(--subtext0);--border:#2b394f;--border-strong:#3b4d6b;--sec-bg:var(--surface-card);--subcard-bg:#0f172a73;--subcard-border:#94a3b82e;--canvas-bg:#0d1117;--canvas-border:#2e3d54;--tile-bg:var(--surface0);--tile-border:var(--surface1);--input-bg:var(--surface0);--hud-bg:#18202de6;--hud-border:#94a3b83d;--shadow:#00000061;--overlay-bg:#18202df5;--info-bg:#131923e6;--modal-shadow:#0000008c;--dropdown-bg:#18202dfa;--warn-bg:var(--base);--warn-border:var(--red);--warn-text:var(--red);--three-scene-bg:#0f141c;--vessel-color:var(--blue);--viewport-bg:var(--crust);--font-sans:"Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--crust:#dfe5ef;--mantle:#eaeff7;--base:#f5f7fb;--surface-card:#fff;--surface0:#e6ecf5;--surface1:#c8d3e3;--surface2:#9fb0c7;--overlay0:#64748b;--overlay1:#475569;--overlay2:#334155;--subtext0:#334155;--subtext1:#1e293b;--text:#0f172a;--lavender:#4f46e5;--blue:#0b57d0;--sapphire:#0284c7;--sky:#0369a1;--teal:#0f766e;--green:#137333;--yellow:#b45309;--peach:#c2410c;--terracotta:#c2410c;--maroon:#be123c;--red:#c5221f;--mauve:#6d28d9;--pink:#be185d;--flamingo:#e11d48;--rosewater:#b45309;--primary-container:#0b57d01c;--primary-container-hover:#0b57d02e;--primary-border:#0b57d06b;--brand-container:#c2410c1c;--brand-border:#c2410c61;--success-container:#1373331c;--success-border:#13733361;--warning-container:#b453091c;--warning-border:#b4530961;--danger-container:#c5221f1a;--danger-border:#c5221f61;--bg:var(--mantle);--sidebar:var(--base);--viewport:#e6ebf2;--accent:var(--blue);--accent-hover:#0842a0;--on-accent:#fff;--text-light:var(--subtext0);--border:#cfd8e6;--border-strong:#b4c2d6;--sec-bg:#fff;--subcard-bg:#f8fafc;--subcard-border:#cbd5e1;--canvas-bg:#f1f5f9;--canvas-border:#bac7da;--tile-bg:#fff;--tile-border:#c4d0e0;--input-bg:#fff;--hud-bg:#fffffff0;--hud-border:#0f172a2e;--shadow:#0f172a1f;--overlay-bg:#fffffff7;--info-bg:#ffffffeb;--modal-shadow:#0f172a38;--dropdown-bg:#fff;--warn-bg:#fef2f2;--warn-border:var(--red);--warn-text:var(--red);--three-scene-bg:#e6ebf2;--vessel-color:var(--blue);--viewport-bg:#e6ebf2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;height:100vh;display:flex}.topbar{background:var(--surface-card);border-bottom:1px solid var(--border-strong);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex;box-shadow:0 1px 3px #0000000f}.topbar-left{align-items:center;gap:10px;display:flex}.brand-lockup{align-items:center;gap:9px;text-decoration:none;display:inline-flex}.brand-logo-svg{border-radius:7px;flex-shrink:0;width:28px;height:28px;box-shadow:0 1px 3px #0000002e}.topbar-title{letter-spacing:-.02em;color:var(--text);align-items:center;gap:7px;font-size:15.5px;font-weight:800;display:inline-flex}.brand-pill{letter-spacing:.08em;text-transform:uppercase;background:var(--brand-container);color:var(--peach);border:1px solid var(--brand-border);border-radius:999px;padding:2px 6px;font-size:9.5px;font-weight:800;line-height:1.2}.topbar-sub{color:var(--overlay1);border-left:1px solid var(--border-strong);white-space:nowrap;margin-right:12px;padding-left:10px;font-size:11.5px;font-weight:500}@media (width<=1180px){.topbar-sub{display:none}.topbar{padding:0 10px}.topbar-right{gap:5px}.topbar-right .btn{padding:5px 9px;font-size:11.5px}.topbar-sep{margin:0 1px}}.topbar-right{align-items:center;gap:7px;display:flex}.main-row{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--sidebar);border-right:1px solid var(--border-strong);flex-shrink:0;width:376px;min-width:376px;padding:0 12px 14px;transition:width .25s,min-width .25s,padding .25s,opacity .15s;position:relative;overflow-y:auto;box-shadow:2px 0 10px #00000014}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--surface1);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--surface2)}.sidebar-tabs{background:var(--sidebar);border-bottom:1px solid var(--border-strong);z-index:15;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:0 -12px 10px;padding:8px;display:grid;position:sticky;top:0;box-shadow:0 2px 6px #0000000d}.sidebar-tab{min-width:0;color:var(--subtext0);font-family:var(--font-sans);cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:3px;padding:6px 3px;font-size:11px;font-weight:600;transition:all .16s cubic-bezier(.2,0,0,1);display:inline-flex;overflow:hidden}.sidebar-tab:hover{color:var(--text);background:var(--surface0)}.sidebar-tab.active{color:var(--accent);background:var(--surface-card);border-color:var(--primary-border);box-shadow:0 1px 3px var(--shadow);font-weight:700}.sec{border:1px solid var(--border-strong);background:var(--sec-bg);border-radius:10px;margin-bottom:8px;transition:border-color .15s,box-shadow .15s;overflow:hidden;box-shadow:0 1px 2px #0000000a}.sec.open{border-color:var(--border-strong)}.sec-hd{text-transform:uppercase;letter-spacing:.06em;color:var(--subtext1);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface0);align-items:center;gap:7px;padding:10px 12px;font-size:11px;font-weight:700;transition:background .15s,color .15s;display:flex}.sec-hd:hover{background:var(--surface1);color:var(--text)}.sec.open>.sec-hd{color:var(--accent);background:var(--primary-container);border-bottom:1px solid var(--border)}.sec-hd:before{content:"▸";color:var(--overlay1);font-size:11px;transition:transform .2s}.sec.open .sec-hd:before{content:"▾";color:var(--accent)}.sec-body{background:var(--sec-bg);padding:12px;transition:max-height .25s,opacity .2s;display:none;overflow:hidden}.sec.open .sec-body{display:block}.foot-subcard{background:var(--subcard-bg);border:1px solid var(--subcard-border);border-radius:8px;padding:9px 10px}.foot-subcard-title{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:4px;font-size:10.5px;font-weight:800}.foot-subcard-divider{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.feature-toggle-banner{background:var(--primary-container);border:1px solid var(--primary-border);border-radius:8px;margin-bottom:10px;padding:8px 11px}.tiles{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.tile{border:1.5px solid var(--tile-border);cursor:pointer;background:var(--tile-bg);color:var(--subtext0);border-radius:7px;padding:6px 11px;font-size:11.5px;font-weight:600;transition:all .14s cubic-bezier(.2,0,0,1)}.tile:hover{border-color:var(--accent);color:var(--text);background:var(--surface0)}.tile.active{border-color:var(--accent);background:var(--primary-container);color:var(--accent);box-shadow:0 0 0 1px var(--primary-border);font-weight:700}.input-select,select{font-family:var(--font-sans);border:1px solid var(--border-strong);background:var(--input-bg);color:var(--text);cursor:pointer;border-radius:7px;outline:none;padding:6px 10px;font-size:12px;font-weight:600;transition:all .15s}.input-select:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary-container)}.input-select option,select option{background:var(--surface-card);color:var(--text)}.input-select optgroup{color:var(--accent);font-size:11px;font-weight:700}.sg{margin-bottom:10px}.sg:last-child{margin-bottom:2px}.sg .lr{color:var(--subtext0);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 6px;margin-bottom:5px;font-size:11.5px;font-weight:500;display:flex}.sg .lr .v{color:var(--accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:var(--primary-container);border:1px solid var(--primary-border);border-radius:5px;padding:1px 6px;font-size:11px;font-weight:700;transition:all .14s}.sg .lr .v:hover{background:var(--primary-container-hover);border-color:var(--accent)}.ios-toggle-row{color:var(--subtext0);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:4px 0;font-size:11.5px;font-weight:500;display:flex}.ios-switch{flex-shrink:0;width:36px;height:20px;display:inline-block;position:relative}.ios-switch input{opacity:0;width:0;height:0;position:absolute}.ios-switch-track{background:var(--surface2,#cbd5e1);border-radius:999px;transition:background .18s;position:absolute;inset:0}.ios-switch-track:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000047}.ios-switch input:checked+.ios-switch-track{background:var(--accent,#2563eb)}.ios-switch input:checked+.ios-switch-track:after{transform:translate(16px)}.sg input[type=range]{appearance:none;background:var(--surface1);width:100%;height:6px;accent-color:var(--accent);cursor:pointer;border-radius:999px;outline:none}.sg input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2.5px solid var(--surface-card);width:16px;height:16px;box-shadow:0 1px 4px #00000052, 0 0 0 1px var(--accent);border-radius:50%;transition:transform .12s,background .12s,box-shadow .12s}.sg input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px var(--primary-container), 0 1px 4px #00000052;transform:scale(1.14)}.sg input[type=range]:active::-webkit-slider-thumb{background:var(--peach);box-shadow:0 0 0 5px var(--brand-container);transform:scale(1.2)}.sg input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2.5px solid var(--surface-card);width:16px;height:16px;box-shadow:0 1px 4px #00000052, 0 0 0 1px var(--accent);border-radius:50%}.sg label{color:var(--text);cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.btn{cursor:pointer;font-family:var(--font-sans);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 13px;font-size:12px;font-weight:600;line-height:1.2;transition:all .15s cubic-bezier(.2,0,0,1);display:inline-flex}.btn-p{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 3px #0b57d040}.btn-p:hover:not(:disabled){background:var(--accent-hover);color:#fff;transform:translateY(-.5px)}.btn-s{background:var(--surface0);color:var(--text);border:1px solid var(--border-strong)}.btn-s:hover:not(:disabled){background:var(--surface1);border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.45;cursor:default}.foot-type-btn,.foot-preset-btn{border:1px solid var(--border-strong);border-radius:6px;padding:5px 8px;font-size:11px}.foot-type-btn.active,.foot-preset-btn.active{background:var(--primary-container);border-color:var(--accent);color:var(--accent);font-weight:700}.toolbar{background:var(--mantle);border:1px solid var(--border-strong);border-radius:8px;flex-wrap:wrap;align-items:center;gap:3px;margin:8px 0;padding:4px 6px;display:flex}.tb-btn{border:1px solid var(--border-strong);background:var(--surface-card);cursor:pointer;width:30px;height:30px;color:var(--subtext1);border-radius:6px;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:all .14s;display:flex}.tb-btn:hover:not(:disabled){background:var(--surface0);border-color:var(--accent);color:var(--text)}.tb-btn.active{border-color:var(--accent);background:var(--primary-container);color:var(--accent)}.tb-btn.active-add{border-color:var(--green);background:var(--success-container);color:var(--green)}.tb-btn.active-remove{border-color:var(--red);background:var(--danger-container);color:var(--red)}.tb-btn:disabled{opacity:.35;cursor:default}.tb-sep{background:var(--border-strong);width:1px;height:20px;margin:0 3px}.tb-btn svg{flex-shrink:0;width:14px;height:14px}canvas.cursor-remove{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%231e1e2e' stroke='%23f38ba8' stroke-width='2'/%3E%3Cline x1='7' y1='12' x2='17' y2='12' stroke='%23f38ba8' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") 12 12,crosshair}canvas.cursor-remove-hit{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%2345273a' stroke='%23f38ba8' stroke-width='2'/%3E%3Cline x1='7' y1='12' x2='17' y2='12' stroke='%23f38ba8' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 12 12,pointer}.curve-toolbar{background:var(--mantle);border:1px solid var(--border-strong);border-radius:8px;margin-top:8px;padding:8px 10px}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-row+.toolbar-row{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.toolbar-label{color:var(--subtext0);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800}.toolbar-row label{color:var(--subtext0);align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.toolbar-row input[type=number]{border:1px solid var(--border-strong);width:66px;font-family:var(--font-mono);color:var(--text);background:var(--surface-card);border-radius:6px;outline:none;padding:4px 5px;font-size:11px;font-weight:600}.toolbar-row input[type=number]:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--primary-container)}.toolbar-row input[type=number]:disabled{background:var(--surface0);color:var(--overlay0);opacity:.7}.toolbar-row .btn-toggle{text-align:center;background:var(--surface-card);border:1px solid var(--border-strong);min-width:64px;color:var(--text);cursor:pointer;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:700;transition:all .14s}.toolbar-row .btn-toggle:hover:not(:disabled){background:var(--primary-container);border-color:var(--accent)}.toolbar-row .btn-toggle:disabled{opacity:.45;cursor:default}.toolbar-row .btn-toggle.smooth{background:var(--primary-container);border-color:var(--primary-border);color:var(--accent)}.toolbar-row .btn-toggle.sharp{background:var(--brand-container);border-color:var(--brand-border);color:var(--peach)}.toolbar-row .btn-toggle.none{background:var(--surface0);border-color:var(--border-strong);color:var(--overlay1);font-style:italic}.profile-hint{color:var(--overlay1);margin-top:8px;font-size:10.5px;line-height:1.5}.corner-row{flex-wrap:wrap;align-items:center;gap:6px}.corner-type-btns{gap:4px;display:flex}.corner-type-btn{border:1px solid var(--border-strong);background:var(--surface-card);cursor:pointer;width:28px;height:28px;color:var(--subtext0);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:11px;transition:all .14s;display:flex}.corner-type-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.corner-type-btn.active{border-color:var(--accent);background:var(--primary-container);color:var(--accent)}.corner-type-btn:disabled{opacity:.4;cursor:default}.corner-type-btn svg{width:14px;height:14px}.corner-radius-label{color:var(--subtext0);align-items:center;gap:3px;font-size:11px;font-weight:600;display:flex}.corner-radius-label .unit{color:var(--overlay1);font-size:10px}.corner-preview{border:1px solid var(--canvas-border);background:var(--canvas-bg);border-radius:6px;flex-shrink:0}#profile-canvas{background:var(--canvas-bg);border:1.5px solid var(--canvas-border);cursor:crosshair;touch-action:none;border-radius:9px;width:100%;height:245px;display:block;box-shadow:inset 0 1px 3px #0000000f}#custom-canvas{background:var(--canvas-bg);border:1.5px solid var(--canvas-border);cursor:crosshair;touch-action:none;border-radius:9px;width:100%;height:280px;display:block;box-shadow:inset 0 1px 3px #0000000f}#section-preview,#handle-sweep-canvas,#handle-section-canvas{border:1.5px solid var(--canvas-border)!important;background:var(--canvas-bg)!important;border-radius:9px!important}.shrink-info{font-size:11px;font-family:var(--font-mono);color:var(--yellow);background:var(--warning-container);border:1px solid var(--warning-border);border-radius:7px;padding:6px 10px;line-height:1.5}.viewport{background:var(--viewport-bg);flex:1;position:relative;overflow:hidden}.vp-plate-settings-wrap{position:relative}.vp-plate-dropdown{background:var(--overlay-bg);border:1px solid var(--hud-border);width:240px;box-shadow:0 10px 28px var(--shadow);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:12px;padding:14px;display:none;position:absolute;top:40px;right:0}.vp-plate-dropdown.open{display:block}.vp-plate-dropdown-title{text-transform:uppercase;letter-spacing:.06em;color:var(--subtext0);margin-bottom:10px;font-size:11px;font-weight:800}.vp-plate-presets{flex-wrap:wrap;gap:5px;margin-bottom:12px;display:flex}.vp-plate-preset{border:1px solid var(--tile-border);background:var(--tile-bg);font-size:11px;font-weight:600;font-family:var(--font-mono);color:var(--subtext0);cursor:pointer;border-radius:6px;padding:6px 10px;transition:all .14s}.vp-plate-preset:hover{border-color:var(--accent);color:var(--text)}.vp-plate-preset.active{border-color:var(--accent);background:var(--primary-container);color:var(--accent);font-weight:700}.vp-plate-custom{border-top:1px solid var(--border);padding-top:10px}.vp-plate-custom-label{text-transform:uppercase;letter-spacing:.4px;color:var(--overlay1);margin-bottom:6px;font-size:10px;font-weight:700;display:block}.vp-plate-custom-inputs{align-items:center;gap:5px;display:flex}.vp-plate-custom-inputs input{border:1px solid var(--border-strong);width:62px;font-size:11px;font-family:var(--font-mono);color:var(--text);background:var(--input-bg);border-radius:6px;outline:none;padding:5px 7px}.vp-plate-custom-inputs input:focus{border-color:var(--accent)}.vp-plate-times{color:var(--overlay1);font-size:11px}.vp-plate-unit{color:var(--overlay1);font-size:10px}.vp-view-menu-wrap{position:relative}.vp-view-dropdown{box-sizing:border-box;background:var(--overlay-bg);border:1px solid var(--hud-border);width:312px;max-width:calc(100vw - 80px);box-shadow:0 12px 32px var(--shadow);z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;padding:12px;display:none;position:absolute;bottom:-42px;right:46px;overflow:hidden}.vp-view-dropdown.open{display:block}.vp-view-section{border-bottom:1px solid var(--border);margin-bottom:9px;padding-bottom:9px}.vp-view-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--subtext0);margin-bottom:6px;font-size:10px;font-weight:800}.vp-view-pills{box-sizing:border-box;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;display:grid}.vp-view-pills.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.vp-view-pill{box-sizing:border-box;border:1px solid var(--tile-border);background:var(--tile-bg);width:100%;min-width:0;color:var(--subtext0);cursor:pointer;text-align:center;white-space:normal;overflow-wrap:break-word;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 5px;font-size:10.5px;font-weight:600;line-height:1.22;transition:all .14s;display:inline-flex}.vp-view-pill svg{opacity:.88;flex-shrink:0}.vp-view-pill:hover{border-color:var(--accent);color:var(--text)}.vp-view-pill.active{border-color:var(--accent);background:var(--primary-container);color:var(--accent);font-weight:700}.vp-view-check{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:4px 2px;font-size:12px;font-weight:600;display:flex}.vp-view-check input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:14px;height:14px}.vp-controls-top-right{z-index:10;flex-direction:column;gap:5px;display:flex;position:absolute;top:12px;right:12px}.vp-controls-bottom-right{z-index:25;background:var(--hud-bg);border:1px solid var(--hud-border);box-shadow:0 4px 16px var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:11px;flex-direction:column;gap:5px;padding:5px;display:flex;position:absolute;bottom:44px;right:12px}.vp-material-bar{z-index:10;background:var(--hud-bg);border:1px solid var(--hud-border);box-shadow:0 4px 16px var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:11px;align-items:center;gap:8px;padding:5px 9px;display:flex;position:absolute;top:12px;left:12px}.vp-btn{border:1px solid var(--hud-border);background:var(--hud-bg);cursor:pointer;width:34px;height:34px;color:var(--subtext1);box-shadow:0 2px 6px var(--shadow);border-radius:8px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.vp-controls-bottom-right .vp-btn{box-shadow:none;background:0 0;border-color:#0000}.vp-btn:hover{background:var(--primary-container);color:var(--accent);border-color:var(--primary-border)}.vp-btn.active{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.vp-color-label{color:var(--subtext1);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:2px 4px;font-size:11.5px;font-weight:600;display:flex}.vp-color-label input[type=color]{border:1px solid var(--border-strong);cursor:pointer;background:0 0;border-radius:5px;width:22px;height:22px;padding:0}.glaze-swatches{border-left:1px solid var(--border-strong);border-right:1px solid var(--border-strong);align-items:center;gap:5px;padding:0 6px;display:inline-flex}.glaze-swatch{border:2px solid var(--border-strong);cursor:pointer;border-radius:50%;width:18px;height:18px;padding:0;transition:transform .14s,border-color .14s,box-shadow .14s}.glaze-swatch:hover{border-color:var(--text);transform:scale(1.18)}.glaze-swatch.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--primary-container);transform:scale(1.12)}.vp-material-bar select{border:1px solid var(--border-strong);background:var(--surface0);color:var(--text);border-radius:7px;padding:4px 8px;font-size:11.5px;font-weight:600}.vp-info{font-size:11px;font-family:var(--font-mono);color:var(--subtext0);background:var(--info-bg);border:1px solid var(--hud-border);z-index:10;box-shadow:0 2px 8px var(--shadow);border-radius:7px;padding:5px 10px;position:absolute;bottom:12px;right:60px}.viewport canvas{display:block;width:100%!important;height:100%!important}.info{background:var(--info-bg);font-size:11px;font-family:var(--font-mono);color:var(--subtext0);border:1px solid var(--hud-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;z-index:5;box-shadow:0 2px 8px var(--shadow);border-radius:8px;padding:6px 12px;position:absolute;bottom:10px;left:10px}.info:empty{display:none}.bottombar{background:var(--surface-card);border-top:1px solid var(--border-strong);height:30px;font-size:11px;font-family:var(--font-mono);color:var(--subtext0);font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:16px;padding:0 16px;display:flex}#warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:8px;margin-top:8px;padding:8px 12px;font-size:12px}.export-dropdown-wrap{display:inline-flex;position:relative}.export-dropdown{background:var(--dropdown-bg);border:1px solid var(--border-strong);width:270px;box-shadow:0 10px 28px var(--shadow);z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:8px;display:none;position:absolute;top:40px;right:0}.export-dropdown.open{display:block}.export-option{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:all .12s;display:flex}.export-option:hover{background:var(--primary-container)}.export-option strong{color:var(--text);font-size:12px}.export-option small{color:var(--overlay1);font-size:10px}.export-icon{color:var(--accent);flex-shrink:0;font-size:18px}.modal-export{width:410px}.export-preview{background:var(--mantle);border:1px solid var(--border-strong);border-radius:10px;margin-bottom:16px;padding:14px}.export-stats{color:var(--subtext0);grid-template-columns:1fr 1fr;gap:8px;font-size:11.5px;display:grid}.export-stats .stat-label{color:var(--overlay1)}.export-stats .stat-value{color:var(--text);font-weight:700;font-family:var(--font-mono);text-align:right}.export-format-select{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.export-format-opt{border:2px solid var(--tile-border);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:12px 14px;transition:all .15s;display:flex}.export-format-opt:has(input:checked){border-color:var(--accent);background:var(--primary-container)}.export-format-opt input{accent-color:var(--accent)}.export-format-label{flex-direction:column;display:flex}.export-format-label strong{color:var(--text);font-size:12px}.export-format-label small{color:var(--overlay1);font-size:10px}.topbar-sep{background:var(--border-strong);width:1px;height:24px;margin:0 4px}#auth-guest,#auth-user{align-items:center;gap:6px;display:inline-flex}.credits-display-sm{color:var(--subtext0);align-items:center;gap:3px;font-size:11px;font-weight:600;display:inline-flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface-card);border:1px solid var(--border-strong);width:420px;max-width:90vw;max-height:90vh;box-shadow:0 20px 60px var(--modal-shadow);border-radius:16px;padding:28px;position:relative;overflow-y:auto}.modal-content.modal-sm{width:370px}.modal-close{color:var(--overlay1);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1;transition:color .15s;position:absolute;top:14px;right:18px}.modal-close:hover{color:var(--text)}.modal-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:20px;display:flex}.modal-tab{color:var(--overlay1);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:12px;font-size:13px;font-weight:700;transition:all .15s}.modal-tab:hover{color:var(--text)}.modal-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-body{padding:0}.form-group{margin-bottom:16px}.form-group label{color:var(--text);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-group input{border:1px solid var(--border-strong);width:100%;color:var(--text);background:var(--input-bg);border-radius:8px;outline:none;padding:10px 14px;font-size:13px;transition:all .15s}.form-group input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary-container)}.form-group input::placeholder{color:var(--overlay0)}.btn-primary{background:var(--accent);width:100%;color:var(--on-accent);cursor:pointer;border:none;border-radius:8px;margin-top:6px;padding:11px 16px;font-size:13px;font-weight:700;transition:all .15s}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn-primary:disabled{opacity:.5;cursor:default}.btn-outline{border:1px solid var(--border-strong);background:var(--surface0);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .15s}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:60px;right:16px}.toast{box-shadow:0 6px 20px var(--shadow);pointer-events:auto;word-wrap:break-word;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:9px;max-width:320px;padding:10px 16px;font-size:12px;font-weight:600;transition:transform .3s;transform:translate(120%)}.toast.show{transform:translate(0)}.toast-success{background:var(--surface-card);color:var(--green);border:1.5px solid var(--success-border)}.toast-error{background:var(--surface-card);color:var(--red);border:1.5px solid var(--danger-border)}.toast-info{background:var(--surface-card);color:var(--blue);border:1.5px solid var(--primary-border)}.membership-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.membership-free{background:var(--surface0);color:var(--subtext0);border:1px solid var(--border-strong)}.membership-pro{background:var(--primary-container);color:var(--blue);border:1px solid var(--primary-border)}.membership-enterprise{background:var(--warning-container);color:var(--yellow);border:1px solid var(--warning-border)}.dashboard{background:var(--bg);flex:1;padding:24px 32px;overflow-y:auto}.dash-tabs{border-bottom:2px solid var(--border-strong);gap:0;margin-bottom:24px;display:flex}.dash-tab{color:var(--subtext0);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 20px;font-size:13px;font-weight:700;transition:all .15s}.dash-tab:hover{color:var(--text)}.dash-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.dash-section{display:none}.dash-section.active{display:block}.dash-section-hd{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dash-section-hd h2{color:var(--text);font-size:18px;font-weight:800}.card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:12px;transition:box-shadow .2s,border-color .2s;overflow:hidden}.card:hover{box-shadow:0 6px 20px var(--shadow);border-color:var(--accent)}.card-thumb{background:var(--mantle);justify-content:center;align-items:center;height:140px;display:flex;overflow:hidden}.card-thumb img{object-fit:cover;width:100%;height:100%}.card-thumb-placeholder{opacity:.35;font-size:48px}.card-body{padding:12px 14px}.card-title{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.card-date{color:var(--overlay1);margin-bottom:8px;font-size:11px}.card-desc{color:var(--subtext0);margin-bottom:8px;font-size:12px;line-height:1.4}.card-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:8px 12px;display:flex}.card-status{margin-top:4px}.card-empty{text-align:center;color:var(--overlay1);grid-column:1/-1;padding:40px;font-size:14px}.order-table{border-collapse:separate;border-spacing:0;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:10px;width:100%;overflow:hidden}.order-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--subtext0);background:var(--mantle);border-bottom:1px solid var(--border-strong);padding:10px 14px;font-size:11px;font-weight:700}.order-table td{color:var(--text);border-bottom:1px solid var(--border);padding:10px 14px;font-size:13px}.order-table tr:last-child td{border-bottom:none}.order-empty{text-align:center;color:var(--overlay1);padding:20px}.order-type{font-size:12px}.order-status{border-radius:10px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.status-pending{background:var(--warning-container);color:var(--yellow)}.status-processing{background:var(--primary-container);color:var(--blue)}.status-completed{background:var(--success-container);color:var(--green)}.status-cancelled{background:var(--danger-container);color:var(--red)}.credits-panel{text-align:center}.credits-display{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:12px;align-items:center;gap:10px;margin-bottom:24px;padding:18px 36px;display:inline-flex}.credits-icon{font-size:32px}.credits-amount{color:var(--accent);font-size:32px;font-weight:800;font-family:var(--font-mono)}.credits-label{color:var(--subtext0);font-size:14px}.credits-panel h3{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:700}.credit-packages{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.credit-pkg{background:var(--surface-card);border:1px solid var(--border-strong);text-align:center;border-radius:12px;min-width:160px;padding:20px 24px;transition:box-shadow .2s;position:relative}.credit-pkg:hover{box-shadow:0 6px 20px var(--shadow)}.credit-pkg.popular{border-color:var(--accent)}.pkg-badge{background:var(--accent);color:var(--on-accent);border-radius:10px;padding:2px 12px;font-size:10px;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.pkg-credits{color:var(--text);margin-bottom:4px;font-size:18px;font-weight:700}.pkg-price{color:var(--accent);margin-bottom:12px;font-size:24px;font-weight:700}.membership-panel{text-align:center}.current-membership{color:var(--subtext0);margin-bottom:24px;font-size:14px}.current-membership span:first-child{margin-right:8px}.membership-tiers{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.tier-card{background:var(--surface-card);border:1px solid var(--border-strong);text-align:center;border-radius:12px;min-width:200px;max-width:260px;padding:24px;transition:box-shadow .2s;position:relative}.tier-card:hover{box-shadow:0 6px 20px var(--shadow)}.tier-card.featured{border-color:var(--accent);box-shadow:0 4px 20px var(--primary-container)}.tier-badge{background:var(--accent);color:var(--on-accent);border-radius:10px;padding:2px 12px;font-size:10px;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.tier-name{color:var(--text);margin-bottom:4px;font-size:20px;font-weight:700}.tier-price{color:var(--accent);margin-bottom:16px;font-size:28px;font-weight:700}.tier-price span{color:var(--subtext0);font-size:14px;font-weight:400}.tier-features{text-align:left;margin:0 0 16px;padding:0;list-style:none}.tier-features li{color:var(--text);border-bottom:1px solid var(--border);padding:4px 0;font-size:12px}.tier-features li:last-child{border-bottom:none}.tier-features li:before{content:"✓ ";color:var(--green);font-weight:700}.tier-btn{width:100%}.admin-section h3{color:var(--text);margin-bottom:12px;font-size:14px;font-weight:600}.pl-subtabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;padding:0 16px 12px;display:flex}.pl-subtab{color:var(--overlay1);cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s}.pl-subtab:hover{color:var(--text);background:var(--surface0)}.pl-subtab.active{color:var(--accent);background:var(--primary-container);border-bottom:2px solid var(--accent)}.pl-section{display:none}.pl-section.active{display:block}.pl-section-hd{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:0 16px 12px;display:flex}.pl-section-hd h3{color:var(--text);margin:0;font-size:14px;font-weight:600}.pl-filters{align-items:center;gap:8px;display:flex}.pl-filters select{background:var(--input-bg);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;padding:6px 10px;font-size:12px}.status-badge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.status-published{background:var(--success-container);color:var(--green)}.status-draft{background:var(--warning-container);color:var(--yellow)}.dashboard::-webkit-scrollbar{width:8px}.dashboard::-webkit-scrollbar-track{background:0 0}.dashboard::-webkit-scrollbar-thumb{background:var(--surface1);border-radius:4px}.dashboard::-webkit-scrollbar-thumb:hover{background:var(--surface2)}.demo-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--warning-container);color:var(--yellow);border-radius:10px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.demo-notice{background:var(--warning-container);border:1px solid var(--warning-border);color:var(--yellow);text-align:center;border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:12px;line-height:1.5}.demo-notice strong{color:var(--peach)}.coming-soon-badge{background:var(--peach);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 10px;font-size:9px;font-weight:700;position:absolute;top:-10px;right:12px}.tier-card .tier-btn:disabled[data-upgrade]{opacity:.5;cursor:not-allowed;background:var(--surface0);color:var(--overlay0)}.sidebar-collapse-btn{border:1px solid var(--border-strong);background:var(--surface-card);cursor:pointer;width:16px;height:48px;color:var(--subtext0);z-index:11;box-shadow:2px 0 6px var(--shadow);border-left:none;border-radius:0 6px 6px 0;justify-content:center;align-items:center;font-size:10px;transition:all .25s;display:flex;position:absolute;top:50%;right:-16px;transform:translateY(-50%)}.sidebar-collapse-btn:hover{background:var(--primary-container);color:var(--accent)}.sidebar.sidebar-collapsed .sidebar-tabs{opacity:0;pointer-events:none}.sidebar.sidebar-collapsed{box-shadow:none;border-right:none;overflow:hidden;width:0!important;min-width:0!important;padding:0!important}.sidebar.sidebar-collapsed .sidebar-collapse-btn{width:16px;right:-16px}.sidebar.sidebar-collapsed .sec,.sidebar.sidebar-collapsed .sidebar-section{opacity:0;pointer-events:none}@media (width<=768px){.sidebar-collapse-btn{display:none}}.tpl-gallery{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.tpl-card{border:1px solid var(--border-strong);cursor:pointer;background:var(--surface0);border-radius:10px;transition:all .15s;overflow:hidden}.tpl-card:hover{border-color:var(--accent);box-shadow:0 2px 10px var(--primary-container)}.tpl-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--primary-border)}.tpl-thumb{background:var(--mantle);justify-content:center;align-items:center;height:80px;display:flex;overflow:hidden}.tpl-thumb img{object-fit:cover;width:100%;height:100%}.tpl-thumb-placeholder{opacity:.4;font-size:28px}.tpl-info{padding:6px 8px}.tpl-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;font-weight:700;overflow:hidden}.tpl-desc{color:var(--subtext0);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.tpl-loading{color:var(--overlay1);grid-column:1/-1;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:11px;display:flex}.tpl-spinner{border:2px solid var(--primary-container);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite vp-spin}.tpl-empty{text-align:center;color:var(--overlay1);grid-column:1/-1;padding:16px;font-size:11px;font-style:italic}@media (width<=480px){.tpl-gallery{grid-template-columns:1fr}}.vp-loading{background:var(--overlay-bg);z-index:15;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;justify-content:center;align-items:center;gap:10px;display:none;position:absolute;inset:0}.vp-loading.active{display:flex}.vp-loading-spinner{border:3px solid var(--primary-container);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite vp-spin}@keyframes vp-spin{to{transform:rotate(360deg)}}.vp-loading-text{color:var(--text);font-size:12px;font-weight:700}.vp-sep-h{background:var(--border-strong);width:100%;height:1px;margin:2px 0}.measurement-label{background:var(--hud-bg);color:var(--text);font-size:11px;font-weight:600;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:.3px;box-shadow:0 3px 10px var(--shadow);border:1px solid var(--hud-border);border-radius:7px;padding:5px 12px;line-height:1.4}.measurement-label .m-total{color:var(--accent);font-size:12px;font-weight:800}.measurement-label .m-xyz{opacity:.9;font-size:10px}.measurement-label .m-angle{opacity:.8;font-size:10px}.viewport.measure-mode,.viewport.measure-mode canvas{cursor:crosshair!important}.help-shortcuts{flex-direction:column;gap:6px;display:flex}.help-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:6px 0;display:flex}.help-row:last-child{border-bottom:none}.help-row kbd{border:1px solid var(--primary-border);background:var(--primary-container);min-width:28px;color:var(--accent);text-align:center;font-size:11px;font-weight:700;font-family:var(--font-mono);border-radius:6px;padding:3px 8px;display:inline-block}.help-row span{color:var(--subtext1);font-size:12px}.help-hint{color:var(--overlay1);margin-top:12px;font-size:10.5px;font-style:italic}.vessel-search-wrap{margin-bottom:14px}.vessel-search-wrap input{border:1px solid var(--border-strong);width:100%;color:var(--text);background:var(--input-bg);border-radius:8px;outline:none;padding:10px 14px;font-size:13px;transition:all .15s}.vessel-search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--primary-container)}.vessel-search-wrap input::placeholder{color:var(--overlay0)}.card-dims{color:var(--accent);font-size:11px;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-bottom:2px}.hamburger{border:1px solid var(--border-strong);background:var(--surface0);cursor:pointer;width:40px;height:40px;color:var(--text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:20px;display:none}.sidebar-overlay{z-index:90;background:#0f172a80;transition:opacity .25s;display:none;position:fixed;inset:0}.sidebar-overlay.active{display:block}@media (pointer:coarse){.tile{min-height:44px;padding:10px 14px;font-size:13px}.btn{min-height:44px;padding:10px 16px;font-size:13px}.tb-btn{min-width:44px;min-height:44px;font-size:16px}.tb-sep{height:28px}.vp-btn{min-width:44px;min-height:44px;font-size:16px}.sec-hd{padding:12px 14px;font-size:13px}.export-option{padding:12px 14px}.export-option strong{font-size:14px}.modal-tab{padding:14px;font-size:14px}.form-group input{padding:14px;font-size:16px}.btn-primary{padding:14px;font-size:15px}.sg input[type=range]{height:32px}.vp-material-bar select{min-height:44px;font-size:13px}.vp-plate-preset{min-height:44px;padding:10px 12px;font-size:13px}.vp-plate-custom-inputs input{padding:10px;font-size:14px}.btn-toggle{min-height:44px;padding:8px 14px;font-size:13px}.toolbar-row input[type=number]{width:68px;padding:10px;font-size:13px}.help-row{padding:10px 0}.help-row kbd{min-width:40px;padding:8px 12px;font-size:13px}}.theme-toggle{border:1px solid var(--border-strong);background:var(--surface0);height:34px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.theme-toggle:hover{background:var(--primary-container);color:var(--accent);border-color:var(--primary-border)}@media (width<=1024px){.sidebar{width:310px;min-width:310px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (width<=768px){.hamburger{display:flex}.sidebar{z-index:100;border-right:1px solid var(--border-strong);width:85vw;max-width:360px;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);max-height:none;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:4px 0 16px #0000004d}.sidebar.sidebar-open{transform:translate(0)}.main-row{flex-direction:column}.viewport{flex:1;width:100%;min-height:0}.topbar{flex-wrap:wrap;gap:6px;height:auto;min-height:48px;padding:8px 12px}.topbar-left{gap:6px}.topbar-right{flex-wrap:wrap;justify-content:flex-end;gap:4px;width:100%}.topbar-sep{display:none}#auth-guest,#auth-user{flex-wrap:wrap;gap:4px}#auth-user{font-size:11px}.export-dropdown{border-radius:14px 14px 0 0;width:100%;max-height:50vh;padding:14px;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 24px #0000004d}.bottombar{flex-wrap:wrap;gap:4px;height:auto;min-height:36px;padding:8px 16px;font-size:12px}#profile-canvas{height:180px}#custom-canvas{height:220px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.card-thumb{height:100px}.dashboard{padding:16px}.membership-tiers,.credit-packages{flex-direction:column;align-items:center}.tier-card,.credit-pkg{width:100%;min-width:0;max-width:320px}.modal-content{border-radius:14px 14px 0 0;width:95vw;max-width:none;margin-top:auto;padding:20px}.modal-overlay{align-items:flex-end}.modal-export{width:95vw}.vp-controls-top-right{gap:3px;top:6px;right:6px}.vp-controls-bottom-right{gap:3px;bottom:32px;right:6px}.vp-material-bar{flex-wrap:wrap;gap:4px;top:6px;left:6px}.glaze-swatches{display:none}.vp-material-bar select{padding:3px 4px;font-size:10px}.vp-info{font-size:10px;bottom:6px;right:40px}.order-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (width<=480px){.topbar-title{font-size:13px}.topbar-sub{display:none}.sidebar{width:90vw}.card-grid{grid-template-columns:1fr}.card-thumb{height:120px}.vp-controls-top-right,.vp-controls-bottom-right{gap:2px}.vp-btn{width:36px;height:36px;font-size:14px}.vp-material-bar{gap:3px}#profile-canvas{height:160px}#custom-canvas{height:200px}.toolbar-row{gap:4px}.toolbar-row input[type=number]{width:58px;padding:8px;font-size:12px}.bottombar{padding:6px 10px;font-size:11px}.credits-display{padding:12px 20px}.credits-amount,.credits-icon{font-size:24px}.export-format-select{grid-template-columns:1fr}}.status-bar-item{color:var(--subtext0);align-items:center;gap:5px;font-size:11px;display:inline-flex}.status-bar-sep{background:var(--border-strong);width:1px;height:14px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}*{scrollbar-width:thin;scrollbar-color:var(--surface1) transparent}
