.atelier-builder{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,1fr);gap:clamp(30px,5vw,80px);color:#e2ded4;font-family:Inter,Arial,sans-serif;align-items:start}
.atelier-visual,.atelier-controls{min-width:0}
.atelier-visual{padding-top:3px}
.atelier-stage{position:relative;isolation:isolate;aspect-ratio:800/510;background:radial-gradient(ellipse at 50% 50%,#24221f 0,#171615 36%,#10100f 75%);border:1px solid #302c29;overflow:hidden}
.atelier-stage:after{content:"";position:absolute;pointer-events:none;inset:10px;border:1px solid #3a332e;opacity:.35}
.atelier-stage-top,.atelier-stage-bottom{position:absolute;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:1.35px;color:#928b80;z-index:2}
.atelier-stage-top{top:25px}
.atelier-stage-top>span:last-child{text-align:right;font-size:7px;letter-spacing:1px}
.atelier-stage-bottom{bottom:25px}
.atelier-stage-bottom>span:first-child{font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:.4px;font-size:16px;color:#b9afa0}
.atelier-strap{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transition:transform .3s}
.atelier-stage[data-width="15"] .atelier-strap{transform:scaleY(.76)}
.atelier-slot{position:absolute;z-index:3;left:var(--slot-left);top:48.2%;width:9.2%;aspect-ratio:1;padding:0;transform:translate(-50%,-50%);border:0;background:transparent;color:#aaa89a;cursor:pointer}
.atelier-eyelet{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36%;aspect-ratio:1;border-radius:50%;padding:6%;box-sizing:border-box;background:linear-gradient(135deg,#787e70,#dcddd1 28%,#555b4e 57%,#9ba28d 82%,#3b4036);box-shadow:0 2px 5px #000b}
.atelier-eyelet>span{display:block;width:100%;height:100%;border-radius:50%;background:#080a06;box-shadow:inset 0 2px 4px #000;border:1px solid #3a4032;box-sizing:border-box}
.atelier-slot:after{content:"";position:absolute;inset:-8%;border:1px solid transparent;border-radius:50%;pointer-events:none;transition:border-color .2s,box-shadow .2s}
.atelier-slot:hover:after{border-color:#6d554d}
.atelier-slot.is-active:after{border-color:#b77b77;box-shadow:0 0 15px #722c3430}
.atelier-slot .atelier-charm-svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 2px 1px #0009)}
.atelier-slot-plus{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:300;color:#a29a8b;line-height:1;opacity:0;transition:opacity .2s}
.atelier-slot:hover .atelier-slot-plus,.atelier-slot.is-active .atelier-slot-plus{opacity:1}
.atelier-slot-number{position:absolute;top:calc(100% + 13px);left:0;right:0;font-size:8px;letter-spacing:1.5px;color:#9b8f7e}
.atelier-slot.is-active .atelier-slot-number{color:#ddb6ab}
.atelier-preview-caption{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:18px;font-size:10px;line-height:1.5;color:#a59a8d}
.atelier-preview-caption>span{display:flex;align-items:center;gap:8px}
.atelier-preview-caption i{flex:0 0 5px;height:5px;background:#ab6770;border-radius:50%}
.atelier-reset,.atelier-clear{padding:0;border:0;border-bottom:1px solid #4a4540;background:transparent;color:#bfb3a6;cursor:pointer;font:inherit;white-space:nowrap}
.atelier-reset span{margin-left:7px;font-size:15px}
.atelier-reset:hover,.atelier-clear:hover{color:#e2ded4}
.atelier-mounting{display:flex;align-items:center;gap:12px;margin-top:20px;padding:13px 0;border-top:1px solid #332c27;border-bottom:1px solid #332c27;color:#a39686;font-size:9px;line-height:1.7}
.atelier-mounting svg{width:105px;height:37px;flex:none}
.atelier-mounting span{max-width:300px}
.atelier-disclaimer{margin-top:12px;font-size:9px;line-height:1.6;letter-spacing:.1px;color:#95897a}
.atelier-step{margin-bottom:25px}
.atelier-control-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:10px;letter-spacing:1px;line-height:1.5}
.atelier-control-heading>span:last-child:not(:first-child){font-size:9px;color:#b4a391;letter-spacing:.5px}
.atelier-width-options,.atelier-size-options{display:flex;gap:8px}
.atelier-width-options>button,.atelier-size-options>button{font:inherit;font-size:11px;color:#b6aa9b;border:1px solid #443a33;background:#161412;min-height:43px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.atelier-width-options>button{flex:1;display:flex;justify-content:center;gap:17px;align-items:center}
.atelier-width-options>button span{font-size:8px;letter-spacing:.6px;color:#a39685}
.atelier-size-options>button{flex:1;min-height:43px;font-size:10px;letter-spacing:1px}
.atelier-size-value{display:block;margin-top:9px;font-size:9px;line-height:1.5;color:#b1a18c;white-space:normal;overflow-wrap:anywhere}
.atelier-width-options>button[aria-pressed="true"],.atelier-size-options>button[aria-pressed="true"]{background:#28221e;border-color:#b1a596;color:#eee6da}
.atelier-width-options>button:hover,.atelier-size-options>button:hover{border-color:#8d8174}
.atelier-charms-step{margin-bottom:20px}
.atelier-series-note{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-3px 0 12px;font-size:8px;letter-spacing:.4px;line-height:1.6;color:#a99a8a}
.atelier-series-note>span{color:#685a4e}
.atelier-charm-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:380px;overflow-y:auto;scroll-padding-block:4px;scrollbar-width:thin;scrollbar-color:#6d5949 #171412}
.atelier-charm-option{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:9px 4px 10px;border:1px solid #40332e;background:#171412;color:#c4b8a7;cursor:pointer;transition:background .2s,border-color .2s}
.atelier-charm-option:hover{background:#251e1b;border-color:#947b6d}
.atelier-charm-option[aria-pressed="true"]{border-color:#b48676;background:#30211f}
.atelier-charm-option>.atelier-charm-svg{height:42px;width:42px;margin-bottom:5px;filter:drop-shadow(0 2px 1px #0009)}
.atelier-charm-name{display:flex;align-items:center;justify-content:center;min-height:24px;text-align:center;font-size:9px;line-height:1.35;letter-spacing:.4px;max-width:100%;overflow-wrap:normal}
.atelier-charm-subtitle{font-family:"Cormorant Garamond",Georgia,serif;font-size:11px;line-height:1.15;text-align:center;color:#b4a28e;min-height:26px;margin-top:2px}
.atelier-charm-price{margin-top:5px;font-size:10px;color:#c3ae94;letter-spacing:.3px}
.atelier-charm-check{position:absolute;top:6px;right:7px;font-size:9px;color:#d1b8a6;opacity:0}
.atelier-charm-option[aria-pressed="true"] .atelier-charm-check{opacity:1}
.atelier-selection-info{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:30px;margin-top:9px;font-size:9px;line-height:1.5;color:#ae9b89}
.atelier-clear{font-size:9px;color:#b8a18e;border-bottom:none}
.atelier-clear span{margin-left:5px;font-size:13px}
.atelier-clear:disabled{opacity:.35;cursor:default}
.atelier-summary{border-top:1px solid #44352d;padding-top:19px;margin-top:9px}
.atelier-summary>div{display:flex;justify-content:space-between;align-items:center;gap:16px}
.atelier-summary-label{font-size:11px;letter-spacing:.2px;line-height:1.5}
.atelier-total{font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;line-height:1.15;color:#eee5d6;letter-spacing:-.5px;white-space:nowrap}
.atelier-composition{display:block;color:#a6927b;font-size:9px;line-height:1.5;margin:6px 0 21px}
.atelier-actions{display:flex;gap:8px}
.atelier-save,.atelier-add{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;font-family:inherit;font-size:10px;letter-spacing:.3px;cursor:pointer}
.atelier-save{flex:0 0 43%;padding:0 8px;border:1px solid #655044;background:transparent;color:#c5b29e}
.atelier-save svg{flex:none}
.atelier-save[aria-pressed="true"] svg{fill:#722c34;stroke:#cda69a}
.atelier-save:hover{border-color:#b19784;color:#e2ded4}
.atelier-add{flex:1;justify-content:space-between;padding:0 18px;border:1px solid #a65359;background:#722c34;color:#f0dfd4;transition:background .2s}
.atelier-add:hover{background:#8d3843}
.atelier-add>span{font-size:18px;line-height:1;font-weight:300}
.atelier-feedback{min-height:16px;margin:10px 0 0;font-size:10px;line-height:1.5;color:#c3a18e}
.atelier-builder button:focus-visible{outline:1px solid #e4c7b0;outline-offset:4px}
.atelier-builder .atelier-charm-option:focus-visible{outline-offset:-3px}
.atelier-builder button{border-radius:0;-webkit-tap-highlight-color:transparent}
.atelier-builder button:disabled{cursor:default}
.atelier-saved{grid-column:1/-1;margin-top:15px;border-top:1px solid #44352d}
.atelier-saved>summary{display:flex;justify-content:space-between;align-items:center;padding:12px 0;list-style:none;cursor:pointer;font-size:10px;color:#bba591;letter-spacing:.3px}
.atelier-saved>summary::-webkit-details-marker{display:none}
.atelier-saved-count{margin-left:5px;color:#ae9479;font-size:9px}
.atelier-saved-plus{font-size:15px;transition:transform .2s}
.atelier-saved[open] .atelier-saved-plus{transform:rotate(45deg)}
.atelier-saved-list{max-height:210px;overflow-y:auto}
.atelier-saved-restore{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;width:100%;padding:12px 8px;text-align:left;border-top:1px solid #392e26;background:#141210;color:#c9b49c;font:inherit;font-size:10px;cursor:pointer}
.atelier-saved-restore:hover{background:#252019}
.atelier-saved-restore>span:nth-child(2){font-family:Georgia,serif;font-size:12px;white-space:nowrap}
.atelier-saved-restore>span:nth-child(2)>span{margin-left:7px;font:13px Arial,sans-serif;color:#ba9778}
.atelier-saved-restore small{grid-column:1/-1;font-size:9px;color:#b59b80;line-height:1.7}
.atelier-saved-range{display:block;font-size:9px;line-height:1.5;color:#b49a7f;margin-top:5px}
.atelier-saved-empty{font-size:10px;color:#b39a80;padding:0 0 12px;line-height:1.7}
@media(max-width:1100px){.atelier-builder{gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr)}.atelier-stage-top,.atelier-stage-bottom{left:18px;right:18px;font-size:7px;letter-spacing:.7px}.atelier-stage-top>span:last-child{font-size:6px;letter-spacing:.5px;max-width:110px}.atelier-stage-bottom>span:first-child{font-size:14px}.atelier-preview-caption{font-size:9px}.atelier-mounting{gap:8px;font-size:8px}.atelier-mounting svg{width:85px}}
@media(max-width:760px){.atelier-builder{grid-template-columns:1fr;gap:30px}.atelier-stage-top,.atelier-stage-bottom{left:22px;right:22px;font-size:8px}.atelier-stage-top>span:last-child{max-width:none;font-size:7px}.atelier-preview-caption{font-size:10px}.atelier-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px}.atelier-charms-step,.atelier-summary,.atelier-actions,.atelier-feedback{grid-column:1/-1}.atelier-step{margin-bottom:23px}.atelier-charm-options{max-height:none;overflow:visible}.atelier-charm-option{padding:9px 5px 10px}.atelier-charm-option>.atelier-charm-svg{height:48px;width:48px}.atelier-charm-name{font-size:10px;min-height:25px}.atelier-charm-subtitle{font-size:12px;min-height:27px}.atelier-charm-price{font-size:11px}.atelier-summary{margin-top:0}.atelier-composition{margin-bottom:18px}.atelier-control-heading{font-size:10px}.atelier-control-heading>span:last-child:not(:first-child){font-size:9px}.atelier-width-options>button{gap:8px}.atelier-size-options{gap:5px}.atelier-mounting{font-size:9px}.atelier-mounting svg{width:105px}}
@media(max-width:420px){.atelier-controls{column-gap:12px}.atelier-control-heading{font-size:9px;gap:4px;letter-spacing:.5px}.atelier-control-heading>span:last-child:not(:first-child){font-size:8px}.atelier-size-value{font-size:8px;min-height:24px;max-width:100%;line-height:1.6}.atelier-stage-top,.atelier-stage-bottom{left:17px;right:17px;font-size:6px;letter-spacing:.5px}.atelier-stage-top>span:last-child{font-size:5px;max-width:100px}.atelier-stage-bottom>span:first-child{font-size:12px}.atelier-slot-number{top:calc(100% + 10px);font-size:7px}.atelier-slot-plus{font-size:9px}.atelier-preview-caption{font-size:9px}.atelier-disclaimer{font-size:8px}.atelier-charm-options{gap:6px}.atelier-charm-name{font-size:10px;letter-spacing:.3px}.atelier-charm-subtitle{font-size:12px;min-height:30px}.atelier-charm-price{font-size:10px}.atelier-width-options>button{font-size:10px;gap:5px}.atelier-width-options>button span{font-size:7px;letter-spacing:.2px}.atelier-size-options>button{font-size:9px}.atelier-mounting{font-size:8px;gap:7px}.atelier-mounting svg{width:80px}.atelier-save,.atelier-add{font-size:9px;gap:6px}.atelier-add{padding:0 13px}.atelier-save{flex-basis:45%}}
@media(prefers-reduced-motion:reduce){.atelier-builder *{transition:none!important}}
