:root,[data-theme=dark]{--bg:#0b0f14;--bg-elevated:#121820;--bg-soft:#18202a;--bg-hover:#1e2836;--surface:#151c26;--border:#263041;--border-strong:#3a4a60;--text:#e8eef6;--text-muted:#8b9bb0;--text-dim:#5c6b7f;--primary:#22d3ee;--primary-dim:#0891b2;--primary-soft:#22d3ee1f;--accent:#f97316;--accent-soft:#f9731624;--success:#34d399;--danger:#f87171;--shadow:0 12px 40px #00000073;--shadow-sm:0 4px 16px #0000004d;--header-bg:#0b0f14d1;--viewer-bg:radial-gradient(ellipse at 50% 40%, #1a2535 0%, #0b0f14 70%);--radius:14px;--radius-sm:10px;--radius-xs:6px;--font:"DM Sans", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--header-h:64px;--max:100%;--page-pad:clamp(1rem, 2.5vw, 2.5rem);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f4f6f9;--bg-elevated:#fff;--bg-soft:#eef2f7;--bg-hover:#e4eaf2;--surface:#fff;--border:#d5dde8;--border-strong:#b8c4d4;--text:#0f172a;--text-muted:#5b6b7f;--text-dim:#8494a7;--primary:#0891b2;--primary-dim:#0e7490;--primary-soft:#0891b21a;--accent:#ea580c;--accent-soft:#ea580c1a;--success:#059669;--danger:#dc2626;--shadow:0 12px 40px #0f172a14;--shadow-sm:0 4px 16px #0f172a0f;--header-bg:#f4f6f9e0;--viewer-bg:radial-gradient(ellipse at 50% 40%, #e2e8f0 0%, #f4f6f9 70%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;height:100%}body{width:100%;min-height:100dvh;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:15.5px;line-height:1.55;overflow-x:hidden}#root{width:100%;min-height:100dvh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}img{max-width:100%;display:block}h1,h2,h3,h4{letter-spacing:-.02em;margin:0 0 .5em;font-weight:700;line-height:1.2}p{margin:0 0 1em}ul{margin:0;padding:0;list-style:none}.app-shell{flex-direction:column;width:100%;min-height:100dvh;display:flex}.main{width:100%;max-width:none;padding:1.5rem var(--page-pad) 4rem;box-sizing:border-box;flex:1;margin:0}.page{animation:.35s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.header{z-index:50;height:auto;min-height:var(--header-h);background:var(--header-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.header__inner{width:100%;max-width:none;min-height:var(--header-h);padding:.45rem var(--page-pad);box-sizing:border-box;justify-content:space-between;align-items:center;gap:1rem;margin:0;display:flex}.logo-block{flex-direction:column;flex-shrink:1;align-items:flex-start;gap:.15rem;min-width:0;display:flex}.logo{letter-spacing:-.03em;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:700;display:inline-flex}.logo__icon{background:linear-gradient(135deg, var(--primary-soft), var(--accent-soft));width:36px;height:36px;color:var(--primary);border:1px solid var(--border);border-radius:10px;place-items:center;display:grid}.logo__accent{color:var(--primary)}.logo-tagline{max-width:16rem;color:var(--text-muted);letter-spacing:.01em;margin:0;padding-left:.1rem;font-size:.68rem;font-weight:500;line-height:1.25}.nav{align-items:center;gap:.25rem;display:flex}.nav__link{color:var(--text-muted);border-radius:999px;padding:.45rem .9rem;font-size:.92rem;font-weight:500;transition:color .15s,background .15s}.nav__link:hover{color:var(--text);background:var(--bg-soft)}.nav__link--active{color:var(--primary);background:var(--primary-soft)}.header__actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.header-search{background:var(--surface);border:1px solid var(--border);min-width:0;max-width:22rem;color:var(--text-muted);border-radius:999px;flex:12rem;align-items:center;gap:.45rem;margin:0 .25rem;padding:.4rem .75rem;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.header-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);color:var(--text)}.header-search__icon{opacity:.75;flex-shrink:0}.header-search__input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.9rem}.header-search__input::placeholder{color:var(--text-dim)}.header-search__input::-webkit-search-cancel-button{-webkit-appearance:none}.header-search__dropdown{z-index:60;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;position:absolute;top:calc(100% + .45rem);left:0;right:0;overflow:hidden;box-shadow:0 12px 40px #00000047}.header-search__list{max-height:min(50vh,22rem);margin:0;padding:.35rem;list-style:none;overflow-y:auto}.header-search__item{color:var(--text);border-radius:8px;flex-direction:column;gap:.15rem;padding:.65rem .75rem;transition:background .12s;display:flex}.header-search__item:hover{background:var(--bg-soft)}.header-search__item-name{font-size:.9rem;font-weight:600;line-height:1.25}.header-search__item-meta{color:var(--text-muted);font-size:.78rem}.header-search__empty{color:var(--text-muted);margin:0;padding:.9rem 1rem;font-size:.88rem}.header-search__all{border:none;border-top:1px solid var(--border);background:var(--bg-soft);width:100%;color:var(--primary);text-align:center;cursor:pointer;padding:.7rem 1rem;font-size:.85rem;font-weight:600;display:block}.header-search__all:hover{background:var(--primary-soft)}.icon-btn{width:38px;height:38px;color:var(--text-muted);border:1px solid #0000;border-radius:10px;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.icon-btn:hover{background:var(--bg-soft);color:var(--text);border-color:var(--border)}.cart-btn{position:relative}.cart-btn__badge{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:2px;right:2px}.menu-btn{display:none}@media (width<=900px){.header-search{flex:100%;order:3;max-width:none;margin:0}.header__inner{height:auto;min-height:var(--header-h);flex-wrap:wrap;row-gap:.5rem;padding-top:.55rem;padding-bottom:.55rem}.logo-block{order:1;max-width:min(100%,18rem)}.logo-tagline{max-width:14rem}.header__actions{order:2;margin-left:auto}.nav{order:4}}@media (width<=768px){.menu-btn{display:grid}.nav{inset:auto 0;top:var(--header-h);background:var(--bg-elevated);border-bottom:1px solid var(--border);opacity:0;pointer-events:none;z-index:49;flex-direction:column;align-items:stretch;padding:.75rem;transition:transform .2s,opacity .2s;position:fixed;transform:translateY(-120%)}.header:has(.header-search) .nav{top:calc(var(--header-h) + 2.75rem)}.nav--open{opacity:1;pointer-events:auto;transform:none}.nav__link{padding:.85rem 1rem}}.btn{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.1rem;font-size:.92rem;font-weight:600;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}.btn--primary{background:linear-gradient(135deg, var(--primary), var(--primary-dim));color:#042f2e;box-shadow:0 4px 16px #22d3ee40}[data-theme=light] .btn--primary{color:#fff;box-shadow:0 4px 14px #0891b247}.btn--primary:hover{box-shadow:0 6px 22px #22d3ee59}.btn--ghost{border-color:var(--border);color:var(--text);background:0 0}.btn--ghost:hover{background:var(--bg-soft);border-color:var(--border-strong)}.btn--sm{border-radius:8px;padding:.4rem .75rem;font-size:.82rem}.btn--lg{padding:.8rem 1.35rem;font-size:1rem}.btn--block{width:100%}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:.6rem;font-size:.75rem;font-weight:600;display:inline-block}.text-gradient{background:linear-gradient(120deg, var(--primary), var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text}.muted{color:var(--text-muted)}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:2.5rem;padding:1.5rem 0 3rem;display:grid}.hero h1{margin-bottom:.85rem;font-size:clamp(2rem,4.5vw,3.1rem)}.hero__lead{color:var(--text-muted);max-width:34rem;margin-bottom:1.5rem;font-size:1.08rem}.hero__actions{flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;display:flex}.hero__stats{gap:1.75rem;display:flex}.hero__stats strong{font-size:1.35rem;font-family:var(--mono);color:var(--text);display:block}.hero__stats span{color:var(--text-muted);font-size:.8rem}.hero__viewer-frame{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background:var(--viewer-bg);box-shadow:var(--shadow);aspect-ratio:1;min-height:320px;position:relative;overflow:hidden}.hero__viewer-label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e2e8f0;z-index:2;pointer-events:none;background:#00000073;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.78rem;font-weight:500;display:inline-flex;position:absolute;bottom:1rem;left:1rem}[data-theme=light] .hero__viewer-label{color:var(--text);border-color:var(--border);background:#ffffffbf}@media (width<=900px){.hero{grid-template-columns:1fr;gap:1.75rem}.hero__viewer-frame{max-width:480px;margin:0 auto}}.features{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:3rem;display:grid}.feature,.about-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);padding:1.25rem}.feature h3,.about-card h3{margin:.75rem 0 .4rem;font-size:1rem}.feature p,.about-card p{color:var(--text-muted);margin:0;font-size:.9rem}.feature__icon{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border:1px solid var(--border);border-radius:12px;place-items:center;display:grid}@media (width<=900px){.features{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.features{grid-template-columns:1fr}}.section{margin-top:1rem;margin-bottom:3rem}.section__header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.section__header h2{margin:0;font-size:1.6rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.page-header--center{text-align:center;flex-direction:column;justify-content:center;align-items:center}.page-header h1{margin-bottom:.4rem;font-size:clamp(1.75rem,3vw,2.25rem)}.page-header__lead{color:var(--text-muted);max-width:36rem;margin:0}.page-header--center .page-header__lead{margin-inline:auto}.product-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;display:grid}.product-card{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;transition:border-color .15s,box-shadow .2s,transform .2s;display:flex;overflow:hidden}.product-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.product-card__media{aspect-ratio:1;background:var(--viewer-bg);border-bottom:1px solid var(--border);display:block;position:relative}.product-card__placeholder{height:100%;color:var(--text-dim);place-items:center;display:grid}.product-card__body{flex-direction:column;flex:1;gap:.4rem;padding:1rem 1.1rem 1.1rem;display:flex}.product-card__meta{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.product-card__category{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-size:.72rem;font-weight:600}.product-card__price{font-family:var(--mono);color:var(--primary);font-size:.95rem;font-weight:600}.product-card__title{letter-spacing:-.02em;font-size:1.02rem;font-weight:650}.product-card__title:hover{color:var(--primary)}.product-card__desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;font-size:.86rem;display:-webkit-box;overflow:hidden}.product-card__footer{justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.04em;background:var(--bg-soft);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.7rem;font-weight:650;display:inline-flex}.badge--featured{z-index:2;background:var(--accent-soft);color:var(--accent);border-color:#f9731659;position:absolute;top:.75rem;left:.75rem}.badge--material{z-index:2;background:var(--primary-soft);color:var(--primary);border-color:#22d3ee4d;position:absolute;top:.75rem;right:.75rem}.product-detail__badges .badge--featured,.product-detail__badges .badge--material{position:static}.color-dots{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.color-dot{cursor:default;border:1px solid #fff3;border-radius:50%;width:12px;height:12px;box-shadow:inset 0 0 0 1px #00000026}.color-dots__more{color:var(--text-dim);margin-left:2px;font-size:.7rem;font-weight:600}.model-viewer{touch-action:none;background:0 0;width:100%;height:100%;min-height:280px;position:relative}.model-viewer canvas{display:block;width:100%!important;height:100%!important}.model-viewer--compact{min-height:0}.model-viewer__loading{color:var(--text-muted);z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;font-size:.85rem;display:flex;position:absolute;inset:0}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.model-viewer__hint{color:var(--text-dim);pointer-events:none;opacity:0;z-index:2;white-space:nowrap;background:#00000059;border-radius:999px;padding:.25rem .6rem;font-size:.7rem;transition:opacity .2s;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.model-viewer:hover .model-viewer__hint{opacity:1}.model-viewer--compact .model-viewer__hint,.model-viewer--compact .model-viewer__controls{display:none}.model-viewer__controls{z-index:2;gap:.35rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}.model-viewer__controls .icon-btn{color:#e2e8f0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0006;border-color:#ffffff1a}[data-theme=light] .model-viewer__controls .icon-btn{border-color:var(--border);color:var(--text);background:#ffffffb3}.model-viewer:fullscreen{background:var(--bg);min-height:100vh}.shop-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.search-field{background:var(--surface);border:1px solid var(--border);min-width:200px;max-width:360px;color:var(--text-muted);border-radius:10px;flex:1;align-items:center;gap:.5rem;padding:.55rem .9rem;display:flex}.search-field input{color:var(--text);background:0 0;border:none;outline:none;flex:1}.search-field input::placeholder{color:var(--text-dim)}.shop-toolbar__filters{flex-wrap:wrap;gap:.5rem;display:flex}.select-field{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;align-items:center;gap:.4rem;padding:.45rem .75rem;display:inline-flex}.select-field select{color:var(--text);cursor:pointer;background:0 0;border:none;outline:none}.category-pills{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.pill{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.pill:hover{border-color:var(--border-strong);color:var(--text)}.pill--active{background:var(--primary-soft);color:var(--primary);border-color:#22d3ee59}.results-count{color:var(--text-dim);margin-bottom:1rem;font-size:.85rem}.product-nav{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-bottom:1.25rem;display:flex}.product-nav .back-link{margin-bottom:0}.product-nav__home{gap:.4rem}.back-link{color:var(--text-muted);align-items:center;gap:.4rem;margin-bottom:1.25rem;font-size:.9rem;font-weight:500;display:inline-flex}.back-link:hover{color:var(--primary)}.product-detail__grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:2rem;width:100%;margin-bottom:3rem;display:grid}.product-detail__viewer-col{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.product-detail__viewer-block{flex-direction:column;gap:.5rem;min-width:0;display:flex}.product-detail__viewer-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.85rem;font-weight:650}.product-detail__viewer{border-radius:var(--radius);border:1px solid var(--border);background:var(--viewer-bg);box-shadow:var(--shadow-sm);aspect-ratio:1;width:100%;min-height:min(70vh,720px);max-height:min(85vh,900px);overflow:hidden}.product-detail__photos{flex-direction:column;gap:.85rem;display:flex}.product-detail__photo{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);margin:0;overflow:hidden}.product-detail__photo img{object-fit:contain;background:var(--bg-soft);width:100%;height:auto;display:block}.product-detail__photo figcaption{color:var(--text-muted);border-top:1px solid var(--border);padding:.55rem .85rem;font-size:.82rem;font-weight:550}.product-detail__badges{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.product-detail__info h1{margin-bottom:.35rem;font-size:clamp(1.6rem,3vw,2.1rem)}.product-detail__price{font-family:var(--mono);color:var(--primary);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.product-detail__desc{color:var(--text-muted);margin-bottom:1.5rem}.product-detail__desc p{margin:0 0 .85rem}.product-detail__desc p:last-child{margin-bottom:0}.product-detail__multicolor{color:var(--text-muted);margin:-.35rem 0 1.25rem;font-size:.95rem;line-height:1.45}.product-detail__multicolor a{color:var(--primary);text-underline-offset:2px;font-weight:650;text-decoration:underline}.product-detail__multicolor a:hover{color:var(--accent)}.product-detail__desc-followup{color:var(--text-muted);margin:-.5rem 0 1.25rem;font-size:.95rem;line-height:1.45}.product-detail__warning{color:#ef4444;margin:-.35rem 0 1.25rem;font-size:.95rem;font-weight:650;line-height:1.45}[data-theme=light] .product-detail__warning{color:#dc2626}.product-detail__credit{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);color:var(--text-muted);margin:-.5rem 0 1.35rem;padding:.75rem .9rem;font-size:.92rem}.product-detail__credit a{color:var(--primary);text-underline-offset:2px;font-weight:600;text-decoration:underline}.product-detail__credit a:hover{color:var(--accent)}.product-detail__links{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);margin:0 0 1.25rem;padding:.85rem .95rem}.product-detail__links .option-label{margin-bottom:.45rem}.product-detail__links ul{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.product-detail__links a{color:var(--primary);text-underline-offset:2px;font-size:.95rem;font-weight:600;text-decoration:underline}.product-detail__links a:hover{color:var(--accent)}.product-detail__discuss{border-top:1px solid var(--border);color:var(--text-muted);margin:.85rem 0 0;padding-top:.75rem;font-size:.92rem;line-height:1.45}.product-detail__discuss a{color:var(--primary);text-underline-offset:2px;font-weight:650;text-decoration:underline}.product-detail__discuss a:hover{color:var(--accent)}.product-detail__notice{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--text-muted);border:1px solid #f9731647;margin:0 0 1.35rem;padding:.75rem .9rem;font-size:.92rem;line-height:1.45}.product-detail__notice a{color:var(--primary);text-underline-offset:2px;font-weight:650;text-decoration:underline}.product-detail__notice a:hover{color:var(--accent)}.page-header__lead a,.feature p a,.about-card p a{color:var(--primary);text-underline-offset:2px;font-weight:600;text-decoration:underline}.feature p a:hover,.about-card p a:hover{color:var(--accent)}.contact-form{max-width:640px}.contact-form textarea,.contact-form select{border:1px solid var(--border);background:var(--bg);color:var(--text);resize:vertical;border-radius:8px;outline:none;width:100%;padding:.65rem .8rem}.contact-form select{cursor:pointer}.contact-form textarea:focus,.contact-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-error{border-radius:var(--radius-sm);color:var(--danger);background:#f871711f;border:1px solid #f8717159;margin:0 0 .75rem;padding:.75rem .9rem;font-size:.9rem}.spin{animation:.7s linear infinite spin}.option-block{margin-bottom:1.15rem}.option-label-row{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.option-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-bottom:.5rem;font-size:.8rem;font-weight:600;display:block}.option-label-row .option-label{margin-bottom:0}.color-name-label{color:var(--text);letter-spacing:.01em;font-size:.88rem;font-weight:600}.color-picker{flex-wrap:wrap;gap:.5rem;display:flex}.color-swatch{width:32px;height:32px;box-shadow:inset 0 0 0 1px #0003, 0 0 0 1px var(--border);border:2px solid #0000;border-radius:50%;transition:transform .12s,box-shadow .12s;position:relative}.color-swatch:hover{z-index:2;transform:scale(1.1)}.color-swatch--active{box-shadow:inset 0 0 0 1px #0003, 0 0 0 2px var(--bg), 0 0 0 4px var(--primary)}.color-swatch__tooltip{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);white-space:nowrap;box-shadow:var(--shadow-sm);pointer-events:none;opacity:0;z-index:5;border-radius:6px;padding:.3rem .55rem;font-size:.72rem;font-weight:600;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.color-swatch:hover .color-swatch__tooltip,.color-swatch:focus-visible .color-swatch__tooltip{opacity:1;transform:translate(-50%)translateY(0)}.qty-control{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:.65rem;padding:.35rem;display:inline-flex}.qty-control span,.cart-item__qty span{text-align:center;min-width:1.5rem;font-weight:600;font-family:var(--mono)}.qty-btn{background:var(--bg-soft);border:1px solid var(--border);width:28px;height:28px;color:var(--text);border-radius:7px;place-items:center;font-size:1rem;line-height:1;display:grid}.qty-btn:hover{background:var(--bg-hover)}.qty-btn--danger:hover{color:var(--danger);border-color:var(--danger)}.spec-list{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0 1rem;padding:1rem;display:grid}.spec-list--single{grid-template-columns:1fr}.spec-list dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);align-items:center;gap:.35rem;margin-bottom:.2rem;font-size:.75rem;font-weight:600;display:flex}.spec-list dd{margin:0;font-size:.9rem;font-weight:500}.tag-list{flex-wrap:wrap;gap:.4rem;display:flex}.tag{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem;font-size:.75rem}@media (width<=900px){.product-detail__grid{grid-template-columns:1fr}.product-detail__viewer{aspect-ratio:1;max-height:none}}.cart-overlay{opacity:0;pointer-events:none;z-index:60;background:#00000080;transition:opacity .25s;position:fixed;inset:0}.cart-overlay--open{opacity:1;pointer-events:auto}.cart-drawer{background:var(--bg-elevated);border-left:1px solid var(--border);z-index:70;width:min(400px,100vw);height:100vh;box-shadow:var(--shadow);flex-direction:column;transition:transform .28s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.cart-drawer--open{transform:none}.cart-drawer__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.1rem 1.15rem;display:flex}.cart-drawer__header h2{margin:0;font-size:1.1rem}.cart-drawer__empty{color:var(--text-muted);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.cart-drawer__list{flex:1;padding:.75rem;overflow-y:auto}.cart-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);grid-template-columns:40px 1fr auto;gap:.75rem;margin-bottom:.6rem;padding:.85rem;display:grid}.cart-item__swatch{border:1px solid var(--border);border-radius:10px;width:40px;height:40px}.cart-item__name{font-size:.92rem;font-weight:600;display:block}.cart-item__name:hover{color:var(--primary)}.cart-item__meta{color:var(--text-muted);margin:.15rem 0 .45rem;font-size:.78rem;display:block}.cart-item__qty{align-items:center;gap:.4rem;display:flex}.cart-item__total{font-family:var(--mono);font-size:.88rem;font-weight:600}.cart-drawer__footer{border-top:1px solid var(--border);flex-direction:column;gap:.55rem;padding:1rem 1.15rem 1.25rem;display:flex}.cart-drawer__subtotal{justify-content:space-between;font-size:1rem;display:flex}.cart-drawer__subtotal strong{font-family:var(--mono)}.cart-drawer__note{color:var(--text-dim);margin:0 0 .35rem;font-size:.78rem}.cart-layout,.checkout-layout{grid-template-columns:1fr 320px;align-items:start;gap:1.5rem;display:grid}.cart-table{flex-direction:column;gap:.65rem;display:flex}.cart-row{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);grid-template-columns:48px 1fr auto auto auto;align-items:center;gap:1rem;padding:1rem;display:grid}.cart-row__swatch{border:1px solid var(--border);border-radius:12px;width:48px;height:48px}.cart-row__info a{font-weight:600;display:block}.cart-row__info a:hover{color:var(--primary)}.cart-row__info span{color:var(--text-muted);font-size:.82rem}.cart-row__total{font-family:var(--mono);text-align:right;min-width:4.5rem}.cart-summary{top:calc(var(--header-h) + 1rem);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);flex-direction:column;gap:.65rem;padding:1.25rem;display:flex;position:sticky}.cart-summary h2{margin:0 0 .5rem;font-size:1.05rem}.cart-summary__row{color:var(--text-muted);justify-content:space-between;font-size:.92rem;display:flex}.cart-summary__row--total{color:var(--text);border-top:1px solid var(--border);margin-top:.25rem;padding-top:.65rem;font-size:1.05rem}.cart-summary__row--total strong{font-family:var(--mono);color:var(--primary)}.cart-summary__hint{color:var(--accent);margin:0;font-size:.78rem}@media (width<=800px){.cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-row{grid-template-rows:auto auto;grid-template-columns:40px 1fr auto}.cart-row__total{grid-area:1/3}}.checkout-form{flex-direction:column;gap:1.25rem;display:flex}.checkout-form fieldset{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin:0;padding:1.15rem}.checkout-form legend{padding:0 .4rem;font-size:.95rem;font-weight:650}.checkout-form label{color:var(--text-muted);flex-direction:column;gap:.35rem;margin-bottom:.75rem;font-size:.82rem;font-weight:550;display:flex}.checkout-form label:last-child{margin-bottom:0}.checkout-form input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;outline:none;padding:.65rem .8rem;transition:border-color .15s}.checkout-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.checkout-items{flex-direction:column;gap:.55rem;margin-bottom:.5rem;display:flex}.checkout-items li{color:var(--text-muted);grid-template-columns:12px 1fr auto;align-items:center;gap:.5rem;font-size:.88rem;display:grid}.checkout-success .success-icon{color:var(--success)}.poll-banner{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background:var(--surface);margin:2rem 0 1rem;overflow:hidden}.poll-banner__inner{text-align:center;max-width:36rem;margin:0 auto;padding:2rem 1.5rem}.poll-banner h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 .5rem;font-size:.8rem;font-weight:600}.poll-banner__question{color:var(--text);letter-spacing:-.02em;margin:0 0 1.25rem;font-size:1.25rem;font-weight:700}.poll-banner__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.poll-banner__actions .btn{min-width:6.5rem}.poll-banner__thanks{flex-direction:column;align-items:center;gap:.75rem;display:flex}.poll-banner__thanks p{color:var(--text-muted);margin:0}.cta-banner{border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);background:radial-gradient(ellipse at 20% 50%, var(--primary-soft), transparent 55%), radial-gradient(ellipse at 80% 50%, var(--accent-soft), transparent 55%), var(--surface);margin:2rem 0 1rem;overflow:hidden}.cta-banner__inner{text-align:center;max-width:36rem;margin:0 auto;padding:2.5rem 2rem}.cta-banner h2{margin-bottom:.5rem;font-size:1.6rem}.cta-banner p{color:var(--text-muted);margin-bottom:1.25rem}.about-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem;display:grid}@media (width<=700px){.about-grid,.form-row{grid-template-columns:1fr}}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:4rem 1rem;display:flex}.empty-state h1{color:var(--text);margin:0}.footer{border-top:1px solid var(--border);background:var(--bg-elevated);margin-top:auto}.footer__inner{width:100%;max-width:none;padding:2.5rem var(--page-pad) 1.5rem;box-sizing:border-box;grid-template-columns:1.2fr 2fr;gap:2rem;margin:0;display:grid}.footer__tagline{color:var(--text-muted);max-width:22rem;margin:.85rem 0 0;font-size:.9rem}.footer__cols{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.footer__cols h4{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:0 0 .75rem;font-size:.8rem}.footer__cols a,.footer__meta{color:var(--text-muted);margin-bottom:.4rem;font-size:.9rem;display:block}.footer__cols a:hover{color:var(--primary)}.footer__materials{flex-direction:column;align-items:flex-start;gap:.35rem;margin-bottom:.55rem;display:flex}.footer__material-btn{color:var(--text-muted);text-align:left;border-bottom:1px dashed #0000;padding:0;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s}.footer__material-btn:hover{color:var(--primary);border-bottom-color:var(--primary)}.popup-root{z-index:100;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.popup-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;position:absolute;inset:0}.popup-dialog{border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);width:min(480px,100%);max-height:min(80vh,640px);box-shadow:var(--shadow);flex-direction:column;animation:.2s popupIn;display:flex;position:relative}@keyframes popupIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.popup-dialog__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.15rem;display:flex}.popup-dialog__header h2{margin:0;font-size:1.05rem}.popup-dialog__body{color:var(--text-muted);padding:1.15rem;font-size:.95rem;overflow-y:auto}.popup-dialog__body p{margin:0 0 .85rem}.popup-dialog__body p:last-child{margin-bottom:0}.popup-dialog__body a{color:var(--primary);text-underline-offset:2px;font-weight:650;text-decoration:underline}.popup-dialog__body a:hover{color:var(--accent)}.popup-dialog__body .btn{margin-top:.25rem;text-decoration:none}.popup-dialog__footer{border-top:1px solid var(--border);justify-content:flex-end;padding:.85rem 1.15rem 1.1rem;display:flex}.popup-subhead{color:var(--text);margin:1rem 0 .4rem;font-size:.92rem}.popup-subhead:first-child{margin-top:0}.popup-note{border-top:1px solid var(--border);padding-top:.75rem;font-size:.85rem;font-weight:550;color:var(--primary)!important;margin-top:.75rem!important}.choice-pills{flex-wrap:wrap;gap:.45rem;display:flex}.choice-pill{color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.4rem .8rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.choice-pill:hover{border-color:var(--border-strong);color:var(--text)}.choice-pill--active{background:var(--primary-soft);color:var(--primary);border-color:#22d3ee66}.link-btn{color:var(--primary);align-items:center;gap:.3rem;padding:0;font-size:.8rem;font-weight:550;display:inline-flex}.link-btn:hover{text-decoration:underline}.cart-preview-meta{color:var(--text-muted);margin:.65rem 0 0;font-size:.85rem}.cart-preview-meta strong{color:var(--text);font-weight:600}.cart-item__price,.cart-row__unit{color:var(--text-dim);margin-bottom:.35rem;font-size:.78rem;display:block}.cart-row__options,.cart-item__meta{color:var(--text-muted);margin:.15rem 0 .2rem;font-size:.82rem;line-height:1.35;display:block}.checkout-item-options{color:var(--text-dim);margin-top:.15rem;font-size:.78rem;font-weight:400;display:block}.about-material-btns{flex-wrap:wrap;gap:.4rem;margin-top:.75rem;display:flex}.payment-methods{flex-direction:column;gap:.55rem;margin-bottom:1rem;display:flex}.payment-option{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);cursor:pointer;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .75rem;padding:.85rem 1rem;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.payment-option input{accent-color:var(--primary);grid-row:1/span 2;width:1rem;height:1rem}.payment-option:hover{border-color:var(--border-strong)}.payment-option--active{background:var(--primary-soft);border-color:#22d3ee73;box-shadow:0 0 0 1px #22d3ee26}.payment-option__mark{color:var(--text);font-size:.95rem;font-weight:700}.payment-option__mark--paypal{color:#0070ba}[data-theme=dark] .payment-option__mark--paypal{color:#5eb3f6}.payment-option__mark--xmr{color:#f60}.payment-option__mark abbr{font-weight:700;text-decoration:none}.payment-option__desc{color:var(--text-muted);grid-column:2;font-size:.82rem}.payment-panel{border-radius:var(--radius-sm);background:var(--bg-soft);border:1px solid var(--border);margin-top:.25rem;padding:1rem}.payment-panel p{color:var(--text-muted);margin:0 0 .65rem;font-size:.9rem}.payment-panel .muted{color:var(--text-dim);font-size:.8rem}.mono-input{word-break:break-all;font-family:var(--mono)!important;font-size:.75rem!important}.footer__bottom{width:100%;max-width:none;padding:1rem var(--page-pad) 1.5rem;box-sizing:border-box;border-top:1px solid var(--border);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:0;font-size:.8rem;display:flex}@media (width<=800px){.footer__inner{grid-template-columns:1fr}.footer__cols{grid-template-columns:1fr 1fr}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
