:root{--ink:#493351;--muted:#8b7592;--purple:#885b9b;--lilac:#eee3f5;--pink:#f6e2e9;--paper:#fcfaf7;--line:#e8deea;--shadow:0 12px 40px #6f487a0d;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 14% 9%,#f5ebf9 0,transparent 43%),radial-gradient(ellipse at 95% 54%,#f9ecec 0,transparent 45%),var(--paper);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif;font-size:14px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc88d4;outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}button,select{transition:background .18s,box-shadow .18s,transform .18s}button:hover{transform:translateY(-1px)}.app-shell{max-width:1510px;padding:0 52px;margin:auto}.site-header{height:103px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font:31px/1.1 Georgia,serif;letter-spacing:-1.5px}.brand img{width:43px;height:43px}.brand-small{display:block;font:8px/1.5 'Segoe UI',sans-serif;letter-spacing:3.8px;margin:7px 0 0 2px;color:var(--muted)}.header-actions{display:flex;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid var(--line);border-radius:25px;background:#fff9;color:var(--ink);padding:12px 20px;font-size:12px;font-weight:600;min-height:43px}.button span{font-size:19px}.button.quiet{background:transparent;border-color:transparent;color:var(--muted)}.button.photo{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 5px 14px #56315b15}.button.photo:hover{background:#6b4777}.intro{display:flex;justify-content:space-between;align-items:center;padding:37px 0 31px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;margin:0 0 10px;color:var(--muted)}h1{font:36px/1.25 Georgia,serif;letter-spacing:-1.3px;margin:0 0 10px}h1 em{color:#a071ac;font-weight:400} .intro p:not(.eyebrow){font-size:12px;margin:0;color:var(--muted)}.surprise{background:#f0e2f4;border-color:#e6d4ec;color:#754385;padding:13px 22px}.surprise:hover{background:#e8d4ef}.studio{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(320px,1fr);gap:28px;align-items:start}.stage-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:23px;background:#d2dfea;box-shadow:var(--shadow)}#stage{display:block;width:100%;height:100%;object-fit:contain}.scene-caption{position:absolute;top:19px;left:19px;right:19px;display:flex;align-items:center;gap:10px;border:1px solid #ffffffb8;border-radius:14px;background:#fffaf4de;backdrop-filter:blur(12px);padding:11px 14px;box-shadow:0 5px 20px #33163c0c}.tiny-flower{font-size:29px;color:#ab7cba}.scene-caption .eyebrow{font-size:7px;letter-spacing:1.5px;display:block;margin:0 0 4px}.scene-caption strong{font:15px Georgia,serif}.scene-caption button{border:0;background:transparent;color:#886093;font-size:10px;margin-left:auto;padding:9px 0 9px 9px}.scene-caption button span{margin-left:8px;font-size:18px}.stage-weather{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:8px 15px;white-space:nowrap;border:1px solid #ffffffb0;border-radius:20px;color:#684f72;background:#fff9;backdrop-filter:blur(10px);font-size:9px;pointer-events:none}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#e9e0efd9;font:15px Georgia,serif;z-index:3}.loading[hidden]{display:none}.loading-flower{font-size:55px;color:#b584c0;animation:bloom 3s ease infinite}@keyframes bloom{50%{transform:rotate(90deg);opacity:.5}}.mood-bar{display:flex;align-items:center;justify-content:space-between;gap:17px;padding:19px 5px 21px;flex-wrap:wrap}.time-label{font-size:10px;font-weight:600;line-height:1.7}.time-label span{display:block;color:var(--muted);font-weight:400;font-size:9px}.time-controls{display:flex;gap:10px;align-items:center;flex:1;min-width:115px;color:#a57cb5;font-size:18px;max-width:220px}input[type=range]{min-width:50px;width:100%;accent-color:#aa7cb8;height:4px;cursor:pointer}.icon-button{border:0;background:#eee3f4;border-radius:50%;width:31px;height:31px;flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;font-size:10px}.icon-button[aria-pressed=true]{background:var(--purple);color:white}.weather-label select{border:1px solid var(--line);border-radius:20px;padding:10px 12px;font-size:10px;background:#fff9;color:#775e83;max-width:148px}.keepsakes{border-top:1px solid var(--line);padding:21px 3px;display:flex;align-items:center;gap:15px;justify-content:space-between}.keepsakes .eyebrow{font-size:7px;letter-spacing:1.4px;margin:0 0 6px}.keepsakes p{font-size:9px;color:var(--muted);margin:0}.small{font-size:9px;padding:7px 12px;min-height:32px;white-space:nowrap}.favorite-slots{display:flex;gap:7px}.favorite-slot{height:37px;width:37px;border:1px dashed #d9c4e0;border-radius:11px;background:#f6eff7;font-size:15px;color:#ae88b8}.favorite-slot.filled{border-style:solid;background:#e7d4ef;color:#765083}.wardrobe{border:1px solid #eee5ed;background:#fffaf9e8;border-radius:23px;padding:27px 23px 19px;box-shadow:var(--shadow)}.wardrobe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.wardrobe-header .eyebrow{font-size:8px;letter-spacing:1.6px}.wardrobe h2{font:23px/1.3 Georgia,serif;margin:0;letter-spacing:-.6px}.wardrobe-bloom{font-size:37px;color:#e8cedf}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;background:#f5edf5;border-radius:12px;padding:5px;margin-bottom:23px}.tabs button{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;border:0;border-radius:9px;background:transparent;min-height:58px;color:#9b7d9f;font-size:9px}.tabs button span{font-size:19px;line-height:1}.tabs button[aria-selected=true]{background:white;color:#7b4c8c;box-shadow:0 3px 7px #70347b10}.collection-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 13px}.collection-heading h3{font-size:10px;font-weight:600;margin:0}.collection-heading span{font-size:9px;color:#a58baa}.item-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.item-card{padding:10px 9px 12px;border:1px solid #eee2ed;border-radius:13px;background:#fcf7f9;position:relative;min-width:0;overflow:hidden;text-align:left}.item-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,var(--swatch,#b89ad0) 0,transparent 65%);opacity:.06;pointer-events:none}.item-card:hover{border-color:#c8a4d3;background:#faf1fc}.item-card[aria-pressed=true]{border-color:#b188c2;background:#f3e9f7;box-shadow:inset 0 0 0 1px #b188c2}.item-card[aria-pressed=true]:after{content:'Selected';position:absolute;right:8px;top:8px;background:#aa79b6;color:#fff;font-size:8px;width:16px;height:16px;border-radius:50%;display:flex;justify-content:center;align-items:center}.item-card canvas{display:block;width:100%;height:102px;object-fit:contain;pointer-events:none}.item-name{display:block;text-align:center;margin:8px 0 0;font-size:9px;font-weight:600}.item-card .swatch{position:absolute;left:9px;top:9px;width:8px;height:8px;background:var(--swatch);border-radius:50%;border:1px solid #ffffffa0}.remove-item{display:block;font-size:9px;color:#96759f;text-align:center;width:100%;border:0;background:transparent;margin-top:14px;padding:10px}.wardrobe-note{margin-top:5px;padding:12px 3px 0;border-top:1px solid var(--line);display:flex;gap:11px;align-items:center;justify-content:center;color:#9b7c9f}.wardrobe-note>span{font-size:27px;color:#c6a2cf}.wardrobe-note p{font-size:9px;line-height:1.7;margin:0}.wardrobe-note strong{font-weight:400;color:#71517c}footer{display:flex;justify-content:space-between;align-items:center;margin:26px 0 20px;font-size:8px;color:#a68eaa;letter-spacing:.4px}footer span span{margin:0 6px;color:#bca1c7}dialog{border:1px solid #e2d3e7;border-radius:25px;width:min(820px,calc(100% - 32px));padding:28px;background:#fffbfc;color:var(--ink);box-shadow:0 25px 100px #3f274338;max-height:85vh;overflow:auto}dialog::backdrop{background:#352d425c;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-head h2{font:25px Georgia,serif;margin:0}.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.scene-card{padding:0;border:1px solid var(--line);overflow:hidden;border-radius:14px;background:#faf6fa;text-align:left}.scene-card[aria-pressed=true]{border-color:#a478b5;box-shadow:0 0 0 2px #bb9bcc}.scene-card canvas{width:100%;display:block;aspect-ratio:1.6}.scene-card strong{display:block;font:14px Georgia,serif;margin:12px 12px 5px}.scene-card small{display:block;font-size:9px;color:var(--muted);margin:0 12px 14px;line-height:1.6}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,25px);background:#493351e8;color:#fff;backdrop-filter:blur(10px);border-radius:25px;padding:13px 22px;font-size:11px;box-shadow:0 9px 30px #4b294c20;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:9;max-width:calc(100% - 24px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){.item-card canvas{height:123px}.wardrobe{padding:29px 27px}.studio{gap:32px}}
@media(max-width:1050px){.app-shell{padding:0 28px}.studio{gap:19px;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr)}.wardrobe{padding:20px 17px}.wardrobe h2{font-size:20px}.item-card canvas{height:85px}.item-grid{gap:9px}.time-controls{max-width:145px}.keepsakes{flex-wrap:wrap;gap:10px}.keepsakes>div:first-child{width:100%}.scene-caption{top:13px;left:13px;right:13px;padding:9px 10px}.scene-caption strong{font-size:12px}.scene-caption button{font-size:9px}.intro h1{font-size:31px}.intro{padding-top:28px}}
@media(max-width:780px){.app-shell{padding:0 18px}.site-header{height:81px}.brand{font-size:27px}.brand img{width:35px}.brand-small{font-size:6px;letter-spacing:3.2px}.header-actions{gap:2px}.button{padding:10px 13px;font-size:10px}.quiet{font-size:0!important;gap:0}.quiet span{font-size:23px!important}.intro{gap:15px;padding:26px 0 22px}.intro h1{font-size:28px}.intro p:not(.eyebrow){font-size:10px;line-height:1.7}.intro .eyebrow{font-size:7px;letter-spacing:1.3px}.surprise{padding:10px 13px;white-space:nowrap;font-size:9px}.studio{grid-template-columns:1fr;gap:10px}.stage-wrap{aspect-ratio:4/3}.stage-section{min-width:0}.mood-bar{padding:14px 2px}.time-controls{max-width:none}.keepsakes{padding:16px 3px;flex-wrap:nowrap}.keepsakes>div:first-child{width:auto}.wardrobe{padding:22px 19px}.wardrobe-header{margin-bottom:16px}.wardrobe h2{font-size:24px}.tabs{margin-bottom:18px}.item-grid{grid-template-columns:repeat(3,1fr)}.item-card canvas{height:90px}.scene-grid{grid-template-columns:1fr 1fr}.scene-card strong{font-size:12px}.scene-card small{font-size:8px}.dialog-head h2{font-size:21px}dialog{padding:22px}.wardrobe-note{margin-top:6px}footer{gap:15px;line-height:1.7;font-size:7px}.photo span{display:none}}
@media(max-width:420px){.keepsakes .eyebrow{font-size:6px}.keepsakes p{font-size:8px}.favorite-slot{width:28px;height:31px}.favorite-slots{gap:4px}.keepsakes{gap:7px}.small{font-size:8px;padding:6px 8px}.intro h1{font-size:24px}.surprise span{display:none}.mood-bar{gap:10px}.time-label{font-size:9px}.weather-label select{max-width:119px;font-size:9px}.item-name{font-size:8px}.scene-caption .eyebrow{font-size:6px}}
.scene-caption{right:auto;max-width:245px}.scene-caption>div{min-width:0}.scene-caption strong{white-space:nowrap}.scene-caption button{position:absolute;top:calc(100% + 8px);left:0;border:1px solid #ffffffc0;border-radius:20px;background:#fffaf4e8;padding:8px 12px;margin:0;white-space:nowrap;backdrop-filter:blur(10px)}
.item-name,.tabs button{font-size:12px}.collection-heading h3{font-size:12px}.collection-heading span,.remove-item{font-size:11px}.wardrobe-note p{font-size:11px}.time-label{font-size:12px}.time-label span,.weather-label select{font-size:11px}.scene-caption button,.stage-weather{font-size:11px}.keepsakes p{font-size:11px}.keepsakes .eyebrow{font-size:8px}.small{font-size:11px}.scene-card small{font-size:11px}.intro p:not(.eyebrow){font-size:13px}.favorite-slot{width:40px;height:40px}
@media(max-width:780px){.stage-wrap{overflow:visible;margin-bottom:44px;box-shadow:none}#stage{border-radius:23px}.scene-caption{top:calc(100% + 9px);left:0;right:0;max-width:none;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0 3px}.scene-caption .eyebrow{display:none}.scene-caption .tiny-flower{font-size:20px}.scene-caption strong{font-size:12px}.scene-caption button{position:static;border:1px solid var(--line);padding:4px 10px;background:#fff9;margin-left:auto;font-size:10px}.scene-caption button span{font-size:14px}.stage-weather{display:none}.mood-bar{padding-top:11px}}
@media(max-width:420px){.keepsakes{flex-wrap:wrap}.keepsakes>div:first-child{width:100%}.item-name{font-size:10px}.tabs button{font-size:11px}}
input[type=range]{height:20px}.scene-caption button{min-height:32px}
.automatic-note{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px;white-space:nowrap}#clock-speed{min-width:38px;font-size:12px;font-weight:600;flex-shrink:0}.time-controls{max-width:210px}
@media(max-width:420px){.mood-bar{flex-wrap:wrap}.time-label{flex:1}.time-controls{min-width:160px;flex:1}.weather-label{margin-left:auto}.automatic-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Shared native ImageGen icons. Layout and selected states remain ordinary UI. */
.brooklyn-raster-icon{display:inline-block;width:22px;height:22px;flex:0 0 auto;background-image:url("/assets/ui-atlas.png");background-size:400% 400%;background-repeat:no-repeat;vertical-align:middle}
.icon-heart{background-position:33.333% 0}.icon-star{background-position:66.667% 0}.icon-blossom{background-position:100% 0}.icon-undo{background-position:33.333% 33.333%}.icon-wand{background-position:100% 33.333%}.icon-gift{background-position:66.667% 66.667%}.icon-download{background-position:100% 66.667%}.icon-right{background-position:33.333% 100%}.icon-sparkle{background-position:100% 100%}
.tiny-flower{width:29px;height:29px}.loading-flower{width:55px;height:55px}.wardrobe-bloom{width:37px;height:37px}.wardrobe-note>.brooklyn-raster-icon{width:27px;height:27px}.period-label{font-size:10px}.favorite-slot{font-size:12px}.item-card[aria-pressed=true]:after{width:auto;height:auto;border-radius:6px;padding:3px 5px;font-size:8px}.funhouse-home{font-size:10px;color:var(--muted);padding:9px 12px}.dialog-head #close-places{width:auto;min-width:44px;border-radius:12px}
@media(max-width:780px){.header-actions{gap:3px}.funhouse-home{padding:8px 9px;font-size:9px}.site-header{gap:8px}.button.photo .brooklyn-raster-icon{display:none}.quiet .brooklyn-raster-icon{width:23px;height:23px}.button.quiet{padding:8px;min-width:39px}.button.photo{padding:10px}.brand{gap:7px}.brand img{width:31px;height:31px}.brand-small{letter-spacing:2.4px}.brand{font-size:25px}}
@media(max-width:370px){.app-shell{padding:0 12px}.brand{font-size:23px}.brand-small{font-size:5px}.brand img{width:26px;height:26px}.funhouse-home{padding:7px;font-size:8px}.button.photo{font-size:9px;padding:8px}}
