:root{--ink:#60464b;--pink:#ce5f93;--font:'Hiragino Maru Gothic ProN','Yu Gothic',Meiryo,sans-serif;--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif}*{box-sizing:border-box}html{min-width:360px}body{margin:0;color:var(--ink);font:13px/1.6 var(--font);background:#f3e7de}button,input,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a978ba;outline-offset:4px}svg{vertical-align:middle}h1,h2,h3,p{margin-top:0}.room-backdrop{position:fixed;inset:0;background:url('./assets/studio.png') center/cover no-repeat;z-index:-2}.room-backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fff9f13d,#fff7f019 45%,#f3e3de3b)}.game-shell{position:relative;min-height:850px;height:100svh;max-height:1400px;max-width:2000px;margin:auto;overflow:hidden}.game-header{position:absolute;top:22px;left:2.5%;right:2.5%;z-index:5;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.brand{font:96px/.95 var(--serif);color:#583b35;text-decoration:none;letter-spacing:-5px;position:relative;text-shadow:0 2px 15px #fff8;pointer-events:auto}.brand small{display:block;font:12px/1.5 var(--font);letter-spacing:3px;margin:9px 0 0 5px}.brand-spark{font:25px var(--serif);position:absolute;left:-22px;top:55px;color:#c9877e}.brand-heart{font:23px var(--font);color:#ce7197;letter-spacing:0;margin-left:5px}.header-right{display:flex;align-items:center;gap:17px;pointer-events:auto}.version-label{font-size:9px;letter-spacing:2px;color:#92777a;text-shadow:0 0 10px white}.glass{background:#fff9f0de;border:1px solid #fffcf3f0;box-shadow:0 4px 18px #8f66571c,inset 0 0 0 1px #ddc8c245;backdrop-filter:blur(16px)}.icon-button{height:33px;width:33px;border-radius:50%;font:21px var(--serif)}.day-progress{text-align:center;min-width:82px}.day-progress b{font-size:23px;color:#967e85;font-weight:400;text-shadow:0 1px 6px white}.day-progress i{font-size:18px;font-style:normal;margin:0 5px}.day-progress>div{display:flex;gap:10px;justify-content:center;border-radius:20px;background:#fffaf1c9;padding:6px 10px;margin-top:4px}.day-progress em{width:9px;height:9px;background:#d9c7ca;border-radius:50%;border:1px solid white}.day-progress em.current{background:#d76ba0}.day-progress em.done{background:#97b6a0}.model-stage{position:absolute;left:5%;top:2%;bottom:4%;width:43%;z-index:1}.model-holder{position:absolute;inset:0;display:flex;justify-content:center;align-items:center}.model-holder .model-art{height:100%;width:100%;overflow:visible;filter:drop-shadow(0 12px 10px #6c4f4320)}.model-stage.zoomed{z-index:4;overflow:hidden;left:9%;width:38%;top:16%;bottom:16%;border-radius:45% 45% 20px 20px;background:#f9e5de77;backdrop-filter:blur(5px);border:1px solid #fff8;box-shadow:0 6px 30px #7753431a}.model-stage.zoomed .model-art{filter:none}.floor-shadow{position:absolute;bottom:2%;left:28%;width:45%;height:25px;border-radius:50%;background:#79534242;filter:blur(12px)}.zoomed .floor-shadow{display:none}.model-caption{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap}.model-caption button{padding:5px 24px;border-radius:20px;background:#fff9f0d6;box-shadow:0 4px 15px #8e6e4c20;position:relative;min-width:120px}.model-caption span{font:18px var(--serif);letter-spacing:2px}.model-caption small{display:block;font-size:6px;letter-spacing:2px;color:#ad9691}.model-caption .pencil{position:absolute;right:8px;top:10px;font-size:12px}.zoom-button{position:absolute;right:3%;bottom:9%;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;z-index:3}.zoom-button svg{width:23px;height:23px}.model-loading{position:absolute;top:48%;left:50%;transform:translateX(-50%);border-radius:20px;padding:8px 18px;background:#fff9f0;z-index:4;white-space:nowrap;font-size:11px}.model-loading[hidden]{display:none}.request-card{position:absolute;z-index:5;left:2.5%;top:170px;width:235px;border-radius:11px;padding:13px 15px}.request-heading{font-size:12px;color:#c35c83;display:flex;align-items:center;gap:7px;border-bottom:1px solid #e7c5c9;padding-bottom:7px}.request-heading>span{font-size:25px;line-height:1}.mode-switch{margin-left:auto;font-size:9px;border:1px solid #e4c5ce;border-radius:12px;padding:3px 8px}.request-title{display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:14px;line-height:1.8;padding:11px 0 4px;width:100%;letter-spacing:.5px}.request-title:after{content:'›';font:23px var(--serif)}.request-tags{display:flex;gap:5px;flex-wrap:wrap}.request-tags span{font-size:8px;padding:2px 5px;background:#f4e4e0;border-radius:3px;color:#a77d84}.request-detail-text{font-size:10px;line-height:1.9;padding-top:8px;color:#95797a}.left-tools{position:absolute;z-index:5;bottom:31px;left:2.5%;display:flex;gap:9px}.pill-button{border-radius:30px;display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 17px;font-size:11px}.pill-button svg{width:24px;height:24px;stroke-width:1.3;color:#a57d85}.closet-shell{position:absolute;right:2.5%;top:112px;bottom:52px;width:50%;z-index:6;display:flex;flex-direction:column;gap:15px}.closet-panel{border-radius:25px;padding:12px;outline:2px solid #fff5;outline-offset:4px;box-shadow:0 0 0 3px #dabcd060,0 12px 40px #6b4c4924;display:flex;flex-direction:column;min-height:0;flex:1;background:linear-gradient(135deg,#fff8efed,#fffaf3f5);backdrop-filter:blur(25px)}.categories{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border-bottom:1px solid #eedbd7;padding:3px 2px 11px}.category{border:1px solid #ffffffbd;border-radius:10px;display:flex;flex-direction:column;gap:5px;align-items:center;padding:10px 3px 6px;font-size:11px;box-shadow:inset 0 0 8px #e5cdc329;color:#8c7480}.category svg{height:28px;width:28px;stroke-width:1.2}.category.active{background:linear-gradient(150deg,#e9b5d8,#d287bd);color:#fff9fc;border-color:#f4d2e9;box-shadow:0 3px 10px #aa6f9d28}.closet-inner{padding:14px 12px 6px;overflow:auto;scrollbar-width:thin;scrollbar-color:#ddbdd2 transparent;flex:1;min-height:0}.closet-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}.closet-heading h1{font-size:13px;font-weight:500;letter-spacing:1px;margin:0}.closet-heading span{font-size:9px;color:#af9695}.favorite-filter{font-size:10px;color:#b78494;white-space:nowrap;padding:6px 9px;border:1px solid #ead4db;border-radius:18px}.favorite-filter.active{background:#f7dce6;color:#bf5e81}.taste-filters{display:flex;gap:5px;margin-bottom:12px;flex-wrap:wrap}.taste-chip{font-size:9px;border:1px solid #e9d8d5;border-radius:5px;padding:4px 9px;min-height:28px;background:#f7ece5;color:#a3878a}.taste-chip.active{border-color:#db89ad;color:#c2608b;background:#fce7ef}.garment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.garment-card{aspect-ratio:1/1.03;min-width:0;border-radius:11px;background:linear-gradient(130deg,#f3e7e0,#eaded8);border:1px solid #fffaf6;padding:5px 4px 0;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.garment-card.selected{border:2px solid #dc6097;box-shadow:0 0 0 3px white inset;background:#fff8f1}.garment-card.selected:after{content:'✓';position:absolute;right:5px;top:5px;border-radius:50%;background:#e56ca7;color:white;width:23px;height:23px;line-height:23px;font-size:15px;box-shadow:0 0 0 2px white}.garment-card .garment-art{width:100%;height:calc(100% - 17px);overflow:visible}.garment-card .model-art{width:100%;height:calc(100% - 23px)}.garment-card .card-label{font-size:8px;display:block;white-space:nowrap;max-width:100%;text-overflow:ellipsis;overflow:hidden;margin:2px 0 3px;color:#9b8083}.garment-card .heart-dot{position:absolute;left:7px;top:4px;color:#cd678b;font-size:16px}.garment-grid.tops{grid-template-columns:repeat(3,1fr)}.tops .garment-card{aspect-ratio:.72}.tops .garment-card .card-label{font-size:9px}.garment-grid.presets{grid-template-columns:repeat(3,1fr)}.presets .garment-card{aspect-ratio:.85}.item-description{display:flex;gap:7px;align-items:flex-start;font-size:10px;line-height:1.8;padding:11px 1px 7px;min-height:48px}.item-description>button{color:#ca7397;font-size:20px;padding:0 5px;line-height:1.3;flex:none}.item-description b{font-size:10px;font-weight:500;display:block;color:#83616a}.item-description small{font-size:9px;color:#a78c8c}.customization{padding:3px 1px}.customization-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin:3px 0 9px}.customization-label span{font-size:9px;color:#ad9595}.palette{display:flex;gap:11px;justify-content:space-between}.color-button{width:39px;height:39px;border:3px solid #fffdf6;border-radius:50%;box-shadow:0 0 0 1px #e2ccc5;background:var(--swatch);position:relative}.color-button.active{box-shadow:0 0 0 2px #d95c99}.color-button.active:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 1px 4px #68434a77;font-size:13px}.color-label{font-size:8px;color:#a58c8b;margin-top:4px;text-align:center}.color-choice{display:flex;flex-direction:column;align-items:center}.closet-bottom{display:flex;justify-content:space-between;padding:9px 12px 1px;gap:8px;font-size:8px;color:#b09691;border-top:1px solid #ecdcd5;margin-top:8px}.closet-bottom>span:last-child{letter-spacing:1.8px;font-size:7px}.closet-actions{display:flex;align-items:center;justify-content:center;gap:14px;flex:none;padding:0 12px}.complete-button{background:linear-gradient(165deg,#f5b4d2 0%,#e980b0 45%,#d65e98 100%);border:1px solid #fff4ee;box-shadow:0 0 0 2px #daa5bf,0 0 0 5px #fff3,0 5px 13px #975a6c24,inset 0 2px 5px #ffe7ef;border-radius:40px;min-height:63px;flex:1;max-width:420px;color:#fff9ec;display:flex;align-items:center;justify-content:center;gap:20px;padding:10px 20px;text-shadow:0 1px 3px #b5668499;font-size:26px}.complete-button>span{font-family:var(--serif);font-size:27px;letter-spacing:4px}.complete-button b{font:35px var(--serif);margin-left:7px}.small-action{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;flex:none}.small-action svg{width:20px;height:20px;stroke-width:1.4}.game-shell>footer{position:absolute;bottom:10px;left:2.5%;right:2.5%;display:flex;justify-content:space-between;color:#9f827f;font-size:9px;letter-spacing:1px;text-shadow:0 1px 6px white}.game-shell>footer button{font-size:9px}.makeup-controls{grid-column:1/-1;padding:8px 5px 20px}.makeup-preview{width:180px;height:180px;overflow:hidden;border-radius:50%;background:#e8cec7;margin:0 auto 20px;border:3px solid white;box-shadow:0 0 0 1px #dfbccc}.makeup-preview .model-art{width:100%;height:100%}.control-row{margin:15px 0}.control-row label{display:block;font-size:11px;margin-bottom:8px}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice{padding:9px 13px;border:1px solid #e3d1cd;border-radius:7px;font-size:11px;background:#fffaf3}.choice.active{border-color:#d582a5;background:#f9e2ec;color:#b95983}.empty{grid-column:1/-1;text-align:center;padding:40px 15px;font-size:12px;color:#a1868c}.empty button{text-decoration:underline}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);z-index:40;background:#715b65ed;color:#fff9f4;padding:12px 22px;border-radius:25px;box-shadow:0 5px 25px #74505522;opacity:0;pointer-events:none;transition:.2s;font-size:12px;text-align:center;max-width:92vw;width:max-content}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid #fff5ef;border-radius:22px;padding:0;background:#fff8f0f7;backdrop-filter:blur(18px);color:var(--ink);width:min(850px,94vw);max-height:92dvh;box-shadow:0 15px 70px #64454b55;outline:3px solid #fff3;outline-offset:4px}dialog::backdrop{background:#624a5559;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 10px}.eyebrow{font-size:8px;letter-spacing:2.5px;color:#b18b98}.dialog-head h2{font:24px/1.4 var(--serif);margin:6px 0}.dialog-head .close{border:1px solid #e1cecc;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:20px;color:#a3858a}.dialog-body{padding:7px 28px 28px}.dialog-actions{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:20px}.primary,.secondary{padding:12px 20px;min-height:44px;border-radius:9px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary{background:linear-gradient(150deg,#de8eb4,#c96697);color:#fffaf7;border:1px solid #c96b97;box-shadow:0 3px 10px #ad688b20}.secondary{border:1px solid #deccc6;background:#fffbf5}.primary svg,.secondary svg{width:16px;height:16px}.intro{text-align:center;max-width:490px;margin:auto;padding:15px}.intro .intro-flower{font-size:56px;line-height:1.2;color:#cf7e9e}.intro h3{font:27px/1.6 var(--serif);margin:15px 0}.intro p{font-size:12px;color:#a28588;line-height:2}.intro label{display:block;font-size:11px;margin-bottom:7px}.intro input{font-size:18px;text-align:center;border:1px solid #ddc9c7;background:#fffdf8;border-radius:10px;padding:10px;max-width:100%;width:290px}.intro small{display:block;font-size:10px;color:#ad9395;margin:7px 0 15px}.note{font-size:10px;line-height:1.9;color:#ad9493}.help-list{padding-left:20px;font-size:12px;line-height:2.2}.notice-box{padding:16px;background:#f3e8e3;border-radius:10px;font-size:11px;line-height:2;color:#a08286}.shoot-layout{display:grid;grid-template-columns:1fr 1fr;gap:27px}.shoot-image{position:relative;height:430px;border:7px solid #fffaf5;background:linear-gradient(#fff3,#fff3),url('./assets/studio.png') 34% center/cover;border-radius:12px;overflow:hidden;box-shadow:0 5px 20px #9c7b6a20;display:flex;align-items:center;justify-content:center}.shoot-image .model-art{height:100%;width:100%;position:relative;z-index:1}.shoot-image.rose{background-position:15% center;box-shadow:inset 0 0 0 600px #d58ba82b}.shoot-image.cool{background-position:60% center;box-shadow:inset 0 0 0 600px #95b6c82b}.shoot-info{padding-top:12px}.speech{border:1px solid #ecd4d6;background:#fffdf9;border-radius:11px;padding:15px;font-size:12px;line-height:2}.speech strong{display:block;color:#c47995;font-size:10px;margin-bottom:4px}.shoot-info h3{font-size:12px;font-weight:500;margin:18px 0 9px}.chat-answer{font-size:11px;line-height:1.9;min-height:45px;color:#a5828b;margin:10px 0}.runway{position:relative;height:470px;text-align:center;overflow:hidden;border-radius:12px;background:linear-gradient(#e7d6e9,#f5e4d8)}.runway:before{content:'✦　✧　✦　✧';position:absolute;inset:20px 0;color:#fffc;font-size:60px}.runway:after{content:'';position:absolute;bottom:0;left:5%;width:90%;height:120px;background:#fffaf1;clip-path:polygon(35% 0,65% 0,100% 100%,0 100%)}.runway .model-art{height:430px;width:300px;position:relative;z-index:2;animation:walk 2.5s ease-out}.runway p{position:absolute;bottom:0;left:0;right:0;z-index:3;font:17px var(--serif);letter-spacing:2px}.result-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}.magazine{background:linear-gradient(#faf1ddaa,#f3e6dcaa),url('./assets/studio.png') 30% center/cover;position:relative;border:7px solid white;box-shadow:0 4px 16px #8d6e6625;overflow:hidden;height:470px;display:flex;flex-direction:column;align-items:center}.magazine h3{font:67px/.9 var(--serif);letter-spacing:-4px;margin:9px 0 0;color:#7b485a;z-index:2}.magazine>small{font-size:7px;letter-spacing:2px;color:#ac8091;z-index:2;margin-top:5px}.magazine .model-art{width:100%;height:385px;position:absolute;top:62px}.magazine .cover-caption{position:absolute;top:140px;left:12px;writing-mode:vertical-rl;font-size:10px;letter-spacing:3px;z-index:2}.magazine .cover-name{position:absolute;bottom:10px;left:10px;right:10px;text-align:center;font:24px var(--serif);letter-spacing:3px;z-index:2;text-shadow:0 1px 10px #fff}.report h3{font:23px/1.5 var(--serif);margin:8px 0}.score-number{font:64px/1.2 var(--serif);color:#be678d}.score-number small{font:14px var(--font);color:#b99ba1}.score-row{margin:12px 0}.score-row>div{display:flex;justify-content:space-between;font-size:10px;margin-bottom:5px}.score-bar{height:5px;background:#eddfdc;border-radius:4px}.score-bar i{height:5px;display:block;background:linear-gradient(90deg,#e0a6b6,#bc8eb6);border-radius:4px}.report .feedback{font-size:11px;line-height:2;color:#9b7e84;margin:16px 0}.fan-comment{background:#f6e6e9;border:1px solid #eed5dd;border-radius:8px;padding:12px;font-size:11px;line-height:1.8}.fan-comment strong{font-size:9px;color:#bb7996;display:block}.fan-count{font-size:12px;color:#b2738d;margin:10px 0}.album-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:11px}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.album-card{border:1px solid #ecdbd7;border-radius:11px;overflow:hidden;background:#fffbf6}.album-card .album-image{width:100%;height:250px;background:linear-gradient(#fff4,#fff4),url('./assets/studio.png') 30% center/cover;display:block;padding:0}.album-card .model-art{height:100%;width:100%}.album-card .album-text{padding:11px}.album-card b{display:block;font-size:11px;font-weight:500;line-height:1.6}.album-card small{font-size:9px;color:#ad9195}.album-buttons{display:flex;gap:7px;justify-content:space-between;padding:0 10px 11px;font-size:10px}.album-buttons button:first-child{color:#ca7797}.summary{text-align:center}.summary h3{font:27px var(--serif);margin:15px 0}.summary .stars{font-size:44px;color:#d3ad7a;line-height:1.3}.summary>p{font-size:12px;line-height:2;color:#a1858b}.summary .album-grid{margin:20px 0;text-align:left}.summary .album-image{height:240px}.summary .album-buttons{display:none}.storage-warning{color:#b9505c!important}@keyframes walk{0%{transform:scale(.7) translateY(-50px);opacity:0}20%{opacity:1}100%{transform:scale(1) translateY(0)}}
@media(min-width:1600px){.closet-shell{top:100px;bottom:60px}.closet-panel{padding:17px}.closet-inner{padding:16px 20px 8px}.categories{gap:10px}.category{padding:15px 8px 10px;font-size:13px}.category svg{width:35px;height:35px}.garment-grid{gap:12px}.closet-heading h1{font-size:16px}.color-button{width:44px;height:44px}.request-card{width:270px;top:190px}.request-title{font-size:16px}.brand{font-size:110px}.model-stage{left:7%;width:40%;top:1%;bottom:3%}}
@media(max-width:1150px){.game-shell{min-height:800px}.brand{font-size:75px}.brand small{font-size:10px;letter-spacing:2px}.request-card{width:195px;top:146px;padding:10px}.request-title{font-size:12px}.request-heading{font-size:10px}.request-tags{display:none}.model-stage{left:3%;width:45%;top:7%;bottom:6%}.closet-shell{right:2%;width:51%;top:104px;bottom:50px}.closet-panel{padding:9px;border-radius:19px}.closet-inner{padding:12px 6px 4px}.category{font-size:10px;padding:9px 3px 6px}.category svg{width:24px;height:24px}.garment-grid{gap:6px}.garment-card .card-label{font-size:7px}.complete-button{min-height:54px}.complete-button>span{font-size:22px}.closet-actions{gap:10px}.left-tools{gap:5px;left:2%;bottom:35px}.pill-button{font-size:10px;padding:8px 12px;min-height:41px}.pill-button svg{width:19px;height:19px}.color-button{height:33px;width:33px}.palette{gap:6px}.taste-chip{padding:4px 6px;font-size:8px}.version-label{font-size:7px;letter-spacing:1px}.model-caption{bottom:-5px}.zoom-button{right:0}}
@media(max-width:760px){.game-shell{height:auto;max-height:none;min-height:100svh;overflow:visible;display:flex;flex-direction:column;padding:0 16px 20px}.game-header{position:relative;top:0;left:0;right:0;padding:21px 0 0;min-height:100px}.brand{font-size:61px}.brand small{font-size:8px;letter-spacing:1.2px;margin:5px 0}.brand-heart{font-size:18px}.brand-spark{font-size:18px;left:-12px;top:30px}.version-label{display:none}.header-right{gap:12px}.day-progress b{font-size:18px}.day-progress{min-width:65px}.day-progress>div{gap:7px;padding:5px 7px}.day-progress em{height:8px;width:8px}.request-card{position:absolute;left:16px;top:125px;width:160px;border-radius:9px;z-index:3;padding:9px 11px}.request-title{font-size:11px;padding:7px 0 1px}.request-heading{font-size:9px;gap:4px}.request-heading>span{font-size:19px}.mode-switch{font-size:8px;padding:2px 5px}.model-stage{position:relative;left:auto;top:auto;bottom:auto;width:100%;height:570px;margin-top:-28px;z-index:1}.model-holder{left:8%;right:-4%;top:0;bottom:14px}.model-caption{left:55%;bottom:0}.model-caption button{padding:5px 18px}.model-caption span{font-size:15px}.zoom-button{right:15px;bottom:65px}.floor-shadow{bottom:20px;left:35%}.model-stage.zoomed{position:relative;left:auto;width:100%;top:auto;bottom:auto;margin-top:18px;height:470px;border-radius:50% 50% 15px 15px}.model-stage.zoomed .model-holder{left:0;right:0}.left-tools{position:relative;left:auto;bottom:auto;justify-content:center;margin:10px 0 20px;z-index:3}.pill-button{min-height:42px;padding:8px 20px}.closet-shell{position:relative;right:auto;top:auto;bottom:auto;width:100%;gap:16px;z-index:4}.closet-panel{max-height:none;min-height:560px;padding:9px}.closet-inner{overflow:visible;padding:12px 6px 5px}.category{padding:10px 3px 8px;font-size:10px}.category svg{width:27px;height:27px}.categories{gap:4px}.garment-grid{gap:6px}.garment-card{aspect-ratio:.9}.garment-card .card-label{font-size:7px}.garment-card.selected:after{width:18px;height:18px;line-height:18px;font-size:11px}.closet-heading span{font-size:8px}.favorite-filter{font-size:9px}.taste-chip{font-size:8px;min-height:29px}.item-description{font-size:10px;padding:13px 0 9px}.color-button{width:35px;height:35px}.color-label{font-size:8px}.closet-bottom{padding:10px 7px 2px;margin-top:14px}.closet-actions{padding:0 5px}.complete-button{min-height:56px}.complete-button>span{font-size:22px;letter-spacing:2px}.small-action{width:36px;height:36px}.game-shell>footer{position:relative;left:auto;right:auto;bottom:auto;margin:27px 0 0;gap:15px;font-size:8px;letter-spacing:0}.game-shell>footer button{font-size:8px}.room-backdrop{background-position:30% center}.tops .garment-card{aspect-ratio:.65}.tops .garment-card .card-label{font-size:8px}.presets .garment-card{aspect-ratio:.7}.dialog-head{padding:20px 19px 10px}.dialog-head h2{font-size:21px}.dialog-body{padding:5px 19px 22px}.shoot-layout{grid-template-columns:1fr;gap:8px}.shoot-image{height:340px;width:240px;margin:auto}.shoot-info{padding:0}.speech{font-size:11px;padding:12px}.result-layout{grid-template-columns:1fr;gap:20px}.magazine{width:250px;height:375px;margin:auto}.magazine h3{font-size:55px}.magazine .model-art{height:310px;top:48px}.magazine .cover-name{font-size:20px}.report h3{font-size:21px;text-align:center}.report .score-number{text-align:center;font-size:57px}.album-grid{grid-template-columns:repeat(2,1fr);gap:9px}.album-card .album-image{height:220px}.summary .album-grid{grid-template-columns:repeat(3,1fr);gap:5px}.summary .album-image{height:170px}.summary .album-card .album-text{padding:7px}.summary .album-card b{font-size:9px}.summary .album-card small{font-size:8px}.summary h3{font-size:23px}.primary,.secondary{padding:10px 14px;font-size:11px}.intro{padding:10px 3px}.intro h3{font-size:23px}.runway{height:410px}.runway .model-art{height:370px}.color-choice{flex:1}.palette{gap:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.magazine.rose{background-image:linear-gradient(#f6d6e3aa,#f6d6e3aa),url('./assets/studio.png')}.magazine.cool{background-image:linear-gradient(#dbeaf2aa,#dbeaf2aa),url('./assets/studio.png')}

/* Collection 2: garment categories and face studio. */
.categories{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.category{font-size:10px;padding:10px 2px 7px}.category svg{width:26px;height:26px}.brand{font-size:88px;letter-spacing:-4px}.brand small{letter-spacing:2px}.face-section-title{font-size:12px;margin:0 0 10px}.face-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.face-option{padding:6px;border:1px solid #e8d6d0;background:#f3e5de;border-radius:14px;overflow:hidden}.face-option .model-art{width:100%;height:auto;display:block;border-radius:9px}.face-option span{display:block;font-size:11px;padding:6px 0 2px}.face-option.active{border:2px solid #d86b9c;background:#fff4ef;box-shadow:0 0 0 2px #fff inset}.eye-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.eye-choice{padding:7px 2px;border-radius:10px;border:1px solid transparent}.eye-choice.active{border-color:#d781a7;background:#fbe9ed}.eye-choice i{display:block;width:29px;height:29px;border-radius:50%;margin:0 auto 5px;border:4px solid var(--eye);background:radial-gradient(circle at 38% 32%,white 0 9%,transparent 11%),radial-gradient(circle,#352a33 0 28%,var(--eye) 30% 100%);box-shadow:0 0 0 2px #fff}.eye-choice span{font-size:8px}.pants{grid-template-columns:repeat(3,1fr)}.pants .garment-card{aspect-ratio:.9}.makeup-controls .control-row{margin:23px 0}.model-stage.zoomed{top:20%;bottom:18%}
@media(max-width:1150px){.brand{font-size:69px}.category{font-size:8px}.category svg{width:22px;height:22px}}
@media(max-width:760px){.brand{font-size:58px}.categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.category{flex-direction:row;justify-content:center;font-size:9px;padding:10px 3px}.category svg{width:20px;height:20px}.model-stage.zoomed{top:auto;bottom:auto}.face-options{gap:5px}.face-option{padding:3px}.face-option span{font-size:10px}.eye-choice span{font-size:7px}.eye-choice i{width:25px;height:25px}.makeup-controls{padding:8px 0 12px}.brand small{letter-spacing:1px}}

.photo-ready{text-align:center}.photo-ready img{display:block;height:min(55vh,600px);max-width:100%;object-fit:contain;margin:0 auto 12px;border-radius:6px;box-shadow:0 5px 20px #9e768833}.photo-ready p{font-size:12px}.photo-save{text-decoration:none}

/* The opening is a playable visual-novel sequence, with the same saved avatar. */
.story-entry{border-radius:24px;padding:8px 14px;font-size:11px;position:relative}.story-entry.unread:after{content:'';position:absolute;right:4px;top:3px;background:#df699e;width:7px;height:7px;border-radius:50%}.story-dialog{width:min(1100px,96vw);max-height:96dvh}.story-dialog .dialog-head{padding:18px 25px 12px}.story-dialog .dialog-head h2{font-size:24px}.story-dialog .dialog-body{padding:0 14px 12px}.story-scene{height:min(62vh,620px);min-height:420px;border-radius:13px;position:relative;overflow:hidden;background:url('./assets/studio.png') center/cover}.story-scene-0,.story-scene-1{background-image:url('./assets/story-street.png')}.story-scene:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#714e5220,transparent 55%)}.story-location{position:absolute;top:14px;left:18px;z-index:3;font-size:9px;letter-spacing:2px;background:#fff9f0d9;padding:6px 12px;border-radius:20px}.story-player{position:absolute;left:2%;width:44%;top:7%;bottom:0;filter:drop-shadow(0 5px 10px #6e4c4220)}.story-player .model-art{width:100%;height:100%}.story-scene-0 .story-player{left:17%;width:60%;top:0;bottom:0}.story-koharu{position:absolute;right:3%;bottom:0;height:94%;max-width:54%;object-fit:contain;object-position:bottom}.story-speech{position:absolute;left:22px;right:22px;bottom:18px;padding:18px 25px;background:#fffaf3f2;border:1px solid white;box-shadow:0 4px 20px #79546524;border-radius:13px;z-index:5}.story-speech strong{display:inline-block;background:#bc7a97;color:#fffaf6;border:1px solid #dcaac0;border-radius:20px;padding:4px 14px;font-size:11px;margin-top:-38px;vertical-align:top}.story-speech p{font-size:14px;line-height:1.9;margin:0;letter-spacing:.3px}.story-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 9px 7px}.story-buttons{display:flex;align-items:center;gap:9px}.story-back{font-size:11px;padding:10px;color:#a78690}.story-progress{display:flex;align-items:center;gap:7px}.story-progress i{height:6px;width:6px;border-radius:50%;background:#dfced4}.story-progress i.active{background:#cd6796;width:20px;border-radius:5px}.story-progress small{font-size:10px;margin-left:5px;color:#a98c96}.story-footer{display:flex;justify-content:space-between;gap:12px;padding:5px 9px;color:#ae9397;font-size:9px}.story-footer button{font-size:10px;text-decoration:underline}.story-scene-2 .story-player{display:none}.story-scene-2 .story-koharu{right:auto;left:0;max-width:50%}.story-name-card{position:absolute;z-index:4;right:6%;top:14%;width:43%;padding:22px;text-align:center;border-radius:16px;background:#fff9f1eb;border:1px solid white;box-shadow:0 8px 25px #8c596326}.story-name-card label{display:block;font-size:14px;margin-bottom:12px}.story-name-card input{width:100%;font-size:22px;text-align:center;border:1px solid #d8b8c5;border-radius:8px;padding:10px;background:#fffdfa}.story-name-card small{display:block;font-size:10px;color:#ab8996;margin:7px 0 15px}.story-name-card strong{font:30px var(--serif);letter-spacing:3px}.runway-invitation,.story-brief{position:absolute;right:4%;top:5%;width:49%;background:#fffaf1f5;padding:18px 25px 22px;border:1px solid #ddc3a4;outline:1px solid #e8d0b4;outline-offset:-7px;text-align:center;box-shadow:0 8px 35px #79546040;transform:rotate(-2deg);z-index:4}.runway-invitation small,.story-brief>small{font-size:8px;letter-spacing:2px;color:#b0878e}.runway-invitation h3{font:40px/1.1 var(--serif);margin:8px 0}.runway-invitation h3 em{font-size:22px;font-weight:400;color:#bb8498}.invitation-star{font-size:25px;color:#be9b61;display:block;line-height:1}.invitation-to{font-size:15px;margin:13px 0 7px}.runway-invitation p{font-size:11px;margin-bottom:9px}.invitation-theme{border-top:1px solid #e6d4bf;padding-top:10px}.invitation-theme small{display:block;letter-spacing:1px}.invitation-theme strong{display:block;font-size:16px;font-weight:500;line-height:1.8}.invitation-seal{display:block;border-radius:50%;width:36px;height:36px;line-height:34px;border:2px double #cfb68b;background:#e2ccab;color:#fffdf2;font:italic 24px/32px Georgia;margin:10px auto 0}.story-scene-3 .story-speech{padding:12px 22px}.story-brief{transform:none;top:10%;padding:28px 25px}.story-brief h3{font:24px var(--serif);margin:15px 0}.story-brief ul{text-align:left;font-size:13px;line-height:2.2;padding-left:22px}.story-brief p{font-size:11px;color:#b57e98;margin:15px 0 0}
@media(max-width:760px){.story-entry{font-size:8px;padding:6px 8px;max-width:90px}.header-right{gap:6px}.story-dialog .dialog-head{padding:15px 17px 8px}.story-dialog .dialog-head h2{font-size:19px}.story-dialog .dialog-body{padding:0 8px 9px}.story-scene{height:60dvh;min-height:430px}.story-location{font-size:7px;left:10px;top:10px;padding:5px 9px}.story-player{left:-13%;width:75%;top:12%;bottom:18%}.story-scene-0 .story-player{left:5%;width:90%;bottom:13%}.story-koharu{right:-8%;max-width:75%;height:80%;bottom:18%}.story-speech{left:9px;right:9px;bottom:9px;padding:13px 14px;border-radius:10px}.story-speech p{font-size:11px;line-height:1.85;letter-spacing:0}.story-speech strong{font-size:9px;padding:3px 10px;margin-top:-30px}.story-buttons{gap:5px;flex-wrap:wrap;justify-content:flex-end}.story-buttons .primary,.story-buttons .secondary{font-size:10px;padding:9px 12px;min-height:38px}.story-controls{gap:6px;padding:10px 3px 5px}.story-progress{gap:4px;flex:none}.story-progress i{width:4px;height:4px}.story-progress i.active{width:12px}.story-progress small{font-size:8px;margin:0}.story-back{font-size:9px;padding:5px}.story-footer{padding:5px 3px;font-size:8px}.story-footer span{max-width:65%}.story-footer button{font-size:9px;white-space:nowrap}.story-scene-2 .story-koharu{left:-26%;max-width:90%;height:85%;bottom:13%}.story-name-card{right:3%;top:14%;width:57%;padding:14px 10px}.story-name-card label{font-size:11px}.story-name-card input{font-size:18px;padding:8px}.story-name-card .primary{font-size:10px;padding:8px 10px}.story-name-card small{font-size:9px;margin:6px 0 11px}.story-scene-3 .story-player,.story-scene-4 .story-player{opacity:.4;left:-25%}.runway-invitation,.story-brief{right:6%;top:11%;width:83%;padding:15px 17px}.runway-invitation h3{font-size:34px;margin:5px 0}.runway-invitation h3 em{font-size:18px}.invitation-star{font-size:20px}.invitation-to{margin:9px 0 5px!important}.invitation-seal{width:28px;height:28px;font-size:19px;line-height:24px;margin:6px auto 0}.invitation-theme{padding-top:6px}.invitation-theme strong{font-size:14px}.runway-invitation p{font-size:10px}.story-brief{top:12%;padding:25px 20px}.story-brief h3{font-size:20px}.story-brief ul{font-size:12px;line-height:2}.story-scene-3 .story-speech{padding:11px 14px}}

/* First character, then the atelier. */
.sound-button{font:11px var(--font);white-space:nowrap;padding:8px 12px;border:1px solid #e2c7d1;border-radius:24px;background:#fff8f2;color:#a66586;min-height:36px}.dialog-head>.sound-button{margin-left:auto;margin-right:12px}.creator-dialog{width:min(920px,96vw)}.creator-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.creator-preview{position:relative;min-height:390px;background:radial-gradient(ellipse at 50% 45%,#fff9ed,#edd5dc);border-radius:150px 150px 20px 20px;overflow:hidden}.creator-preview .model-art{width:100%;height:370px;object-fit:contain}.creator-preview>span{display:block;text-align:center;font:18px var(--serif);padding:15px;color:#ae7588}.creator-options h3{font-size:13px;font-weight:500;margin:18px 0 10px}#character-form{margin-top:20px}#character-form label,#character-form small{display:block;font-size:12px;margin:9px 0}#character-form small{font-size:10px;color:#ab8b95}#character-name{width:100%;border:1px solid #dfc1ce;background:#fffdfa;border-radius:8px;padding:10px;font:20px var(--font);color:#795564}#character-form .primary{width:100%;margin-top:12px}.hair-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hair-options .model-art{height:155px;object-fit:contain}.accessory-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.accessory-options .model-art{height:105px;object-fit:contain}.accessory-options .face-option span{font-size:9px}.venue-label{border-left:3px solid #cd9cb9;padding:9px 12px;background:#f5e8ed;font-size:12px}.makeup-controls .face-section-title{margin-top:20px}
/* The same outfit enters a themed runway or a location photo shoot. */
.performance-dialog{width:min(1100px,96vw)}.performance{height:min(62vh,620px);min-height:400px;position:relative;overflow:hidden;border-radius:16px;isolation:isolate;background:var(--venue) center/cover}.performance:after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;box-shadow:inset 0 0 80px #78566f26}.performance-model{position:absolute;inset:2% 0 1%;z-index:2;filter:drop-shadow(0 7px 4px #65516830);transform-origin:50% 90%}.performance-model .model-art{height:100%;width:100%;display:block}.catwalk .performance-model{animation:catwalk-entry 6.4s cubic-bezier(.2,.6,.25,1) both}.location-shoot .performance-model{animation:location-entry 2.3s ease-out both}.venue-caption{position:absolute;top:22px;left:25px;z-index:5;color:#7e5365;padding:10px 16px;border:1px solid #fff;background:#fff9eee8;border-radius:8px;animation:scene-caption .8s .4s both}.venue-caption small{display:block;font-size:9px;letter-spacing:3px}.venue-caption strong{font:23px/1.8 var(--serif)}.performance-name{position:absolute;bottom:15px;left:0;right:0;z-index:5;text-align:center;font:30px var(--serif);color:#714756;text-shadow:0 0 12px white,0 0 20px white;animation:scene-caption 1s 2s both}.performance-name small{display:block;font:12px/2 var(--font);letter-spacing:1px;background:#fff7e9c7;padding:5px;margin:6px auto 0;width:max-content;max-width:90%;border-radius:20px}.stage-light{position:absolute;top:-40%;height:160%;width:24%;background:linear-gradient(#fff9,transparent);filter:blur(15px);mix-blend-mode:screen;z-index:1;pointer-events:none;transform-origin:50% 0;animation:spotlight 5s ease-in-out alternate infinite}.light-left{left:18%;transform:rotate(-18deg)}.light-right{right:18%;animation-direction:alternate-reverse;transform:rotate(18deg)}.location-shoot .stage-light{display:none}.camera-corners{position:absolute;inset:12% 28% 10%;z-index:3;border:1px solid #fff9;clip-path:polygon(0 0,14% 0,14% 1%,1% 1%,1% 10%,0 10%,0 0,100% 0,100% 10%,99% 10%,99% 1%,86% 1%,86% 0,100% 0,100% 100%,86% 100%,86% 99%,99% 99%,99% 90%,100% 90%,100% 100%,0 100%,0 90%,1% 90%,1% 99%,14% 99%,14% 100%,0 100%);animation:camera-focus 6.4s both}.camera-flash{position:absolute;inset:0;background:#fff;z-index:6;opacity:0;pointer-events:none;animation:camera-snap 6.4s both}
.result-layout{position:relative}.result-reveal .magazine{animation:cover-arrival 1.1s cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 80%}.result-reveal .score-bar i{transform-origin:left;animation:score-fill 1.5s .25s both}.result-reveal .fan-count,.result-reveal .fan-comment{animation:scene-caption .7s 1.2s both}.celebration{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.celebration i{position:absolute;left:var(--x);top:-15px;width:6px;height:12px;border-radius:2px;background:var(--color);opacity:0;animation:confetti-fall 3s var(--delay) both}.story-player,.story-koharu{animation:scene-caption .65s ease-out both}.runway-invitation{animation:invitation-arrival .9s ease-out both}
@keyframes catwalk-entry{0%{transform:translateY(-35px) scale(.5);opacity:0}12%{opacity:1}55%{transform:translateY(0) scale(1)}68%{transform:translateX(-6px) rotate(-1deg) scale(1)}80%{transform:translateX(5px) rotate(.8deg) scale(1)}100%{transform:translateX(0) scale(1)}}
@keyframes location-entry{from{opacity:0;transform:translateX(65px) scale(.92)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes spotlight{to{transform:rotate(24deg)}}
@keyframes scene-caption{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes camera-focus{0%,30%{opacity:0;transform:scale(1.15)}50%,80%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes camera-snap{0%,60%{opacity:0}62%{opacity:.7}66%,100%{opacity:0}}
@keyframes cover-arrival{from{opacity:0;transform:translateY(25px) rotate(-6deg) scale(.9)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes score-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes confetti-fall{0%{opacity:0;transform:translateY(-10px) rotate(0)}10%{opacity:.9}85%{opacity:.7}100%{opacity:0;transform:translateY(560px) rotate(var(--turn))}}
@keyframes invitation-arrival{from{opacity:0;transform:translateY(35px) rotate(4deg) scale(.9)}to{opacity:1;transform:translateY(0) rotate(-2deg) scale(1)}}
@media(max-width:760px){.sound-button{font-size:9px;padding:5px 7px;min-height:31px}.header-right{flex-wrap:wrap;justify-content:flex-end;max-width:170px}.header-right .day-progress{min-width:50px}.dialog-head>.sound-button{margin-right:5px}.dialog-head h2{font-size:19px}.creator-layout{grid-template-columns:1fr;gap:8px}.creator-preview{min-height:230px;border-radius:70px 70px 12px 12px}.creator-preview .model-art{height:220px}.creator-preview>span{font-size:14px;padding:4px 0 12px}.creator-options .note{margin-top:0}.creator-options h3{margin-top:12px}.performance{height:60dvh;min-height:400px}.venue-caption{top:12px;left:12px;padding:7px 10px}.venue-caption strong{font-size:17px}.venue-caption small{font-size:7px}.performance-name{font-size:25px}.performance-name small{font-size:10px;letter-spacing:0;padding:6px 9px}.camera-corners{inset:16% 15% 10%}.hair-options .model-art{height:145px}.accessory-options .model-art{height:95px}}
@media(prefers-reduced-motion:reduce){.camera-flash,.celebration,.stage-light{display:none}.performance-model,.venue-caption,.performance-name,.result-reveal .magazine,.result-reveal .fan-count,.result-reveal .fan-comment{opacity:1;transform:none}}
.face-details{margin-top:20px;padding:12px;border:1px solid #e6cdd6;border-radius:12px;background:#fff9f3}.face-details summary{cursor:pointer;font-size:12px;color:#a76789;line-height:1.8}.face-details h4{font-weight:500;font-size:11px;margin:16px 0 8px}.part-options{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.part-options button{padding:8px 5px;font-size:11px;min-height:35px}.part-stepper{display:grid;grid-template-columns:1fr 35px 25px 35px;align-items:center;gap:7px;font-size:11px;margin:8px 0}.part-stepper button{height:34px;border:1px solid #e6cbd7;background:#fffdf8;border-radius:50%;color:#b16e8d;font-size:18px}.part-stepper button:disabled{opacity:.3}.part-stepper output{text-align:center}.face-reset{font-size:10px;text-decoration:underline;color:#ae7e91;padding:10px 0}.creator-options{max-height:66vh;overflow-y:auto;padding:0 6px 4px}.creator-preview{align-self:start;position:sticky;top:0}.makeup-controls .choice-row{flex-wrap:wrap}.garment-grid.tops{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.creator-options{max-height:none;overflow:visible;padding:0}.creator-preview{position:relative}.part-options button{font-size:10px}.creator-dialog .creator-preview .model-art{height:190px}.creator-dialog .creator-preview{min-height:210px}}

.pose-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pose-options button{display:flex;flex-direction:column;gap:6px;text-align:left;padding:12px}.pose-options small{font-size:10px;line-height:1.7}.pose-brief{padding:10px;background:#f6e6ee;border-radius:10px;font-size:12px}.primary:disabled{opacity:.4;cursor:not-allowed}

.closet-search{display:flex;align-items:center;gap:12px;font-size:11px;margin:10px 0}.closet-search input{flex:1;min-width:0;border:1px solid #e5ced8;border-radius:20px;background:#fffaf7;padding:9px 14px}.closet-pagination{display:flex;align-items:center;justify-content:space-between;margin:16px 0;font-size:12px}.closet-pagination button{border:1px solid #e6cdd6;border-radius:20px;padding:9px 20px;background:#fff8fb}.closet-search[hidden],.closet-pagination[hidden]{display:none}

.accessory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.accessory-grid .choice{min-height:50px}.accessory-catalog h3{font-size:14px;font-weight:500}.categories{overflow-x:auto}.category{min-width:64px}.categories{grid-template-columns:repeat(7,minmax(64px,1fr))}

.accessory-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.accessory-grid img{height:100px;width:100%;object-fit:contain}
