:root{--ink:#403750;--muted:#847992;--pink:#df6e9f;--pinkdark:#c34882;--purple:#8c6bd1;--paper:#fffdfd;--line:#f1e4ea;--cream:#fff8ef;--shadow:0 12px 35px rgba(93,59,93,.09);font-family:ui-rounded,"Avenir Next","Trebuchet MS",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff1f6}*{box-sizing:border-box}html{height:100%;-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 8% 0%,#ffedca 0,transparent 34%),radial-gradient(circle at 92% 90%,#e9e3ff 0,transparent 36%),linear-gradient(140deg,#fff1f4,#fdf1fd 52%,#f6efff);-webkit-tap-highlight-color:transparent}button{font:inherit;touch-action:manipulation;cursor:pointer;-webkit-appearance:none;appearance:none}button:focus-visible{outline:3px solid #8f77dc;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}.ambient-orb{position:fixed;pointer-events:none;border-radius:50%;filter:blur(12px);z-index:0}.orb-a{width:280px;height:280px;background:#ffe7a7a0;top:-160px;left:-130px}.orb-b{width:380px;height:380px;background:#d7c7f45a;bottom:-190px;right:-170px}.app-shell{position:relative;z-index:1;width:min(1440px,calc(100% - 34px));height:100dvh;min-height:0;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) 0 max(11px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:13px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:66px}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:52px;height:52px;display:grid;place-items:center;font-size:36px;line-height:1;color:white;transform:rotate(-12deg);background:linear-gradient(145deg,#f4acd0,#b693f1);border:3px solid #fff;box-shadow:0 7px 15px #c482b94a;border-radius:18px}.brand-eyebrow,.overline{font-size:10px;letter-spacing:.18em;font-weight:900;color:#b07da6}.brand h1{margin:1px 0 0;font-size:clamp(21px,2.5vw,32px);letter-spacing:-.06em;font-weight:900;line-height:1.12}.brand h1 em{color:#d36ca0;font-style:normal}.header-tools{display:flex;align-items:center;gap:9px}.wallet{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #f3e8e1;padding:9px 13px;border-radius:99px;box-shadow:0 4px 15px #b9898a18;font-size:19px;font-weight:900;font-variant-numeric:tabular-nums}.wallet-star{color:#f0b74f;font-size:22px;filter:drop-shadow(0 1px 0 #ffc25b)}.wallet-label{font-size:12px;font-weight:800;color:#988ba0}.circle-button{width:43px;height:43px;border:1px solid #efdfeb;background:#fff;color:#b06baf;border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:900;box-shadow:0 3px 9px #9e78b112}.circle-button.sound-on{background:#f4eafa;color:#7c52c0}.help-button{font-size:22px}.main-nav{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.62);border:1px solid #fff;border-radius:18px;padding:6px;box-shadow:0 4px 20px #ae8eae13}.nav-pill{border:0;background:transparent;color:#85768f;border-radius:13px;min-height:43px;padding:9px 17px;font-size:14px;font-weight:850;white-space:nowrap}.nav-pill span:first-child{font-size:19px;margin-right:3px}.nav-pill.active{color:#fff;background:linear-gradient(135deg,#dc7eae,#ab7ada);box-shadow:0 4px 11px #bf86ba48}.nav-count{margin-left:4px;background:#eee3f0;color:#8e76a2;padding:2px 6px;border-radius:12px;font-size:10px}.nav-pill.active .nav-count{background:#ffffff3d;color:white}.nav-subtitle{margin-left:auto;margin-right:13px;font-size:12px;color:#a58fa3;font-weight:700}.page{min-width:0;flex:1}.page[hidden]{display:none!important}.atelier-page{display:grid;grid-template-columns:minmax(310px,.88fr) minmax(410px,1.12fr);gap:15px;min-height:0}.stage-column,.wardrobe-column{min-width:0;display:flex;flex-direction:column;gap:12px}.challenge-bar{height:76px;flex:0 0 auto;display:flex;gap:9px;align-items:center;background:#fff;border:1px solid #f4e5e9;border-radius:20px;padding:10px;box-shadow:var(--shadow)}.arrow-btn{width:44px;height:46px;border:0;background:#fdf1f7;color:#be77aa;border-radius:13px;font-size:31px;font-weight:650;line-height:30px;flex-shrink:0}.arrow-btn:active{transform:scale(.95)}.challenge-copy{flex:1;min-width:0;text-align:center}.challenge-copy .overline{font-size:9px}.challenge-copy .overline span{color:#bcb3c5;margin-left:7px;font-size:9px}.challenge-title{font-size:19px;font-weight:950;letter-spacing:-.035em;line-height:1.2;margin-top:1px}.challenge-description{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#97899a;font-weight:600;margin-top:3px}.stage-panel{background:linear-gradient(180deg,#fff7f6,#ffefec);border:3px solid #fff;outline:1px solid #f4d9e8;border-radius:26px;box-shadow:var(--shadow);position:relative;min-height:340px;flex:1;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}.stage-ribbon{position:absolute;top:12px;left:50%;transform:translateX(-50%);background:#ffffffbd;border:1px solid #fff;z-index:3;color:#b27a9e;border-radius:30px;font-size:9px;letter-spacing:.18em;padding:7px 15px;font-weight:950;white-space:nowrap;box-shadow:0 3px 10px #aa899515}.doll-surface{position:absolute;inset:0;overflow:hidden}.doll-svg{height:100%;width:100%;display:block}.avatar-float{transform-origin:50% 79%;will-change:transform}.stage-panel.runway .avatar-float{animation:runwayDance 2.2s ease-in-out}.stage-panel.runway .stage-ribbon{animation:ribbonPop .7s ease-in-out}.stage-sparkles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5}.sparkle{position:absolute;top:-20px;width:10px;height:18px;border-radius:5px;opacity:0;animation:confetti 2s ease-in forwards}.model-chooser{position:absolute;bottom:10px;left:10px;right:10px;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:6px;background:#ffffffdb;border:1px solid white;border-radius:16px;padding:7px 9px;backdrop-filter:blur(12px);box-shadow:0 3px 13px #83768a28}.chooser-title{font-size:11px;font-weight:900;color:#9d7ca1;white-space:nowrap}.model-buttons{display:flex;gap:6px}.model-button{border:1px solid transparent;background:#f8eff6;padding:5px 9px 5px 5px;display:flex;align-items:center;gap:5px;border-radius:11px;color:#947e95;min-height:40px;font-size:11px;font-weight:850}.model-button.selected{border-color:#d9a3c8;background:#fff0f8;color:#ac5693;box-shadow:0 2px 8px #ce88af32}.model-face{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;font-size:16px;border:1.5px solid #ffffffd8}.stage-actions{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;flex:0 0 auto}.secondary-btn,.primary-btn{min-height:53px;border-radius:17px;border:1px solid #edd8e5;font-weight:900;font-size:13px;white-space:nowrap;padding:10px 7px;box-shadow:0 4px 12px #a87fa916}.secondary-btn{background:#fff;color:#b66a9c}.primary-btn{background:linear-gradient(135deg,#df76a3,#a87ae1);color:white;border:0;box-shadow:0 8px 18px #bd83bf59}.primary-btn:active,.secondary-btn:active{transform:scale(.985)}.stage-actions button span{font-size:18px;vertical-align:-1px;margin-right:3px}.wardrobe-column{background:#fff;border:1px solid #f2e4ed;box-shadow:var(--shadow);border-radius:24px;padding:19px;gap:14px;min-height:0}.wardrobe-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.wardrobe-header h2{margin:4px 0 3px;font-size:clamp(21px,2.4vw,30px);letter-spacing:-.06em;line-height:1.2}.wardrobe-flower{color:#e4a3c2;font-size:23px}.wardrobe-header p{margin:0;color:#9a8e9d;font-size:12px;font-weight:600;line-height:1.5}.hanger-mark{width:49px;height:49px;background:#fcecf6;color:#d685ae;display:grid;place-items:center;border-radius:17px;font-size:30px;transform:rotate(12deg)}.category-scroll{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;scrollbar-width:none;padding:2px 0 8px;flex:0 0 auto}.category-scroll::-webkit-scrollbar{display:none}.category-tab{min-height:42px;border:1px solid #f1e6ed;border-radius:12px;padding:6px 13px;font-size:12px;font-weight:850;color:#8a7a92;background:#fff;white-space:nowrap}.category-tab .category-emoji{font-size:17px;margin-right:4px;vertical-align:-1px}.category-tab.selected{background:linear-gradient(135deg,#fff0f8,#f2eaff);border-color:#e4c8e1;color:#ae5e9a;box-shadow:0 3px 10px #b781bb1b}.wardrobe-content{flex:1;min-height:0;display:flex;flex-direction:column}.items-header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:0 0 11px}.items-header h3{margin:0;font-size:17px;letter-spacing:-.03em}.items-header p{margin:3px 0 0;color:#a098a7;font-size:11px}.item-counter{background:#f9f3f8;color:#a18ba4;border-radius:12px;padding:7px 10px;font-size:11px;font-weight:900;white-space:nowrap}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#e5cde2 transparent;padding:2px 3px 9px 0;overscroll-behavior:contain}.item-card{position:relative;overflow:hidden;min-width:0;border:2px solid #f4ecf0;background:linear-gradient(145deg,#fffdfa,#fff8fd);border-radius:16px;padding:7px 6px 9px;text-align:center;display:flex;flex-direction:column;align-items:stretch;gap:4px;min-height:152px;transition:transform .12s,background .12s,border-color .12s}.item-card:active{transform:scale(.975)}.item-card.selected{border-color:#cf83bc;background:linear-gradient(140deg,#fff0f7,#f8efff);box-shadow:0 3px 12px #c77dba34}.item-card.locked{background:#fbf9fd}.item-card.locked .item-art{filter:saturate(.62)}.item-art{height:90px;flex:1;min-height:82px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:12px;background:radial-gradient(circle at 50% 38%,#fff 0 0%,#f8eff5 72%,#f5e9f2)}.item-art svg{height:96%;width:96%;overflow:visible}.item-caption{font-size:11px;font-weight:900;color:#61526c;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-card.selected .item-caption{color:#b35796}.item-state{position:absolute;right:5px;top:5px;background:#fff;border:1px solid #f3e4ed;border-radius:20px;padding:3px 6px;box-shadow:0 2px 7px #a482ac17;color:#b96a9d;font-size:10px;font-weight:900}.item-state.cost{color:#9c78a4}.wardrobe-bottom{border-top:1px solid #f4ebf1;text-align:center;padding-top:12px;color:#a394ab;font-size:11px;font-weight:750}.wardrobe-bottom span{color:#d8a956;font-size:15px}.app-footer{display:flex;justify-content:center;gap:12px;align-items:center;flex-wrap:wrap;color:#9f8ba4;font-size:11px;font-weight:750;min-height:21px}.app-footer span:first-child{color:#bd75a0}.footer-dot{color:#d9b7cf}.other-page{background:#fffdfedb;border:1px solid #f5e5f0;border-radius:24px;padding:clamp(14px,2.1vw,28px);box-shadow:var(--shadow);overflow-y:auto;max-height:calc(100dvh - 210px)}.inner-heading{text-align:center;padding:10px 0 18px}.inner-heading h2{font-size:clamp(23px,3vw,35px);margin:6px 0;letter-spacing:-.06em}.inner-heading h2 span{color:#d792b5}.inner-heading p{margin:0;color:#938797;font-size:13px}.challenge-grid,.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.challenge-tile{border:1px solid #f0e5ee;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 5px 15px #9e86a817}.tile-art{height:130px;position:relative;display:grid;place-items:center;overflow:hidden}.tile-art .tile-emoji{font-size:63px;filter:drop-shadow(0 8px 12px #6e4d7025);position:relative;z-index:1}.tile-art:before,.tile-art:after{content:'✦';position:absolute;color:#ffffffcf;font-size:30px;top:16%;left:17%}.tile-art:after{left:auto;right:15%;top:63%;font-size:19px}.tile-main{padding:13px 14px 15px}.tile-main h3{margin:0;font-size:16px;letter-spacing:-.03em}.tile-main p{font-size:12px;color:#948798;min-height:34px;margin:6px 0 10px;line-height:1.4}.tile-bottom{display:flex;justify-content:space-between;align-items:center;gap:6px}.tile-stars{font-size:19px;color:#e7b354;letter-spacing:1px}.tile-stars.empty{color:#e1d8df}.tile-button{border:0;border-radius:11px;color:#fff;background:#b883ca;min-height:38px;padding:8px 12px;font-weight:850;font-size:12px}.tile-button:active{transform:scale(.97)}.gentle-note{text-align:center;margin-top:18px;padding:12px;color:#aa81a9;font-size:12px;font-weight:750}.gallery-card{border:1px solid #f0e3ed;border-radius:20px;background:white;overflow:hidden;box-shadow:0 4px 14px #9a70a415}.gallery-image{height:220px;overflow:hidden;background:#fff1f6}.gallery-image svg{width:100%;height:100%;display:block}.gallery-description{padding:11px 12px 12px}.gallery-description h3{margin:0 0 3px;font-size:16px}.gallery-description p{margin:0;color:#9d8c9e;font-size:11px}.gallery-actions{display:flex;gap:6px;margin-top:10px}.gallery-actions button{flex:1;border-radius:10px;min-height:37px;font-size:12px;font-weight:900;border:0;color:white;background:#bc8bd0}.gallery-actions button.photo-button{background:#fff0f9;color:#b36cab;flex:0 0 43px;border:1px solid #f2dfee;font-size:17px}.gallery-actions button.delete-button{background:#fff4f6;color:#b96d89;flex:0 0 43px;border:1px solid #f4dfe8;font-size:17px}.empty-gallery{text-align:center;grid-column:1/-1;align-self:center;padding:45px 18px;color:#a28ca1}.empty-gallery .empty-emoji{font-size:68px}.empty-gallery h3{font-size:21px;margin:7px 0}.empty-gallery p{font-size:13px;max-width:320px;margin:0 auto 16px;line-height:1.5}.empty-gallery button{padding:12px 18px;background:#bd86cc;border:0;color:#fff;border-radius:14px;font-weight:900}.modal-root{position:fixed;inset:0;pointer-events:none;z-index:50}.modal-root.open{pointer-events:auto}.modal-backdrop{position:absolute;inset:0;background:#34243993;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;overflow-y:auto}.modal-panel{position:relative;background:#fffafc;border:3px solid white;border-radius:27px;box-shadow:0 24px 80px #301b3c55;padding:24px;width:min(94vw,490px);max-height:calc(100dvh - 40px);overflow-y:auto;text-align:center;animation:modalRise .25s ease-out}.modal-panel.wide{width:min(95vw,760px)}.modal-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border-radius:50%;border:0;background:#faedf5;color:#a98da3;font-size:22px;font-weight:900;z-index:2}.modal-icon{font-size:55px;line-height:1;margin:6px 0 10px}.modal-panel h2{margin:6px 0;font-size:26px;letter-spacing:-.04em}.modal-panel p{color:#8f8193;font-size:14px;line-height:1.55;margin:10px 0 18px}.modal-buttons{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.modal-buttons button{border-radius:14px;min-height:45px;padding:11px 19px;font-weight:900;border:0;background:linear-gradient(135deg,#de80aa,#a780d3);color:white}.modal-buttons .light-button{background:#f7eaf3;color:#a7739d}.reward-score{font-size:54px;font-weight:950;letter-spacing:-.06em;color:#bf70ae;line-height:1}.reward-stars{font-size:50px;letter-spacing:3px;color:#edb94e;text-shadow:0 2px 0 white,0 5px 11px #ddaf4f40;margin:10px 0}.reward-ribbon{display:inline-block;background:#fff1d8;color:#b98437;border-radius:99px;padding:7px 15px;font-weight:950;margin-bottom:5px}.reward-photo{max-height:245px;overflow:hidden;display:flex;justify-content:center}.reward-photo svg{width:245px;max-width:100%;height:245px}.photo-preview{max-width:100%;max-height:48dvh;display:block;margin:0 auto 12px;border:2px solid #ffe5ec;border-radius:15px}.help-block{text-align:left;background:#fff0f7;border-radius:14px;padding:12px 14px;margin-top:10px}.help-block h3{margin:0 0 5px;font-size:14px}.help-block p{margin:0;color:#8f8193;font-size:12px}.help-note{font-size:12px!important}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:#574360;color:white;font-weight:800;border-radius:15px;padding:13px 20px;font-size:13px;box-shadow:0 9px 30px #50396066;pointer-events:none;opacity:0;z-index:100;transition:opacity .18s,transform .18s;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes confetti{0%{opacity:0;transform:translateY(-30px) rotate(0)}10%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translateY(670px) rotate(680deg)}}@keyframes runwayDance{0%{transform:translateX(-70px) scale(.94);opacity:.75}28%{transform:translateX(0) scale(1.04)}42%{transform:rotate(-3deg) scale(1.03)}60%{transform:rotate(3deg) scale(1.04)}78%{transform:rotate(-2deg) scale(1.01)}100%{transform:translateX(0) scale(1)}}@keyframes modalRise{from{transform:translateY(18px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes ribbonPop{50%{transform:translateX(-50%) scale(1.12)}}
@media(min-width:1200px){.app-shell{padding-top:24px;gap:16px}.wardrobe-column{padding:22px}.item-grid{gap:12px}.item-card{min-height:164px}.item-art{height:104px;min-height:104px}.challenge-bar{height:86px}.stage-actions button{min-height:58px}.stage-ribbon{top:15px}}
@media(max-width:1050px){.app-shell{width:calc(100% - 24px);padding-top:12px;gap:10px}.atelier-page{grid-template-columns:minmax(280px,.92fr) minmax(390px,1.08fr);gap:10px}.wardrobe-column{padding:13px;gap:9px}.item-grid{gap:7px}.item-card{min-height:136px;padding:5px 4px 7px}.item-art{height:75px;min-height:73px}.stage-actions button{font-size:11px}.stage-actions{gap:6px}.stage-ribbon{font-size:8px}.nav-subtitle{display:none}}
@media(max-width:810px) and (orientation:portrait){.app-shell{min-height:100dvh}.atelier-page{grid-template-columns:minmax(280px,.93fr) minmax(345px,1.07fr)}.stage-column,.wardrobe-column{min-height:610px}.stage-panel{max-height:690px}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.item-card{min-height:144px}.item-art{min-height:83px}.item-grid{overflow-y:auto}.challenge-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-pill{padding:8px 10px;font-size:12px}}
@media(max-width:700px){.app-shell{width:calc(100% - 18px);height:auto;min-height:100dvh;gap:10px}.topbar{min-height:52px}.brand-mark{width:41px;height:41px;font-size:29px;border-radius:13px}.brand h1{font-size:20px}.brand-eyebrow{font-size:7px}.wallet{padding:6px 8px;font-size:16px}.wallet-label{display:none}.circle-button{height:35px;width:35px;font-size:19px}.header-tools{gap:5px}.main-nav{justify-content:center}.nav-pill{flex:1;padding:7px 4px;font-size:10px;min-height:42px}.nav-pill span:first-child{font-size:14px;margin-right:0}.atelier-page{display:flex;flex-direction:column}.stage-column,.wardrobe-column{min-height:0}.stage-panel{height:min(75vh,580px);flex:unset}.challenge-bar{height:70px}.wardrobe-column{min-height:420px}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:350px}.item-art{height:84px}.stage-actions button{min-height:49px}.other-page{max-height:none}.challenge-grid,.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-footer{font-size:10px;gap:6px;padding:10px 0 17px}}
@media(max-width:420px){.brand h1{font-size:18px}.brand-eyebrow{letter-spacing:.08em}.stage-panel{height:480px}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.challenge-grid,.gallery-grid{grid-template-columns:1fr}.nav-count{display:none}.chooser-title{display:none}}
@media(max-height:780px) and (min-width:701px){.app-shell{height:100dvh;min-height:0;padding-bottom:6px;gap:8px}.topbar{min-height:48px}.brand-mark{height:43px;width:43px;font-size:28px}.brand h1{font-size:25px}.main-nav{padding:4px}.nav-pill{min-height:36px;padding:5px 13px}.challenge-bar{height:62px;padding:7px}.stage-column,.wardrobe-column{gap:8px}.wardrobe-column{padding:11px}.wardrobe-header h2{font-size:22px}.wardrobe-header p{font-size:10px}.hanger-mark{height:36px;width:36px}.category-scroll{padding-bottom:3px}.category-tab{min-height:36px;padding:4px 10px}.items-header{margin-bottom:6px}.item-grid{gap:6px}.item-card{min-height:117px;padding:4px}.item-art{height:66px;min-height:64px}.item-caption{font-size:10px}.wardrobe-bottom{font-size:10px;padding-top:7px}.stage-actions button{min-height:44px}.app-footer{font-size:9px}.other-page{max-height:calc(100dvh - 162px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
