:root{--ink: #23201c;--ink-soft: #4a453e;--paper: #ffffff;--ivory: #fbf9f6;--linen: #f4efe9;--champagne: #b89b72;--champagne-dim: #9e8460;--grey: #8e867a;--hairline: rgba(35, 32, 28, .12);--hairline-soft: rgba(35, 32, 28, .07);--serif: "Cormorant", "Didot", Georgia, serif;--sans: "Poppins", Helvetica, Arial, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;font-size:14px;overflow:hidden;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}.masthead{display:flex;align-items:center;justify-content:space-between;padding:16px 30px;border-bottom:1px solid var(--hairline);background:var(--paper)}.brand{display:flex;align-items:baseline;gap:16px}.brand-name{font-family:var(--serif);font-size:27px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.brand-sub{font-family:var(--sans);font-weight:300;font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--champagne-dim)}.masthead-note{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--grey)}.stagewrap{display:flex;flex:1;min-height:0}.stage{position:relative;flex:1;min-width:0;background:radial-gradient(ellipse 62% 70% at 50% 40%,rgba(255,255,255,.85),transparent 70%),linear-gradient(180deg,#f6f2ec,#ece5da 78%,#e3dacc)}.atelier-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab}.atelier-canvas:active{cursor:grabbing}.stage-label{position:absolute;top:24px;left:30px;display:flex;flex-direction:column;gap:3px;pointer-events:none;z-index:5}.stage-dress{font-family:var(--serif);font-size:38px;font-weight:500;letter-spacing:.06em;color:var(--ink)}.stage-style{font-family:var(--sans);font-weight:300;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne-dim)}.stage-controls{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:6}.pill{padding:8px 18px;border-radius:99px;border:1px solid var(--hairline);background:#ffffffc7;color:var(--ink-soft);font-family:var(--sans);font-weight:300;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pill:hover{border-color:var(--champagne);color:var(--ink)}.pill.is-active{color:#fff;background:var(--champagne);border-color:var(--champagne);font-weight:400}.rail{width:292px;flex-shrink:0;overflow-y:auto;padding:22px;background:var(--paper);border-right:1px solid var(--hairline);scrollbar-width:thin;scrollbar-color:rgba(35,32,28,.18) transparent}.rail-right{border-right:0;border-left:1px solid var(--hairline);width:320px}.rail-title{font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.rail-section{font-size:9px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--grey);margin:18px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--hairline-soft)}.rail-section:first-of-type{margin-top:0}.dress-list{display:flex;flex-direction:column;gap:10px}.dress-card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:4px;border:1px solid var(--hairline-soft);background:var(--ivory);cursor:pointer;text-align:left;font-family:var(--sans);transition:all .25s ease}.dress-card:hover{border-color:var(--champagne);transform:translateY(-1px);box-shadow:0 6px 18px #23201c12}.dress-card.is-active{border-color:var(--champagne);background:#fff;box-shadow:0 0 0 1px var(--champagne),0 10px 26px #23201c1a}.dress-icon{width:42px;height:72px;flex-shrink:0}.dress-icon path{fill:#b89b721a;stroke:var(--champagne-dim);stroke-width:2;stroke-linejoin:round}.dress-card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.dress-name{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:.05em;color:var(--ink)}.dress-style{font-size:11.5px;font-weight:300;color:var(--ink-soft)}.dress-meta{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);margin-top:3px}.dress-dots{display:flex;gap:5px;margin-top:6px}.dress-dots i{width:12px;height:12px;border-radius:50%;border:1px solid rgba(35,32,28,.15)}.look-thumb{width:46px;height:74px;object-fit:cover;object-position:top;border-radius:3px;flex-shrink:0}.atelier-canvas.living{opacity:0;transition:opacity .6s ease;position:relative;z-index:2}.atelier-canvas.living.is-ready{opacity:1}.stage-shadow{position:absolute;left:50%;bottom:7%;width:34%;height:5%;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(35,32,28,.28),transparent 68%);z-index:1;pointer-events:none}.stage-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:radial-gradient(120% 95% at 50% 42%,#0000 52%,#3f34281a 84%,#3f342838)}.stage-grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E")}.stage-hint{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--grey);padding:8px 18px;background:#ffffffad;border-radius:99px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cta-btn{display:block;width:100%;margin-top:12px;padding:11px 0;border:1px solid var(--champagne);border-radius:3px;background:var(--champagne);color:#fff;font-family:var(--sans);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:all .25s ease}.cta-btn:hover{background:var(--champagne-dim);border-color:var(--champagne-dim)}.panel-stack{display:flex;flex-direction:column;gap:14px}.panel{padding:16px;border-radius:4px;border:1px solid var(--hairline-soft);background:var(--ivory)}.panel-title{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne-dim);margin-bottom:12px}.field-label{display:block;font-size:9px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--grey);margin:15px 0 7px}.field-value{color:var(--champagne-dim);letter-spacing:.08em;margin-left:6px}.figure-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.figure-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--grey);font-family:var(--sans);font-weight:300;font-size:9px;letter-spacing:.04em;cursor:pointer;transition:all .2s ease}.figure-chip:hover{border-color:var(--hairline);color:var(--ink)}.figure-chip.is-active{border-color:var(--champagne);background:#fff;color:var(--ink)}.figure-icon{width:25px;height:43px}.figure-icon path{fill:#23201c0d;stroke:currentColor;stroke-width:3}.figure-chip.is-active .figure-icon path{stroke:var(--champagne-dim);fill:#b89b7224}.figure-blurb{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ink-soft);margin-top:10px;min-height:36px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{min-width:35px;padding:7px 0;border-radius:3px;border:1px solid var(--hairline);background:transparent;color:var(--ink-soft);font-family:var(--sans);font-weight:300;font-size:12.5px;cursor:pointer;transition:all .2s ease;position:relative}.chip:hover{border-color:var(--champagne);color:var(--ink)}.chip.is-active{background:var(--champagne);border-color:var(--champagne);color:#fff;font-weight:400}.chip.is-recommended:not(.is-active){border-color:var(--champagne);color:var(--champagne-dim)}.chip.is-recommended:after{content:"";position:absolute;top:-3px;right:-3px;width:7px;height:7px;border-radius:50%;background:var(--champagne)}.swatch-row{display:flex;gap:8px}.swatch{width:30px;height:30px;border-radius:50%;border:2px solid rgba(35,32,28,.12);cursor:pointer;transition:all .2s ease}.swatch:hover{transform:scale(1.1)}.swatch.is-active{border-color:var(--champagne);box-shadow:0 0 0 2px var(--ivory),0 0 0 3.5px var(--champagne)}.swatch-name{font-size:11.5px;color:var(--grey);margin-top:7px}.dress-desc{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-soft);line-height:1.45}.hint{font-size:10.5px;color:var(--grey);margin-top:8px;line-height:1.55}.link-btn{background:none;border:none;color:var(--champagne-dim);font-family:var(--sans);font-size:10.5px;cursor:pointer;text-decoration:underline;margin-left:6px;padding:0}input[type=range]{width:100%;accent-color:var(--champagne)}.fit-panel{margin-top:14px;background:#fff;border-color:#b89b7259}.fit-verdict{font-family:var(--serif);font-style:italic;font-size:15.5px;line-height:1.45;color:var(--ink);margin-bottom:12px}.fit-zones{display:flex;flex-direction:column;gap:9px}.fit-zone{display:grid;grid-template-columns:10px 44px 1fr auto;align-items:center;gap:9px;font-size:12px}.fit-dot{width:9px;height:9px;border-radius:50%}.fit-zone-label{color:var(--ink-soft)}.fit-zone-status{font-weight:500;letter-spacing:.04em}.fit-zone-ease{color:var(--grey);font-size:11px}@media(max-width:1080px){body{overflow:auto}.app{height:auto}.stagewrap{flex-direction:column}.stage{height:62vh;min-height:420px;order:-1}.rail,.rail-right{width:100%;border:0;border-top:1px solid var(--hairline)}.dress-list{flex-direction:row;overflow-x:auto}.dress-card{min-width:230px}}
