:root{--text:#6f6e68;--text-h:#1e1c19;--bg:#ece8e2;--panel-bg:#f6f4f0;--border:#ddd8cf;--accent:#7d8066;--accent-soft:#e7e6dc;--serif:"Playfair Display", "Georgia", serif;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}h1,h2,h3{font-family:var(--serif);color:var(--text-h);font-weight:500}.app{grid-template-columns:minmax(0,1.7fr) minmax(440px,1fr);width:100%;height:100svh;display:grid;overflow:hidden}.app__viewer{flex-direction:column;height:100%;display:flex}.app__canvas{flex:1;min-height:0;position:relative}.scene-canvas{touch-action:none;width:100%!important;height:100%!important}.real-gallery{background:var(--bg);flex-direction:column;width:100%;height:100%;display:flex}.real-gallery__main{flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;position:relative}.real-gallery__image{object-fit:contain;max-width:100%;max-height:100%}.real-gallery__arrow{border:1px solid var(--border);background:var(--panel-bg);width:40px;height:40px;color:var(--text-h);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.real-gallery__arrow:hover{background:var(--accent-soft)}.real-gallery__arrow--prev{left:16px}.real-gallery__arrow--next{right:16px}.real-gallery__thumbs{border-top:1px solid var(--border);flex-shrink:0;gap:8px;padding:12px 24px;display:flex;overflow-x:auto}.real-gallery__thumb{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;padding:0;overflow:hidden}.real-gallery__thumb img{object-fit:cover;width:100%;height:100%;display:block}.real-gallery__thumb--active{border-color:var(--accent)}.app__total{background:var(--panel-bg);border-top:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:baseline;gap:10px;padding:16px 28px;display:flex}.app__total-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:11px;font-weight:600}.app__total-value{color:var(--text-h);font-size:25px;font-weight:600}.app__hint{color:#fff;letter-spacing:.02em;pointer-events:none;background:#1a1a18a6;border-radius:999px;padding:6px 14px;font-size:12px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.app__empty{background:var(--bg);justify-content:center;align-items:center;width:100%;height:100%;padding:40px;display:flex}.app__empty p{color:var(--text);text-align:center;max-width:320px;font-size:14px;line-height:1.5}.photo-viewer{background:var(--bg);justify-content:center;align-items:center;width:100%;height:100%;padding:40px;display:flex}.photo-viewer__image{object-fit:contain;max-width:100%;max-height:100%}.photo-viewer--empty{color:var(--text);text-align:center;max-width:320px;font-size:14px}.loader-pill{color:#fff;white-space:nowrap;background:#1a1a18cc;border-radius:999px;padding:8px 16px;font-size:13px}.panel{background:var(--panel-bg);border-left:1px solid var(--border);flex-direction:column;height:100%;display:flex;overflow:hidden}.panel__header{border-bottom:1px solid var(--border);padding:30px 28px 18px}.panel__header h1{letter-spacing:0;margin:0 0 8px;font-size:28px}.panel__header p{color:var(--text);margin:0;font-size:14px;line-height:1.5}.panel__notice{color:#6b5a2e;background:#fdf3e3;border:1px solid #eed9ae;border-radius:10px;align-items:flex-start;gap:10px;margin:16px 28px 0;padding:14px 16px;font-size:13px;line-height:1.5;display:flex}.panel__notice button{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:16px;line-height:1}.panel__steps{flex:1;padding:8px 0;overflow-y:auto}.step-section{border-bottom:1px solid var(--border);padding:24px 0;transition:background-color .4s}.step-section--highlighted{background-color:var(--accent-soft)}.step-section__header{align-items:center;gap:14px;width:100%;padding:0 28px 16px;display:flex}.step-section__index{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:flex}.step-section__title-wrap{flex-direction:column;flex:1;min-width:0;display:flex}.step-section__title{font-family:var(--serif);color:var(--text-h);font-size:18px;font-weight:500}.step-section__summary{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.step-section__content{padding:0 28px}.step-section__note{color:var(--text);margin:10px 0 0;font-size:12.5px;line-height:1.5}.panel__coming-soon{padding:0 28px}.panel__coming-soon p{color:var(--text);margin:0;font-size:13.5px;line-height:1.6}.option-subheading{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:14px 0 8px;font-size:11px;font-weight:600;display:block}.option-subheading:first-of-type{margin-top:0}.option-grid{flex-direction:column;gap:7px;display:flex}.option-grid--two-col{grid-template-columns:1fr 1fr;gap:8px;display:grid}.option-grid--two-col .option-card{flex-wrap:wrap;padding:8px}.option-grid--two-col .option-card__label{font-size:13px;line-height:1.3}.option-grid--two-col .option-card__price{flex-basis:100%;margin-left:52px;font-size:11.5px}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:10px;display:grid}.swatch-option{cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;flex-direction:column;align-items:center;gap:5px;padding:4px;display:flex}.swatch-option:hover{background:var(--bg)}.swatch-option__circle{border:1px solid #0000001f;border-radius:50%;width:36px;height:36px;overflow:hidden;box-shadow:0 0 0 2px #0000}.swatch-option__circle--photo img{object-fit:cover;width:100%;height:100%;display:block}.swatch-option--selected .swatch-option__circle{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--accent)}.swatch-option__label{text-align:center;color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:64px;font-size:10.5px;line-height:1.2;overflow:hidden}.swatch-option--selected .swatch-option__label{color:var(--text-h);font-weight:600}.swatch-option__price{color:var(--text);font-size:9.5px}.option-card{border:1px solid var(--border);cursor:pointer;text-align:left;font:inherit;background:#fdfcf9;border-radius:10px;align-items:center;gap:12px;padding:8px 12px;transition:border-color .15s,background .15s;display:flex}.option-card:hover{border-color:#c4c2b4}.option-card--selected{border-color:var(--accent);background:var(--accent-soft)}.option-card__swatch{border:1px solid #0000001f;border-radius:50%;flex-shrink:0;width:28px;height:28px}.option-card__icon{background:var(--bg);border:1px solid var(--border);width:40px;height:40px;color:var(--text-h);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.option-card__icon svg{width:24px;height:24px}.option-card__icon--photo{padding:0;overflow:hidden}.option-card__icon--photo img{object-fit:cover;width:100%;height:100%;display:block}.option-card--selected .option-card__icon{border-color:var(--accent);color:var(--accent);background:#fdfcf9}.option-card__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.option-card__label{color:var(--text-h);font-size:14.5px;font-weight:500}.option-card__desc{color:var(--text);font-size:12.5px}.option-card__price{color:var(--text);flex-shrink:0;font-size:13px;font-weight:500}.panel__price-bar{border-top:1px solid var(--border);background:var(--panel-bg);padding:20px 28px}.panel__price-bar-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.panel__price-label{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:11px;font-weight:600;display:block}.panel__price-value{color:var(--text-h);font-size:25px;font-weight:600;display:block}.panel__cta{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:14px 26px;font-size:14px;font-weight:600}.panel__cta:hover{opacity:.9}.panel__cta:disabled{opacity:.6;cursor:not-allowed}.panel__checkout-error{color:#b03a2e;text-align:right;margin:10px 0 0;font-size:12.5px}.panel__price-bar-note{color:var(--text);text-align:center;margin:0;font-size:13px}@media (width<=860px){.app{grid-template-rows:45svh 1fr;grid-template-columns:1fr;height:100svh}.panel{border-left:none;border-top:1px solid var(--border)}}
