:root{--aq-top:#ffffff;--aq-mid:rgba(163,232,255,0.45);--aq-bottom:rgba(0,156,255,0.45);--bg-top:#071a22;--bg-mid:#0b2a34;--bg-bottom:#0e3642;--app-bg:linear-gradient(180deg,var(--bg-top) 0%,var(--bg-mid) 60%,var(--bg-bottom) 100%);--font-primary:var(--font-sans);--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom);--safe-left:env(safe-area-inset-left);--safe-right:env(safe-area-inset-right);--header-top-offset:8px;--header-top:calc(var(--safe-top) + var(--header-top-offset));--header-x:16px;--back-hit:44px;--app-max-width:1120px;--page-pad-x:clamp(16px,3vw,32px);--page-pad-y:clamp(12px,2.5vw,24px);--header-gap:12px;--section-gap:clamp(20px,4vw,36px);--aq-top-rgb:255,255,255;--aq-mid-rgb:163,232,255;--aq-bottom-rgb:0,156,255;--foreground:240 10% 98%;--color-neutral-0:0 0% 100%;--color-neutral-50:220 14% 98%;--color-neutral-100:220 13% 95%;--color-neutral-200:220 13% 91%;--color-neutral-300:220 12% 83%;--color-neutral-400:220 10% 64%;--color-neutral-500:220 9% 46%;--color-neutral-600:220 12% 36%;--color-neutral-700:220 15% 25%;--color-neutral-800:220 18% 16%;--color-neutral-900:220 20% 10%;--color-neutral-950:220 26% 6%;--color-aqua-50:195 100% 97%;--color-aqua-100:195 85% 92%;--color-aqua-200:195 80% 85%;--color-aqua-300:195 75% 72%;--color-aqua-400:195 70% 58%;--color-aqua-500:195 85% 45%;--color-aqua-600:195 90% 38%;--color-aqua-700:195 92% 30%;--color-aqua-800:195 88% 24%;--color-aqua-900:195 82% 18%;--bg:var(--color-neutral-50);--surface:var(--color-neutral-0);--surface-hover:var(--color-neutral-100);--border:var(--color-neutral-200);--border-strong:var(--color-neutral-300);--text:var(--color-neutral-900);--text-secondary:var(--color-neutral-600);--text-muted:var(--color-neutral-500);--text-inverse:var(--color-neutral-0);--accent:var(--color-aqua-500);--accent-hover:var(--color-aqua-600);--accent-subtle:var(--color-aqua-100);--accent-text:var(--color-aqua-700);--destructive:0 72% 51%;--destructive-hover:0 72% 45%;--destructive-subtle:0 72% 96%;--canvas-bg:linear-gradient(180deg,hsl(200 100% 96%),hsl(195 100% 97%));--canvas-frame:var(--color-neutral-0);--canvas-shadow:0 1px 2px hsl(var(--color-neutral-900)/0.04),0 4px 8px hsl(var(--color-neutral-900)/0.06),0 12px 24px hsl(var(--color-neutral-900)/0.08);--table-surface:hsl(28 35% 62%);--table-edge:hsl(28 42% 48%);--table-shadow:hsl(var(--color-neutral-900)/0.12);--elev-1:0 1px 2px hsl(var(--color-neutral-900)/0.06),0 1px 3px hsl(var(--color-neutral-900)/0.10);--elev-2:0 2px 4px hsl(var(--color-neutral-900)/0.06),0 4px 8px hsl(var(--color-neutral-900)/0.08);--elev-3:0 4px 8px hsl(var(--color-neutral-900)/0.08),0 8px 16px hsl(var(--color-neutral-900)/0.12);--elev-4:0 8px 16px hsl(var(--color-neutral-900)/0.10),0 16px 32px hsl(var(--color-neutral-900)/0.14);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--text-xs:clamp(0.75rem,0.7rem + 0.15vw,0.813rem);--text-sm:clamp(0.875rem,0.825rem + 0.15vw,0.938rem);--text-base:clamp(1rem,0.95rem + 0.15vw,1.063rem);--text-lg:clamp(1.125rem,1.05rem + 0.25vw,1.25rem);--text-xl:clamp(1.25rem,1.15rem + 0.35vw,1.5rem);--text-2xl:clamp(1.5rem,1.35rem + 0.5vw,1.875rem);--text-3xl:clamp(1.875rem,1.65rem + 0.75vw,2.25rem);--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Inter","Roboto",sans-serif;--font-mono:"SF Mono","Consolas","Monaco",monospace;--line-tight:1.25;--line-snug:1.375;--line-normal:1.5;--line-relaxed:1.625;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-full:9999px;--transition-fast:120ms cubic-bezier(0.4,0,0.2,1);--transition-base:180ms cubic-bezier(0.4,0,0.2,1);--transition-slow:240ms cubic-bezier(0.4,0,0.2,1);--header-height:64px;--footer-height:40px;--sidebar-width:180px;--sidebar-collapsed:60px;--layers-width:220px;--palette-height:48px;--sticky-cta-space:72px;--mobile-palette-height:52px;--mobile-palette-collapsed:60px;--touch-target-size:44px;--mobile-drag-feedback:8px;--canvas-max-width:clamp(720px,90vw,1200px);--canvas-aspect:16/9;--canvas-min-height:clamp(480px,55vh,800px);--table-width:clamp(680px,88vw,1160px);--table-height:20px;--table-depth:12px;--table-offset:32px}body.landing-overlay-open,body.modal-open,html.modal-open{overflow:hidden;height:100%}body,html{height:100%;min-height:100dvh;min-height:-webkit-fill-available;margin:0;padding:0;background:var(--app-bg,#082032);font-family:var(--font-primary)}body{overscroll-behavior-y:none}#root,.app-root,.appRoot{min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column;background:var(--app-bg,#082032)}.AppShell{min-height:100svh;min-height:100vh;flex-direction:column}.AppMain,.AppShell{display:flex;width:100%}.AppMain{flex:1 0 auto;min-height:0}.AppMain,.page{flex-direction:column}.page{min-height:100dvh;min-height:-webkit-fill-available;display:flex;padding-left:calc(var(--safe-left) + 16px);padding-right:calc(var(--safe-right) + 16px);padding-bottom:calc(var(--safe-bottom) + 16px);background:var(--app-bg,#082032);box-sizing:border-box}.pageMain{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch}.stickyBottomBar{padding-bottom:calc(var(--safe-bottom) + 12px)}.app-root,.page-wrapper{background:var(--app-bg,#082032)}.appContainer{max-width:var(--app-max-width);margin:0 auto;padding-left:var(--page-pad-x);padding-right:var(--page-pad-x)}.appContainer,.pageHeader{width:100%;box-sizing:border-box}.pageHeader{padding-top:var(--header-top);padding-bottom:12px;display:flex;flex-direction:column}.pageHeader__topRow{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;-moz-column-gap:var(--header-gap);column-gap:var(--header-gap)}.pageHeader__back{width:var(--back-hit);height:var(--back-hit);flex:0 0 var(--back-hit);display:inline-flex;align-items:center;border:none;background:rgba(0,0,0,0);color:inherit;margin:0}.pageHeader__title{min-width:0;font-size:28px;line-height:1.1;margin:0;word-break:break-word}.pageHeader__rightSlot{flex:0 0 auto;justify-self:end;display:flex;align-items:center;justify-content:flex-end;text-align:right}.pageHeader__rightSlotText{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appFooter{margin-top:auto}.pageHeader__iconButton{width:var(--back-hit);height:var(--back-hit);display:inline-flex;align-items:center;justify-content:center;border:none;background:rgba(0,0,0,0);color:inherit;padding:0;margin:0;cursor:pointer;position:relative;opacity:.7}.pageHeader__iconButton:focus-visible,.pageHeader__iconButton:hover{opacity:1}.cartBadge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:rgba(240,248,255,.92);color:rgba(2,18,28,.92);font-size:11px;font-weight:700;line-height:18px;text-align:center;pointer-events:none}.pageHeader__rightMeta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-variant-numeric:tabular-nums}.pageHeader__rightLabel{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.7}.pageHeader__rightValue{font-size:1.05rem;font-weight:700;white-space:nowrap}.pageHeader__subtitle{margin-top:6px;margin-left:calc(var(--back-hit) + 12px);font-size:14px;opacity:.7}.pageHeader--noBack .pageHeader__subtitle{margin-left:0}.pageBody{min-width:0;padding-top:0;padding-right:calc(var(--safe-right) + var(--page-pad-x));padding-bottom:calc(var(--safe-bottom) + var(--page-pad-y) + var(--page-body-extra, 0px));padding-left:calc(var(--safe-left) + var(--page-pad-x))}.page-total{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-end;gap:2px;padding-top:12px;margin-top:0;text-align:right;font-variant-numeric:tabular-nums}.page-total-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(233,244,251,.65)}.page-total-value{font-size:1rem;font-weight:700;white-space:nowrap;color:rgba(233,244,251,.95)}@media(prefers-reduced-motion:reduce){.animate-caustics,.animate-float-up,.animate-gentle-sway,.animate-particle-float,.animate-sway,.animate-swim-left,.animate-swim-right{animation:none!important}*{transition:none!important;scroll-behavior:auto!important}}.design-main{position:relative;width:100%;height:100%}.design-main.desktop-layout{grid-template-areas:"palette canvas layers"}.design-main.mobile-layout{grid-template-areas:"palette" "canvas"}@media(max-width:767px){.palette-item{min-height:var(--touch-target-size);min-width:var(--touch-target-size);transition:transform .2s ease,box-shadow .2s ease}.palette-item.dragging,.palette-item:active{transform:scale(1.1);box-shadow:0 8px 25px rgba(0,0,0,.3);z-index:1000}.drag-ghost{opacity:.8;transform:scale(.9);pointer-events:none;filter:brightness(1.2)}.canvas-board.drag-over{background:linear-gradient(135deg,hsl(var(--accent)/.1) 0,hsl(var(--accent)/.05) 100%);border:2px dashed hsl(var(--accent)/.5);border-radius:12px}}@media(max-width:767px)and (orientation:landscape){.design-main.mobile-layout{grid-template-columns:minmax(180px,25%) 1fr;grid-template-rows:1fr;grid-template-areas:"palette canvas"}.palette-container.mobile{border-right:1px solid hsl(var(--border));border-bottom:none;width:100%;height:100%}.palette-container.mobile .palette-content{padding:var(--space-1)}.palette-container.mobile .items-grid{grid-template-columns:repeat(auto-fill,minmax(55px,1fr));gap:var(--space-1)}.palette-container.mobile .palette-item{min-height:60px;gap:2px}.palette-container.mobile .item-label{font-size:10px;line-height:1.1}}.palette-container{position:relative;background:hsl(var(--surface));border:1px solid hsl(var(--border));border-bottom:none;transition:var(--transition-base)}.palette-container.desktop{border-right:1px solid hsl(var(--border));border-bottom:none}.palette-container.mobile,.palette-container.palette-top{border-right:none;border-bottom:none}.palette-container.mobile{box-shadow:0 2px 8px rgba(0,0,0,.1)}@media(max-width:767px){.palette-item{min-height:var(--touch-target-size);min-width:var(--touch-target-size)}.palette-item.touch-enabled{cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.palette-item.touch-enabled:active{cursor:grabbing;transform:scale(1.05);box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:1000;transition:transform .1s ease,box-shadow .1s ease}.canvas-shell{touch-action:pan-y;-webkit-overflow-scrolling:touch}.canvas-plate{transition:box-shadow .2s ease}.canvas-shell.drag-over .canvas-plate{box-shadow:inset 0 0 0 3px hsl(var(--accent)/.4),0 0 20px hsl(var(--accent)/.2)}.mobile-layout .palette-container{border-bottom:none;box-shadow:0 4px 12px rgba(0,0,0,.1)}.mobile-layout .palette{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.mobile-layout .palette-tab{min-height:var(--touch-target-size);font-size:16px}.mobile-layout .search-input{font-size:16px}}@media(min-width:768px)and (max-width:1023px){:root{--sidebar-width:200px;--mobile-palette-height:52px;--palette-height:48px}}@media(max-width:768px){:root{--palette-height:var(--mobile-palette-height)}}@media(min-width:1024px){:root{--sidebar-width:240px;--layers-width:240px}}.rotate-device-screen{width:100vw;height:100dvh;min-height:100dvh;min-height:-webkit-fill-available;display:flex;align-items:center;justify-content:center;padding:calc(clamp(20px,5vw,48px) + env(safe-area-inset-top)) clamp(20px,5vw,48px) calc(clamp(20px,5vw,48px) + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at top,#0c3a4f 0,#071f2b 45%,#040f16 100%);color:#e9f4fb;text-align:center}.rotate-device-back{position:absolute;top:calc(clamp(20px,5vw,48px) + env(safe-area-inset-top));left:calc(clamp(20px,5vw,48px) + env(safe-area-inset-left));z-index:1;display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;color:#fff;background:rgba(0,0,0,0);border-radius:2rem}.rotate-device-back:hover{border-color:rgba(191,230,243,.5)}.orientation-debug{position:fixed;left:12px;bottom:12px;z-index:9999;padding:8px 10px;background:rgba(0,0,0,.65);color:#fff;border-radius:8px;font-size:11px;line-height:1.4;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rotate-device-card{max-width:420px;width:100%;max-height:90vh;overflow:auto}.rotate-device-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);color:#e9f4fb}.rotate-device-icon svg{width:72px;height:48px;stroke:currentColor;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.rotate-device-card h1{font-size:1.5rem;margin-bottom:var(--space-3)}.rotate-device-card p{font-size:1rem;line-height:1.5}.rotate-device-subtext{margin-top:var(--space-2);color:hsl(var(--text-muted));font-size:.9rem}.rotate-device-actions{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.rotate-device-button{border:1px solid hsl(var(--border));background:hsl(var(--bg));color:hsl(var(--text));padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-weight:var(--font-semibold);transition:background var(--transition-fast),transform var(--transition-fast);display:inline-flex;align-items:center;gap:var(--space-2)}.rotate-device-button.primary{background:hsl(var(--accent));color:hsl(var(--text-inverse));border-color:rgba(0,0,0,0)}.rotate-device-button:active{transform:scale(.98)}.terrarium-haze{background:radial-gradient(60% 50% at 50% 15%,rgba(255,245,220,.2),rgba(12,30,24,0) 70%);filter:blur(6px);opacity:.7}.terrarium-rays{background:linear-gradient(120deg,rgba(255,244,210,.18),rgba(255,244,210,.05) 38%,rgba(0,0,0,0) 70%);mix-blend-mode:screen;opacity:.65;animation:shimmer 18s ease-in-out infinite}.checkout-page,.setup-overlay{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:calc(clamp(16px,4vw,40px) + env(safe-area-inset-top)) clamp(16px,4vw,40px) clamp(16px,4vw,40px);padding-bottom:calc(clamp(16px,4vw,40px) + env(safe-area-inset-bottom) + var(--sticky-cta-space));background:var(--app-bg,#082032);color:#e9f4fb;overflow:hidden}.setup-overlay{animation:setupOverlayEnter .18s ease-out both}@keyframes setupOverlayEnter{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translateZ(0)}}.card,.panel,.sheet{border:1px solid hsla(0,0%,100%,.08)}.card,.checkout-card,.panel,.setup-panel,.sheet{background:hsla(0,0%,100%,.06);border-radius:14px;backdrop-filter:blur(6px)}.checkout-card,.setup-panel{width:min(720px,100%);border:1px solid hsla(0,0%,100%,.08);box-shadow:0 24px 60px rgba(2,10,16,.45);padding:0;display:flex;flex-direction:column;gap:0;max-height:calc(100dvh - 120px);overflow:hidden;min-height:0;position:relative;-webkit-overflow-scrolling:touch}.checkout-body,.setup-body{--page-body-extra:var(--sticky-cta-space);display:flex;flex-direction:column;gap:12px;min-height:0;flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding-top:16px}.checkout-body{align-items:center}.checkout-body .checkout-step{width:min(520px,100%);margin:0 auto}.checkout-page,.setup-overlay{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:0}.checkout-content,.setup-content{width:100%;flex:1;min-height:0;display:flex;align-items:flex-start;justify-content:center;padding-left:calc(var(--safe-left) + 16px);padding-right:calc(var(--safe-right) + 16px);box-sizing:border-box}.checkout-card .pageBody,.setup-panel .pageBody{padding-left:16px;padding-right:16px}.setup-items{display:flex;flex-direction:column;gap:0;min-height:0}.setup-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:40px;padding:4px 0;border-bottom:1px solid rgba(191,230,243,.12)}.setup-item-row:last-child{border-bottom:none}.setup-items-divider{height:1px;width:100%;background:rgba(191,230,243,.12);margin:8px 0 6px}.setup-item-name{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;line-height:1.2;overflow-wrap:anywhere}.setup-item-image{width:40px;height:40px;border-radius:10px;border:1px solid rgba(191,230,243,.12);background:hsla(0,0%,100%,.06);-o-object-fit:cover;object-fit:cover;flex:0 0 40px}.setup-item-image--placeholder{display:inline-block}.setup-item-text{display:flex;flex-direction:column;min-width:0}.setup-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-item-unit{font-size:.82rem;color:rgba(233,244,251,.65);font-weight:500;margin-top:2px}.setup-item-meta{font-size:.85rem;color:rgba(233,244,251,.65)}.setup-qty{display:inline-flex;align-items:center;justify-content:center;gap:6px}.qty-button{width:26px;height:26px;border-radius:7px;border:1px solid rgba(191,230,243,.12);background:rgba(6,22,32,.35);color:rgba(233,244,251,.9);font-size:.9rem}.qty-button:active{transform:scale(.96)}.qty-button:disabled{opacity:.4;cursor:not-allowed}.setup-qty span{min-width:1.4rem;text-align:center;font-variant-numeric:tabular-nums}.setup-item-price{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;min-width:72px;white-space:nowrap}.setup-footer{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,100% - clamp(32px,8vw,80px));box-sizing:border-box;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:0;border:none;background:rgba(0,0,0,0);z-index:85}.setup-footer .setup-button{width:100%}.setup-actions{display:flex;width:100%;margin-top:12px}.setup-button{min-height:44px;border-radius:999px;padding:10px 18px;border:1px solid rgba(191,230,243,.35);background:rgba(10,38,52,.7);color:#e9f4fb;font-weight:600;transition:transform .2s ease,background .2s ease}.setup-actions .setup-button{width:100%}.setup-button.primary{background:#4fd1c5;color:#0b2230;border-color:rgba(0,0,0,0)}.setup-button.small{min-height:36px;padding:6px 14px;font-size:.9rem}.setup-button:active{transform:scale(.98)}.setup-button:disabled{opacity:.6;cursor:not-allowed}.setup-empty{padding:16px;border-radius:14px;background:rgba(8,24,34,.6);color:rgba(233,244,251,.7);font-size:.95rem}.setup-suggestions{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:16px;background:rgba(6,22,32,.55);border:1px solid rgba(191,230,243,.08)}.setup-suggestions h2{font-size:1rem}.setup-suggestion-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.setup-confirmation{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:rgba(8,28,40,.85);color:#e9f4fb;padding:10px 16px;border-radius:999px;border:1px solid rgba(191,230,243,.2);z-index:70;font-size:.95rem}.checkout-summary{display:flex;flex-direction:column;gap:6px;font-size:.9rem;padding:0;background:rgba(0,0,0,0);border:none}.checkout-summary-title{font-weight:600;color:#e9f4fb;font-size:.9rem}.checkout-summary-row{display:flex;justify-content:space-between;color:rgba(233,244,251,.9);padding:4px 0;border-bottom:1px solid rgba(191,230,243,.12)}.checkout-summary-row:last-child{border-bottom:none}.checkout-summary-total{display:flex;justify-content:space-between;font-weight:700;color:#e9f4fb;padding-top:6px;border-top:1px solid rgba(191,230,243,.18)}.checkout-footer{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,100% - clamp(32px,8vw,80px));box-sizing:border-box;display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:0;border:none;background:rgba(0,0,0,0);z-index:85}.checkout-footer .checkout-button{width:100%}.checkout-step{display:flex;flex-direction:column;gap:12px}.checkout-step h2{font-size:1rem;margin:0}.checkout-step-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.checkout-link{border:none;background:rgba(0,0,0,0);color:rgba(233,244,251,.7);font-size:.85rem;padding:0}.checkout-link:hover{color:#e9f4fb}.checkout-field{display:flex;flex-direction:column;gap:6px;font-size:.95rem;color:rgba(233,244,251,.9)}.checkout-field input,.checkout-field textarea{border-radius:12px;border:1px solid rgba(191,230,243,.2);padding:10px 12px;font-size:1rem;background:rgba(6,22,32,.6);color:#e9f4fb}.checkout-field input::-moz-placeholder,.checkout-field textarea::-moz-placeholder{color:rgba(233,244,251,.5)}.checkout-field input::placeholder,.checkout-field textarea::placeholder{color:rgba(233,244,251,.5)}.checkout-field input:focus,.checkout-field textarea:focus{outline:none;border-color:rgba(79,209,197,.7);box-shadow:0 0 0 2px rgba(79,209,197,.2)}.checkout-button{min-height:44px;border-radius:999px;border:1px solid rgba(191,230,243,.35);padding:10px 18px;font-weight:600;background:rgba(10,38,52,.7);color:#e9f4fb;transition:transform .2s ease,background .2s ease}.checkout-button.primary{background:#4fd1c5;color:#0b2230;border-color:rgba(0,0,0,0)}.checkout-button:active{transform:scale(.98)}.checkout-button:disabled{opacity:.6;cursor:not-allowed}.checkout-actions{display:flex;gap:12px;flex-wrap:wrap}.checkout-empty{color:rgba(233,244,251,.6)}@media(max-width:768px){.checkout-page,.setup-overlay{align-items:stretch;justify-content:flex-start;padding:0;padding-bottom:calc(env(safe-area-inset-bottom) + var(--sticky-cta-space));overflow:hidden}.checkout-card,.setup-panel{width:100%;height:100%;max-height:none;border-radius:14px;padding:0;overflow:hidden}.checkout-body,.setup-body{--page-body-extra:calc(var(--sticky-cta-space) + 8px)}.setup-items{max-height:none}.qty-button{width:30px;height:30px}.setup-suggestion-row{flex-direction:column;align-items:flex-start}.setup-suggestion-row .setup-button{width:100%}.checkout-footer,.setup-footer{left:0;right:0;width:100%;transform:none;padding:0 16px}.checkout-footer .checkout-button,.setup-footer .setup-button{padding:8px 12px;font-size:.9rem}}@media(orientation:landscape)and (max-height:500px){:root{--sticky-cta-space:56px}.pageHeader{padding-top:calc(var(--safe-top) + 6px);padding-bottom:6px}.pageHeader__title{font-size:22px}.pageHeader__subtitle{display:none}.checkout-content,.setup-content{padding-left:calc(var(--safe-left) + 12px);padding-right:calc(var(--safe-right) + 12px)}.checkout-card,.setup-panel{max-height:none;height:100%;border-radius:12px}.checkout-body,.setup-body{--page-body-extra:var(--sticky-cta-space);gap:8px;padding-top:8px}.pageBody{padding-right:calc(var(--safe-right) + 12px);padding-left:calc(var(--safe-left) + 12px);padding-bottom:calc(var(--safe-bottom) + 12px + var(--page-body-extra, 0px))}.checkout-card .pageBody,.setup-panel .pageBody{padding-left:12px;padding-right:12px}.checkout-step{gap:8px}.checkout-field input,.checkout-field textarea{padding:8px 10px;font-size:.95rem}.checkout-field textarea{min-height:80px}.setup-item-row{min-height:36px;padding:2px 0}.qty-button{width:24px;height:24px}.page-total{padding-top:8px}.header-action{min-height:36px;padding:6px 12px;font-size:.85rem;white-space:nowrap}.checkout-footer,.setup-footer{left:calc(var(--safe-left) + 12px);right:calc(var(--safe-right) + 12px);bottom:calc(8px + var(--safe-bottom));width:auto;transform:none}.checkout-footer .checkout-button,.setup-footer .setup-button{min-height:48px;font-size:.9rem}}.contact-modal-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(2,14,22,.6);backdrop-filter:blur(8px);padding:16px}.contact-modal{position:relative;width:min(360px,90vw);border-radius:16px;padding:20px 18px 18px;background:rgba(10,32,50,.85);border:1px solid rgba(191,230,243,.35);color:rgba(240,248,255,.92);box-shadow:0 20px 60px rgba(0,0,0,.35)}.contact-modal h2{margin:0 0 12px;font-size:1.2rem;font-weight:600}.contact-modal-body{display:flex;flex-direction:column;gap:12px}.contact-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(5,22,34,.45);color:rgba(191,230,243,.95);text-decoration:none;font-size:.95rem;transition:border-color .2s ease,transform .2s ease,background .2s ease}.contact-item:hover{border-color:rgba(191,230,243,.45);background:rgba(5,22,34,.6);transform:translateY(-1px)}.contact-item-icon{width:34px;height:34px;border-radius:10px;background:rgba(191,230,243,.12);display:inline-flex;align-items:center;justify-content:center;color:rgba(191,230,243,.95);flex:0 0 auto}.contact-item-icon svg{width:18px;height:18px;display:block}.contact-item-text{font-weight:500;letter-spacing:.01em}.contact-modal-close{position:absolute;top:8px;right:10px;width:28px;height:28px;border-radius:999px;border:none;background:hsla(0,0%,100%,.08);color:rgba(240,248,255,.9);font-size:20px;line-height:1}.nav-overlay{position:fixed;top:var(--header-top);display:flex;gap:8px;z-index:80;pointer-events:auto}.nav-overlay-left{left:calc(var(--safe-left) + var(--header-x))}.nav-overlay-right{right:calc(var(--safe-right) + var(--header-x))}.nav-overlay-disabled{pointer-events:none}.nav-overlay-button{width:var(--back-hit);height:var(--back-hit);display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,0);border:none;padding:0;margin:0;color:rgba(215,250,255,.95);opacity:.5;cursor:pointer;position:relative}.nav-overlay-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:rgba(240,248,255,.92);color:rgba(2,18,28,.92);font-size:11px;font-weight:700;line-height:18px;text-align:center;pointer-events:none}.nav-overlay-button:focus-visible,.nav-overlay-button:hover{opacity:1}@media(max-width:768px){.contact-float{bottom:clamp(80px,10vh,120px)}}.fishsvg-wrap{position:absolute;pointer-events:none;left:var(--fx,10%);top:var(--fy,50vh);z-index:var(--fz,60);will-change:transform}@keyframes swim-x{0%{transform:translateX(-15vw)}45%{transform:translateX(85vw)}47%{transform:translateX(90vw)}50%{transform:translateX(80vw)}95%{transform:translateX(-10vw)}97%{transform:translateX(-15vw)}to{transform:translateX(-15vw)}}@keyframes face-cycle{0%,45%{transform:scaleX(1)}47%,95%{transform:scaleX(-1)}97%,to{transform:scaleX(1)}}@keyframes fish-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.fish-path{animation:swim-x var(--fswim,24s) linear infinite;will-change:transform}.fish-face{animation:face-cycle var(--fswim,24s) linear infinite;transform-origin:center}.fish-bob,.fish-face{will-change:transform}.fish-bob{animation:fish-bob var(--fdur,3.4s) ease-in-out infinite}.fishsvg{width:var(--fw,140px);height:auto;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35)) drop-shadow(0 0 12px rgba(120,200,255,.16))}@keyframes seg-wave-1{0%,to{transform:rotate(0deg)}50%{transform:rotate(2.2deg)}}@keyframes seg-wave-2{0%,to{transform:rotate(0deg)}50%{transform:rotate(4.2deg)}}@keyframes seg-wave-3{0%,to{transform:rotate(0deg)}50%{transform:rotate(8deg)}}.fishsvg .seg-1{transform-origin:56% 50%;animation:seg-wave-1 var(--fseg1,1.8s) ease-in-out infinite}.fishsvg .seg-2{transform-origin:68% 50%;animation:seg-wave-2 var(--fseg2,1.4s) ease-in-out infinite}.fishsvg .seg-3{transform-origin:84% 50%;animation:seg-wave-3 var(--fseg3,.95s) ease-in-out infinite}@keyframes fin-flap{0%,to{transform:rotate(0)}50%{transform:rotate(18deg)}}.fishsvg .fin-a,.fishsvg .fin-d,.fishsvg .fin-p{transform-origin:center;animation:fin-flap 2.8s ease-in-out infinite}@keyframes eye-blink{0%,48%,52%,to{transform:scaleY(1)}50%{transform:scaleY(.25)}}.fishsvg .eye{transform-origin:center;animation:eye-blink 5.7s linear infinite}@keyframes fall-apart{0%{transform:translateY(0) rotate(0deg) scale(1);opacity:1}50%{transform:translateY(-20px) rotate(15deg) scale(1.1)}to{transform:translateY(120px) rotate(45deg) scale(.9);opacity:0}}.animate-fall-apart{animation:fall-apart 1.5s ease-in forwards}@keyframes shimmer{0%{filter:brightness(1)}50%{filter:brightness(1.25)}to{filter:brightness(1)}}.shimmer{animation:shimmer 4s ease-in-out infinite}.absolute{position:absolute}.relative{position:relative}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.bottom-4{bottom:1rem}.right-4{right:1rem}.flex{display:flex}.grid{display:grid}.flex-col{flex-direction:column}.items-stretch{align-items:stretch}.gap-2{gap:.5rem}.w-full{width:100%}.h-full{height:100%}.w-auto{width:auto}.min-h-\[100svh\]{min-height:100svh}.max-w-\[90vw\]{max-width:90vw}.h-\[9rem\]{height:9rem}@media(min-width:768px){.md\:h-\[11rem\]{height:11rem}}.overflow-hidden{overflow:hidden}.px-4{padding-left:1rem;padding-right:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.z-50{z-index:50}.z-\[10\]{z-index:10}.text-sm{font-size:.875rem;line-height:1.25rem}.font-semibold{font-weight:600}.text-white{color:#fff}.text-slate-900{color:#0f172a}.text-slate-700{color:#334155}.text-foreground{color:hsl(var(--foreground))}.bg-transparent{background-color:rgba(0,0,0,0)}.bg-black\/60{background-color:rgba(0,0,0,.6)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-slate-900{background-color:#0f172a}.border{border-width:1px;border-style:solid}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-slate-300{border-color:#cbd5e1}.rounded-full{border-radius:9999px}.rounded-2xl{border-radius:1rem}.will-change-transform{will-change:transform}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.backdrop-blur{backdrop-filter:blur(8px)}.backdrop-blur-sm{backdrop-filter:blur(4px)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.35\)\]{box-shadow:0 20px 50px rgba(0,0,0,.35)}@keyframes swimRight{0%{transform:translate3d(-15vw,calc(var(--drift, 8px) * -.5),0)}50%{transform:translate3d(50vw,calc(var(--drift, 8px) * .75),0)}to{transform:translate3d(115vw,calc(var(--drift, 8px) * -.5),0)}}@keyframes swimLeft{0%{transform:translate3d(115vw,calc(var(--drift, 8px) * .5),0)}50%{transform:translate3d(50vw,calc(var(--drift, 8px) * -.75),0)}to{transform:translate3d(-15vw,calc(var(--drift, 8px) * .5),0)}}@keyframes floatUp{0%{transform:translateZ(0);opacity:0}10%{opacity:1}to{transform:translate3d(0,-100vh,0);opacity:0}}@keyframes sway{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1.4deg)}}@keyframes gentleSway{0%,to{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}@keyframes caustics{0%{transform:translate3d(-2%,-1%,0) scale(1.02)}50%{transform:translate3d(1%,1%,0) scale(1.03)}to{transform:translate3d(-2%,-1%,0) scale(1.02)}}@keyframes particleFloat{0%{transform:translateZ(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate3d(0,-90vh,0);opacity:0}}@keyframes seaweedPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.08)}}.animate-swim-right{animation:swimRight var(--swim,28s) linear infinite}.animate-swim-left{animation:swimLeft var(--swim,28s) linear infinite}.animate-float-up{animation:floatUp 14s linear infinite}.animate-sway{animation:sway 6s ease-in-out infinite}.animate-gentle-sway{animation:gentleSway 8s ease-in-out infinite}.animate-caustics{animation:caustics 10s ease-in-out infinite}.animate-particle-float{animation:particleFloat 16s linear infinite}.animate-seaweed-pulse{animation:seaweedPulse 6s ease-in-out infinite}[data-theme=dark]{--bg:var(--color-neutral-950);--surface:var(--color-neutral-900);--surface-hover:var(--color-neutral-800);--border:var(--color-neutral-800);--border-strong:var(--color-neutral-700);--text:var(--color-neutral-50);--text-secondary:var(--color-neutral-400);--text-muted:var(--color-neutral-500);--text-inverse:var(--color-neutral-900);--accent:var(--color-aqua-400);--accent-hover:var(--color-aqua-300);--accent-subtle:var(--color-aqua-900);--accent-text:var(--color-aqua-300);--destructive:0 72% 60%;--destructive-hover:0 72% 55%;--destructive-subtle:0 72% 15%;--canvas-bg:linear-gradient(180deg,hsl(200 40% 12%),hsl(195 45% 14%));--canvas-frame:var(--color-neutral-800);--canvas-shadow:0 1px 2px hsl(0 0% 0%/0.12),0 4px 8px hsl(0 0% 0%/0.18),0 12px 24px hsl(0 0% 0%/0.24);--table-surface:hsl(28 25% 38%);--table-edge:hsl(28 30% 28%);--table-shadow:hsl(0 0% 0%/0.32);--elev-1:0 1px 2px hsl(0 0% 0%/0.12),0 1px 3px hsl(0 0% 0%/0.18);--elev-2:0 2px 4px hsl(0 0% 0%/0.14),0 4px 8px hsl(0 0% 0%/0.20);--elev-3:0 4px 8px hsl(0 0% 0%/0.18),0 8px 16px hsl(0 0% 0%/0.24);--elev-4:0 8px 16px hsl(0 0% 0%/0.22),0 16px 32px hsl(0 0% 0%/0.28)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;width:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--line-normal);color:hsl(var(--text));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px;border-radius:var(--radius-sm)}[role=button]:focus-visible,button:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem;--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%}.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%;--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%;--sidebar-ring:217.2 91.2% 59.8%}*{border-color:hsl(var(--border))}body{color:hsl(var(--foreground))}.editor-root,body{background:var(--app-bg,#082032)}.editor-root{height:100dvh;min-height:100dvh;min-height:-webkit-fill-available;display:grid;grid-template-rows:48px 1fr}canvas{display:block;width:100%!important;height:100%!important}.tank{position:relative;min-height:0;border-radius:14px;overflow:visible!important}.tank,.tank>canvas{width:100%;height:100%}.tank>canvas{display:block}.tank-waterline{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.55) 0,rgba(255,255,255,.18) 6%,rgba(255,255,255,.05) 9%,rgba(255,255,255,0) 13% 100%)}.tank-reflect-left,.tank-reflect-right{pointer-events:none;position:absolute;top:0;bottom:0;width:28%;mix-blend-mode:screen;opacity:.25}.tank-reflect-left{left:0;background:linear-gradient(90deg,rgba(255,255,255,.35),rgba(255,255,255,0))}.tank-reflect-right{right:0;background:linear-gradient(270deg,rgba(255,255,255,.25),rgba(255,255,255,0))}.tank-glare{left:-15%;right:-15%;top:-30%;height:60%;background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.25) 0,rgba(255,255,255,.12) 40%,rgba(255,255,255,0) 70%)}.tank-bottom-depth,.tank-glare{pointer-events:none;position:absolute}.tank-bottom-depth{left:0;right:0;bottom:-6%;height:28%;background:radial-gradient(ellipse at 50% 0,rgba(0,0,0,.18) 0,rgba(0,0,0,.1) 35%,rgba(0,0,0,0) 70%)}.tank-inner-edges{pointer-events:none;position:absolute;inset:12px;border-radius:10px;box-shadow:inset 0 0 0 1px rgba(200,230,240,.7);background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0) 40%) top/100% 100% no-repeat,linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,0) 40%) 0/100% 100% no-repeat;opacity:.85}.canvas-shell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;background:#fff;overflow:auto}.table-decor{position:absolute;left:50%;bottom:var(--table-offset);transform:translateX(-50%);width:calc(var(--canvas-max-width) - 80px);pointer-events:none;z-index:1}.table-shadow{position:absolute;inset:auto 0 -8px 0;height:12px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.12),transparent 70%);filter:blur(3px)}.table-surface{position:relative;width:100%;height:12px;border-radius:2px;background:linear-gradient(180deg,#f5f5f5,#e8e8e8);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),inset 0 -1px 0 rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.08)}.table-edge{display:none}.canvas-card{z-index:2;width:100%;max-width:var(--canvas-max-width);background:rgba(0,0,0,0);box-shadow:none;margin-bottom:calc(var(--table-offset) + var(--table-height) + var(--space-6));border:0}.canvas-card:after,.canvas-card:before{content:none}.canvas-plate{position:relative;width:100%;aspect-ratio:var(--canvas-aspect);min-height:var(--canvas-min-height);border-radius:2px;overflow:hidden;background:#fff;border:0;box-shadow:none}.canvas-plate:after,.canvas-plate:before{content:none}@keyframes waterShimmer{0%,to{opacity:.6;transform:scale(1) translateY(0)}50%{opacity:.8;transform:scale(1.05) translateY(-2px)}}.canvas-plate.shape-round{border-radius:50%;aspect-ratio:1;border:0;box-shadow:none}.canvas-plate.shape-hexagon{border-radius:4px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:0;box-shadow:none}.canvas-plate.shape-oval{border-radius:50%;aspect-ratio:16/10;border:0;box-shadow:none}.canvas-plate.shape-cylinder{border-radius:40%/15%;aspect-ratio:16/11;border:0;box-shadow:none}.canvas-plate .front-glass{position:absolute;inset:1px;pointer-events:none;z-index:15;background:linear-gradient(115deg,rgba(255,255,255,.25),rgba(255,255,255,0) 40%),linear-gradient(250deg,rgba(255,255,255,.2),rgba(255,255,255,0) 45%),radial-gradient(35% 55% at 12% 8%,rgba(255,255,255,.5),rgba(255,255,255,0) 70%),radial-gradient(40% 60% at 88% 12%,rgba(200,230,235,.35),rgba(200,230,235,0) 70%);border-radius:1px}.canvas-plate .canvas-container{position:absolute;inset:0;border-radius:inherit;overflow:hidden;width:100%!important;height:100%!important}.canvas-plate .lower-canvas{display:block;width:100%!important;height:100%!important;background:#fff}.canvas-plate .upper-canvas{background:rgba(0,0,0,0)!important;width:100%!important;height:100%!important}.fabric-canvas{display:block;width:100%;height:100%}.canvas-shell.drag-over .canvas-plate{box-shadow:inset 0 3px 30px hsla(0,0%,100%,.7),inset 3px 0 20px hsla(0,0%,100%,.5),inset -3px 0 20px rgba(200,230,255,.4),inset 0 -3px 30px rgba(100,180,255,.3),inset 0 0 1px rgba(100,150,200,.3),inset 0 0 0 3px hsl(var(--accent)),0 0 0 4px hsl(var(--accent)/.3),0 4px 20px rgba(0,0,0,.12),0 8px 40px rgba(0,0,0,.08);transition:box-shadow var(--transition-fast)}[data-theme=dark] .canvas-card{background:rgba(0,0,0,0);box-shadow:none;border:0}[data-theme=dark] .canvas-shell{background:radial-gradient(1200px 600px at 50% -10%,rgba(40,90,130,.45),rgba(0,0,0,0) 65%),radial-gradient(900px 500px at 70% 10%,rgba(60,120,165,.3),rgba(0,0,0,0) 70%),linear-gradient(180deg,#0f1620,#0b121a 35%,#0a0f16 70%,#080c12)}[data-theme=dark] .canvas-card:after,[data-theme=dark] .canvas-card:before{content:none}[data-theme=dark] .canvas-plate{background:radial-gradient(120% 60% at 50% -10%,rgba(120,200,255,.18),rgba(10,30,45,0) 60%),linear-gradient(180deg,rgba(30,90,130,.25),rgba(16,50,75,.35) 45%,rgba(4,12,20,.6));border:3px solid rgba(6,12,18,.95);box-shadow:inset 0 0 0 1px rgba(80,140,185,.35),inset 0 0 26px rgba(15,50,80,.45),inset 0 -28px 46px rgba(4,10,16,.7),0 12px 26px rgba(0,0,0,.45)}[data-theme=dark] .table-surface{background:linear-gradient(180deg,#2a2a2a,#1a1a1a);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),inset 0 -1px 0 rgba(0,0,0,.3),0 2px 8px rgba(0,0,0,.3)}[data-theme=dark] .canvas-plate:before{background:linear-gradient(110deg,rgba(180,220,255,.3),rgba(180,220,255,0) 20%,rgba(180,220,255,0) 75%,rgba(120,180,230,.2))}[data-theme=dark] .canvas-plate .lower-canvas{background:radial-gradient(120% 70% at 50% -20%,rgba(120,180,220,.12),rgba(0,0,0,0) 65%),linear-gradient(180deg,rgba(40,110,150,.25),rgba(20,60,90,.35) 40%,rgba(4,12,20,.65))}.canvas-empty-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6);text-align:center;pointer-events:none;z-index:10}.empty-illustration{width:120px;height:120px;margin-bottom:var(--space-4);opacity:.3}.empty-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:hsl(var(--text));margin-bottom:var(--space-2)}.empty-description{font-size:var(--text-base);color:hsl(var(--text-muted));max-width:400px;line-height:var(--line-relaxed)}@media(max-width:1024px){.canvas-card{margin-bottom:calc(var(--table-offset) + var(--space-4))}}@media(max-width:768px){:root{--canvas-aspect:4/3;--canvas-min-height:clamp(400px,60vh,700px)}.table-decor{display:none}.canvas-card{margin-bottom:0}}@media(max-width:480px){.canvas-card{border-radius:var(--radius-xl)}.canvas-plate{border-radius:var(--radius-lg)}}:root{--ff-bg-top:#071a22;--ff-bg-mid:#0b2a34;--ff-bg-bottom:#0e3642;--ff-bg:linear-gradient(180deg,#071a22,#0b2a34 60%,#0e3642);--ff-text:#e9f4fb;--ff-text-muted:rgba(233,244,251,0.7);--ff-text-secondary:rgba(233,244,251,0.78);--ff-surface:rgba(255,255,255,0.06);--ff-surface-strong:rgba(8,24,34,0.6);--ff-border-soft:rgba(255,255,255,0.08);--ff-border-aqua:rgba(191,230,243,0.12);--ff-border-cta:rgba(191,230,243,0.35);--ff-primary:#4fd1c5;--ff-primary-text:#0b2230;--ff-danger:rgba(255,190,190,0.95);--ff-radius-card:14px;--ff-radius-button:999px;--ff-radius-input:12px;--ff-shadow-card:0 24px 60px rgba(2,10,16,0.45);--ff-focus-ring:rgba(163,232,255,0.7)}.pageShell{flex:1 1 auto;min-height:0;background:var(--app-bg,linear-gradient(180deg,#071a22 0,#0b2a34 60%,#0e3642 100%));color:#e9f4fb;display:flex;align-items:flex-start;justify-content:center;padding:var(--page-pad-y) var(--page-pad-x);padding-top:calc(var(--page-pad-y) + env(safe-area-inset-top));padding-bottom:calc(var(--page-pad-y) + env(safe-area-inset-bottom));box-sizing:border-box}.pageShellCentered{align-items:center}.containerNarrow{width:min(560px,100%)}.pageShell .pageHeader{display:grid;gap:10px;margin-bottom:16px}.pageShell .pageHeaderRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.pageShell .accountHeaderLeft{display:flex;align-items:center;gap:10px;min-width:0}.pageShell .accountBackBtn{width:auto;min-height:40px;padding:8px 10px;border-radius:999px}.pageShell .accountBackIcon{font-size:16px;line-height:1;opacity:.9}.pageShell .pageTitle{margin:0;font-size:28px;line-height:1.1;letter-spacing:-.02em}.pageShell .pageSubtitle{margin:0;font-size:14px;line-height:1.45;color:rgba(233,244,251,.78)}.pageShell .badge{font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.14);background:rgba(0,0,0,.18);color:rgba(233,244,251,.9);white-space:nowrap}.pageShell .card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:0 24px 60px rgba(2,10,16,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:hidden}.pageShell .cardBody{padding:18px}.pageShell .stack{display:grid;gap:12px}.pageShell .stackSection{margin-top:14px}.pageShell .btnRow,.pageShell .formRow{display:grid;gap:10px}.pageShell .btn{min-height:44px;width:100%;border-radius:999px;padding:10px 18px;border:1px solid rgba(191,230,243,.35);background:rgba(10,38,52,.7);color:#e9f4fb;font-weight:650;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:transform .2s ease,background .2s ease,border-color .2s ease;text-decoration:none;box-sizing:border-box}.pageShell .btn:active{transform:scale(.98)}.pageShell .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.pageShell .btn:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.pageShell .btnPrimary{background:#4fd1c5;color:#0b2230;border-color:rgba(0,0,0,0)}.pageShell .btnGhost{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.14)}.pageShell .btnDanger{background:rgba(255,80,80,.12);border-color:rgba(255,130,130,.3);color:#e9f4fb}.pageShell .field{display:grid;gap:8px}.pageShell .label{font-size:13px;color:rgba(233,244,251,.8)}.pageShell .input{height:46px;width:100%;border-radius:12px;border:1px solid hsla(0,0%,100%,.14);background:rgba(0,0,0,.18);color:#e9f4fb;padding:0 12px;box-sizing:border-box}.pageShell .textarea{min-height:96px;padding-top:10px;padding-bottom:10px;resize:vertical}.pageShell .select{height:46px}.pageShell .input::-moz-placeholder{color:rgba(233,244,251,.5)}.pageShell .input::placeholder{color:rgba(233,244,251,.5)}.pageShell .input:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.pageShell .input:focus{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.pageShell .divider{position:relative;display:grid;place-items:center;padding:8px 0;color:rgba(233,244,251,.65);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.pageShell .divider:before{content:"";position:absolute;inset:50% 0 auto 0;height:1px;background:hsla(0,0%,100%,.12)}.pageShell .divider span{position:relative;padding:0 10px;background:rgba(2,10,16,.3);border:1px solid hsla(0,0%,100%,.1);border-radius:999px}.pageShell .status{font-size:13px;line-height:1.4;color:rgba(233,244,251,.85);margin:0}.pageShell .statusError{color:rgba(255,190,190,.95)}.pageShell .statusSuccess{color:rgba(200,255,222,.95)}.pageShell .spinner{width:16px;height:16px;border-radius:999px;border:2px solid rgba(0,0,0,.18);border-top-color:rgba(0,0,0,.55);animation:ffSpin .9s linear infinite}.pageShell .spinnerOnDark{border-color:rgba(233,244,251,.85) rgba(233,244,251,.22) rgba(233,244,251,.22)}@keyframes ffSpin{to{transform:rotate(1turn)}}.navLoadingOverlay{position:fixed;inset:0;z-index:9998;pointer-events:none}.navLoadingBackdrop{position:absolute;inset:0;background:rgba(0,0,0,.12);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.navLoadingBarSlot{position:absolute;left:0;right:0;top:0;height:calc(3px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);display:flex;align-items:flex-end}.navLoadingBar{width:100%;height:3px;background:hsla(0,0%,100%,.08);position:relative;overflow:hidden}.navLoadingBar:after{content:"";position:absolute;top:0;bottom:0;left:-45%;width:45%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(79,209,197,.95),rgba(255,255,255,0));animation:ffNavIndeterminate 1.1s ease-in-out infinite}@keyframes ffNavIndeterminate{to{transform:translateX(220%)}}.navLoadingOverlayInner{width:56px;height:56px;border-radius:999px;border:1px solid hsla(0,0%,100%,.14);background:rgba(6,22,32,.55);display:grid;place-items:center}.navLoadingTimeout{position:fixed;left:16px;right:16px;top:calc(12px + env(safe-area-inset-top));z-index:9999;display:flex;justify-content:center;pointer-events:none}.navLoadingTimeoutCard{width:min(680px,100%);border-radius:14px;border:1px solid rgba(120,220,230,.35);background:rgba(6,22,32,.85);box-shadow:0 24px 60px rgba(2,10,16,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;pointer-events:auto}.navLoadingTimeoutText{color:rgba(233,244,251,.88);font-size:13px;line-height:1.4}.navLoadingTimeoutBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsla(0,0%,100%,.14);outline:none;min-height:40px;padding:8px 14px;border-radius:999px;background:hsla(0,0%,100%,.06);color:rgba(233,244,251,.92);font-weight:650;cursor:pointer;pointer-events:auto;transition:none}.navLoadingTimeoutBtn:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.navLoadingTimeoutBtn:hover{background:hsla(0,0%,100%,.1)}.appLoader{display:grid;place-items:center}.pageShell .footerLinks{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pageShell .link{color:rgba(163,232,255,.95);text-decoration:none;font-size:13px}.pageShell .link:hover{text-decoration:underline}.pageShell .list{display:grid;gap:10px}.pageShell .listRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(191,230,243,.12);background:rgba(6,22,32,.55);color:#e9f4fb;text-decoration:none}.pageShell .listRowButton{width:100%;text-align:left;cursor:pointer}.pageShell .listRowButton:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.pageShell .listRowMuted{color:rgba(233,244,251,.7)}.pageShell .banner{border-radius:14px;border:1px solid rgba(191,230,243,.12);background:rgba(6,22,32,.55);padding:12px 14px}.pageShell .bannerError{border-color:rgba(255,130,130,.3);background:rgba(255,80,80,.1)}.pageShell .bannerSuccess{border-color:rgba(120,220,230,.35);background:rgba(79,209,197,.1)}.pageShell .limitedToast{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:9999;display:flex;justify-content:center;pointer-events:none}.pageShell .limitedToastCard{width:min(680px,100%);border-radius:14px;border:1px solid rgba(120,220,230,.35);background:rgba(6,22,32,.8);box-shadow:0 24px 60px rgba(2,10,16,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;pointer-events:auto}.pageShell .limitedToastCardCompact{justify-content:center;padding:10px 12px}.pageShell .limitedToastBody{min-width:0;display:grid;gap:2px}.pageShell .limitedToastTitle{margin:0;font-weight:700}.pageShell .limitedToastSub{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pageShell .limitedToastAction{width:auto;min-height:40px;padding:8px 14px;flex:0 0 auto;white-space:nowrap}.pageShell .bannerRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.pageShell .helper{font-size:12px;color:rgba(233,244,251,.7)}.pageShell .helperError{color:rgba(255,190,190,.95)}.pageShell .toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.pageShell .toolbarLeft{display:grid;gap:6px;min-width:min(420px,100%)}.pageShell .toolbarRight{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.pageShell .toolbarRight .btn{width:auto}.pageShell .adminControls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.pageShell .filterActionBar{display:grid;gap:10px;align-items:center}.pageShell .filterActionCTA,.pageShell .filterActionSearch{width:100%}.pageShell .filterActionExtras{margin-top:10px}.pageShell .adminSearch{flex:1 1 260px;min-width:200px}.pageShell .adminMeta{flex:0 0 auto;padding-bottom:2px}.pageShell .adminCTA{width:auto;flex:0 0 auto}.pageShell .adminNav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(6,22,32,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.pageShell .adminNavTitle{font-weight:700;letter-spacing:.02em;color:rgba(233,244,251,.92);text-transform:uppercase;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pageShell .adminNavBtn{width:auto;min-height:40px;padding:8px 12px;gap:8px;border-radius:999px}.pageShell .adminNavIcon{font-size:16px;line-height:1;opacity:.9}.pageShell .adminDashHeaderLeft{display:flex;align-items:center;gap:10px;min-width:0}.pageShell .adminDashNavBtn{width:auto;min-height:40px;padding:8px 12px;border-radius:999px;white-space:nowrap}.pageShell .adminDashActions{display:grid;gap:12px}.pageShell .adminDashActionRow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border-radius:14px;border:1px solid rgba(191,230,243,.12);background:rgba(6,22,32,.55)}.pageShell .adminDashActionText{min-width:0;display:grid;gap:6px}.pageShell .adminDashActionTitle{font-weight:700;font-size:16px;color:rgba(233,244,251,.95)}.pageShell .adminDashActionSub{color:rgba(233,244,251,.78);font-size:13px;line-height:1.4}.pageShell .adminDashActionBtn{width:auto;min-height:40px;padding:8px 14px;flex:0 0 auto;white-space:nowrap}@media(max-width:640px){.pageShell .adminDashActionRow{flex-direction:column;align-items:stretch}.pageShell .adminDashActionBtn{width:100%}}.pageShell .inputRow{display:grid;grid-template-columns:1fr;gap:10px}.pageShell .inputRow .btn{width:auto}.pageShell .tableWrap{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12)}.pageShell .table{width:100%;border-collapse:collapse;min-width:720px}.pageShell .table td,.pageShell .table th{text-align:left;padding:12px 14px;border-bottom:1px solid rgba(191,230,243,.12);font-size:14px;vertical-align:middle}.pageShell .table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(233,244,251,.75);background:rgba(8,24,34,.45)}.pageShell .table tr:last-child td{border-bottom:none}.pageShell .tableActions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.pageShell .tableActions .btn{width:auto;min-height:36px;padding:8px 14px}.pageShell .thumb{width:44px;height:44px;border-radius:12px;border:1px solid rgba(191,230,243,.12);background:rgba(6,22,32,.55);display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.pageShell .thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pageShell .thumbPlaceholder{font-size:12px;color:rgba(233,244,251,.7)}.pageShell .rowTitle{font-weight:650;color:rgba(233,244,251,.95);line-height:1.2}.pageShell .rowSub{color:rgba(233,244,251,.7);font-size:12px}.pageShell .pill{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:2px 10px;border-radius:999px;border:1px solid rgba(191,230,243,.12);background:rgba(6,22,32,.55);font-size:12px;color:rgba(233,244,251,.85);white-space:nowrap}.pageShell .pillMuted{color:rgba(233,244,251,.65)}.pageShell .pillPrimary{border-color:rgba(79,209,197,.35);background:rgba(79,209,197,.12);color:rgba(200,255,222,.95)}.pageShell .pillDanger{border-color:rgba(255,130,130,.3);background:rgba(255,80,80,.1);color:rgba(255,190,190,.95)}.pageShell .switchRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(191,230,243,.12);background:rgba(6,22,32,.55)}.pageShell .switchRow span{color:rgba(233,244,251,.9);font-weight:600}.pageShell .switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:26px;border-radius:999px;border:1px solid hsla(0,0%,100%,.18);background:rgba(0,0,0,.25);position:relative;cursor:pointer;transition:background .16s ease,border-color .16s ease}.pageShell .switch:after{content:"";position:absolute;top:50%;left:4px;width:18px;height:18px;border-radius:999px;transform:translateY(-50%);background:rgba(233,244,251,.9);transition:transform .16s ease,background .16s ease}.pageShell .switch:checked{background:rgba(79,209,197,.35);border-color:rgba(79,209,197,.35)}.pageShell .switch:checked:after{transform:translate(18px,-50%);background:#4fd1c5}.pageShell .switch:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.pageShell .modalOverlay{z-index:90;padding:calc(clamp(16px,4vw,40px) + env(safe-area-inset-top)) clamp(16px,4vw,40px) calc(clamp(16px,4vw,40px) + env(safe-area-inset-bottom));background:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.appOverlay,.pageShell .modalOverlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.appOverlay{z-index:10000;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:rgba(0,0,0,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.appOverlayPanel{width:min(760px,100vw - 48px);max-height:calc(100dvh - 72px);overflow:hidden;border-radius:18px;border:1px solid hsla(0,0%,100%,.08);background:linear-gradient(180deg,rgba(16,24,32,.95),rgba(8,12,18,.95));box-shadow:0 24px 80px rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column}@media(min-width:768px){.pageShell .appOverlay{padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom))}}@media(max-width:640px){.pageShell .appOverlayPanel{width:calc(100vw - 24px);max-height:calc(100dvh - 40px)}}.appOverlayPanel.overlayPanelNarrow{max-width:560px;width:min(560px,100vw - 48px)}@media(max-width:640px){.pageShell .appOverlayPanel.overlayPanelNarrow{width:calc(100vw - 24px)}}.appOverlayPanel .modalHeader{position:relative;padding:20px 72px 14px 20px;border-bottom:1px solid hsla(0,0%,100%,.06);background:rgba(0,0,0,0)}.appOverlayPanel .modalTitle{font-size:22px;font-weight:700;letter-spacing:-.2px;color:hsla(0,0%,100%,.92)}.appOverlayPanel .modalHeader .pageSubtitle{font-size:14px;font-weight:500;color:hsla(0,0%,100%,.65);margin-top:6px}.appOverlayPanel .modalBody{padding:20px;gap:16px;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.appOverlayPanel .modalFooter{flex:0 0 auto;padding:16px 20px 20px;border-top:1px solid hsla(0,0%,100%,.06);display:flex;align-items:center}.shareOverlayBody{display:grid;gap:16px}.shareOverlayLoading{display:flex;align-items:center;justify-content:center;min-height:120px}.shareOverlayActions{display:grid;gap:12px}.shareOverlayField{display:grid;gap:8px}.shareOverlayRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shareOverlayInput{flex:1 1 240px;min-width:0}.shareOverlayHint{font-size:13px;color:rgba(233,244,251,.7)}.appOverlayPanel .modalCloseBtn{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:999px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.75);transition:none}.appOverlayPanel .modalCloseBtn:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.12)}.appOverlayPanel .modalCloseBtn:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.appOverlayPanel .btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid hsla(0,0%,100%,.1);outline:none;min-height:40px;height:40px;border-radius:12px;padding:0 14px;font-size:14px;font-weight:600;cursor:pointer;transition:none;background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.85)}.appOverlayPanel .btn:disabled{opacity:.55;cursor:not-allowed}.appOverlayPanel .btnPrimary{background:#4fd1c5;color:#0b2230;border-color:hsla(0,0%,100%,.06);box-shadow:0 10px 24px rgba(79,209,197,.22)}.appOverlayPanel .btnDanger{background:rgba(255,90,90,.12);border-color:rgba(255,90,90,.25);color:rgba(255,190,190,.95);box-shadow:none}.appOverlayPanel .btnGhost{background:rgba(0,0,0,0);border-color:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.7)}.appOverlayPanel .btn:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.appOverlayPanel .input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.06);color:hsla(0,0%,100%,.9)}.appOverlayPanel .input::-moz-placeholder{color:hsla(0,0%,100%,.45)}.appOverlayPanel .input::placeholder{color:hsla(0,0%,100%,.45)}.appOverlayPanel .input:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.overlayFooterActions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;width:100%}@media(max-width:640px){.pageShell .overlayFooterActions .btn{width:100%}}.switchOverlayList{display:grid;gap:12px;padding:2px}.switchOverlayRow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px;border-radius:16px;border:1px solid hsla(0,0%,100%,.06);background:hsla(0,0%,100%,.04);box-shadow:none}.switchOverlayInfo{min-width:0;display:grid;gap:6px}.switchOverlayTitleRow{display:flex;align-items:center;gap:10px;min-width:0}.switchOverlayTitle{font-size:16px;line-height:1.25;font-weight:600;color:#e9f4fb;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switchOverlayMeta{font-size:12px;line-height:1.35;color:hsla(0,0%,100%,.55)}.switchOverlayActions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;flex:0 0 auto}.switchOverlayActions .btn{min-height:40px;padding:0 14px;width:auto}.switchOverlayBadge{background:rgba(120,210,255,.12);border:1px solid rgba(120,210,255,.2);color:rgba(170,235,255,.95);border-radius:999px;padding:3px 8px;font-size:12px;line-height:1}.switchOverlayFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}@media(max-width:640px){.pageShell .switchOverlayRow{flex-direction:column;align-items:stretch}.pageShell .switchOverlayActions{justify-content:stretch;width:100%}.pageShell .switchOverlayActions .btn{width:100%}.pageShell .switchOverlayFooter{flex-direction:column-reverse;align-items:stretch}.pageShell .switchOverlayFooter .btn{width:100%}}.appRoot[data-overlay-open="1"]{pointer-events:none;touch-action:none}.pageShell .modalPanel{width:min(720px,100%);max-height:calc(100dvh - 120px);overflow:hidden;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.06);box-shadow:0 24px 60px rgba(2,10,16,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column}.pageShell .modalHeader{padding:16px 16px 12px;border-bottom:1px solid rgba(191,230,243,.12);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pageShell .modalCloseBtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:rgba(233,244,251,.06);color:#e9f4fb;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease;flex:0 0 auto}.pageShell .modalCloseBtn:hover{background:rgba(233,244,251,.1);border-color:rgba(191,230,243,.12)}.pageShell .modalCloseBtn:active{transform:translateY(1px)}.pageShell .modalCloseBtn:focus-visible{outline:2px solid rgba(163,232,255,.7);outline-offset:2px}.pageShell .modalHeading{min-width:0}.pageShell .modalTitle{margin:0;font-size:18px;line-height:1.2}.pageShell .modalBody{padding:16px;overflow:auto;-webkit-overflow-scrolling:touch;display:grid;gap:12px}.pageShell .modalFooter{padding:12px 16px 16px;border-top:1px solid rgba(191,230,243,.12);display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.pageShell .modalFooter .btn{width:auto;min-height:40px;padding:8px 16px}.pageShell .skeleton{position:relative;overflow:hidden;border-radius:14px;background:rgba(6,22,32,.55);border:1px solid rgba(191,230,243,.12)}.pageShell .skeletonRowSm{height:52px}.pageShell .skeletonRowLg{height:64px}.pageShell .bannerActions{margin-top:12px}.pageShell .thRight{text-align:right}.pageShell .listRowTop,.pageShell .rowMain{align-items:flex-start}.pageShell .rowMain{display:flex;gap:12px;min-width:0}.pageShell .rowMeta{min-width:0;display:grid;gap:6px}.pageShell .rowBadges{display:flex;gap:8px;flex-wrap:wrap}.pageShell .listRowActionsCol .rowMeta{flex:1 1 auto;min-width:0}.pageShell .listRowActionsCol .tableActions{flex:0 0 auto;flex-wrap:nowrap;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:8px}.pageShell .productCell{display:flex;align-items:center;gap:12px;min-width:0}.pageShell .productCellMeta{min-width:0}.pageShell .previewTitle{margin:0 0 8px}.pageShell .previewGrid{display:flex;gap:12px;flex-wrap:wrap}.pageShell .thumbLarge{width:84px;height:84px}.pageShell .skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.08) 45%,rgba(255,255,255,0));transform:translateX(-100%);animation:skeletonShimmer 1.25s ease-in-out infinite}@keyframes skeletonShimmer{to{transform:translateX(100%)}}.pageShell .hideOnMobile{display:none}.pageShell .hideOnDesktop{display:block}@media(min-width:640px){.pageShell .cardBody{padding:22px}.pageShell .pageTitle{font-size:30px}.pageShell .btnRow{grid-template-columns:1fr 1fr}.pageShell .formRow{grid-template-columns:1fr auto;align-items:end}.pageShell .formRow .btn{width:auto}.pageShell .inputRow{grid-template-columns:1fr 1fr}}@media(min-width:768px){.pageShell .filterActionBar{display:flex;align-items:center;justify-content:space-between;gap:12px}.pageShell .filterActionSearch{flex:1 1 auto;min-width:240px}.pageShell .filterActionCTA{width:auto;flex:0 0 auto;white-space:nowrap}}@media(min-width:720px){.pageShell .hideOnMobile{display:block!important}.pageShell .hideOnDesktop{display:none!important}}.canvas-plate .fabric-canvas{position:relative;z-index:10;display:block}.fabric-canvas.touch-canvas{touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;user-select:none}.canvas-shell{position:relative;touch-action:pan-y}.canvas-shell.mobile-canvas{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}@media(max-width:767px){.canvas-shell.mobile-canvas{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;position:relative;z-index:1}.canvas-shell.mobile-canvas .canvas-plate{position:relative;z-index:1}.canvas-shell.mobile-canvas .fabric-canvas{z-index:20!important}.canvas-shell.mobile-canvas.drag-over .canvas-card{transform:scale(1.02);transition:transform .2s ease;z-index:25}.canvas-shell.mobile-canvas.drag-over .canvas-plate{box-shadow:inset 0 0 0 4px hsl(var(--accent)/.5),0 0 30px hsl(var(--accent)/.3);z-index:25}}.canvas-plate .glass-overlay{position:absolute;inset:0;z-index:15;pointer-events:none;border-radius:inherit;border:2px solid hsla(0,0%,100%,.45);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));box-shadow:0 8px 30px rgba(0,0,0,.12),inset 0 1px 0 hsla(0,0%,100%,.5);mix-blend-mode:overlay}@media(max-width:767px){.canvas-plate .glass-overlay{display:none}}.canvas-card{height:100%;margin-bottom:0;display:flex;align-items:stretch;position:relative}.canvas-plate{height:100%;min-height:0;aspect-ratio:auto!important}.canvas-plate .fabric-canvas{width:100%;height:100%}.canvas-loading{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(4,18,26,.65);color:#e9f4fb;font-size:.95rem;text-align:center;backdrop-filter:blur(6px)}.canvas-loading-spinner{width:32px;height:32px;border-radius:999px;border:2px solid rgba(233,244,251,.25);border-top-color:#4fd1c5;animation:canvas-spin .9s linear infinite}@keyframes canvas-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.canvas-loading-spinner{animation:none}}.app-footer{position:sticky;bottom:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--footer-height);padding:0 var(--space-4);background:hsl(var(--surface)/.95);backdrop-filter:blur(8px);border-top:1px solid hsl(var(--border));font-size:var(--text-xs);color:hsl(var(--text-muted))}.footer-left{gap:var(--space-2);justify-self:start}.footer-center,.footer-left{display:flex;align-items:center}.footer-center{justify-content:center;gap:var(--space-4)}.footer-right{justify-self:end}.footer-right,.shape-selector{display:flex;align-items:center;gap:var(--space-2)}.shape-selector{padding:var(--space-2) var(--space-3);background:hsl(var(--bg));border-radius:var(--radius-lg);border:1px solid hsl(var(--border))}.shape-label{font-size:var(--text-sm);margin-right:var(--space-1)}.shape-button,.shape-label{color:hsl(var(--text-muted))}.shape-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:var(--radius-md);font-size:16px;cursor:pointer;transition:all var(--transition-base)}.shape-button:hover{background:hsl(var(--surface-hover));border-color:hsl(var(--accent));color:hsl(var(--accent));transform:translateY(-1px)}.shape-button.active{background:hsl(var(--accent));border-color:hsl(var(--accent));color:#fff;box-shadow:0 2px 8px hsl(var(--accent)/.3)}.shape-button:active{transform:translateY(0)}.shape-button:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;padding:2px var(--space-2);border:1px solid hsl(var(--border-strong));border-radius:var(--radius-sm);background:hsl(var(--surface));font-family:var(--font-mono);font-size:.688rem;color:hsl(var(--text-secondary));box-shadow:0 1px 0 hsl(var(--border-strong)),0 1px 2px hsl(var(--color-neutral-900)/.05)}.kbd,.save-indicator{font-weight:var(--font-medium)}.save-indicator{font-size:var(--text-xs)}.save-indicator.saved{color:hsl(var(--success))}@media(max-width:768px){.app-footer{grid-template-columns:1fr;justify-items:center}.footer-left,.footer-right{display:none}.shape-selector{padding:var(--space-1) var(--space-2)}.shape-label{display:none}.shape-button{width:28px;height:28px;font-size:14px}}.layers-panel{padding:var(--space-4);overflow:auto;background:hsl(var(--surface));color:hsl(var(--text));height:100%}.layers-title{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);opacity:.85;color:hsl(var(--text))}.layer-row,.layers-grid{display:grid;gap:8px}.layer-row{grid-template-columns:auto 1fr auto;align-items:center;padding:8px;border-radius:8px;border:1px solid rgba(0,0,0,.06);background:hsl(var(--surface));color:hsl(var(--text));cursor:pointer}.layer-row.active{border-color:hsl(var(--accent));background:color-mix(in srgb,hsl(var(--accent)) 6%,transparent)}.layer-actions{display:flex;gap:6px}.layer-thumb{width:28px;height:28px;border-radius:6px;overflow:hidden;display:block}.palette{flex-direction:column;min-height:0;background:hsl(var(--surface));border-right:1px solid hsl(var(--border));overflow:visible;--palette-item-size:82px;--palette-thumb-size:56px;--palette-tray-height:88px;--palette-dock-padding:10px}.palette,.palette-dock{display:flex;height:100%;position:relative}.palette-dock{align-items:center;gap:12px;justify-content:center;padding:0 var(--palette-dock-padding);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x}.palette-dock::-webkit-scrollbar{height:0}.palette-vessel-trigger{min-width:52px}.palette-vessel-trigger .dock-icon{font-size:20px}.palette-vessel-trigger .dock-icon svg{width:20px;height:20px;display:block}.palette-back-float{position:absolute;top:6px;left:var(--palette-dock-padding);z-index:4;background:hsl(var(--surface));border-radius:999px}.palette-dock-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:100%;min-width:58px;padding:4px 6px;border:none;background:rgba(0,0,0,0);color:hsl(var(--text-muted));transition:color var(--transition-fast)}.palette-dock-btn.active,.palette-dock-btn:hover{color:hsl(var(--text))}.palette-dock-btn:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px;border-radius:6px}.palette-dock-btn:disabled{opacity:.35;cursor:not-allowed}.palette-close-btn{color:hsl(var(--text-muted));position:absolute;right:var(--palette-dock-padding);top:50%;transform:translateY(-50%)}.palette-close-btn:hover{color:hsl(var(--text))}.dock-icon{font-size:18px;line-height:1}.palette-tray{position:absolute;left:0;right:0;top:100%;height:var(--palette-tray-height);padding:8px 12px;background:hsl(var(--surface));opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:3}.palette.is-open .palette-tray{opacity:1;transform:translateY(0);pointer-events:auto}.palette-vessel-tray{height:100%;display:flex;flex-direction:column;gap:6px}.palette-vessel-cards{display:flex;align-items:center;gap:8px;justify-content:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.palette-vessel-cards::-webkit-scrollbar{height:0}.palette-vessel-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:78px;padding:6px 8px;border:none;background:rgba(0,0,0,0);color:hsl(var(--text-muted));border-radius:10px;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.palette-vessel-card:hover{color:hsl(var(--text));border-color:hsl(var(--border-strong))}.palette-vessel-card.active{color:hsl(var(--text));border-color:hsl(var(--accent));background:hsl(var(--accent)/.08)}.palette-vessel-icon{display:flex;align-items:center;justify-content:center;color:inherit}.palette-vessel-icon svg{width:28px;height:28px}.palette-vessel-label{display:none}.palette-variants{display:flex;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.palette-variants::-webkit-scrollbar{height:0}.palette-variant-btn{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid hsl(var(--border));background:rgba(0,0,0,0);color:hsl(var(--text-muted));border-radius:8px;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.palette-variant-btn:hover{color:hsl(var(--text));border-color:hsl(var(--border-strong))}.palette-variant-btn.active{color:hsl(var(--text));border-color:hsl(var(--accent));background:hsl(var(--accent)/.08)}.palette-variant-icon svg{width:18px;height:18px;display:block}.palette-items{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-width:0}.palette-items:after,.palette-items:before{content:"";position:absolute;top:0;bottom:0;width:22px;pointer-events:none;z-index:1}.palette-items:before{left:0;background:linear-gradient(90deg,hsl(var(--surface)) 0,transparent 100%)}.palette-items:after{right:0;background:linear-gradient(270deg,hsl(var(--surface)) 0,transparent 100%)}@media(max-width:767px){.palette{border-right:none;border-bottom:none;min-height:var(--mobile-palette-height);--palette-item-size:74px;--palette-thumb-size:50px;--palette-tray-height:80px;--palette-dock-padding:8px}.palette-dock{gap:10px}.palette-vessel-card{min-width:70px;padding:4px 6px}.palette-vessel-icon svg{width:24px;height:24px}.palette-variant-btn{width:28px;height:28px}.items-grid{gap:6px}.palette-item{min-height:46px;border-radius:var(--radius-md);gap:0}.item-thumbnail{padding:3px}.item-label{display:none}}.palette-content{flex:1;min-width:0;min-height:0;overflow:hidden;padding:0;display:flex;align-items:center;justify-content:center;height:100%;width:100%}.palette-designs-open{--palette-tray-height:280px}.palette-designs{width:100%;height:100%;padding:12px;display:flex;flex-direction:column;gap:10px}.palette-designsHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.palette-designsHeading{min-width:0}.palette-designsTitle{font-weight:700}.palette-designsList{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;display:grid;gap:10px;padding-right:2px}.palette-designsLoading{height:10px}.items-grid{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding:0 12px;scroll-padding-inline:12px;scroll-snap-type:x proximity;align-items:center;justify-content:center;flex:1 1 auto;min-width:0;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:relative;z-index:2}.items-grid.is-looping{scroll-snap-type:none;justify-content:flex-start}.items-grid::-webkit-scrollbar{height:0}.palette-item{display:flex;flex-direction:column;gap:0;cursor:grab;min-width:0;width:var(--palette-item-size);flex:0 0 var(--palette-item-size);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);scroll-snap-align:start}.palette-item:active{cursor:grabbing}.palette-item:hover{transform:none}.palette-item:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px;border-radius:var(--radius-md)}.palette-item.touch-active{transform:scale(1.05);transition:transform .1s ease;z-index:9999}.palette-item.dragging{opacity:.7;z-index:99999!important;pointer-events:none;position:relative}.palette-item.touch-enabled{min-height:46px;touch-action:pan-x;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.item-thumbnail{position:relative;aspect-ratio:auto;height:var(--palette-thumb-size);overflow:hidden;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.palette-item:hover .item-thumbnail{border-color:hsl(var(--accent));box-shadow:var(--elev-2)}.item-preview{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.item-preview.svg{display:flex;align-items:center;justify-content:center}.item-preview.svg svg{max-width:100%;max-height:100%}.drag-handle{position:absolute;top:var(--space-1);right:var(--space-1);padding:var(--space-1);border-radius:var(--radius-sm);background:hsl(var(--surface)/.9);color:hsl(var(--text-muted));opacity:0;transition:opacity var(--transition-fast);pointer-events:none}.palette-item:hover .drag-handle{opacity:1}.item-label{display:none}.substrate-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.substrate-preview.fine-sand{background:linear-gradient(180deg,#F8EBC4,#F2E2B5 15%,#EBD7A4 35%,#E2CC93 55%,#D7C082 75%,#CCB371 90%,#C1A660);box-shadow:inset 0 1px 2px rgba(196,168,104,.2)}.substrate-preview.sand{background:linear-gradient(180deg,#F5E6B8,#EDE0AA 8%,#E8D7A6 18%,#DFC68F 30%,#D4B87A 45%,#C5A868 62%,#B39654 78%,#A08445 92%,#8F7239);box-shadow:inset 0 1px 3px rgba(139,114,57,.3)}.substrate-preview.coarse-sand{background:linear-gradient(180deg,#E8D4A0,#DCC890 12%,#CFBC80 28%,#C2B070 45%,#B5A460 65%,#A89850 82%,#9B8C40);box-shadow:inset 0 2px 4px rgba(165,135,95,.35);position:relative}.substrate-preview.coarse-sand:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(205,170,125,.4) 1px,transparent 0),radial-gradient(circle at 80% 70%,rgba(188,155,110,.3) 1px,transparent 0),radial-gradient(circle at 50% 50%,rgba(165,135,95,.3) 1px,transparent 0);background-size:8px 8px,12px 12px,6px 6px}.substrate-preview.nutrient-soil{background:linear-gradient(180deg,#8B7355,#806B4F 10%,#756249 25%,#6A5943 40%,#5F503D 60%,#544737 80%,#493E31 95%,#3E352B);box-shadow:inset 0 2px 3px rgba(101,67,33,.4)}.substrate-preview.yellow{background:linear-gradient(180deg,#F5E6B8,#EDE0AA 8%,#E8D7A6 18%,#DFC68F 30%,#D4B87A 45%,#C5A868 62%,#B39654 78%,#A08445 92%,#8F7239);box-shadow:inset 0 1px 3px rgba(139,114,57,.3)}.substrate-preview.black{background:linear-gradient(180deg,#5A5A5A,#545454 12%,#4F4F4F 25%,#3E3E3E 40%,#333333 55%,#2B2B2B 70%,#222222 85%,#1A1A1A 95%,#111111);box-shadow:inset 0 2px 3px rgba(0,0,0,.4)}.substrate-preview.none{background:repeating-conic-gradient(hsl(var(--border)) 0 25%,transparent 0 50%) 50%/12px 12px}.substrate-preview.edit{background:hsl(var(--surface-hover))}.substrate-icon{font-size:var(--text-2xl)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-4);text-align:center}.empty-text{font-size:var(--text-base);font-weight:var(--font-medium);color:hsl(var(--text));margin-bottom:var(--space-2)}.empty-hint{font-size:var(--text-sm);color:hsl(var(--text-muted))}@media(max-width:768px){.palette-content{padding:0}}@media(max-width:480px){.palette{--palette-item-size:84px;--palette-thumb-size:52px}}@media(max-width:767px)and (orientation:landscape){.palette{--palette-item-size:78px;--palette-thumb-size:50px;--palette-tray-height:76px;--palette-dock-padding:6px}.palette-dock{gap:8px}.items-grid{gap:6px}.palette-item{min-height:44px;gap:0}.item-thumbnail{padding:2px}}.canvasToolbar.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;-moz-column-gap:var(--space-4);column-gap:var(--space-4);margin:0;padding:var(--space-3) var(--space-4);width:100%;background:#fff;border-top:1px solid var(--ff-border-aqua,rgba(191,230,243,.12));backdrop-filter:blur(8px);overflow-x:auto;scrollbar-width:thin;padding-top:0;padding-bottom:0}.canvasToolbar.toolbar::-webkit-scrollbar{height:4px}.canvasToolbar.toolbar::-webkit-scrollbar-track{background:rgba(0,0,0,0)}.canvasToolbar.toolbar::-webkit-scrollbar-thumb{background:hsl(var(--border-strong));border-radius:var(--radius-full)}.canvasToolbar .toolbar-group{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.canvasToolbar .group-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.05em;margin-right:var(--space-1)}.canvasToolbar .iconButton,.canvasToolbar .toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 12px;min-width:44px;min-height:44px;border-radius:14px;background:hsla(0,0%,100%,.92);border:1px solid hsla(0,0%,100%,.72);color:rgba(6,22,32,.92);font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease,color .14s ease;white-space:nowrap;-webkit-tap-highlight-color:rgba(0,0,0,0)}.canvasToolbar .iconButton svg,.canvasToolbar .toolbar-btn svg{display:block}.canvasToolbar .iconButton:focus-visible,.canvasToolbar .toolbar-btn:focus-visible{outline:2px solid var(--ff-focus-ring,rgba(163,232,255,.7));outline-offset:2px}.canvasToolbar .iconButton.active,.canvasToolbar .toolbar-btn.active{border-color:rgba(79,209,197,.75);box-shadow:0 0 0 3px rgba(79,209,197,.18)}.canvasToolbar .iconButton:hover:not(:disabled),.canvasToolbar .toolbar-btn:hover:not(:disabled){background:hsla(0,0%,100%,.98);border-color:rgba(79,209,197,.6);color:rgba(6,22,32,.95);transform:translateY(-1px);box-shadow:0 6px 16px rgba(2,10,16,.22)}.canvasToolbar .iconButton:active:not(:disabled),.canvasToolbar .toolbar-btn:active:not(:disabled){transform:translateY(0)}.canvasToolbar .iconButton:disabled,.canvasToolbar .toolbar-btn:disabled{cursor:not-allowed;background:hsla(0,0%,100%,.82);border-color:hsla(0,0%,100%,.6);color:rgba(6,22,32,.42);box-shadow:none;transform:none}.canvasToolbar .iconButton.secondary,.canvasToolbar .toolbar-btn.secondary{border-color:hsla(0,0%,100%,.72)}.canvasToolbar .iconButton.danger:hover:not(:disabled),.canvasToolbar .toolbar-btn.danger:hover:not(:disabled){border-color:rgba(255,190,190,.85);color:rgba(120,18,18,.9);background:hsla(0,0%,100%,.98)}.canvasToolbar .toolbar-divider{width:1px;height:28px;background:hsl(var(--border));flex-shrink:0}.canvasToolbar .toolbar-center{display:flex;align-items:center;gap:var(--space-4);justify-self:center}@media(max-width:1024px){.canvasToolbar .group-label{display:none}}@media(max-width:768px){.canvasToolbar.toolbar{-moz-column-gap:var(--space-2);column-gap:var(--space-2);position:sticky;bottom:0;z-index:6}.canvasToolbar .toolbar-btn .btn-label{display:none}.canvasToolbar .iconButton,.canvasToolbar .toolbar-btn{padding:10px;min-width:44px;justify-content:center}}.canvasToolbar .right-align,.canvasToolbar .toolbar-group.right-align{margin-left:0;display:flex;align-items:center;gap:var(--space-2);justify-self:end}.canvasToolbar .toolbar-group.left-align{justify-self:start}.canvasToolbar .iconButton.icon-only,.canvasToolbar .toolbar-btn.icon-only{padding:8px;min-width:44px;justify-content:center}@media(max-width:480px){.canvasToolbar .right-align{margin-left:0}}.storeShell{--store-max-width:var(--app-max-width);--store-gutter:var(--page-pad-x);--store-top-padding:var(--page-pad-y);--store-section-gap:var(--section-gap);padding:0;padding-top:calc(var(--store-top-padding) + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));box-sizing:border-box;align-items:flex-start;width:100%}.storeShell__container{width:100%;margin:0 auto;display:flex;flex-direction:column;gap:var(--store-section-gap);box-sizing:border-box;min-width:0}.store-page .pageHeader{margin-top:0;padding-top:0}.store-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.store-headerLeft{min-width:0;display:grid;gap:6px}.store-body{display:flex;flex-direction:column;gap:var(--store-section-gap)}.store-page .pageHeader{gap:10px}.store-page .pageHeader__title{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-page .pageHeader__rightSlot{margin-left:auto;display:flex;align-items:center}.category-page .pageHeader{max-width:100%;display:grid;gap:10px;margin-bottom:0}.category-page .pageHeader__title{font-size:clamp(24px,5vw,44px);line-height:1.1;overflow:visible;text-overflow:unset;font-size:28px}.category-page .pageHeader__subtitle,.category-page .pageHeader__title{white-space:normal;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.category-page .pageHeader__subtitle{font-size:clamp(14px,2.6vw,18px);color:rgba(233,244,251,.75)}.category-info .cardBody{display:grid;gap:12px}.category-section{display:grid;gap:14px}.category-sectionHeader{display:grid;gap:6px}.category-sectionTitle{margin:0;font-size:20px;font-weight:650;letter-spacing:-.01em}@media(max-width:900px){.learn-page .pageHeader__topRow{align-items:flex-start;-moz-column-gap:10px;column-gap:10px;row-gap:6px}.learn-page .pageHeader__title{min-width:0;font-size:clamp(24px,5vw,32px);line-height:1.15;white-space:normal;overflow:visible;text-overflow:unset;overflow-wrap:anywhere;word-break:break-word}.learn-page .pageHeader__rightSlot{margin-left:auto;flex:0 0 auto}.learn-page .pageHeader__subtitle{font-size:clamp(14px,2.6vw,18px);line-height:1.5;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}}.category-sectionSubtitle{margin:0;font-size:13px;color:rgba(233,244,251,.7)}.category-state-links .cardBody{gap:12px}.categoryLinks{display:flex;flex-wrap:wrap;gap:12px}.categoryLink{border-radius:999px;border:1px solid rgba(191,230,243,.18);background:hsla(0,0%,100%,.05);color:rgba(233,244,251,.88);font-size:13px;font-weight:650;min-height:36px;padding:6px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease}.categoryLink:hover{border-color:rgba(79,209,197,.45);background:rgba(79,209,197,.14)}.category-empty .cardBody{gap:12px}.category-empty{max-width:560px;justify-self:start}.category-emptyHeader{display:flex;gap:12px;align-items:flex-start}.category-emptyIcon{width:40px;height:40px;border-radius:12px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.05);display:inline-flex;align-items:center;justify-content:center}.category-emptyIcon:before{content:"";width:10px;height:10px;border-radius:999px;background:rgba(120,220,230,.85)}.category-emptyTitle{margin:0;font-weight:650;font-size:15px}.category-emptyText{margin:6px 0 0;font-size:13px;color:rgba(233,244,251,.7)}.category-emptyCta{width:auto;justify-self:flex-start}.store-page .store-grid,.store-page .store-skeleton-grid{gap:clamp(14px,2vw,20px)}.category-bullets{list-style:disc;padding-left:18px;display:grid;gap:8px;color:rgba(233,244,251,.78);font-size:13px}.category-page .category-bullets{font-size:14px}.category-bullet{line-height:1.4}.storeBackBtn{width:44px;min-height:44px;padding:0;border-radius:999px}.storeBackBtn svg{opacity:.9}.store-loading{padding:20px 0;display:grid;place-items:center}.store-skeleton-header{display:grid;gap:8px;margin-bottom:16px}.store-skeleton-chip,.store-skeleton-line,.store-skeleton-pill,.store-skeleton-subtitle,.store-skeleton-thumb,.store-skeleton-title{background:linear-gradient(110deg,rgba(255,255,255,.08) 20%,rgba(255,255,255,.14) 45%,rgba(255,255,255,.08) 70%);background-size:200% 100%;animation:store-skeleton 1.4s ease-in-out infinite}.store-skeleton-title{height:24px;width:min(260px,70%);border-radius:10px}.store-skeleton-subtitle{height:14px;width:min(360px,90%);border-radius:8px}.store-skeleton-chips{display:flex;gap:10px;overflow:hidden;margin-bottom:16px}.store-skeleton-chip{height:36px;width:92px;border-radius:999px;flex:0 0 auto}.store-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.store-skeleton-card{border-radius:18px;border:1px solid hsla(0,0%,100%,.08);background:hsla(0,0%,100%,.04);padding:14px;display:flex;flex-direction:column;gap:12px;min-height:220px}.store-skeleton-thumb{height:150px;border-radius:14px}.store-skeleton-line{height:12px;border-radius:8px;width:100%}.store-skeleton-line.is-short{width:60%}.store-skeleton-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.store-skeleton-line.is-price{width:90px;height:14px}.store-skeleton-pill{width:44px;height:44px;border-radius:999px}@keyframes store-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}@media(max-width:480px){.store-page .store-grid,.store-page .store-skeleton-grid{grid-template-columns:1fr}}@media(min-width:640px){.store-page .store-grid,.store-page .store-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:960px){.store-page .store-grid,.store-page .store-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1200px){.store-page .store-grid,.store-page .store-skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.store-card{border-radius:18px;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.06);padding:14px;display:flex;flex-direction:column;gap:12px;min-height:220px;transition:transform .2s ease,border-color .2s ease,background .2s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media(hover:hover){.store-card:hover{transform:translateY(-2px);border-color:rgba(191,230,243,.22);background:hsla(0,0%,100%,.08)}}.store-card:active{transform:scale(.995)}.store-card.is-out{border-color:hsla(0,0%,100%,.08)}.store-thumb{border-radius:14px;background:linear-gradient(135deg,rgba(12,58,79,.45),rgba(7,31,43,.7));border:1px solid rgba(191,230,243,.12);height:150px;display:flex;align-items:center;justify-content:center;padding:10px;position:relative;overflow:hidden}.store-thumb img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.store-thumb.is-out img{filter:grayscale(1) saturate(.1);opacity:.55}.store-thumb-placeholder{font-size:13px;color:rgba(233,244,251,.7)}.store-badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,130,130,.3);background:rgba(255,80,80,.12);color:rgba(255,190,190,.95);font-size:12px;font-weight:650}.store-info{display:grid;gap:6px;min-width:0}.store-name{font-weight:600;font-size:1rem;color:inherit;text-decoration:none}.store-category,.store-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-category{color:rgba(191,230,243,.75);font-size:.85rem}.store-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.store-price{font-weight:600;color:rgba(120,220,230,.95);font-size:1rem;white-space:nowrap}.storeAddBtn{width:44px;height:44px;border-radius:999px;border:1px solid hsla(0,0%,100%,.14);background:hsla(0,0%,100%,.08);color:rgba(233,244,251,.92);display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease,border-color .2s ease;flex:0 0 auto}.storeAddBtn:active:not(:disabled){transform:scale(.97)}.storeAddBtn:hover:not(:disabled){border-color:rgba(79,209,197,.35);background:rgba(79,209,197,.14)}.storeAddBtn:disabled{opacity:.45;cursor:not-allowed;transform:none}.storeAddBtn:focus-visible{outline:2px solid rgba(79,209,197,.55);outline-offset:2px}.store-chips-wrap{position:relative}.store-chips-wrap:after,.store-chips-wrap:before{content:"";position:absolute;top:0;bottom:0;width:24px;pointer-events:none;z-index:1}.store-chips-wrap:before{left:0}.store-chips-wrap:after{right:0}.store-chips{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px var(--store-gutter);margin:0 calc(var(--store-gutter)*-1);scrollbar-width:none}.store-chips::-webkit-scrollbar{display:none}.store-chip{flex:0 0 auto;border-radius:999px;border:1px solid rgba(191,230,243,.22);background:rgba(10,38,52,.55);color:rgba(233,244,251,.9);min-height:36px;padding:6px 14px;font-weight:650;transition:transform .2s ease,background .2s ease,border-color .2s ease}.store-chip:active{transform:scale(.98)}.store-chip.is-active{border-color:rgba(79,209,197,.45);background:rgba(79,209,197,.18);color:rgba(200,255,222,.95)}@media(max-width:640px){.storeShell{--store-gutter:16px;--store-top-padding:12px;--store-section-gap:24px}.category-sectionTitle{font-size:18px}.categoryLink{width:calc(50% - 6px);justify-content:center}.store-grid{gap:14px}.store-card{min-height:180px;padding:12px}.store-skeleton-grid{gap:14px}.store-skeleton-card{min-height:180px;padding:12px}.store-skeleton-thumb,.store-thumb{height:140px}}body.store-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}