#atelier-loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#c17a7a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;opacity:1;transform:translateY(0) translateZ(0);will-change:opacity,transform;transition:opacity .8s ease,transform .8s cubic-bezier(.4,0,.2,1)}.loader-emblem{position:relative;width:120px;height:120px;animation:emblemRotate 14s linear infinite}.loader-ring{width:100%;height:100%}.loader-ring circle{fill:none;stroke:#c9a454;stroke-width:.8;stroke-dasharray:226.2;stroke-dashoffset:226.2;animation:ringDraw 2.4s cubic-bezier(.4,0,.2,1) .2s forwards}.loader-gem{position:absolute;top:50%;left:50%;width:10px;height:10px;border:1px solid #C9A454;transform:translate(-50%,-50%) rotate(45deg) scale(0);opacity:0;animation:gemAppear 1.2s cubic-bezier(.16,1,.3,1) 1.8s forwards}.loader-rule{width:40px;height:1px;background:#c9a45466;margin:28px 0 20px;transform:scaleX(0);animation:ruleExtend 1.4s cubic-bezier(.16,1,.3,1) 2.2s forwards}.loader-text{font-family:Cormorant Garamond,serif;font-size:16px;font-weight:400;letter-spacing:.5em;color:#c9a454;opacity:0;transform:translateY(8px);animation:textReveal 1.6s cubic-bezier(.16,1,.3,1) 2.6s forwards}.loader-subtitle{font-family:Cormorant Garamond,serif;font-size:14px;font-weight:400;font-style:italic;color:#c9a454b3;margin-top:6px;opacity:0;transform:translateY(8px);animation:textReveal 1.6s cubic-bezier(.16,1,.3,1) 2.9s forwards}.loader-emblem:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:1px solid rgba(201,164,84,0);animation:emblemPulse 4s ease-in-out 3s infinite}@keyframes ringDraw{to{stroke-dashoffset:0}}@keyframes gemAppear{to{opacity:1;transform:translate(-50%,-50%) rotate(45deg) scale(1)}}@keyframes ruleExtend{to{transform:scaleX(1)}}@keyframes textReveal{to{opacity:1;transform:translateY(0)}}@keyframes emblemRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes emblemPulse{0%,to{border-color:#c9a45400;transform:scale(1)}50%{border-color:#c9a45426;transform:scale(1.15)}}#atelier-loader.unveil .loader-emblem{animation:liftEmblem 1s cubic-bezier(.4,0,.2,1) forwards}#atelier-loader.unveil .loader-rule{animation:liftRule .8s cubic-bezier(.4,0,.2,1) .05s forwards}#atelier-loader.unveil .loader-text{animation:liftText .8s cubic-bezier(.4,0,.2,1) .1s forwards}#atelier-loader.unveil .loader-subtitle{animation:liftText .8s cubic-bezier(.4,0,.2,1) .15s forwards}#atelier-loader.unveil{opacity:0;transform:translateY(-12px) translateZ(0);pointer-events:none}@keyframes liftEmblem{to{opacity:0;transform:translateY(-50px) rotate(90deg) scale(.8)}}@keyframes liftRule{to{opacity:0;transform:scaleX(0) translateY(-30px)}}@keyframes liftText{to{opacity:0;transform:translateY(-30px)}}canvas{opacity:0;transform:translate(-10%) scale(.97) translateY(12px);transition:none}.ui-container{opacity:0;transition:none}body.scene-bloom canvas{opacity:1;transform:translate(-10%) scale(1) translateY(0);transition:opacity 1.2s 0ms ease,transform 1.2s 0ms cubic-bezier(.16,1,.3,1)}body.scene-bloom .ui-container{opacity:1}.piece-selector{opacity:0;transform:translateY(8px)}body.scene-bloom .piece-selector{opacity:1;transform:translateY(0);transition:opacity .7s .2s ease,transform .7s .2s cubic-bezier(.16,1,.3,1)}.panel-divider{transform:scaleX(0)}body.scene-bloom .panel-divider{transform:scaleX(1);transition:transform .8s .3s cubic-bezier(.16,1,.3,1)}#axis1-section{opacity:0;transform:translateY(10px)}body.scene-bloom #axis1-section{opacity:1;transform:translateY(0);transition:opacity .7s .35s ease,transform .7s .35s cubic-bezier(.16,1,.3,1)}#axis2-section{opacity:0;transform:translateY(10px)}body.scene-bloom #axis2-section{opacity:1;transform:translateY(0);transition:opacity .7s .45s ease,transform .7s .45s cubic-bezier(.16,1,.3,1)}#atmosphere-section{opacity:0;transform:translateY(10px)}body.scene-bloom #atmosphere-section{opacity:1;transform:translateY(0);transition:opacity .7s .55s ease,transform .7s .55s cubic-bezier(.16,1,.3,1)}.preserve-btn{opacity:0;transform:translateY(6px)}body.scene-bloom .preserve-btn{opacity:1;transform:translateY(0);transition:opacity .7s .65s ease,transform .7s .65s cubic-bezier(.16,1,.3,1),background .3s ease,color .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--ivory: #FAF6EE;--linen: #F2EBD9;--parchment: #E8DEC8;--gold: #C9A454;--gold-light: #E8D5B0;--gold-dark: #8A6A18;--ink: #2A2118;--muted: #8A7A60;--blush: #F0E4D0}html,body{margin:0;padding:0;overflow:hidden;width:100%;height:100%;font-family:Cormorant Garamond,serif;background:transparent;scroll-behavior:smooth}canvas{display:block;width:100vw;height:100vh}.canvas-vignette{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 60% 55%,transparent 35%,rgba(15,8,4,.22) 100%)}.canvas-hint{position:absolute;bottom:28px;left:0;width:calc(100% - 560px);text-align:center;pointer-events:none;z-index:2;font-family:Cormorant Garamond,serif;font-size:11px;letter-spacing:.35em;color:#b48c64bf;opacity:0;transition:opacity 1.2s cubic-bezier(.16,1,.3,1)}body.scene-bloom .canvas-hint{opacity:1}.canvas-hint.faded{opacity:0!important;transition:opacity 1.5s cubic-bezier(.4,0,.2,1)}@keyframes hintFadeIn{to{opacity:1}}.ui-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000}.panel{position:absolute;top:0;right:0;width:560px;height:100%;pointer-events:auto;background:linear-gradient(to left,var(--ivory) 40%,rgba(250,246,238,.85) 60%,rgba(250,246,238,.4) 80%,transparent 100%);display:flex;flex-direction:column;padding:40px 32px 32px 24px}.panel:before{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background:linear-gradient(to bottom,transparent 0%,rgba(201,164,84,.4) 15%,rgba(201,164,84,.4) 85%,transparent 100%);pointer-events:none}.piece-selector{display:flex;align-items:baseline;gap:24px}.piece-option{font-family:Cormorant Garamond,serif;font-weight:400;letter-spacing:.08em;cursor:pointer;background:none;border:none;padding:0 0 3px;transition:font-size .5s cubic-bezier(.16,1,.3,1),color .5s cubic-bezier(.16,1,.3,1),border-color .5s cubic-bezier(.16,1,.3,1),opacity .4s cubic-bezier(.16,1,.3,1)}.piece-option.active{font-size:18px;color:var(--ink);border-bottom:1px solid var(--gold)}.piece-option:not(.active){font-size:15px;color:#5a4a30;border-bottom:1px solid transparent}.piece-option:not(.active):after{content:"";display:block;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1);margin-top:3px}.piece-option:not(.active):hover:after{transform:scaleX(1)}.piece-option:hover:not(.active){color:var(--ink)}.panel-divider{width:100%;height:1px;background:#c9a45440;margin-top:14px;margin-bottom:28px;transition:opacity .5s cubic-bezier(.16,1,.3,1)}.axis-section{margin-bottom:40px}.axis-label{display:flex;align-items:center;gap:10px;margin-bottom:14px}.axis-label-text{font-family:Cormorant Garamond,serif;font-size:11px;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:#8b6a3e;opacity:1;white-space:nowrap}.axis-label-rule{flex:1;height:1px;background:#c9a45433}.swatch-row{display:flex;flex-wrap:nowrap;gap:14px}.swatch-item{display:flex;flex-direction:column;align-items:center;flex:1 1 0;min-width:0}.swatch{width:36px;height:36px;border-radius:50%;cursor:pointer;position:relative;transform-style:preserve-3d;transform-origin:center;border:none;outline:2px solid transparent;outline-offset:3px;will-change:transform,box-shadow;transform:translateZ(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .4s cubic-bezier(.25,.1,.25,1),outline-color .4s cubic-bezier(.25,.1,.25,1),outline-offset .4s cubic-bezier(.25,.1,.25,1);box-shadow:inset 0 2px 3px #ffffff8c,inset 0 -6px 10px #00000040,0 2px 6px #00000026}.swatch:hover{transform:scale(1.12) translateZ(0);box-shadow:inset 0 2px 3px #ffffff8c,inset 0 -6px 10px #00000040,0 6px 16px #0003,0 0 0 3px #c9a4541f,0 0 20px #c9a45414}.swatch:active{transform:scale(.96) translateZ(0);transition:transform .1s cubic-bezier(.34,1.56,.64,1),box-shadow .4s cubic-bezier(.25,.1,.25,1),outline-color .4s cubic-bezier(.25,.1,.25,1),outline-offset .4s cubic-bezier(.25,.1,.25,1)}.swatch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.7),transparent 50%);pointer-events:none}.swatch.active{outline-color:var(--gold)}.swatch-item:has(.swatch.active) .swatch-label{color:var(--gold)}.swatch.active:hover{outline-offset:4px}@keyframes swatchPulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}.swatch.pulse:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid rgba(201,164,84,.5);animation:swatchPulse .6s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none}.swatch-label{font-family:Cormorant Garamond,serif;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);text-align:center;margin-top:5px;transition:color .4s cubic-bezier(.16,1,.3,1),opacity .4s cubic-bezier(.16,1,.3,1)}.gold{background:linear-gradient(135deg,#7a5c00,gold 45%,#fff2a8 65%,#7a5c00)}.silver{background:linear-gradient(135deg,#9a9a9a,#e8e8e8 50%,#fff 70%,#9a9a9a)}.rose{background:linear-gradient(135deg,#7a4444,#b76e79 45%,#ffd1d1 65%,#7a4444)}.platinum{background:linear-gradient(135deg,#b4b4b4,#f2f2f2 50%,#fff 70%,#b4b4b4)}.champagne{background:linear-gradient(135deg,#9a6c3d,#d6a77a 45%,#ffe4c8 65%,#9a6c3d)}.emerald{background:radial-gradient(circle at 26% 20%,#ffffff 0%,#ccffe0 15%,transparent 28%),radial-gradient(circle at 68% 30%,#aaffcc 0%,transparent 18%),radial-gradient(circle at 55% 55%,#80ffaa 0%,transparent 15%),radial-gradient(circle at 30% 65%,#40c070 0%,transparent 20%),radial-gradient(circle at 72% 68%,#20a050 0%,transparent 15%),radial-gradient(ellipse at center,#00a854 25%,#004020 70%,#001208)}.ruby{background:radial-gradient(circle at 26% 20%,#ffffff 0%,#ffcccc 15%,transparent 28%),radial-gradient(circle at 68% 30%,#ffaaaa 0%,transparent 18%),radial-gradient(circle at 55% 55%,#ff7070 0%,transparent 15%),radial-gradient(circle at 30% 65%,#cc2020 0%,transparent 20%),radial-gradient(circle at 72% 68%,#aa1010 0%,transparent 15%),radial-gradient(ellipse at center,#cc0018 25%,#6a0008 70%,#280004)}.sapphire{background:radial-gradient(circle at 26% 20%,#ffffff 0%,#ccd8ff 15%,transparent 28%),radial-gradient(circle at 68% 30%,#aabbff 0%,transparent 18%),radial-gradient(circle at 55% 55%,#7090ff 0%,transparent 15%),radial-gradient(circle at 30% 65%,#2050e0 0%,transparent 20%),radial-gradient(circle at 72% 68%,#1038c0 0%,transparent 15%),radial-gradient(ellipse at center,#0830cc 25%,#041060 70%,#010820)}.diamond{background:radial-gradient(circle at 24% 18%,#ffffff 0%,#ffffff 12%,transparent 24%),radial-gradient(circle at 68% 24%,#ffffff 0%,#f0f8ff 10%,transparent 20%),radial-gradient(circle at 38% 58%,#e8f4ff 0%,transparent 18%),radial-gradient(circle at 65% 62%,#ffffff 0%,transparent 14%),radial-gradient(circle at 50% 40%,#f0f8ff 0%,transparent 16%),radial-gradient(circle at 20% 75%,#d8ecff 0%,transparent 14%),radial-gradient(ellipse at center,#e0f0ff 15%,#b0d0f0,#70a8d0 85%,#406888);box-shadow:inset 0 2px 5px #fff,inset 0 -4px 10px #a0c8e880,0 2px 8px #00000014}.amethyst{background:radial-gradient(circle at 26% 20%,#ffffff 0%,#f8d0ff 15%,transparent 28%),radial-gradient(circle at 68% 30%,#eeb0ff 0%,transparent 18%),radial-gradient(circle at 55% 55%,#cc70ff 0%,transparent 15%),radial-gradient(circle at 30% 65%,#9020cc 0%,transparent 20%),radial-gradient(circle at 72% 68%,#7010aa 0%,transparent 15%),radial-gradient(ellipse at center,#7808b8 25%,#400068 70%,#180028)}.topaz{background:radial-gradient(circle at 26% 20%,#ffffff 0%,#fff8c0 15%,transparent 28%),radial-gradient(circle at 68% 30%,#ffe860 0%,transparent 18%),radial-gradient(circle at 55% 55%,#ffc820 0%,transparent 15%),radial-gradient(circle at 30% 65%,#d09000 0%,transparent 20%),radial-gradient(circle at 72% 68%,#b07000 0%,transparent 15%),radial-gradient(ellipse at center,#c07800 25%,#603800 70%,#281400)}.panel-spacer{flex:1}.preserve-btn{background:var(--ink);border:none;border-radius:2px;padding:14px 20px;width:100%;cursor:pointer;overflow:hidden;position:relative;font-family:Cormorant Garamond,serif;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ivory);transition:background .3s cubic-bezier(.16,1,.3,1),color .3s cubic-bezier(.16,1,.3,1)}.preserve-btn:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skew(-20deg);transition:left .6s cubic-bezier(.16,1,.3,1)}.preserve-btn:hover:after{left:150%}.preserve-btn:hover{background:var(--gold);color:var(--ink)}.preserve-btn:active{transform:scale(.96);transition:transform .15s cubic-bezier(.16,1,.3,1),background .3s cubic-bezier(.16,1,.3,1),color .3s cubic-bezier(.16,1,.3,1)}.brand-watermark{position:absolute;top:32px;left:40px;z-index:1000;pointer-events:none;opacity:0;transform:translateY(10px)}body.scene-bloom .brand-watermark{opacity:1;transform:translateY(0);transition:opacity .8s .1s ease,transform .8s .1s cubic-bezier(.16,1,.3,1)}.brand-name{font-family:Cormorant Garamond,serif;font-size:30px;font-weight:400;letter-spacing:.45em;color:#c9a454;opacity:1;line-height:1}.brand-tagline{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;font-style:italic;letter-spacing:.15em;color:#6a4e2a;opacity:1;margin-top:6px;line-height:1}.sound-toggle{position:absolute;top:28px;right:580px;z-index:1001;background:#c9a4541a;border:1.5px solid rgba(201,164,84,.45);border-radius:50%;cursor:pointer;padding:14px;pointer-events:auto;opacity:0;transform:translateY(6px);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 18px #c9a4541a;transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),background .3s ease,box-shadow .3s ease}body.scene-bloom .sound-toggle{opacity:1;transform:translateY(0);transition:opacity .7s .4s ease,transform .7s .4s cubic-bezier(.16,1,.3,1),background .3s ease}.sound-toggle:hover{background:#c9a45433;box-shadow:0 4px 24px #c9a45433}.sound-toggle:active{transform:scale(.96);transition:transform .15s cubic-bezier(.16,1,.3,1)}.sound-toggle .sound-icon{display:none;width:36px;height:36px;color:#c9a454;transition:opacity .3s ease;flex-shrink:0}.sound-toggle .sound-off{display:block;opacity:.8}.sound-toggle.active .sound-off{display:none}.sound-toggle.active .sound-on{display:block;opacity:1}@media(min-width:768px)and (max-width:1199px){.panel{width:320px;padding:24px 18px 20px 16px}.piece-selector{gap:16px}.piece-option.active{font-size:15px}.piece-option:not(.active){font-size:12px}.panel-divider{margin-top:10px;margin-bottom:18px}.axis-section{margin-bottom:20px}.axis-label{margin-bottom:10px}.axis-label-text{font-size:10px;letter-spacing:.25em}.swatch{width:30px;height:30px}.swatch-row{gap:6px;flex-wrap:wrap}.swatch-item{flex:0 0 auto}.swatch-label{font-size:8px;letter-spacing:.1em;margin-top:3px}.atmosphere-swatch{width:22px;height:22px}.preserve-btn{padding:10px 14px;font-size:10px;letter-spacing:.25em}canvas{transform:translate(-6%) scale(.97) translateY(12px)}body.scene-bloom canvas{transform:translate(-6%) scale(1) translateY(0);transition:opacity 1.2s 0ms ease,transform 1.2s 0ms cubic-bezier(.16,1,.3,1)}.canvas-hint{width:calc(100% - 320px);font-size:10px}.canvas-vignette{background:radial-gradient(ellipse at 55% 55%,transparent 35%,rgba(15,8,4,.22) 100%)}.sound-toggle{right:340px}.brand-watermark{top:24px;left:28px}.brand-name{font-size:22px;letter-spacing:.35em}.brand-tagline{font-size:16px}.preserve-panel{width:320px;padding:24px 28px 20px}.preserve-name-input{font-size:17px}.preserve-label{font-size:10px}}#preserve-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:#2a211873;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transition:opacity .5s cubic-bezier(.16,1,.3,1),backdrop-filter .6s cubic-bezier(.16,1,.3,1)}#preserve-overlay.visible{opacity:1;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.preserve-panel{background:var(--ivory);border:1px solid rgba(201,164,84,.5);padding:36px 40px 32px;width:380px;display:flex;flex-direction:column;align-items:stretch;gap:16px;transform:translateY(16px) scale(.97);opacity:0;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .5s cubic-bezier(.16,1,.3,1)}#preserve-overlay.visible .preserve-panel{transform:translateY(0) scale(1);opacity:1}.preserve-panel>*{opacity:0;transform:translateY(8px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}.preserve-panel>.revealed{opacity:1;transform:translateY(0)}.preserve-label{font-family:Cormorant Garamond,serif;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);text-align:center}.preserve-name-input,.preserve-wrist-input{font-family:Cormorant Garamond,serif;font-size:20px;font-style:italic;color:var(--ink);background:transparent;border:none;border-bottom:1px solid rgba(201,164,84,.4);padding:6px 0;outline:none;text-align:center;width:100%;transition:border-color .25s ease}.preserve-wrist-input{font-size:14px}.preserve-name-input::placeholder,.preserve-wrist-input::placeholder{color:var(--muted);font-style:italic}.preserve-name-input:focus,.preserve-wrist-input:focus{border-bottom-color:var(--gold)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.preserve-name-input.shake{animation:shake .4s ease}.preserve-format-row{display:flex;align-items:center;justify-content:center;gap:0;margin:8px 0 4px}.format-option{cursor:pointer;padding:12px 20px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;transition:border-color .45s cubic-bezier(.16,1,.3,1),background .45s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}.format-option:hover{transform:scale(1.04)}.format-option.active{border-color:#c9a45499;background:#c9a4540a}.format-option:active{transform:scale(.96)}.format-divider{width:1px;height:48px;background:#c9a4544d;flex-shrink:0}.format-preview{background:var(--ivory);border:1px solid rgba(201,164,84,.5)}.portrait-preview{width:44px;height:62px}.landscape-preview{width:62px;height:44px}.preserve-confirm-btn{background:var(--ink);border:none;padding:13px 20px;cursor:pointer;font-family:Cormorant Garamond,serif;font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--ivory);transition:background .5s cubic-bezier(.16,1,.3,1),color .5s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);margin-top:4px}.preserve-confirm-btn:hover{background:var(--gold);color:var(--ink)}.preserve-confirm-btn:active{transform:scale(.96)}#carte-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#ede0cc;overflow:hidden;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .4s ease}#carte-overlay.visible{opacity:1;pointer-events:auto;transition:opacity .15s ease}#carte-overlay.hiding{opacity:0;pointer-events:none;transition:opacity .4s ease}.carte-overlay-scroll{flex:1;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 24px;gap:8px;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,1,1)}#carte-overlay.visible .carte-overlay-scroll{transform:translateY(0);transition:transform .7s cubic-bezier(.22,1,.36,1) 50ms}.carte-content{display:flex;align-items:center;justify-content:center}.carte-actions{display:flex;align-items:center;justify-content:center;gap:40px}.carte-action-btn{background:none;border:none;cursor:pointer;font-family:Cormorant Garamond,serif;font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);padding:6px 0;border-bottom:1px solid transparent;transition:color .45s cubic-bezier(.16,1,.3,1),border-color .45s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}.carte-action-btn:hover{color:var(--gold);border-bottom-color:#c9a45466}.carte-action-btn:active{transform:scale(.96)}.carte-action-btn:disabled{opacity:.5;cursor:default}.carte-close-btn{position:absolute;top:14px;left:20px;background:none;border:none;cursor:pointer;font-family:Cormorant Garamond,serif;font-size:15px;letter-spacing:.3em;color:var(--ink);padding:4px 0;opacity:0;transition:opacity .4s cubic-bezier(.16,1,.3,1) .18s,color .45s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}#carte-overlay.visible .carte-close-btn{opacity:1}.carte-close-btn:hover{color:var(--ink)}.carte-close-btn:active{transform:scale(.96)}.carte-library-btn{position:absolute;top:14px;right:20px;background:none;border:none;cursor:pointer;font-size:22px;color:#c9a454d9;padding:4px;opacity:0;transition:opacity .4s cubic-bezier(.16,1,.3,1) .2s,color .45s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);line-height:1}#carte-overlay.visible .carte-library-btn{opacity:1}.carte-library-btn:hover{color:var(--gold)}.carte-library-btn:active{transform:scale(.96)}#library-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ede0cc;z-index:4000;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;opacity:0;pointer-events:none;transition:opacity .5s ease}#library-overlay.visible{opacity:1;pointer-events:all}.library-close-btn{position:fixed;top:40px;right:48px;background:none;border:none;color:#c4a882;font-size:16px;cursor:pointer;padding:0;z-index:10}.library-header{text-align:center;padding:48px 60px 0}.library-ornament{color:#c4a882;font-size:12px;margin-bottom:12px}.library-title{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:#c4a882;font-weight:400;margin-bottom:24px}.library-hairline{height:1px;background:#c4a882;opacity:.3}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:60px}.library-item{width:100%;min-width:0;overflow:hidden;cursor:pointer}.library-thumb{width:100%;aspect-ratio:3/2;overflow:hidden;background:#e8dfd0}.library-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.library-item:hover .library-thumb img{transform:scale(1.03)}.library-item-name{font-family:Cormorant Garamond,serif;font-style:italic;font-size:16px;color:#3a2e24;margin:12px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-item-ref{font-size:10px;letter-spacing:.2em;color:#c4a882;text-transform:uppercase;margin:0}.library-empty{grid-column:1 / -1;text-align:center;padding:120px 0}.library-empty-ornament{color:#c4a882;font-size:14px;margin-bottom:20px}.library-empty-title{font-family:Cormorant Garamond,serif;font-style:italic;font-size:22px;color:#3a2e24;margin-bottom:12px}.library-empty-sub{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#c4a882}.library-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:5000;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.library-lightbox.visible{opacity:1}.library-lightbox-inner{position:relative;max-height:90vh;overflow-y:auto;scrollbar-width:none}.lightbox-close-btn{position:absolute;top:12px;right:12px;background:none;border:none;color:#c4a882;font-size:16px;cursor:pointer;z-index:10}.carte-wrapper{background:#ede0cc!important}@media print{@page{size:A4;margin:0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#ede0cc!important}body>*:not(#carte-overlay){display:none!important}#carte-overlay{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;opacity:1!important;background:#ede0cc!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:flex!important;flex-direction:column!important}.carte-close-btn,.carte-library-btn,.carte-actions{display:none!important}.carte-overlay-scroll{flex:1!important;overflow:visible!important;padding:0!important;gap:0!important;display:flex!important;align-items:center!important;justify-content:center!important}.carte-content{width:100%!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.carte-card{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#ede0cc!important;width:100%!important;height:100vh!important;max-width:none!important;border:none!important;box-sizing:border-box!important}.carte-card>div{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#ede0cc!important}}.axis-label-text{transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1)}.swatch-row{transition:opacity .45s cubic-bezier(.4,0,.2,1)}.swatch-item{transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}.axis-section{transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1)}.atmosphere-swatch{width:28px;height:28px;outline:2px solid transparent;outline-offset:3px;transition:outline-color .4s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.34,1.56,.64,1)}.atmosphere-swatch.active{outline-color:var(--gold)}.blush-atm{background:radial-gradient(circle at 30% 25%,#fce8e4,#f0c0b0 40%,#d89080 75%,#c07060)}.parchment-atm{background:radial-gradient(circle at 30% 25%,#f8f0e0,#e8d8b8 40%,#c8b880 75%,#a89050)}.champagne-atm{background:radial-gradient(circle at 30% 25%,#fff8d8,#f0d888 40%,#d0a830 75%,#a07810)}.sage-atm{background:radial-gradient(circle at 30% 25%,#e0f0d8,#a8c8a0 40%,#689060 75%,#386838)}.slate-atm{background:radial-gradient(circle at 30% 25%,#dce8f8,#90a8c8 40%,#506888 75%,#283848)}.capture-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8000;background:#faf6f0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;opacity:0;pointer-events:none;transition:opacity .6s ease}.capture-loading.visible{opacity:1;pointer-events:auto}.capture-loading-text{font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;font-weight:400;letter-spacing:.35em;color:#8a7a60}.capture-loading-track{width:120px;height:1px;background:#c9a96e26;overflow:hidden}.capture-loading-line{width:100%;height:100%;background:#c9a96e;transform-origin:left center;transform:scaleX(0);animation:captureLineDraw 4.5s cubic-bezier(.25,.1,.25,1) forwards}@keyframes captureLineDraw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}#mobile-hold{display:none}@media(max-width:767px){#atelier-loader,canvas,.canvas-vignette,.canvas-hint,.brand-watermark,.sound-toggle,.ui-container,#preserve-overlay,#carte-overlay,#library-overlay{display:none!important}#mobile-hold{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;background:#1a0e0a;align-items:center;justify-content:center;z-index:99999}.mobile-hold-inner{display:flex;flex-direction:column;align-items:center;gap:0;padding:40px 32px;text-align:center}.mobile-hold-brand{font-family:Cormorant Garamond,serif;font-size:36px;font-weight:300;letter-spacing:.5em;color:#c9a454;margin-bottom:20px}.mobile-hold-rule{width:48px;height:1px;background:#c9a45480;margin-bottom:24px}.mobile-hold-text{font-family:Cormorant Garamond,serif;font-size:16px;font-weight:300;line-height:1.7;color:#fff8f0b3;max-width:280px;margin-bottom:24px}.mobile-hold-sub{font-family:Cormorant Garamond,serif;font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:#c9a45480}}
