:root{font-family:Arial,Helvetica,sans-serif;color:#42313b;background:#f2e7ec;font-synthesis:none;--pink:#dc3b7b;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:3px solid #de347a;outline-offset:4px}button:disabled{cursor:default}button[disabled]{opacity:.42}[hidden]{display:none!important}#app{position:relative;width:100%;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 35% 35%,#fffdf9 0,#ecdde3 50%,#e0d4df 100%);isolation:isolate}#worldCamera,#scene,#viewfinder{position:absolute;inset:0;width:100%;height:100%;}#worldCamera{object-fit:cover}#scene{pointer-events:none}#scene canvas{display:block;width:100%;height:100%}.camera-grain{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px #50334515}.chrome{background:linear-gradient(180deg,#fff 0%,#fef8fb 38%,#d4cbd1 51%,#eee7ec 76%,#fff 100%);border:1px solid #fff;box-shadow:0 2px 2px #5e445033,inset 0 0 0 1px #b2a7b433,inset 0 2px 1px #fff}header{position:absolute;z-index:5;top:calc(env(safe-area-inset-top,0px) + 18px);left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.tool{height:42px;border-radius:22px;padding:0 13px;display:flex;align-items:center;gap:5px;font-size:13px;font-weight:600}.tool svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.wordmark{font-size:23px;letter-spacing:-1.4px;font-weight:900;font-style:italic;color:#fff;text-shadow:0 1px 0 #887482,0 -1px 0 #aa99a5,1px 2px 3px #4d37465c;white-space:nowrap}.spark{font-style:normal;font-size:29px;margin-left:1px;vertical-align:-2px;color:#fff}.tracking-badge{position:absolute;z-index:4;top:calc(env(safe-area-inset-top,0px) + 76px);left:50%;transform:translateX(-50%);font-size:12px;display:flex;gap:7px;align-items:center;white-space:nowrap;padding:7px 11px;background:#fff9;border:1px solid #fffb;border-radius:20px;backdrop-filter:blur(14px)}.tracking-badge i{width:5px;height:5px;border-radius:50%;background:#b59468}.tracking-badge.ready i{background:#5b8b59}#viewfinder{z-index:2;border:0;background:none;padding:0;opacity:1}#viewfinder:disabled{opacity:0}.reticle{position:absolute;width:66px;height:66px;left:50%;top:43%;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 3px #47313b70);transition:width .2s,height .2s}.reticle i{position:absolute;width:13px;height:13px;border-color:#fff;border-style:solid;border-width:0;border-radius:2px}.reticle i:nth-child(1){top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}.reticle i:nth-child(2){top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}.reticle i:nth-child(3){bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}.reticle i:nth-child(4){bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}.reticle b{position:absolute;left:50%;top:50%;height:3px;width:3px;border-radius:50%;background:#fff}#halo{position:absolute;border:1px solid #fff7;box-shadow:0 0 20px #ffdae988,inset 0 0 30px #fff3;border-radius:35%;opacity:0;transition:opacity .25s;pointer-events:none}#viewfinder.target-ready #halo{opacity:1}#viewfinder.target-ready .reticle{width:55px;height:55px}#viewfinder.processing .reticle{animation:breathe 1.6s ease-in-out infinite}.processing #halo{opacity:0!important}#welcome{position:absolute;z-index:3;top:calc(env(safe-area-inset-top,0px) + 94px);left:20px;right:20px;text-align:center}.intro-orbit{position:relative;width:125px;height:105px;margin:0 auto 15px}.intro-orbit img{width:125px;height:115px;filter:drop-shadow(0 15px 13px #865b7140);transform:rotate(-12deg)}.orbital-spark{position:absolute;right:-8px;top:5px;color:#fff;font-size:50px;text-shadow:0 1px 2px #bd879d}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:700;margin:0 0 14px;color:#967181}h1{font-size:44px;line-height:.98;letter-spacing:-2.2px;font-weight:800;margin:0;color:#56434e}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-2px;color:#c24378}p.intro-copy{font-size:14px;line-height:1.6;color:#89707c;margin:16px 0 19px}.start{border-radius:26px;min-width:206px;padding:14px 23px;font-size:16px;font-weight:700;display:inline-flex;justify-content:space-between;gap:30px}.start span{color:#d7427c;font-size:20px;line-height:18px}.permission-note{font-size:10px;line-height:1.5;color:#9e8993;max-width:260px;margin:12px auto}.permission-note br{display:none}#startupError{background:#fff9;border-radius:15px;padding:12px;font-size:13px;max-width:360px;margin:10px auto;color:#a42b58}#controls{position:absolute;z-index:5;bottom:0;left:0;right:0;padding:17px 0 calc(9px + var(--safe-bottom));border-radius:29px 29px 0 0;background:linear-gradient(165deg,#fff9,#f3e8efbd 50%,#e7dce6e8);border:1px solid #fff9;border-bottom:0;box-shadow:0 -5px 35px #53394f0d,inset 0 1px 1px #fff;backdrop-filter:blur(22px)}.selection-caption{padding:0 22px 12px;display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#866c7a}.selection-caption #count{font-size:10px;letter-spacing:1px;white-space:nowrap;color:#aa8f9f}#presets{display:flex;gap:10px;overflow-x:auto;padding:1px 21px 6px;scrollbar-width:none;scroll-snap-type:x proximity}#presets::-webkit-scrollbar{display:none}.preset{flex:0 0 76px;border:1px solid #fff8;border-radius:18px;background:linear-gradient(145deg,#ffffff9c,#f8f1f85c);padding:5px 3px 8px;scroll-snap-align:center;position:relative;transition:background .15s,box-shadow .15s}.preset img{width:60px;height:58px;object-fit:contain;filter:drop-shadow(0 4px 3px #72555c24)}.preset span{display:block;font-size:10px;font-weight:600;white-space:nowrap;letter-spacing:-.2px;color:#8d7985}.preset[aria-pressed=true]{background:linear-gradient(155deg,#fff,#f8d1e2);border-color:#e29dbb;box-shadow:inset 0 0 0 2px #fff9,0 2px 5px #b66b8b26}.preset[aria-pressed=true] span{color:#a42c5e}.preset[aria-pressed=true]:after{content:'';position:absolute;width:4px;height:4px;right:9px;top:8px;border-radius:50%;background:#d93f80}.record-row{display:flex;align-items:center;justify-content:center;gap:37px;padding-top:12px}.record{width:74px;height:74px;border-radius:50%;padding:7px;box-shadow:0 3px 5px #6b435838,inset 0 0 0 2px #fefbff,inset 0 0 0 4px #a495a54d}.record>span{display:block;width:100%;height:100%;border-radius:50%;border:1px solid #c65d8b;background:radial-gradient(circle at 33% 20%,#ffe9f1 0,#f7afd0 23%,#e65395 53%,#c33574 100%);box-shadow:inset 0 3px 4px #fff9,0 1px 2px #a64778;transition:border-radius .2s,transform .2s}.record.active>span{border-radius:10px;transform:scale(.55);background:#e83771}.record-aside{width:85px;display:flex;align-items:center;gap:8px;color:#a18495;font-size:9px;letter-spacing:1px;line-height:1.5}.mini-spark{font-size:24px;color:#fff;text-shadow:0 1px 1px #bfa7b8}.record-aside.right{flex-direction:column;gap:3px;align-items:flex-start;padding-left:10px}#timer{font-size:14px;font-variant-numeric:tabular-nums;color:#826b79}#recordLabel{font-size:9px;letter-spacing:2px}.recording #recordLabel{color:#d83b75}.tray-footer{display:flex;justify-content:space-between;padding:11px 22px 0;color:#9a8492;font-size:8px;letter-spacing:1.4px}.tray-footer b{color:#b75a83}.edition{opacity:.7}#toast{position:absolute;z-index:10;bottom:calc(270px + var(--safe-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);padding:12px 18px;background:#fffef5ed;border:1px solid #fff;border-radius:20px;box-shadow:0 5px 20px #5d354620;text-align:center;font-size:13px;line-height:1.4;pointer-events:none}dialog{border:1px solid #fff;border-radius:26px;background:linear-gradient(140deg,#fff,#f9e4ee);padding:28px;max-width:370px;width:calc(100% - 36px);color:#624454;box-shadow:0 20px 90px #4b263c55}dialog::backdrop{background:#38253166;backdrop-filter:blur(8px)}dialog h2{font-size:27px;letter-spacing:-1px;margin:0 0 12px}dialog p{font-size:14px;line-height:1.5}dialog .eyebrow{font-size:10px}dialog video,dialog img{display:block;width:100%;max-height:48dvh;object-fit:contain;border-radius:15px;background:#251e24}.dialog-actions{display:flex;gap:10px;margin-top:21px}.dialog-actions button{flex:1;padding:12px 10px;border-radius:24px;font-size:14px;font-weight:600;border:1px solid #e6cdd9}.secondary{background:#fffc}.pink{background:linear-gradient(#f277aa,#d63b7a);color:white;border-color:#d53a76!important}.text-button{display:block;margin:16px auto 0;border:0;background:none;font-size:13px;color:#a17189}.active-camera #welcome{display:none}#app:not(.active-camera) #controls{pointer-events:auto}#app:not(.active-camera) .selection-caption{opacity:.6}@keyframes breathe{50%{filter:drop-shadow(0 0 8px #ffc2df);transform:translate(-50%,-50%) scale(.85)}}@media(min-width:600px){#app{max-width:480px;margin:auto;box-shadow:0 0 100px #9873833b}body{background:radial-gradient(ellipse at center,#fff4f8,#e3d2dd)}#welcome{top:calc(env(safe-area-inset-top,0px) + 110px)}}@media(max-height:740px){#welcome{top:85px}.intro-orbit{width:80px;height:67px;margin-bottom:10px}.intro-orbit img{width:80px;height:75px}.orbital-spark{font-size:32px}h1{font-size:35px}.intro-copy{margin:10px 0!important}.permission-note{margin-top:8px}#controls{padding-top:12px}.preset img{height:46px}.record-row{padding-top:7px}.record{width:62px;height:62px}.tray-footer{padding-top:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Camera controls should never become selected or trigger iOS image callouts. */
#app,#app *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app img{-webkit-user-drag:none}html,body{overscroll-behavior:none}
#trayToggle{display:flex;align-items:center;justify-content:center;position:absolute;top:-6px;left:calc(50% - 35px);width:70px;height:24px;border:0;background:transparent;touch-action:none}#trayToggle span{display:block;width:32px;height:4px;border-radius:4px;background:#a98c9f77;box-shadow:0 1px 0 #fff9}#controls{touch-action:pan-x}#presets{max-height:110px;opacity:1;transition:max-height .22s ease,opacity .18s,padding .22s;touch-action:pan-x}.tray-collapsed #presets{max-height:0;padding-top:0;padding-bottom:0;opacity:0;pointer-events:none;overflow:hidden}.tray-collapsed #toast{bottom:calc(165px + var(--safe-bottom))}
#generationStatus{position:absolute;z-index:6;left:50%;top:53%;transform:translateX(-50%);display:grid;grid-template-columns:22px 1fr;align-items:center;column-gap:8px;row-gap:10px;width:max-content;max-width:calc(100% - 40px);padding:12px 17px;background:linear-gradient(150deg,#fffef5ee,#f8e0eced);border:1px solid #fff;border-radius:20px;box-shadow:0 4px 24px #5e344533;font-size:14px;color:#82536a;pointer-events:none;backdrop-filter:blur(14px)}.loading-star{color:#d24685;font-size:23px;animation:loadingTwinkle 1.1s ease-in-out infinite}.loading-track{grid-column:1/-1;height:3px;overflow:hidden;border-radius:5px;background:#d8b7c866}.loading-track i{display:block;width:40%;height:100%;border-radius:5px;background:linear-gradient(90deg,transparent,#dc5891,#fff);animation:loadingSweep 1.3s ease-in-out infinite}@keyframes loadingTwinkle{50%{opacity:.5;transform:scale(.72) rotate(45deg)}}@keyframes loadingSweep{from{transform:translateX(-100%)}to{transform:translateX(350%)}}@media(prefers-reduced-motion:reduce){#presets{transition:none}.loading-star,.loading-track i{animation:none}.loading-track i{width:100%}}

#desktopWelcome{min-height:100dvh;height:100%;overflow:auto;display:grid;place-items:center;padding:36px 24px;background:radial-gradient(ellipse at 50% 35%,#fff7fb,#f3dce8 65%,#e2d8e8)}.desktop-card{text-align:center;max-width:660px}.desktop-brand{font-size:25px;font-weight:900;font-style:italic;letter-spacing:-1.5px;margin:0 0 28px}.desktop-icon{display:block;width:156px;height:156px;border-radius:36px;margin:0 auto 30px;box-shadow:0 16px 45px #ae487c26}.desktop-card h1{font-size:clamp(42px,6vw,70px);line-height:1.02;letter-spacing:-3px;margin:18px 0 22px}.desktop-card h1 em{font-style:italic;color:#cf3676}.desktop-copy{font-size:17px;line-height:1.65;color:#806372}.desktop-card .start{margin:20px auto 0}.desktop-address{color:#9a7d8c;font-size:14px;letter-spacing:2px;margin-top:20px}

#soundToggle{border:0;background:transparent;font:inherit;letter-spacing:inherit;color:inherit;padding:8px 0 8px 12px;min-height:36px;touch-action:manipulation}

.brand-swap{font-weight:900}.brand-all{font-weight:500;color:#dc669b}.intro-orbit img{width:105px;height:105px;border-radius:26px;transform:rotate(-7deg)}#toast{bottom:calc(var(--controls-height,300px) + 12px);max-height:calc(100dvh - var(--controls-height,300px) - 120px);overflow:hidden;font-size:12px;padding:10px 14px}#generationStatus{top:calc(env(safe-area-inset-top,0px) + 115px);bottom:auto;max-width:calc(100% - 40px);font-size:12px;pointer-events:none}.loading-track{display:none}.loading-star{animation:glam-shimmer 1.7s ease-in-out infinite}@keyframes glam-shimmer{0%,100%{opacity:.5;filter:drop-shadow(0 0 1px white)}50%{opacity:1;filter:drop-shadow(0 0 6px #ff91c7)}}
.mobile-qr{width:264px;margin:26px auto 12px;padding:16px;background:#fff;border:1px solid #fff;border-radius:28px;box-shadow:0 10px 35px #b64a7c20}.mobile-qr img{display:block;width:232px;height:232px}.mobile-qr figcaption{margin:10px 0 2px;color:#593449;font-size:15px;line-height:1.6}.mobile-qr figcaption span{font-size:12px;color:#947786}.desktop-explainer{max-width:580px;border-top:1px solid #d7b9ca;padding-top:20px;margin:32px auto 10px;color:#806372;font-size:15px;line-height:1.7}.desktop-explainer h2{font-size:23px;color:#593449;letter-spacing:-.5px}.desktop-icon{width:124px;height:124px;margin-bottom:20px}

/* Device selection is synchronous in the head: never paint the desktop QR on phones. */
#app:not(.active-camera) #controls{display:none}#welcome{bottom:0;overflow-y:auto;padding-bottom:24px}#welcome .permission-note br{display:block}
html[data-device=mobile] #desktopWelcome{display:none!important}html[data-device=mobile] #app[hidden]{display:block!important}
#presetCategories{display:flex;gap:7px;padding:0 16px 10px;overflow-x:auto;scrollbar-width:none}#presetCategories::-webkit-scrollbar{display:none}#presetCategories button{flex:1;white-space:nowrap;border:1px solid #fff9;border-radius:999px;padding:7px 10px;background:#ffffff45;color:#806474;font-size:12px;font-weight:600;min-height:32px}#presetCategories button[aria-selected=true]{color:#9d215a;background:linear-gradient(160deg,#fff,#ffd9e9);border-color:#efa7c7;box-shadow:0 2px 7px #a032671b}.tray-collapsed #presetCategories{display:none}.tray-collapsed #toast{bottom:calc(var(--controls-height,180px) + 12px)}
@media(min-width:900px){.desktop-card{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:70px;max-width:1000px;width:100%}.desktop-brand{grid-column:1;grid-row:1;margin-bottom:18px}.desktop-icon{grid-column:1;grid-row:2;width:108px;height:108px;margin-bottom:12px}.desktop-card>.eyebrow{grid-column:1;grid-row:3}.desktop-card>h1{grid-column:1;grid-row:4;font-size:60px;margin:12px 0}.desktop-copy{grid-column:1;grid-row:5}.mobile-qr{grid-column:2;grid-row:2 / 6;align-self:center;margin:0 auto}.desktop-address{grid-column:2;grid-row:6;margin:0}.desktop-explainer{grid-column:1 / -1;grid-row:7;max-width:900px;margin-top:24px}}
@media(max-width:899px) and (max-height:800px){#desktopWelcome{padding-top:22px}.desktop-brand{margin-bottom:16px}.desktop-icon{width:80px;height:80px;margin-bottom:12px;border-radius:22px}.desktop-card h1{font-size:44px;margin:12px 0}.desktop-copy{font-size:15px;line-height:1.5}.mobile-qr{width:232px;margin-top:18px}.mobile-qr img{width:200px;height:200px}}
@media(max-height:740px){.intro-orbit img{width:70px;height:70px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.loading-star{animation:none}}

/* One steady guidance line; the outline means both selection and depth passed. */
#trackingBadge,#generationStatus,#toast{display:none!important}.selection-caption{align-items:center;min-height:46px}#actionHint{line-height:1.4;max-width:290px}#halo{border-radius:22px;border:1px solid #fff9;box-shadow:0 0 16px #fff4;transition:opacity .18s,border-color .18s,box-shadow .18s}#viewfinder.target-candidate #halo{opacity:.7;border-style:dashed}.target-confirm{position:absolute;right:-12px;top:-12px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #fff;border-radius:50%;background:linear-gradient(145deg,#fff,#ffd6e7);color:#c82b71;font-size:20px;opacity:0;box-shadow:0 2px 10px #8a36513d}#viewfinder.target-ready #halo{border:2px solid #ffb5d8;box-shadow:0 0 0 1px #fff9,0 0 22px #f287bb6b,inset 0 0 16px #fff2;opacity:1}#viewfinder.target-ready .target-confirm{opacity:1}#viewfinder.target-ready .reticle i{border-color:#ffd3e8}#viewfinder.target-ready .reticle b{background:#ffd0e5;box-shadow:0 0 7px #fff}#app[data-guidance=ready] #actionHint{color:#a32860;font-weight:600}#app[data-guidance=processing] #actionHint{color:#a32860}#app[data-guidance=processing] #actionHint:before{content:'✦';display:inline-block;margin-right:7px;animation:glam-shimmer 1.7s ease-in-out infinite}#app[data-guidance=notice] #actionHint{color:#8b3f5c}

/* Compact inspiration fills the welcome screen without floating over Start. */
#welcome{display:flex;flex-direction:column;align-items:center;gap:0}#welcome>*{flex-shrink:0}#welcome .start{align-self:center}.welcome-discover{width:100%;max-width:330px;margin-top:auto;padding-top:24px}.welcome-discover .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:10px}.welcome-examples{display:flex;justify-content:center;gap:12px;margin-bottom:12px}.welcome-examples>div{flex:1;max-width:96px;border:1px solid #fff9;border-radius:20px;background:linear-gradient(145deg,#ffffffa8,#f8dce85c);padding:8px 4px 10px;box-shadow:0 5px 20px #8e567510}.welcome-examples img{display:block;max-width:100%;margin:auto}.welcome-examples span{font-size:10px;font-weight:600;color:#967181}.effects-toggle,#soundToggle{border:1px solid #ffffffb3;border-radius:24px;background:#fff8;min-height:40px;padding:8px 14px;color:#965578;font-size:11px;font-weight:600;letter-spacing:.2px;touch-action:manipulation}.effects-toggle[aria-pressed=false],#soundToggle[aria-pressed=false]{color:#786f77;background:#eee8ef99}.tray-footer{align-items:center}@media(max-height:640px){.welcome-discover{padding-top:14px}.welcome-examples img{width:48px;height:48px}}
