@font-face{font-family:Living;src:local('Helvetica Neue');font-display:swap}
:root{--paper:#f7f6f2;--ink:#26252c;--muted:#6d6b79;--line:#24203219;--violet:#7762cf;--glass:#ffffffa6;--glow:#d8cdf9;--accent:#a68ee9;color-scheme:light;font-family:Living,Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper);transition:background 1.4s,color 1.4s}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{touch-action:manipulation}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--violet);outline-offset:5px}button{min-width:44px;min-height:44px}button,a{user-select:none}p,h1,h2,h3{margin:0}button{border:0;background:none}a:hover{color:var(--violet)}[hidden]{display:none!important}.enhanced{display:none}.ready .enhanced{display:flex}.skip-link{position:fixed;top:-80px;left:12px;z-index:99;padding:14px;background:var(--paper)}.skip-link:focus{top:12px}
.atmosphere{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;background:radial-gradient(ellipse at 55% 45%,#e8dff543,transparent 65%)}.aurora{position:absolute;width:80vw;height:65vh;left:10%;top:15%;background:radial-gradient(ellipse,var(--glow),transparent 66%);opacity:.28;transform:translate(calc(var(--px,0px) * .04),calc(var(--py,0px) * .04));transition:background 2s}.dust{position:absolute;inset:0;opacity:.38;background-image:radial-gradient(circle,#b4a6d2 1px,transparent 1.6px),radial-gradient(circle,#b4a6d2 1px,transparent 1.6px);background-size:151px 193px,227px 311px;background-position:20px 80px,90px 50px;mask-image:radial-gradient(ellipse at center,#000,transparent 72%)}
.identity{position:relative;z-index:2;max-width:1600px;margin:auto;padding:26px 4.5vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.person{display:flex;align-items:center;gap:15px}.person .family-photo-open{width:64px;height:64px;flex-basis:64px;border:4px solid var(--glass);box-shadow:0 3px 20px #3425450c}.family-photo-open img{width:100%;height:100%;object-fit:cover;border-radius:50%}.person .family-photo-open>span{background:var(--ink);border-color:var(--paper)}.person-name{font-size:19px;letter-spacing:-.5px;font-weight:600;min-height:30px;display:flex;align-items:center}.person p{font-size:12px;color:var(--muted);line-height:1.5}.person p a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);gap:4px}.coframe-mark{display:flex;align-items:center;gap:9px;min-height:44px;font-weight:600;font-size:25px;letter-spacing:-1.1px}.coframe-mark>span:last-child{font-size:15px;font-weight:400;margin-left:8px;color:var(--muted)}.coframe-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--ink);color:var(--paper);font-size:28px;line-height:1;font-weight:500;padding-bottom:5px}
main{position:relative;z-index:1}.living-world{max-width:1800px;margin:auto}.intro{text-align:center;padding:20px 24px 0;position:relative;z-index:1}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:9px}.live-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:#9682d4;box-shadow:0 0 0 4px #9781d510;flex-shrink:0}.intro h1{font-size:clamp(44px,5.3vw,76px);font-weight:450;letter-spacing:-4px;line-height:1.03;margin:22px 0 19px}.intro h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-4px;color:var(--violet)}.invitation{font-size:14px;line-height:1.7;color:var(--muted);max-width:430px;margin:auto}
.orbit{position:relative;height:390px;width:100%;overflow:hidden;touch-action:pan-y;isolation:isolate;outline-offset:-8px!important}.orbit-glow{position:absolute;bottom:23px;left:10%;width:80%;height:200px;border-radius:50%;background:radial-gradient(ellipse,#d2c0ed42,transparent 67%);filter:blur(10px);transition:background 1s}.tracks{position:absolute;width:110%;height:100%;left:-5%;top:33px;fill:none;stroke:var(--line);stroke-width:.7}.tracks ellipse:nth-child(2){stroke-dasharray:2 9;opacity:.55}.tracks path{opacity:.2}.orbit-word{position:absolute;top:72%;font-size:12px;letter-spacing:3px;color:var(--muted);opacity:.5}.orbit-word-left{left:5.5%}.orbit-word-right{right:5.5%}.pet-track{position:absolute;inset:0}.pet{--x:0px;--y:0px;--scale:1;position:absolute;left:50%;top:25px;width:270px;height:290px;margin-left:-135px;padding:0;border:0;transform:translate(var(--x),var(--y)) scale(var(--scale));transition:transform 850ms cubic-bezier(.2,.75,.2,1),opacity 700ms,filter 600ms;transform-origin:50% 75%;z-index:var(--z);opacity:var(--opacity,1);will-change:transform;touch-action:pan-y}.pet::before{content:'';position:absolute;bottom:22px;left:23%;width:54%;height:17px;filter:blur(9px);background:#42364930;border-radius:50%;transform:scaleX(.8);transition:all .5s}.pet-art{display:block;position:relative;width:100%;height:270px;animation:bob 5s ease-in-out infinite;animation-delay:var(--delay,0s);transform-origin:50% 80%}.sprite{display:block;width:100%;height:100%;background-image:var(--atlas);background-size:300% 200%;background-position:var(--sx) var(--sy);background-repeat:no-repeat;pointer-events:none}.pet-name{display:block;font-size:12px;letter-spacing:.2px;line-height:20px;color:var(--muted);opacity:.6;transition:opacity .5s}.pet[data-center=true] .pet-name{color:var(--ink);opacity:1}.pet[data-center=true] .pet-art{filter:drop-shadow(0 4px 16px #b194dd1a)}.pet.selected .pet-art{animation:hello 900ms cubic-bezier(.2,.7,.2,1) both}.pet.selected::before{width:70%;left:15%;background:#b294db63}.pet.selected .pet-name{color:var(--violet)}.pet:focus-visible{outline-offset:0;border-radius:35%}.static-pet{width:300px;height:330px;margin:20px auto;text-align:center;font-size:12px}.static-pet .sprite{height:300px}.emote{position:absolute;z-index:30;left:50%;bottom:5px;transform:translate(-50%,8px);max-width:calc(100% - 60px);width:max-content;border:1px solid var(--line);border-radius:40px;padding:10px 17px;background:var(--glass);backdrop-filter:blur(16px);font-size:12px;line-height:1.5;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;text-align:center}.emote.show{opacity:1;transform:translate(-50%,0)}.orbit-arrow{position:absolute;z-index:35;top:48%;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--glass);backdrop-filter:blur(14px);align-items:center;justify-content:center;font-size:20px;transition:background .2s,transform .2s}.orbit-arrow:hover{background:var(--paper);transform:scale(1.06)}.previous{left:4.5%}.next{right:4.5%}
.discovery{text-align:center;padding:12px 20px 22px;min-height:151px}.taste-line{display:flex;align-items:center;justify-content:center;gap:9px;min-height:28px}.taste-line p{font:italic 23px/1.35 Georgia,serif;letter-spacing:-.5px}.taste-spark{color:var(--violet);font-size:25px}.why{font-size:12px;color:var(--muted);margin:8px auto 5px;line-height:1.7;max-width:500px}.world-controls{align-items:center;justify-content:center;gap:12px;margin-top:9px}.world-controls button{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);padding:0 8px}.world-controls button:hover{color:var(--violet)}.world-controls button span{font-size:17px}.control-divider{height:12px;width:1px;background:var(--line)}.world-footer{position:relative;z-index:2;max-width:1470px;margin:0 auto;padding:12px 4.5vw;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line)}.quiet-button{align-items:center;justify-content:center;gap:8px;font-size:12px;min-height:44px;padding:0 2px}.quiet-button:hover{color:var(--violet)}.footer-left{flex-direction:column;align-items:flex-start}.footer-left .quiet-button{display:flex;min-height:44px}.footer-note{font-size:12px;color:var(--muted)}.world-footer nav{display:flex;gap:25px}.world-footer nav a{min-width:44px;min-height:44px;display:flex;align-items:center;gap:8px;font-size:12px}.world-footer nav a span{color:var(--muted);font-size:12px}#ambience-open{min-width:140px;justify-content:flex-end}.dedication{position:relative;text-align:center;color:var(--muted);font:italic 12px Georgia,serif;padding:14px 20px 20px;opacity:.7}.no-script{font-size:12px;color:var(--muted);max-width:400px;margin:15px auto}
.sheet{width:min(530px,calc(100vw - 24px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:25px;background:var(--paper);color:var(--ink);padding:24px 30px 30px;box-shadow:0 20px 100px #1a152933;overscroll-behavior:contain}.sheet::backdrop{background:#17112765;backdrop-filter:blur(15px)}.sheet-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sheet-heading .eyebrow{font-size:12px;letter-spacing:1.6px}.sheet-heading button{font-size:27px;border-radius:50%;background:var(--line);width:44px}.sheet h2{font-size:35px;letter-spacing:-1.5px;line-height:1.12;font-weight:450;margin-bottom:16px}.sheet>p,.sheet details p{font-size:13px;line-height:1.75;color:var(--muted);margin:12px 0}.sheet h3{font-size:12px;margin:25px 0 14px;font-weight:600}.model-summary{display:flex;border-block:1px solid var(--line);padding:18px 0;gap:24px;margin:22px 0}.model-summary span{font-size:12px;color:var(--muted);flex:1}.model-summary strong{display:block;font-size:22px;font-weight:500;color:var(--ink);margin-bottom:6px}.interest-bars{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}.interest-bars p{grid-column:1/-1;font-size:12px;color:var(--muted)}.interest-bar{font-size:12px;display:grid;gap:7px}.interest-bar i{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.interest-bar i span{display:block;height:100%;background:var(--accent);width:var(--strength)}.recommendations{display:flex;gap:10px}.recommendation{flex:1;min-width:0;border:1px solid var(--line);border-radius:16px;padding:8px 8px 12px;text-align:center}.recommendation .sprite{height:auto;aspect-ratio:1}.recommendation p{font-size:12px}.recommendation small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.sheet details{border-block:1px solid var(--line);margin-top:25px}.sheet summary{font-size:12px;cursor:pointer;padding:16px 0;min-height:44px}.sheet .privacy-note{font-size:12px;line-height:1.8}.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;border-radius:12px;padding:14px 18px;background:var(--ink);color:var(--paper);font-size:12px;margin-top:20px}.theme-choices{display:flex;gap:8px;margin:24px 0}.theme-choices button{flex:1;border:1px solid var(--line);border-radius:12px;font-size:12px}.theme-choices button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.city-search{display:flex;gap:8px;margin-top:10px}.city-search input{width:100%;min-width:0;border:1px solid var(--line);background:var(--glass);border-radius:10px;padding:12px;color:var(--ink);font-size:16px}.city-search button{flex-shrink:0;background:var(--ink);color:var(--paper);border-radius:10px;padding:0 15px;font-size:12px}.sheet label{font-size:12px}.city-results{display:grid;gap:8px}.city-results button{text-align:left;border:1px solid var(--line);border-radius:9px;padding:12px;font-size:12px}.privacy-note a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
body[data-light=night]{--paper:#141322;--ink:#eeecf6;--muted:#aaa5bc;--line:#eeebff1a;--violet:#b4a0ee;--glass:#242137bc;--glow:#6e54a5;--accent:#af95ed;color-scheme:dark}.night .tracks{opacity:.5}body[data-weather=rain] .dust{background-image:linear-gradient(115deg,transparent 47%,#ada2d244 49%,#ada2d244 50%,transparent 52%);background-size:40px 110px;animation:rain 2s linear infinite;opacity:.3}body[data-weather=snow] .dust{background-size:85px 101px,133px 151px;opacity:.6;animation:snow 15s linear infinite}body[data-weather=cloud] .aurora{opacity:.55;--glow:#b8bed2}body[data-weather=sun] .aurora{--glow:#e8cb9f}body[data-paused=true] .pet-art{animation-play-state:paused}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-9px) rotate(1.5deg)}}@keyframes hello{0%{transform:scale(1)}35%{transform:translateY(-22px) scale(1.15) rotate(-5deg)}60%{transform:translateY(-15px) scale(1.13) rotate(5deg)}100%{transform:translateY(-12px) scale(1.1)}}@keyframes rain{to{background-position:40px 110px}}@keyframes snow{to{background-position:85px 282px,223px 352px}}
@media(min-width:1600px){.intro{padding-top:35px}.orbit{height:430px}.pet{top:40px}.discovery{padding-bottom:28px}}
@media(max-width:760px){.identity{padding:18px 22px 10px}.coframe-mark{font-size:20px;gap:6px}.coframe-mark>span:last-child{display:none}.coframe-icon{width:26px;height:26px;font-size:22px;border-radius:7px}.person .family-photo-open{width:54px;height:54px;flex-basis:54px}.person{gap:11px}.person-name{font-size:17px}.person p{font-size:12px;max-width:200px}.intro{padding-top:26px}.intro h1{font-size:57px;letter-spacing:-3px;margin:20px 0 14px}.intro h1 em{letter-spacing:-3px}.invitation{font-size:12px;max-width:300px}.orbit{height:355px}.pet{width:240px;height:260px;margin-left:-120px;top:34px}.pet-art{height:240px}.tracks{width:190%;left:-45%;top:20px}.orbit-word{display:none}.orbit-arrow{top:49%;width:44px;height:44px}.previous{left:16px}.next{right:16px}.emote{font-size:12px;bottom:7px;padding:9px 13px;max-width:calc(100% - 32px)}.taste-line p{font-size:20px;max-width:300px}.why{font-size:12px;max-width:320px}.discovery{padding:9px 20px 18px;min-height:143px}.world-footer{padding:10px 22px;flex-wrap:wrap;gap:8px}.footer-left{order:0;flex:1}.world-footer nav{gap:18px;order:1}#ambience-open{order:2;width:100%;justify-content:center;min-height:44px}.footer-note{font-size:12px}.dedication{padding-top:5px}.sheet{padding:20px 22px 24px}.sheet h2{font-size:32px}}
@media(max-width:420px){.coframe-mark{display:none}.identity{padding:15px 20px 5px}.person p{max-width:none}.intro{padding-top:18px}.intro h1{font-size:51px;line-height:1.04;margin:17px 0 12px}.eyebrow{font-size:12px;letter-spacing:1.7px}.orbit{height:320px}.pet{top:15px}.tracks{top:7px}.invitation{font-size:12px;max-width:270px}.discovery{min-height:142px}.emote{bottom:3px}.world-footer{padding:9px 20px}.footer-left .quiet-button{font-size:12px}.world-controls{margin-top:3px}.taste-line p{font-size:19px}.taste-line{gap:6px}}
@media(max-height:600px) and (min-width:600px){.identity{padding-top:10px;padding-bottom:4px}.intro{padding-top:10px}.intro h1{font-size:40px;margin:12px 0}.intro h1 br{display:none}.intro h1 em{margin-left:8px;letter-spacing:-2px}.orbit{height:310px}.pet{top:0}.discovery{padding-top:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pet.selected .pet-art{transform:scale(1.07)}.aurora{transform:none}.pet{will-change:auto}}

/* Keep primary instructions and repeated controls comfortably readable. */
.invitation{font-size:16px;max-width:480px}.world-controls button,.world-footer nav a{font-size:14px}.why{font-size:13px}.pet[data-center=true] .pet-name{font-size:13px}.sheet>p,.sheet details p{font-size:14px}.sheet h3,.sheet summary,.sheet label{font-size:14px}.person p{font-size:12px}.person p a{min-height:44px}
@media(max-width:760px){.invitation{font-size:14px;max-width:320px}.why{font-size:12px}.intro .eyebrow{font-size:10px;letter-spacing:1.4px}.person p{font-size:12px}.person p{max-width:none}.world-footer nav{gap:15px}}

/* Respond in the first frame, then settle quickly. Never intercept a gesture. */
.interaction-feedback{position:fixed;z-index:1000;width:32px;height:32px;margin:-16px 0 0 -16px;border:2px solid var(--violet);border-radius:50%;pointer-events:none;box-shadow:0 0 24px #ad8feb55;animation:touch-bloom .6s ease-out forwards}
.interaction-feedback::after{content:'';position:absolute;inset:10px;border-radius:50%;background:var(--accent);box-shadow:0 -30px 0 -1px var(--accent),30px 0 0 -1px var(--accent),0 30px 0 -1px var(--accent),-30px 0 0 -1px var(--accent)}
.atmosphere::after{content:'';position:absolute;inset:0;background:radial-gradient(180px circle at var(--touch-x,50%) var(--touch-y,50%),#a78bea35,transparent 75%);opacity:.9}
.orbit-glow{transform:translateY(var(--scroll-light,0px));filter:blur(10px) hue-rotate(var(--scroll-hue,0deg))}
.pet-track{transform:translateX(var(--drag-x,0px));transition:transform 260ms cubic-bezier(.2,.8,.2,1)}
.is-dragging .pet-track,.is-sizing .pet{transition:none}
.is-dragging{cursor:grabbing}.is-dragging .pet-art{animation-play-state:paused}
.pet{transition:transform 320ms cubic-bezier(.2,.8,.2,1),opacity 220ms,filter 180ms}
.pet .sprite{transition:transform 100ms ease-out,filter 100ms ease-out;transform:rotate(var(--look,0deg))}
.pet:active .sprite{transform:scale(.94);filter:brightness(1.1)}
button:not(.pet):active,a:active{translate:0 1px;filter:brightness(1.15)}
@media(hover:hover){.pet:hover .sprite{transform:translateY(-7px) scale(1.045);filter:brightness(1.06)}button:not(.pet):hover{background-color:var(--line)}}
@keyframes touch-bloom{0%{opacity:.95;transform:scale(.55)}100%{opacity:0;transform:scale(2.8)}}

/* Let the available screen height set the stage, including browser toolbars. */
body{min-width:0}.identity,.world-footer{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.identity{padding-top:max(16px,env(safe-area-inset-top))}.dedication{padding-bottom:max(16px,env(safe-area-inset-bottom))}
.orbit{--pet-size:clamp(190px,30svh,270px);height:clamp(270px,43svh,410px)}
.pet{width:var(--pet-size);height:calc(var(--pet-size) + 20px);margin-left:calc(var(--pet-size) / -2);top:50%;margin-top:calc(var(--pet-size) / -2 - 20px)}
.pet-art{height:var(--pet-size)}.static-pet{max-width:100%}.person{min-width:0}.person>div{min-width:0}.sheet-heading button{flex-shrink:0}.sheet{padding-bottom:max(24px,env(safe-area-inset-bottom))}
@media(max-width:760px){.intro{padding-top:clamp(8px,2svh,20px)}.intro h1{font-size:clamp(36px,12vw,57px);margin:12px 0}.intro h1,.intro h1 em{letter-spacing:-2px}.identity{padding-bottom:0}.person-name{min-height:24px}.discovery{padding-top:4px;min-height:130px}.world-footer{gap:4px 12px}.footer-note{max-width:160px}.emote{font-size:12px}.sheet{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.recommendation small{overflow-wrap:anywhere}}
@media(max-width:360px){.identity{padding-inline:14px}.person{gap:8px}.person p{font-size:11px}.world-footer{padding-inline:14px}.world-footer nav{gap:10px}.footer-note{max-width:135px}.intro .eyebrow{font-size:9px;letter-spacing:1px}.city-search{flex-wrap:wrap}.city-search button{width:100%;min-height:44px}}
@media(max-height:540px) and (min-width:600px){.living-world{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);align-items:center}.intro{grid-column:1;grid-row:1 / 3;padding:10px 12px 10px 24px}.intro h1{font-size:clamp(34px,5vw,48px)}.intro h1 br{display:block}.intro h1 em{margin:0}.intro .eyebrow{font-size:10px}.invitation{font-size:13px}.orbit{grid-column:2;--pet-size:clamp(170px,45svh,240px);height:clamp(225px,62svh,300px)}.discovery{grid-column:2;padding-bottom:8px;min-height:110px}.why{margin:3px auto}.world-controls{margin-top:0}.world-footer{padding-block:4px}.identity{padding-bottom:0}.orbit-word{display:none}}
@media(prefers-reduced-motion:reduce){.interaction-feedback{animation:none;box-shadow:none}.interaction-feedback::after{display:none}.pet .sprite,.pet:hover .sprite,.pet:active .sprite{transform:none}.pet-track{transform:none}.orbit-glow{transform:none;filter:blur(10px)}.atmosphere::after{display:none}button:not(.pet):active,a:active{translate:none}}

/* Mobile-first gallery tuning: the creatures should feel jewel-like, not poster-sized. */
/* Foreground and background switch together: interpolating across light/dark
   makes text unreadable midway through the transition. */
body{color:var(--ink);min-height:100svh;transition:none}body[data-light=night] .tracks{opacity:.5}
.orbit{--pet-size:clamp(180px,18vw,235px);height:clamp(300px,34svh,380px)}
@media(min-width:1600px){.orbit{--pet-size:235px;height:390px}}
.orbit-glow{opacity:calc(.7 + var(--scroll-flare,0) * .25);transform:translateY(var(--scroll-light,0px)) scale(calc(1 + var(--scroll-flare,0) * .08))}
.orbit::after{content:'';position:absolute;inset:8px 12px;border-radius:28px;border:1px solid transparent;box-shadow:inset 0 0 0 1px #fff0,0 0 0 0 #ad8feb00;opacity:0;pointer-events:none;transition:opacity .18s,box-shadow .18s}
body.is-pressing .orbit::after,body.is-scrolling .orbit::after{opacity:1;box-shadow:inset 0 0 0 1px #a68ee947,0 0 44px #ad8feb24}
.interaction-feedback{width:80px;height:80px;margin:-40px 0 0 -40px;border-width:3px;box-shadow:0 0 0 10px #ad8feb1f,0 0 60px #ad8feb66;background:radial-gradient(circle,#a68ee947,transparent 58%);animation:touch-bloom .62s cubic-bezier(.12,.82,.22,1) forwards}
.interaction-feedback::after{inset:31px;box-shadow:0 -70px 0 -3px var(--accent),50px -50px 0 -4px var(--violet),70px 0 0 -3px var(--accent),50px 50px 0 -4px var(--violet),0 70px 0 -3px var(--accent),-50px 50px 0 -4px var(--violet),-70px 0 0 -3px var(--accent),-50px -50px 0 -4px var(--violet)}
@keyframes touch-bloom{0%{opacity:.98;transform:scale(.38)}45%{opacity:.9;transform:scale(1.55)}100%{opacity:0;transform:scale(2.7)}}
button:not(.pet):focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 8px #ad8feb26,0 0 38px #ad8feb33}
@media(hover:hover){.pet:hover .sprite{transform:translateY(-10px) scale(1.08) rotate(var(--look,0deg));filter:brightness(1.12) saturate(1.08) drop-shadow(0 12px 18px #ad8feb28)}button:not(.pet):hover,a:hover,summary:hover{box-shadow:0 0 0 8px #ad8feb1a,0 0 34px #ad8feb24}.orbit-arrow:hover{transform:scale(1.12)}}
@media(max-width:760px){.identity{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:0}.intro{padding-top:clamp(6px,1.5svh,14px)}.intro h1{font-size:clamp(40px,11vw,46px);line-height:1.03;margin:9px 0 10px}.intro h1,.intro h1 em{letter-spacing:-1.5px}.invitation{font-size:14px;line-height:1.55;max-width:330px}.orbit{--pet-size:clamp(98px,31vw,124px);height:clamp(205px,30svh,245px);margin-top:2px}.pet{margin-top:calc(var(--pet-size) / -2 - 8px)}.pet::before{bottom:16px;height:11px;filter:blur(6px)}.pet-name{font-size:14px;line-height:21px}.pet[data-center=true] .pet-name{font-size:14px}.tracks{top:-12px;width:145%;left:-22.5%}.orbit-glow{bottom:5px;height:128px}.orbit-arrow{top:18px;width:48px;height:48px;font-size:21px}.previous{left:max(10px,env(safe-area-inset-left))}.next{right:max(10px,env(safe-area-inset-right))}.emote{bottom:0}.discovery{padding-top:6px;min-height:126px}.taste-line p{font-size:20px;max-width:330px}.world-controls{gap:10px;margin-top:8px}.world-controls button{border:1px solid var(--line);border-radius:999px;background:var(--glass);padding:0 13px}.control-divider{display:none}.static-pet{width:145px;height:176px;margin:12px auto}.static-pet .sprite{height:145px}}
@media(max-width:360px){.intro h1{font-size:36px}.orbit{--pet-size:clamp(98px,31vw,112px);height:200px}.world-controls button{padding:0 10px;font-size:13px}.taste-line p{font-size:18px}.static-pet{width:136px;height:166px}.static-pet .sprite{height:136px}}
@media(max-height:540px) and (min-width:600px){.orbit{--pet-size:clamp(96px,28svh,118px);height:clamp(190px,48svh,220px)}.pet{margin-top:calc(var(--pet-size) / -2 - 8px)}.discovery{min-height:96px}.taste-line p{font-size:18px}.world-controls button{border:1px solid var(--line);border-radius:999px;background:var(--glass);padding:0 12px}.control-divider{display:none}.orbit-glow{bottom:4px;height:112px}.tracks{top:-20px}}
@media(prefers-reduced-motion:reduce){.orbit-glow{transform:none;filter:blur(10px)}.pet:hover .sprite,.pet:active .sprite{transform:none}.orbit-arrow:hover{transform:none}.interaction-feedback{width:156px;height:156px;margin:-78px 0 0 -78px;opacity:.85;background:radial-gradient(circle,#ad8feb29,transparent 62%);border-color:var(--violet);box-shadow:0 0 0 8px #ad8feb1f}body.is-pressing .orbit::after,body.is-scrolling .orbit::after{box-shadow:inset 0 0 0 2px #a68ee957}}
