.custom-outfit-entry{display:flex;align-items:center;gap:12px;width:100%;padding:18px;border-radius:18px;background:linear-gradient(120deg,#eadff0,#f5dfbc);border:2px dashed #bca1c6;color:#3c4a45;text-align:left;margin:4px 0 18px}.custom-outfit-entry>span:first-child{font-size:32px}.custom-outfit-entry strong{display:block;font-size:16px}.custom-outfit-entry small{display:block;font-size:12px;margin-top:4px}.custom-outfit-entry>span:last-child{margin-left:auto}.custom-outfit-entry.selected{border-style:solid;border-color:#9064a9}.custom-doll{position:relative;aspect-ratio:2/3}.custom-doll img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:inherit}.builder-heading{text-align:center;padding:18px 0 14px}.builder-heading h1{font-size:clamp(32px,6vw,48px)}.builder-heading p{font-size:15px;margin-bottom:12px}.builder-layout{display:grid;gap:20px;align-items:start}.builder-mirror{background:#faf2e2;border:1px solid #f4e5cb;border-radius:26px;padding:18px;color:#314b43;box-shadow:0 14px 30px #0002}.builder-name{font-size:20px;font-weight:900;display:flex;justify-content:space-between;align-items:center;gap:8px}.builder-name span{font-size:11px;background:#e9e1ef;color:#7b5e8a;padding:6px 9px;border-radius:20px}.builder-stage{position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#fffefa,#ecddcf);border-radius:90px 90px 20px 20px;margin:16px 0 12px;height:330px;isolation:isolate}.builder-stage:after{content:'';position:absolute;bottom:9px;left:20%;width:60%;height:16px;border-radius:50%;background:#ba9d7a25;z-index:-1}.builder-stage .builder-doll{height:100%;width:100%;max-width:235px;filter:drop-shadow(0 5px 3px #a4816322)}.builder-spark{position:absolute;color:#c79f5f;font-size:25px}.builder-spark.one{left:13%;top:22%}.builder-spark.two{right:12%;top:57%;font-size:18px}.builder-random{border:1px solid #cfcbbd;background:#fff9ed;border-radius:13px;color:#4d6559;padding:11px;width:100%;min-height:44px;font-size:13px;font-weight:800}.builder-note{font-size:12px;color:#6e796d;line-height:1.5;margin-bottom:0;text-align:center;min-height:36px}.builder-closet{min-width:0}.builder-categories{display:flex;gap:7px;overflow-x:auto;padding:3px 3px 12px;scrollbar-width:thin;scrollbar-color:#edc786 transparent}.builder-categories button{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 89px;min-height:71px;border-radius:14px;background:#ffffff0b;border:1px solid #ffffff26;color:#e1e5d8;padding:8px;font-size:11px;font-weight:800;gap:4px}.builder-categories button>span{font-size:23px}.builder-categories button[aria-pressed=true]{background:#f1ce91;color:#31483e;border-color:#f1ce91}.builder-current{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:15px 0}.builder-current h2{font-size:23px;margin:0}.builder-current>span{font-size:12px;color:#d1d7c9;max-width:55%;text-align:right;line-height:1.5}.builder-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.builder-item{position:relative;display:flex;flex-direction:column;align-items:center;background:#fbf4e6;border:2px solid #f4e8d3;border-radius:16px;color:#3a5147;padding:10px 5px;min-width:0;min-height:132px;transition:background .15s,border-color .15s}.builder-item[aria-pressed=true]{background:#ede0f1;border-color:#ad7cbb;box-shadow:0 0 0 1px #ad7cbb}.builder-item:hover{border-color:#d7b774}.builder-item .builder-thumbnail{height:83px;width:100%;margin-bottom:8px;object-fit:contain}.builder-item strong{font-size:10px;font-weight:800;line-height:1.4;text-align:center;overflow-wrap:anywhere}.builder-selected{position:absolute;top:5px;right:5px;background:#845697;color:white;font-size:12px;line-height:20px;border-radius:50%;width:20px}.builder-selected:empty{display:none}.builder-none{justify-content:center;gap:12px}.builder-none>span{font-size:40px;color:#af9c85}.builder-footnote{font-size:12px;line-height:1.6;color:#adc1b1;margin:18px 0 28px}.builder-item:focus-visible,.builder-categories button:focus-visible,.builder-random:focus-visible,.custom-outfit-entry:focus-visible{outline:3px solid #b688c4;outline-offset:3px}
@media(max-width:599px){.builder-mirror{position:sticky;top:6px;z-index:5;display:grid;grid-template-columns:1.45fr 1fr;column-gap:10px;padding:10px 12px;border-radius:20px}.builder-name{grid-column:1/-1;font-size:17px;margin-bottom:6px}.builder-name span{font-size:10px}.builder-stage{grid-column:1;grid-row:2/5;height:250px;width:100%;margin:0}.builder-mirror .builder-random{grid-column:2;grid-row:2;align-self:end;font-size:11px;padding:9px}.builder-mirror>.primary{grid-column:2;grid-row:3;font-size:13px;line-height:1.4;min-height:50px;padding:10px;margin-top:8px}.builder-note{grid-column:2;grid-row:4;font-size:10px;min-height:0;line-height:1.3;margin-top:8px}.builder-spark{font-size:17px}.builder-items{gap:7px}.builder-current h2{font-size:20px}.builder-current>span{font-size:11px}}
@media(min-width:600px){.builder-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.builder-mirror{position:sticky;top:20px}.builder-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.builder-categories button{min-width:0;font-size:10px}.builder-stage{height:320px}.builder-item strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){.builder-item{transition:none}}
.guest-closet .pill[aria-pressed=true]{background:#edc786;box-shadow:0 0 0 2px #bd9359}.guest-closet .pill:focus-visible{outline:3px solid #b688c4;outline-offset:3px}
.builder-stage .builder-doll{position:absolute;inset:0;height:100%;width:100%;max-width:none;min-height:0}
/* The mirror with the doll stays on screen; the category bar sticks right under it and is kept short to leave room for the clothes. */
@media(max-width:599px){.builder-categories{position:sticky;top:309px;z-index:4;background:#203c3f;border-radius:0 0 15px 15px;padding-bottom:8px}.builder-categories button{flex-basis:74px;min-height:56px;padding:5px;font-size:10px;gap:2px}.builder-categories button>span{font-size:19px}}
