*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#faf8f5;color:#3e3038;font:15px/1.7 'Microsoft YaHei','PingFang SC',sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #845169;outline-offset:4px}a{color:inherit}button{border:0;background:none;color:inherit}img,canvas{display:block;max-width:100%}[hidden]{display:none!important}.skip{position:absolute;left:20px;top:-70px;z-index:5;background:#fff;padding:12px}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(28px,calc((100vw - 1240px)/2));border-bottom:1px solid #dfd4d5}.brand{display:flex;gap:15px;align-items:center;text-decoration:none;font:18px Georgia,serif;letter-spacing:.15em}.brand img{object-fit:contain}nav{display:flex;align-items:center;gap:26px;font-size:13px}.languages{display:flex;gap:4px}.languages button{min-width:44px;min-height:44px}.languages button[aria-pressed=true]{text-decoration:underline;text-underline-offset:8px}main{max-width:1240px;margin:auto;padding:22px 28px 0}.preview-banner{font-size:12px;color:#65515a;background:#eee6e5;padding:9px 14px}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:32px 0}.eyebrow{font:10px/1.6 Georgia,serif;letter-spacing:.17em;margin:0 0 8px}.intro h1{font:58px/1.1 Georgia,serif;letter-spacing:-.035em;margin:8px 0 14px;font-weight:400}.intro h1 em{font-weight:400}.intro h1 span{color:#b7878c}.intro p:not(.eyebrow){font-size:14px;margin:0}.benefit{max-width:210px;white-space:pre-line;color:#745861;border-left:1px solid #c7aeb4;padding-left:22px}.experience-tabs{display:flex;gap:40px;border-bottom:1px solid #d9cdcf}.experience-tabs button{min-height:59px;display:flex;gap:12px;align-items:center;border-bottom:2px solid transparent}.experience-tabs button[aria-pressed=true]{border-color:#73495c}.experience-tabs i{font:italic 20px Georgia,serif;color:#9b747e}.steps{display:flex;gap:35px;list-style:none;margin:23px 0 26px;padding:0;font-size:12px;color:#8d7c82}.steps li{display:flex;gap:10px}.steps b{font-weight:400}.steps li[aria-current=step]{color:#60404f}.steps li[aria-current=step] span{border-bottom:1px solid #60404f}.workspace{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:64px;align-items:start}.visual-column,.options-column{min-width:0}.visual-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.visual-heading p{font-size:12px;margin:0}.visual-heading button{min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.stage{position:relative;aspect-ratio:4/5;max-height:590px;overflow:hidden;background:#e9e2df}.stage canvas,.stage>img{width:100%;height:100%;object-fit:contain}.stage canvas{object-fit:cover}.image-label{position:absolute;bottom:14px;left:14px;padding:5px 10px;background:#faf8f5ed;font-size:11px;color:#65515a;max-width:calc(100% - 28px)}.caption{font-size:12px;color:#75666b;margin:12px 0 0}.options-column{padding-top:52px}h2{font-size:29px;font-family:Georgia,'Songti SC','SimSun',serif;font-weight:400;line-height:1.4;margin:6px 0 13px}.muted{color:#706068;font-size:14px;margin:0 0 18px}.looks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 25px}.looks button{padding:5px;border:1px solid transparent;text-align:left;min-width:0}.looks button[aria-pressed=true]{border-color:#9d747e;background:#efe6e5}.looks img{aspect-ratio:1;object-fit:cover;width:100%}.looks span{font-size:12px;display:block;margin-top:5px}.strength{border-top:1px solid #ded1d4;padding-top:18px}.strength>div:first-child,.range-labels{display:flex;justify-content:space-between;align-items:center}.strength output{font:italic 25px Georgia,serif;color:#86586b}.strength label{font-size:14px}.strength input{width:100%;height:44px;accent-color:#89596e;margin:6px 0 0;cursor:pointer}.range-labels{font-size:11px;color:#7a6870}.strength p,.fine{font-size:12px;color:#76636c;line-height:1.8}.primary,.secondary{display:flex;align-items:center;justify-content:center;min-height:50px;width:100%;padding:12px 16px;transition:background .18s}.primary{background:#775361;color:#fff;margin-top:22px}.primary:hover:enabled{background:#634351}.secondary{border:1px solid #b49da5}.secondary:hover:enabled{background:#eee5e7}.text-button{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px;padding:7px 0;max-width:100%}.photo-guide{padding-left:22px;color:#6c5660}.photo-guide li{margin-bottom:12px}.caveat,.privacy-note{border-left:2px solid #b58b95;padding:10px 15px;background:#f0e8e7;font-size:13px;color:#715965}.upload-actions{display:grid;gap:12px;margin:24px 0 16px}.upload-actions .primary{margin:0}.selection-summary{padding:13px 0;border-top:1px solid #dacdd1;border-bottom:1px solid #dacdd1;font-size:14px}.feedback{font-size:13px;color:#7d405c;min-height:1px}.feedback:empty{margin:0}#photo-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}#photo-empty p{font-size:13px;color:#78666d;max-width:300px}.portrait-outline{height:116px;width:85px;border:1px solid #b69ba2;border-radius:46%;margin:0 0 30px;position:relative}.portrait-outline:after{content:'';position:absolute;left:-32px;right:-32px;bottom:-25px;height:36px;border:1px solid #b69ba2;border-bottom:none;border-radius:70% 70% 0 0}#booking-form{margin:22px 0}#booking-form label{display:block;font-size:13px;margin:16px 0 7px}#booking-form input{width:100%;min-height:48px;background:#fffdfb;border:1px solid #c6b3ba;border-radius:0;padding:10px 12px;font-size:16px}#verify-booking{margin-top:18px}.consent{display:flex;gap:12px;font-size:13px;align-items:flex-start;margin-top:18px}.consent input{width:20px;height:20px;min-width:20px;accent-color:#89596e;margin:4px 0 0}.preview-stop{font-size:12px;border:1px dashed #c5a9b4;padding:10px 13px;color:#765966}.report-preview{margin-top:45px;padding:34px;background:#f0e9e6;border:1px solid #ddd0d1}.report-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.report-header img{object-fit:contain}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:28px 0}.report-grid h3{font:32px Georgia,'SimSun',serif;margin:10px 0}.report-preview p{font-size:13px}.sample-palette{display:flex;margin:16px 0;gap:8px}.sample-palette i{width:54px;height:70px;background:#b88e9d}.sample-palette i:nth-child(2){background:#9eacbf}.sample-palette i:nth-child(3){background:#bba9c9}.sample-palette i:nth-child(4){background:#c6c3c9}footer{margin-top:55px;border-top:1px solid #dfd3d5;display:flex;justify-content:space-between;gap:20px;padding:24px 0 30px;font-size:11px;color:#7a6770}footer span{font-family:Georgia,serif;letter-spacing:.13em;white-space:nowrap}
@media(max-width:760px){header{padding:12px 20px}.brand{font-size:13px;letter-spacing:.1em;gap:9px}.brand img{width:38px;height:34px}nav{gap:6px}nav>a{display:none}main{padding:15px 20px 0}.preview-banner{font-size:11px;padding:9px 11px}.intro{padding:25px 0 22px;display:block}.intro h1{font-size:40px}.intro p:not(.eyebrow){font-size:13px}.intro .benefit{display:none}.eyebrow{font-size:9px}.experience-tabs{gap:0;justify-content:space-between}.experience-tabs button{gap:7px;font-size:13px;min-height:55px}.experience-tabs i{font-size:17px}.steps{gap:0;justify-content:space-between;font-size:11px;margin:18px 0}.steps li{gap:5px}.workspace{grid-template-columns:1fr;gap:23px}.stage{max-height:430px;aspect-ratio:4/5}.visual-heading{margin:0 0 5px}.visual-heading p,.visual-heading button{font-size:11px}.caption{font-size:11px}.options-column{padding:0}.options-column h2{font-size:26px}.looks{gap:8px;margin:16px 0 20px}.looks button{padding:4px}.looks span{font-size:11px}.primary,.secondary{min-height:50px}.muted{font-size:13px}.report-preview{padding:22px 18px}.report-header h2{font-size:22px}.report-grid{grid-template-columns:1fr;gap:20px}footer{display:block;margin-top:32px}footer span{display:block;margin-top:18px}}
@media(max-width:760px){body[data-step="0"] .workspace{display:block}body[data-step="0"] .visual-column{position:sticky;top:0;z-index:2;background:#faf8f5;padding:6px 0 10px;border-bottom:1px solid #ded1d4}body[data-step="0"] .stage{height:250px;max-height:32svh;aspect-ratio:auto}body[data-step="0"] .stage canvas{object-fit:contain}body[data-step="0"] .caption,body[data-step="0"] #watermark-sample{display:none}body[data-step="0"] .options-column{padding-top:22px}body[data-step="0"] #style-step{scroll-margin-top:320px}}
@media(max-width:760px){body[data-step="0"][data-experience="colour"] .visual-column{position:static}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

#live-result{scroll-margin-top:20px}#result-content>img{max-height:900px;width:auto;margin:20px auto}.result-palette{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}.result-palette>div{flex:1;min-width:100px;font-size:12px}.result-palette i{display:block;height:70px;margin-bottom:8px}#live-feedback{white-space:pre-line}#recover-result{margin-bottom:20px}#owner-test-link{display:block;margin:16px 0;font-size:12px}
.nail-builder{margin-top:22px}.nail-section{border-top:1px solid #ded1d4;padding:0 0 10px}.nail-section summary{min-height:52px;display:list-item;padding:14px 3px;cursor:pointer;font-size:14px}.nail-section summary:focus-visible{outline:2px solid #845169;outline-offset:2px}.nail-field{border:0;padding:0;margin:18px 0;min-width:0}.nail-field legend{font-size:13px;margin-bottom:12px;color:#705361}.nail-options{display:flex;gap:8px;flex-wrap:wrap}.nail-choice{border:1px solid #d2c3c7;min-height:44px;padding:8px 12px;font-size:13px;display:inline-flex;align-items:center;gap:8px;text-align:left;background:#fffcf8;position:relative}.nail-choice[aria-pressed=true]{border-color:#805264;background:#eee1e6;box-shadow:inset 0 -2px #805264}.nail-choice[aria-pressed=true]:after{content:'✓';font-size:11px;color:#754559}.nail-colours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.nail-colours .nail-choice{padding:8px;min-width:0;gap:7px;font-size:12px}.nail-swatch{height:20px;width:20px;flex-shrink:0;border-radius:50%;border:1px solid #00000018}.nail-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-bottom:14px}.nail-preset{padding:4px;border:1px solid transparent;min-width:0;text-align:left;font-size:12px}.nail-preset[aria-pressed=true]{border-color:#805264;background:#eee1e6}.nail-preset canvas{width:100%;height:auto}.nail-preset span{display:block;margin:6px 1px;line-height:1.5}.nail-selected{background:#f0e8e7;border-left:2px solid #ac7e8e;padding:16px 18px;margin-top:12px}.nail-selection-text{font-size:13px;margin:8px 0;line-height:1.9;overflow-wrap:anywhere}.nail-removals{display:flex;gap:8px;flex-wrap:wrap}.nail-remove{font-size:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px;padding:7px}body[data-experience="nails"][data-step="0"] .stage{aspect-ratio:7/5;max-height:none;background:#f1eae5}body[data-experience="nails"][data-step="0"] .stage canvas{object-fit:contain}body[data-experience="nails"][data-step="0"] .visual-column{position:sticky;top:20px}
@media(max-width:760px){.nail-colours{grid-template-columns:repeat(3,minmax(0,1fr))}.nail-colours .nail-choice{flex-direction:column;justify-content:center;gap:5px;min-height:65px;text-align:center}.nail-colours .nail-choice[aria-pressed=true]:after{position:absolute;right:5px;top:3px}.nail-presets{gap:6px}.nail-choice{font-size:12px}.nail-selected{padding:13px 14px}body[data-experience="nails"][data-step="0"] .visual-column{top:0}body[data-experience="nails"][data-step="0"] .stage{height:200px;max-height:26svh}body[data-experience="nails"][data-step="0"] #style-step{scroll-margin-top:280px}}
.nail-actions{display:flex;flex-wrap:wrap;gap:8px 24px}@media(max-width:760px){body[data-experience="nails"][data-step="0"] .nail-builder button,body[data-experience="nails"][data-step="0"] .nail-builder summary{scroll-margin-block:255px 30px}}
.nail-pearl-entry{border-left:2px solid #ad8492;padding:4px 0 4px 16px;margin:20px 0}.nail-pearl-entry p{margin-bottom:0}.pearl-dialog{width:min(900px,calc(100% - 32px));max-height:90dvh;padding:28px;border:1px solid #c8b1bb;background:#faf8f5;color:#3e3038;overscroll-behavior:contain}.pearl-dialog::backdrop{background:#30242bc2}.pearl-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.pearl-heading h2{margin:0;font-size:27px}.pearl-heading .secondary{width:auto;flex-shrink:0}.pearl-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}.pearl-visual{background:#f1eae5;padding:10px;border:1px solid #ded0d0}.pearl-end-label{text-align:center;font-size:12px;margin:0;color:#795968}.pearl-board{position:relative;aspect-ratio:3/4;max-width:300px;margin:auto;touch-action:none;cursor:crosshair;user-select:none}.pearl-board canvas{width:100%;height:100%}.pearl-layer{position:absolute;inset:0;pointer-events:none}.pearl-dot{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;pointer-events:auto;touch-action:none;cursor:grab;padding:0}.pearl-dot:active{cursor:grabbing}.pearl-bead{display:block;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fffef6 8%,#f1e9db 45%,#b5a49a 100%);box-shadow:1px 2px 2px #66505b55;border:1px solid #d7c9b4}.pearl-dot[aria-pressed=true]{outline:1px dashed #805264;outline-offset:-4px;background:#fff6}.pearl-dot:focus-visible{outline:2px solid #805264;outline-offset:0}.pearl-count{display:flex;gap:18px;align-items:center}.pearl-count button{min-width:48px;justify-content:center;font-size:22px}.pearl-count output{min-width:30px;text-align:center;font:26px Georgia,serif}.pearl-picks,.pearl-arrows{display:flex;flex-wrap:wrap;gap:8px}.pearl-picks button,.pearl-arrows button{min-width:44px;justify-content:center}.pearl-status{font-size:13px;min-height:22px;color:#75465d}.pearl-controls .nail-field:first-child{margin-top:0}.pearl-dialog .privacy-note{margin-bottom:0}.pearl-dialog button{scroll-margin-block:20px}.pearl-dialog .nail-choice:disabled[aria-pressed=true]{opacity:1}
@media(max-width:600px){.pearl-dialog{padding:18px;width:calc(100% - 20px);max-height:94dvh}.pearl-heading{align-items:flex-start;gap:12px}.pearl-heading h2{font-size:22px}.pearl-heading .secondary{max-width:100px;padding:8px;font-size:12px}.pearl-layout{grid-template-columns:1fr;gap:22px}.pearl-board{max-width:240px}.pearl-dialog .muted{margin-top:14px}.pearl-dialog .nail-options{gap:8px}.pearl-dialog .nail-field{margin-top:14px}}
.pearl-layout{row-gap:18px}.pearl-quantity{grid-column:2;grid-row:1;margin:0}.pearl-visual{grid-column:1;grid-row:1 / span 2}.pearl-controls{grid-column:2;grid-row:2}.nail-choice[data-nail-group="fingers"]:disabled[aria-pressed=true]{opacity:1}@media(max-width:600px){.pearl-quantity,.pearl-visual,.pearl-controls{grid-column:1;grid-row:auto}.pearl-quantity{margin:0}.pearl-quantity .fine{margin-bottom:0}}
@media(max-width:600px){.pearl-dialog .nail-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.pearl-dialog .nail-options .nail-choice{padding:6px 3px;justify-content:center;text-align:center;min-height:52px;font-size:11px;overflow-wrap:anywhere}.pearl-dialog .nail-options .nail-choice[aria-pressed=true]:after{position:absolute;right:3px;top:1px;font-size:9px}}

.colour-draping h2{font:30px/1.3 Georgia,'SimSun',serif;margin:6px 0 10px}.draping-label{font-size:12px;color:#795568}.season-faces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.season-face{min-width:0}.season-face h3{font-size:15px;font-weight:500;margin:10px 0}.season-portrait{aspect-ratio:4/4.3;overflow:hidden;display:grid;place-items:center}.season-portrait img{width:100%;height:100%;object-fit:contain;transform-origin:center 45%}.season-swatches{display:flex;gap:8px;margin-top:8px}.season-swatches button{min-height:44px;flex:1;padding:5px;border:1px solid #cbb9c0;background:var(--swatch);position:relative}.season-swatches button[aria-pressed=true]{outline:2px solid #563246;outline-offset:2px}.season-swatches button[aria-pressed=true]:after{content:'✓';display:block;background:#fffde8;color:#452a39;width:20px;line-height:20px;margin:auto}.season-description{font-size:11px;color:#66515c;margin:9px 0}.draping-status{min-height:22px;font-size:13px;color:#75465d}.draping-actions{display:flex;gap:18px}.draping-zoom{display:block;font-size:13px}.draping-zoom input{display:block;width:100%;min-height:44px;accent-color:#89596e}.draping-privacy{border-top:1px solid #ded1d4;padding-top:12px}body[data-experience="colour"] .visual-column{position:static}.colour-draping .text-button{min-height:44px}
@media(max-width:760px){.colour-draping h2{font-size:25px}.season-faces{gap:10px}.season-face h3{font-size:14px}.season-swatches{gap:7px}.season-description{font-size:11px}.draping-status{font-size:12px}body[data-experience="colour"][data-step="0"] .visual-column{position:static}.draping-privacy{font-size:11px}}
