:root {
  color-scheme: dark;
  --ink: #f7f2e9;
  --ink-dark: #382f29;
  --muted: #bcb4aa;
  --muted-dark: #7a7067;
  --paper: #fff9ef;
  --ground: #171914;
  --surface: #22251e;
  --surface-2: #2a2d25;
  --moss: #829379;
  --moss-dark: #61705a;
  --sensor: #9ed4ca;
  --sensor-bright: #c8f3ea;
  --sensor-soft: rgba(158, 212, 202, .16);
  --amber: #c49a5c;
  --line: rgba(241, 236, 226, .14);
  --dark-line: rgba(56, 47, 41, .14);
  --shadow: rgba(0, 0, 0, .38);
  --app-viewport-height: 100dvh;
  font-family: "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  background: #0d0f0c;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; overscroll-behavior: none; background: #0d0f0c; }
body { color: var(--ink); }
button { color: inherit; font: inherit; -webkit-tap-highlight-color: transparent; }
button:focus-visible { outline: 2px solid var(--sensor); outline-offset: 2px; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.app-shell {
  position: relative;
  width: min(100%, 430px);
  min-height: 100dvh;
  margin: 0 auto;
  overflow: hidden;
  background: var(--ground);
  box-shadow: 0 0 70px rgba(0, 0, 0, .55);
  isolation: isolate;
}
.app-main { min-height: 100dvh; }
.app-shell.is-paused *, .app-shell.is-paused *::before, .app-shell.is-paused *::after { animation-play-state: paused !important; }
.view { display: none; min-height: 100dvh; padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
.view.is-active { display: flex; flex-direction: column; animation: view-arrive .56s cubic-bezier(.18,.82,.28,1) both; }

.boot-screen {
  position: absolute;
  z-index: 100;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 18px;
  background: radial-gradient(circle at 50% 42%, #2e392f, #12140f 58%);
  transition: opacity .5s ease, visibility .5s ease;
}
.app-shell:not(.is-loading) .boot-screen { opacity: 0; visibility: hidden; pointer-events: none; }
.boot-screen p { margin: 0; color: var(--muted); font-size: 12px; letter-spacing: .12em; }
.boot-orbit { position: relative; width: 72px; height: 72px; border: 1px solid rgba(158,212,202,.25); border-radius: 50%; }
.boot-orbit::before, .boot-orbit::after { content: ""; position: absolute; border: 1px solid rgba(158,212,202,.18); border-radius: 50%; }
.boot-orbit::before { inset: 10px; }.boot-orbit::after { inset: 21px; }
.boot-orbit span { position: absolute; inset: 50% auto auto 50%; width: 9px; height: 9px; border-radius: 50%; background: var(--sensor); box-shadow: 0 0 22px var(--sensor); transform: translate(-50%,-50%); }
.boot-orbit i { position: absolute; inset: -1px; border: 1px solid transparent; border-top-color: var(--sensor-bright); border-radius: 50%; animation: spin 1.8s linear infinite; }

.home-stage { position: relative; min-height: 625px; flex: 1; overflow: hidden; background: #72513e; }
.home-stage-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; opacity:1; filter: saturate(.9) contrast(1.02) brightness(.74); transform: translate3d(var(--look-x,0),var(--look-y,0),0) scale(1.055); transition: filter .7s ease, transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .42s ease; will-change: transform; }
.home-stage.is-switching-room .home-stage-image{opacity:.18;transform:translate3d(var(--look-x,0),var(--look-y,0),0) scale(1.1)}
.home-stage.is-evening .home-stage-image { filter: saturate(.66) contrast(1.05) brightness(.5) hue-rotate(10deg); transform: translate3d(var(--look-x,0),var(--look-y,0),0) scale(1.08); }
.living-light { position: absolute; z-index: 1; width: 76%; aspect-ratio: 1; left: -24%; top: 5%; border-radius: 50%; opacity: .36; background: radial-gradient(circle,rgba(255,225,171,.52),rgba(238,198,137,.12) 42%,transparent 68%); mix-blend-mode: screen; filter: blur(10px); animation: light-wander 13s ease-in-out infinite alternate; pointer-events: none; will-change: transform,opacity; }
.ambient-motes { position: absolute; z-index: 2; inset: 14% 4% 23%; overflow: hidden; pointer-events: none; }
.ambient-motes i { position: absolute; bottom: -14px; width: 3px; height: 3px; border-radius: 50%; background: rgba(255,238,201,.8); box-shadow: 0 0 9px rgba(255,221,160,.8); animation: mote-rise 8s linear infinite; }
.ambient-motes i:nth-child(1){left:8%;animation-delay:-2.1s;animation-duration:9s}.ambient-motes i:nth-child(2){left:19%;animation-delay:-6.4s;animation-duration:11s}.ambient-motes i:nth-child(3){left:34%;animation-delay:-4.7s;animation-duration:8.4s}.ambient-motes i:nth-child(4){left:48%;animation-delay:-1.4s;animation-duration:12s}.ambient-motes i:nth-child(5){left:59%;animation-delay:-7.2s;animation-duration:9.6s}.ambient-motes i:nth-child(6){left:73%;animation-delay:-3.8s;animation-duration:10.8s}.ambient-motes i:nth-child(7){left:87%;animation-delay:-5.1s;animation-duration:8.8s}.ambient-motes i:nth-child(8){left:94%;animation-delay:-.8s;animation-duration:11.6s}
.cat-presence { position: absolute; z-index: 2; left: 38%; top: 40%; width: 136px; height: 174px; pointer-events: none; filter: drop-shadow(0 8px 16px rgba(0,0,0,.16)); }
.cat-presence span { position: absolute; inset: 9% 13% 5%; border-radius: 50%; background: radial-gradient(ellipse at 50% 60%,rgba(255,224,181,.08),transparent 66%); animation: cat-breathe 4.6s ease-in-out infinite; }
.cat-presence i { position: absolute; left: 48%; top: 47%; width: 5px; height: 5px; border-radius: 50%; background: rgba(200,243,234,.75); box-shadow: 0 0 0 0 rgba(158,212,202,.28); animation: cat-signal 3.2s ease-out infinite; }
.home-stage.is-awake .cat-presence span { animation: cat-notice .72s cubic-bezier(.18,.82,.28,1); }
.home-stage.is-awake .cat-presence i { animation: cat-signal-fast .72s ease-out; }
.home-stage.is-rewarding::after { content:""; position:absolute; z-index:3; inset:-25%; background:radial-gradient(circle at 52% 55%,rgba(204,244,226,.34),transparent 34%); animation: reward-bloom 1.25s ease-out both; pointer-events:none; }
.scene-floor-light{position:absolute;z-index:2;left:-20%;right:-20%;top:43%;bottom:4%;pointer-events:none;background:radial-gradient(ellipse at 54% 40%,rgba(255,235,195,.15),transparent 53%),linear-gradient(165deg,transparent 24%,rgba(255,229,178,.1) 45%,transparent 68%);mix-blend-mode:soft-light;transform:perspective(420px) rotateX(58deg);transform-origin:50% 100%;filter:blur(4px)}
.scene-foreground{position:absolute;z-index:4;inset:auto -8% 0;height:24%;pointer-events:none;opacity:.78;background:linear-gradient(180deg,transparent,rgba(12,11,9,.16) 72%,rgba(8,8,7,.46));filter:blur(.2px)}
.scene-foreground i{position:absolute;bottom:-8%;width:34%;height:72%;border-radius:50%;filter:blur(15px);opacity:.42}.scene-foreground i:first-child{left:-12%;background:#324129}.scene-foreground i:last-child{right:-13%;background:#493a28}
.home-stage[data-room-theme="modern"] .scene-foreground i:first-child{background:#74634f;opacity:.28}.home-stage[data-room-theme="modern"] .scene-foreground i:last-child{background:#86745e;opacity:.25}
.home-stage[data-room-theme="memory"] .scene-floor-light{opacity:.5}.home-stage[data-room-theme="memory"] .scene-foreground{opacity:.88}
.home-cat-3d-layer{position:absolute;z-index:3;inset:18% 0;width:100%;height:64%;pointer-events:none;filter:saturate(.96) contrast(1.03);transition:opacity .35s ease}
.home-cat-hit-layer{position:absolute;z-index:4;inset:18% 0;pointer-events:none}
.home-cat-hit-layer[hidden],.home-cat-3d-layer[hidden],.free-cat-layer[hidden]{display:none!important}
.home-cat-hit{position:absolute;left:var(--hit-x,50%);top:var(--hit-y,56%);width:116px;height:104px;padding:0;border:0;border-radius:50%;color:var(--ink);background:transparent;transform:translate(-50%,-58%) scale(var(--hit-scale,1));transform-origin:50% 80%;pointer-events:auto;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transition:filter .2s ease}
.home-cat-hit.is-dragging{z-index:20;cursor:grabbing;filter:drop-shadow(0 12px 14px rgba(45,34,24,.28))}.home-cat-hit.is-dragging::before{border-color:rgba(200,243,234,.72);box-shadow:0 0 0 6px rgba(158,212,202,.12),0 0 28px rgba(158,212,202,.3)}
.home-cat-hit::before{content:"";position:absolute;inset:18% 12% 8%;border:1px solid transparent;border-radius:50%;transition:border-color .2s ease,box-shadow .2s ease}
.home-cat-hit:focus-visible{outline:0}.home-cat-hit:focus-visible::before,.home-cat-hit:hover::before{border-color:rgba(200,243,234,.42);box-shadow:0 0 22px rgba(158,212,202,.15)}
.home-cat-hit .cat-nameplate{bottom:-3px}.home-cat-hit:hover .cat-nameplate,.home-cat-hit:focus-visible .cat-nameplate,.home-cat-hit.is-social .cat-nameplate,.home-cat-hit.is-friend-visitor .cat-nameplate{opacity:1;transform:translate(-50%,0)}
.home-cat-hit.is-friend-visitor .cat-nameplate::before{content:"好友来访 · ";color:#e6c48d}
.home-stage.is-evening .home-cat-3d-layer{filter:brightness(.76) saturate(.8) contrast(1.08)}
.free-cat-layer { position:absolute;z-index:3;inset:21% 0 20%;pointer-events:none;perspective:760px;transform-style:preserve-3d }
.autonomous-cat { position:absolute;left:var(--cat-x);top:var(--cat-y);width:142px;height:126px;padding:0;border:0;color:var(--ink);background:transparent;transform:translate(-50%,-50%) scale(var(--cat-scale,.94));transform-origin:50% 92%;transition:left var(--move-time,3.6s) cubic-bezier(.38,.12,.24,1),top var(--move-time,3.6s) cubic-bezier(.38,.12,.24,1),transform .8s cubic-bezier(.2,.75,.25,1),filter .8s ease;pointer-events:auto;cursor:pointer;will-change:left,top,transform;isolation:isolate }
.cat-real-sprite { position:absolute;z-index:2;left:50%;bottom:20px;width:142px;height:108px;opacity:1;object-fit:contain;object-position:center bottom;filter:brightness(var(--cat-light,.76)) saturate(var(--cat-saturation,.82)) contrast(1.08) sepia(.035) blur(var(--cat-depth-blur,0)) drop-shadow(var(--shadow-x,8px) calc(7px + var(--shadow-y,2px)) 6px rgba(22,17,10,.32));transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1));transform-origin:50% 92%;transition:transform .35s ease,filter .8s ease;user-select:none;-webkit-user-drag:none;will-change:transform,filter }
.cat-walk-sprite{position:absolute;z-index:2;left:50%;bottom:-2px;width:154px;height:154px;opacity:0;background-repeat:no-repeat;background-size:600% 100%;background-position:0 0;filter:brightness(var(--cat-light,.76)) saturate(var(--cat-saturation,.82)) contrast(1.08) sepia(.035) blur(var(--cat-depth-blur,0)) drop-shadow(var(--shadow-x,8px) calc(7px + var(--shadow-y,2px)) 6px rgba(22,17,10,.32));transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1));transform-origin:50% 82%;transition:filter .8s ease;will-change:background-position,transform}
.cat-contact-shadow { position:absolute;z-index:1;left:50%;bottom:23px;width:78px;height:12px;border-radius:50%;background:radial-gradient(ellipse,rgba(18,15,11,.52),rgba(18,15,11,.17) 52%,transparent 75%);filter:blur(2.4px);transform:translate(calc(-50% + var(--shadow-x,8px)),var(--shadow-y,2px)) rotate(var(--shadow-angle,-8deg)) scaleX(var(--shadow-scale,1));opacity:.86;transform-origin:center }
.autonomous-cat[data-scene-depth="far"]{filter:contrast(.96)}.autonomous-cat[data-scene-depth="near"]{filter:contrast(1.035)}
.autonomous-cat:focus-visible{outline:0}.autonomous-cat:focus-visible::after{content:"";position:absolute;z-index:0;left:50%;bottom:17px;width:86px;height:18px;border:1px solid rgba(178,231,219,.64);border-radius:50%;box-shadow:0 0 16px rgba(158,212,202,.18);transform:translateX(-50%);pointer-events:none}
.home-stage.is-evening .cat-real-sprite,.home-stage.is-evening .cat-walk-sprite{filter:brightness(calc(var(--cat-light,.76) * .78)) saturate(calc(var(--cat-saturation,.82) * .82)) contrast(1.1) sepia(.08) blur(var(--cat-depth-blur,0)) drop-shadow(var(--shadow-x,8px) 8px 7px rgba(5,7,9,.5))}
.autonomous-cat.is-moving{transition:left 0s,top 0s,transform var(--move-time,3.6s) linear,filter .8s ease}.autonomous-cat.has-walk-cycle.is-gait-ready .cat-real-sprite{opacity:0}.autonomous-cat.has-walk-cycle.is-gait-ready .cat-walk-sprite{opacity:1}.autonomous-cat.is-moving:not(.has-walk-cycle) .cat-real-sprite{animation:real-cat-step .58s ease-in-out infinite}.autonomous-cat.is-resting:not(.has-walk-cycle) .cat-real-sprite{animation:real-cat-rest 4.2s ease-in-out infinite}.autonomous-cat.is-social:not(.has-walk-cycle) .cat-real-sprite{animation:real-cat-greet .9s ease-in-out 2}.autonomous-cat.has-walk-cycle.is-social .cat-walk-sprite{animation:real-cat-greet .9s ease-in-out 2}
.autonomous-cat.is-moving .cat-contact-shadow{animation:real-cat-shadow .58s ease-in-out infinite}
.cat-nameplate { position:absolute;left:50%;bottom:2px;min-width:66px;display:flex;align-items:center;justify-content:center;gap:5px;padding:4px 7px;border:1px solid rgba(200,243,234,.18);border-radius:12px;background:rgba(20,29,25,.64);backdrop-filter:blur(8px);transform:translate(-50%,7px);opacity:0;white-space:nowrap;text-align:center;text-shadow:0 1px 5px rgba(0,0,0,.7);transition:opacity .25s ease,transform .3s ease }.autonomous-cat:hover .cat-nameplate,.autonomous-cat:focus-visible .cat-nameplate,.autonomous-cat.is-social .cat-nameplate{opacity:1;transform:translate(-50%,0)}.cat-nameplate>span,.cat-nameplate b,.cat-nameplate small{display:block}.cat-nameplate b{font-size:9px;font-weight:500}.cat-nameplate small{margin-top:1px;color:var(--sensor);font-size:6px;letter-spacing:.04em}.cat-nameplate>img,.cat-identity-photo{width:23px;height:23px;flex:0 0 23px;border:1px solid rgba(208,239,232,.4);border-radius:8px;object-fit:cover;box-shadow:0 3px 8px rgba(0,0,0,.25)}
.cat-social-signal { position:absolute;z-index:4;left:50%;top:246px;display:flex;align-items:center;gap:7px;max-width:245px;padding:7px 10px;border:1px solid rgba(200,243,234,.22);border-radius:15px;color:rgba(247,242,233,.86);background:rgba(20,31,27,.68);backdrop-filter:blur(9px);opacity:0;transform:translate(-50%,8px);transition:.35s ease;pointer-events:none;font-size:8px;white-space:nowrap }.cat-social-signal.is-visible{opacity:1;transform:translate(-50%,0)}.cat-social-signal i{width:5px;height:5px;border-radius:50%;background:var(--sensor-bright);box-shadow:0 0 10px var(--sensor)}
.discovery-hotspot{position:absolute;z-index:5;left:18px;top:252px;width:172px;min-height:56px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 8px;padding:5px 9px 5px 5px;border:1px solid rgba(220,241,229,.28);border-radius:31px 16px 16px 31px;color:var(--ink);background:linear-gradient(120deg,rgba(15,28,24,.84),rgba(29,37,31,.56));box-shadow:0 13px 30px rgba(0,0,0,.22),0 0 24px rgba(158,212,202,.07);backdrop-filter:blur(11px);text-align:left;cursor:pointer;animation:discovery-arrive .7s cubic-bezier(.18,.83,.25,1) both;transition:opacity .3s ease,transform .3s ease}.discovery-hotspot:active{transform:scale(.97)}.discovery-hotspot>strong{align-self:end;overflow:hidden;font-size:9px;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.discovery-hotspot>small{align-self:start;color:rgba(247,242,233,.48);font-size:7px}.discovery-hotspot.is-seen{opacity:.68}.discovery-hotspot.is-seen>small{display:none}.discovery-mark{position:relative;grid-row:1/3;width:46px;height:46px;display:block;border:1px solid rgba(200,243,234,.4);border-radius:50%;background:radial-gradient(circle,rgba(158,212,202,.18),rgba(20,36,31,.72));box-shadow:0 0 0 0 rgba(158,212,202,.2);animation:discovery-mark-pulse 2.6s ease-out infinite}.discovery-mark i{position:absolute;display:block}.discovery-hotspot[data-visual="bell"] .discovery-mark i:first-child{left:16px;top:11px;width:14px;height:18px;border-radius:8px 8px 5px 5px;background:#d4a767;transform-origin:50% 0;animation:mini-bell 2.8s ease-in-out infinite}.discovery-hotspot[data-visual="bell"] .discovery-mark i:nth-child(2){left:20px;top:28px;width:6px;height:4px;border-radius:50%;background:#f0d49f}.discovery-hotspot[data-visual="bell"] .discovery-mark i:nth-child(3){inset:5px;border:1px solid rgba(224,190,126,.26);border-radius:50%;animation:mini-ring 2.8s ease-out infinite}.discovery-hotspot[data-visual="pawprints"] .discovery-mark i{width:9px;height:11px;border-radius:55% 45% 50% 50%;background:rgba(211,238,228,.86);transform:rotate(-28deg)}.discovery-hotspot[data-visual="pawprints"] .discovery-mark i:first-child{left:11px;top:24px}.discovery-hotspot[data-visual="pawprints"] .discovery-mark i:nth-child(2){left:22px;top:15px;animation:footprint-fade 2.4s ease-in-out infinite}.discovery-hotspot[data-visual="pawprints"] .discovery-mark i:nth-child(3){left:31px;top:7px;animation:footprint-fade 2.4s .45s ease-in-out infinite}.discovery-hotspot[data-visual="signal"] .discovery-mark i{inset:50%;width:5px;height:5px;border:1px solid var(--sensor-bright);border-radius:50%;transform:translate(-50%,-50%);animation:signal-echo 2.4s ease-out infinite}.discovery-hotspot[data-visual="signal"] .discovery-mark i:nth-child(2){animation-delay:-.8s}.discovery-hotspot[data-visual="signal"] .discovery-mark i:nth-child(3){animation-delay:-1.6s}
.stage-vignette { position: absolute; inset: 0; background: radial-gradient(circle at 50% 48%, transparent 24%, rgba(17,15,12,.12) 58%, rgba(10,9,8,.58) 100%), linear-gradient(180deg, rgba(7,9,7,.7), transparent 27%, transparent 56%, rgba(8,8,7,.82)); pointer-events: none; }
.stage-grain { position: absolute; inset: 0; opacity: .13; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; pointer-events: none; }
.scan-beam { position: absolute; z-index: 2; left: -12%; right: -12%; top: 28%; height: 1px; background: linear-gradient(90deg, transparent, rgba(200,243,234,.9), transparent); box-shadow: 0 0 20px rgba(158,212,202,.28); animation: scan-stage 5.8s ease-in-out infinite; pointer-events: none; }
.tech-corners i { position: absolute; z-index: 2; width: 29px; height: 29px; opacity: .55; }
.tech-corners i:nth-child(1) { left: 12px; top: 124px; border-left: 1px solid var(--sensor); border-top: 1px solid var(--sensor); }
.tech-corners i:nth-child(2) { right: 12px; top: 124px; border-right: 1px solid var(--sensor); border-top: 1px solid var(--sensor); }
.tech-corners i:nth-child(3) { left: 12px; bottom: 174px; border-left: 1px solid var(--sensor); border-bottom: 1px solid var(--sensor); }
.tech-corners i:nth-child(4) { right: 12px; bottom: 174px; border-right: 1px solid var(--sensor); border-bottom: 1px solid var(--sensor); }

.floating-topbar { position: relative; z-index: 5; min-height: calc(68px + env(safe-area-inset-top)); display: flex; align-items: flex-end; justify-content: space-between; padding: calc(13px + env(safe-area-inset-top)) 15px 9px 18px; background: linear-gradient(180deg, rgba(9,10,8,.72), transparent); }
.home-title small, .explore-header small, .memory-header small, .sheet-header small { display: block; color: rgba(247,242,233,.68); font-size: 10px; letter-spacing: .06em; }
.home-title strong { display: block; margin-top: 2px; font-size: 19px; font-weight: 500; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.sync-status { display: flex; align-items: center; gap: 6px; color: var(--sensor-bright); font-size: 10px; letter-spacing: .04em; }
.sync-status > i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px var(--sensor-soft), 0 0 14px currentColor; animation: pulse 2.4s ease-in-out infinite; }
.round-button { width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: rgba(29,31,26,.68); cursor: pointer; backdrop-filter: blur(10px); }
.glass-button { color: var(--ink); }

.mission-banner { position: relative; z-index: 5; margin: 5px 14px 0; min-height: 60px; display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 10px; padding: 8px 12px; overflow: hidden; border: 1px solid rgba(200,243,234,.24); border-radius: 18px; background: linear-gradient(110deg, rgba(18,24,20,.78), rgba(38,42,34,.45)); box-shadow: 0 12px 35px rgba(0,0,0,.18); backdrop-filter: blur(13px); }
.mission-banner::after { content:"";position:absolute;inset:0;width:34%;background:linear-gradient(100deg,transparent,rgba(213,255,242,.09),transparent);transform:translateX(-170%) skewX(-18deg);animation:hud-glint 7.2s ease-in-out infinite;pointer-events:none }
.mission-number { position: relative; width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; color: var(--sensor-bright); font-size: 13px; background: rgba(158,212,202,.08); }
.mission-number::before, .mission-number i { content: ""; position: absolute; inset: 0; border: 1px solid rgba(158,212,202,.45); border-radius: 50%; }
.mission-number i { inset: 5px; border-style: dashed; animation: spin 9s linear infinite reverse; }
.mission-copy small { display: block; color: var(--sensor); font-size: 9px; letter-spacing: .1em; }
.mission-copy strong { display: block; margin-top: 4px; font-size: 14px; font-weight: 500; }
.mission-progress { color: var(--sensor-bright); font-size: 10px; letter-spacing: .08em; }

.telemetry-stack { position: absolute; z-index: 4; top: 151px; right: 15px; display: grid; justify-items: end; gap: 6px; }
.telemetry-stack span, .signal-tag { border: 1px solid rgba(200,243,234,.34); color: rgba(247,242,233,.9); background: rgba(22,29,25,.56); backdrop-filter: blur(9px); font-size: 9px; letter-spacing: .06em; }
.telemetry-stack span { padding: 6px 9px; border-radius: 12px; }
.signal-tag { position: absolute; z-index: 5; min-height: 38px; display: flex; align-items: center; gap: 7px; padding: 0 11px; border-radius: 18px; cursor: pointer; }
.signal-tag > i { width: 6px; height: 6px; border-radius: 50%; background: var(--sensor-bright); box-shadow: 0 0 0 4px rgba(158,212,202,.14), 0 0 13px var(--sensor); }
.signal-light { left: 18px; top: 187px; }.signal-source { right: 88px; bottom: 186px; }
.stage-hotspot { position: absolute; z-index: 5; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(247,242,233,.2); border-radius: 50%; color: var(--ink); background: rgba(29,25,21,.5); backdrop-filter: blur(9px); cursor: pointer; animation: hotspot-breathe 3.8s ease-in-out infinite; }
.stage-hotspot:active { transform: scale(.9); }
.hotspot-food { left: 19px; bottom: 180px; }.hotspot-door { right: 19px; bottom: 180px; }
.cat-lock { position: absolute; z-index: 4; left: 19px; bottom: 157px; max-width: 255px; text-shadow: 0 2px 12px rgba(0,0,0,.75); }
.cat-lock span { display: block; color: rgba(247,242,233,.58); font-size: 9px; letter-spacing: .08em; }.cat-lock strong { display: block; margin-top: 3px; font-size: 13px; font-weight: 500; }

.story-console { position: absolute; z-index: 6; left: 12px; right: 12px; bottom: 10px; min-height: 139px; padding: 13px 14px 12px; border: 1px solid rgba(255,255,255,.32); border-radius: 21px; color: var(--ink-dark); background: linear-gradient(140deg, rgba(255,249,239,.95), rgba(237,240,229,.9)); box-shadow: 0 22px 45px rgba(0,0,0,.25); backdrop-filter: blur(16px); }
.console-kicker { display: flex; align-items: center; gap: 7px; color: #54857c; font-size: 10px; letter-spacing: .04em; }.console-kicker .icon { width: 15px; height: 15px; }
.story-console h1 { margin: 6px 0 3px; font-size: 17px; line-height: 1.35; font-weight: 500; }.story-console p { margin: 0 0 10px; color: var(--muted-dark); font-size: 11px; line-height: 1.45; }
.primary-action, .secondary-action { min-height: 47px; border-radius: 15px; cursor: pointer; }
.primary-action { position:relative;overflow:hidden;width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--moss); color: #fff; background: linear-gradient(135deg, #74836d, #53634e); box-shadow: 0 8px 20px rgba(48,63,46,.18); font-weight: 500; transition:transform .18s ease,box-shadow .18s ease; }
.primary-action::after { content:"";position:absolute;inset:-50% auto -50% -35%;width:22%;background:rgba(255,255,255,.16);transform:rotate(18deg);animation:action-glint 5.6s ease-in-out infinite; }
.primary-action:active { transform:scale(.975);box-shadow:0 4px 12px rgba(48,63,46,.2) }
.primary-action i { font-style: normal; opacity: .75; }
.secondary-action { border: 1px solid var(--dark-line); color: var(--ink-dark); background: transparent; }

.growth-deck { min-height: 78px; display: grid; grid-template-columns: repeat(3, 1fr); padding: 6px 10px calc(8px + env(safe-area-inset-bottom)); border: 0; color: var(--ink-dark); background: #eee5d8; text-align: left; cursor: pointer; }
.growth-cell { min-width: 0; padding: 5px 8px; border-right: 1px solid rgba(56,47,41,.12); }.growth-cell:last-child { border-right: 0; }
.growth-cell small { display: block; color: var(--muted-dark); font-size: 9px; }.growth-cell strong { display: block; margin-top: 4px; overflow: hidden; font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.growth-cell > i { display: block; height: 3px; margin-top: 8px; overflow: hidden; border-radius: 2px; background: rgba(56,47,41,.12); }.growth-cell > i b { display: block; width: var(--value); height: 100%; background: #579187; transition: width .4s ease; }

.view-world { position:relative;color:var(--ink);background:radial-gradient(circle at 74% 12%,rgba(128,173,162,.3),transparent 28%),linear-gradient(180deg,#162523 0,#22352f 48%,#171d18 100%);overflow:hidden }
.world-atmosphere { position:absolute;z-index:0;inset:0;pointer-events:none;overflow:hidden }
.world-atmosphere::before { content:"";position:absolute;inset:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");mix-blend-mode:soft-light }
.world-atmosphere>i { position:absolute;border:1px solid rgba(176,225,214,.11);border-radius:50%;animation:world-radar 8s ease-out infinite }
.world-atmosphere>i:nth-child(1){width:260px;height:260px;right:-80px;top:112px}.world-atmosphere>i:nth-child(2){width:380px;height:380px;left:-190px;top:260px;animation-delay:-3s}.world-atmosphere>i:nth-child(3){width:150px;height:150px;right:48px;bottom:88px;animation-delay:-5.5s}
.world-header { position:relative;z-index:3;min-height:calc(92px + env(safe-area-inset-top));display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:calc(20px + env(safe-area-inset-top)) 17px 13px;background:linear-gradient(180deg,rgba(7,13,12,.72),transparent) }
.world-header small { color:rgba(200,243,234,.62);font-size:8px;letter-spacing:.1em }.world-header h1 { margin:5px 0 0;font-size:21px;line-height:1.25;font-weight:500 }
.world-clock { min-width:68px;padding:8px 9px;border:1px solid rgba(200,243,234,.19);border-radius:16px;background:rgba(19,33,30,.52);backdrop-filter:blur(10px);text-align:right }.world-clock>i { display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:var(--sensor-bright);box-shadow:0 0 11px var(--sensor) }.world-clock b,.world-clock small{display:block}.world-clock b{font-size:12px;font-weight:500}.world-clock small{margin-top:2px;font-size:7px;letter-spacing:.02em}
.world-pulse { position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);margin:0 14px;padding:10px 11px 9px;border:1px solid rgba(200,243,234,.19);border-radius:18px;background:rgba(14,26,23,.67);box-shadow:0 14px 34px rgba(0,0,0,.16);backdrop-filter:blur(13px) }
.world-pulse>span { padding:0 9px;border-right:1px solid rgba(241,236,226,.1) }.world-pulse>span:nth-child(3){border:0}.world-pulse small{display:block;color:rgba(247,242,233,.5);font-size:8px}.world-pulse strong{display:block;margin-top:3px;color:var(--sensor-bright);font-size:16px;font-weight:500}.world-pulse>p{grid-column:1/-1;display:flex;align-items:center;gap:7px;margin:8px 3px 0;padding-top:8px;border-top:1px solid rgba(241,236,226,.09);color:rgba(247,242,233,.72);font-size:9px}.world-pulse>p i{width:5px;height:5px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(196,154,92,.11),0 0 12px rgba(196,154,92,.6);animation:pulse 2s ease-in-out infinite}
.world-map { position:relative;z-index:2;height:365px;min-height:365px;margin-top:-3px;overflow:hidden;background:radial-gradient(ellipse at 49% 56%,rgba(117,145,112,.2),transparent 31%),radial-gradient(ellipse at 14% 78%,rgba(161,124,89,.18),transparent 26%),radial-gradient(ellipse at 82% 77%,rgba(77,130,114,.17),transparent 25%) }
.world-3d-layer { position:absolute;z-index:0;inset:-8% -6% -5%;width:112%;height:113%;opacity:.92;pointer-events:none;filter:saturate(.88) drop-shadow(0 18px 24px rgba(0,0,0,.22)) }
.world-map::before,.world-map::after{content:"";position:absolute;border:1px solid rgba(200,243,234,.08);border-radius:48% 52% 42% 58%;transform:rotate(-11deg)}.world-map::before{width:250px;height:160px;left:72px;top:88px}.world-map::after{width:320px;height:220px;left:-84px;top:147px}
.world-route-lines { position:absolute;z-index:1;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 5px rgba(158,212,202,.18)) }.world-route-lines path{fill:none;stroke:rgba(183,225,214,.23);stroke-width:1.2;stroke-dasharray:5 7;animation:route-flow 8s linear infinite}
.world-cloud { position:absolute;width:110px;height:36px;border-radius:50%;background:radial-gradient(ellipse,rgba(215,230,220,.11),transparent 67%);filter:blur(5px);animation:cloud-drift 15s linear infinite }.cloud-a{top:45px;left:-80px}.cloud-b{top:190px;left:-125px;animation-delay:-7s;animation-duration:19s}
.world-node { position:absolute;z-index:4;display:flex;align-items:center;gap:7px;padding:0;border:0;color:rgba(247,242,233,.76);background:transparent;text-align:left;cursor:pointer;filter:drop-shadow(0 6px 11px rgba(0,0,0,.28)) }.world-node>i{position:relative;width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(200,243,234,.28);border-radius:50%;color:var(--sensor);background:rgba(18,32,28,.84);backdrop-filter:blur(9px);transition:.25s ease}.world-node>i::after{content:"";position:absolute;inset:-6px;border:1px solid transparent;border-radius:50%;transition:.25s ease}.world-node .icon{width:18px;height:18px}.world-node span{max-width:105px}.world-node b,.world-node small{display:block}.world-node b{font-size:11px;font-weight:500}.world-node small{margin-top:2px;color:rgba(247,242,233,.43);font-size:7px}.world-node.is-active>i{color:#18312c;background:var(--sensor-bright);box-shadow:0 0 25px rgba(158,212,202,.33);transform:scale(1.08)}.world-node.is-active>i::after{border-color:rgba(200,243,234,.38);animation:node-orbit 5s linear infinite}.world-node:active>i{transform:scale(.92)}
.node-home{left:18px;bottom:22px}.node-roof{left:118px;top:142px}.node-alley{right:13px;top:35px}.node-garden{right:12px;bottom:17px}
.world-cat { position:absolute;z-index:3;display:grid;grid-template-columns:25px auto;grid-template-rows:13px 11px;column-gap:5px;align-items:center;color:rgba(247,242,233,.67);font-size:7px;pointer-events:none }.world-cat>i{grid-row:1/3;width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50% 50% 46% 46%;background:#a46f43;font-style:normal;font-size:8px;box-shadow:0 6px 12px rgba(0,0,0,.25);animation:world-cat-step 3.8s ease-in-out infinite}.world-cat>b{align-self:end;font-size:8px;font-weight:500}.world-cat>small{align-self:start;color:rgba(247,242,233,.34);font-size:6px}.cat-marmalade{left:24px;top:79px}.cat-coal{right:92px;top:177px}.cat-coal>i{background:#353b38}.cat-moon{left:101px;bottom:56px}.cat-moon>i{background:#a7a093}.cat-coal>i{animation-delay:-1.2s}.cat-moon>i{animation-delay:-2.3s}
.world-insight { position:relative;z-index:6;margin:-5px 12px 10px;padding:14px;border:1px solid rgba(255,255,255,.25);border-radius:22px;color:var(--ink-dark);background:linear-gradient(140deg,rgba(255,249,239,.97),rgba(226,235,224,.94));box-shadow:0 18px 42px rgba(0,0,0,.28);backdrop-filter:blur(17px) }.world-insight-top{display:flex;justify-content:space-between;gap:8px;color:#56877e;font-size:8px;letter-spacing:.05em}.world-insight-top b{font-weight:500}.world-insight h2{margin:7px 0 3px;font-size:17px;line-height:1.3;font-weight:500}.world-insight p{margin:0;color:var(--muted-dark);font-size:10px;line-height:1.45}.shared-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin:9px 0}.shared-progress>span{height:3px;overflow:hidden;border-radius:2px;background:rgba(56,47,41,.12)}.shared-progress>span i{display:block;width:var(--value);height:100%;background:linear-gradient(90deg,#6b9589,#c49a5c);transition:width .5s ease}.shared-progress small{color:#6e7c6b;font-size:8px}.world-insight .primary-action{min-height:44px}

.view-explore { background: #161914; }
.explore-scene { position: relative; min-height: 60dvh; flex: 1; overflow: hidden; background: linear-gradient(180deg,#34464a 0 45%,#6a594e 46% 100%); }
.night-sky { position: absolute; inset: 0 0 48%; background: radial-gradient(circle at 75% 28%, rgba(236,231,190,.17), transparent 18%), linear-gradient(180deg,#27383d,#4a5b5d); }
.moon { position: absolute; right: 42px; top: 95px; width: 64px; height: 64px; border-radius: 50%; background: #eee5b9; box-shadow: 0 0 50px rgba(238,229,185,.42); }
.signal-halo { position: absolute; right: 15px; top: 68px; width: 120px; height: 120px; border: 1px solid rgba(200,243,234,.16); border-radius: 50%; animation: halo 3.5s ease-out infinite; }
.distant-city { position: absolute; left: 0; right: 0; bottom: 38%; height: 110px; opacity: .42; background: repeating-linear-gradient(90deg, #283234 0 17px, transparent 17px 29px), linear-gradient(180deg,transparent,#263031); clip-path: polygon(0 49%,8% 49%,8% 24%,17% 24%,17% 57%,29% 57%,29% 11%,39% 11%,39% 48%,52% 48%,52% 31%,65% 31%,65% 55%,78% 55%,78% 17%,88% 17%,88% 60%,100% 60%,100% 100%,0 100%); }
.roof-plane { position: absolute; left: -12%; right: -12%; bottom: -5%; height: 48%; transform: skewY(-6deg); background: linear-gradient(155deg,#776356,#3f342e); box-shadow: inset 0 11px rgba(24,20,18,.18); }
.chimney { position: absolute; left: 42px; bottom: 31%; width: 68px; height: 135px; border-radius: 10px 10px 0 0; background: linear-gradient(90deg,#6f5549,#493a34); }
.mini-cat { position: absolute; z-index: 3; left: 53%; bottom: 12%; width: 76px; height: 90px; border-radius: 48% 48% 38% 38%; background: linear-gradient(112deg,#c77c3e 0 53%,#f0ddcb 54% 76%,#a45f2c 77%); box-shadow: 0 14px 24px rgba(0,0,0,.32); transform-origin:50% 100%; animation:explore-cat-breathe 3.7s ease-in-out infinite; }
.mini-cat::before,.mini-cat::after { content:"";position:absolute;top:-18px;width:31px;height:40px;background:#c77c3e;clip-path:polygon(50% 0,100% 100%,0 100%); }.mini-cat::before{left:2px;transform:rotate(-14deg)}.mini-cat::after{right:2px;transform:rotate(14deg)}
.mini-cat i { position: absolute; right: -29px; bottom: 10px; width: 44px; height: 11px; border-radius: 50%; border-top: 10px solid #a45f2c; transform: rotate(-16deg); transform-origin:0 50%; animation:tail-sway 2.8s ease-in-out infinite; }
.found-object { position: absolute; z-index: 3; left: 32%; bottom: 11%; width: 36px; height: 29px; border-radius: 50% 50% 18% 18%; background: var(--amber); box-shadow: 0 0 22px rgba(196,154,92,.22); animation:object-glow 2.6s ease-in-out infinite; }
.found-object::before { content:"";position:absolute;left:14px;top:-8px;width:9px;height:10px;border-radius:5px 5px 0 0;background:#8f6735; }
.wind-field i { position: absolute; left: -18%; width: 140%; height: 1px; background: linear-gradient(90deg, transparent, rgba(218,237,231,.44), transparent); transform: rotate(-11deg); animation: wind 3.4s linear infinite; }.wind-field i:nth-child(1){top:31%;animation-delay:-.7s}.wind-field i:nth-child(2){top:39%;animation-delay:-2.1s}.wind-field i:nth-child(3){top:48%;animation-delay:-1.4s}.wind-field i:nth-child(4){top:57%;animation-delay:-2.8s}
.explore-header { position: relative; z-index: 7; min-height: calc(76px + env(safe-area-inset-top)); display: grid; grid-template-columns: 44px 1fr auto; align-items: end; gap: 11px; padding: calc(15px + env(safe-area-inset-top)) 15px 10px; background: linear-gradient(180deg,rgba(9,12,11,.78),transparent); }
.explore-header strong { display: block; margin-top: 3px; font-size: 18px; font-weight: 500; }.back-button { width: 44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:rgba(22,25,21,.48);backdrop-filter:blur(8px);cursor:pointer}.cat-chip { padding: 7px 10px; border: 1px solid rgba(200,243,234,.28); border-radius: 14px; color: var(--sensor-bright); background: rgba(21,28,24,.46); font-size: 10px; }
.route-rail { position: absolute; z-index: 7; top: calc(88px + env(safe-area-inset-top)); left: 17px; right: 17px; display: grid; grid-template-columns: repeat(3,1fr); }
.route-node { position: relative; display: grid; justify-items: center; gap: 6px; color: rgba(247,242,233,.46); font-size: 9px; }.route-node::after { content:"";position:absolute;left:58%;top:8px;width:84%;height:1px;background:rgba(247,242,233,.18)}.route-node:last-child::after{display:none}.route-node i { position: relative; z-index: 1; width: 17px; height: 17px; border: 4px solid rgba(37,48,46,.85); border-radius: 50%; background: rgba(247,242,233,.28); box-shadow: 0 0 0 1px rgba(247,242,233,.28); }.route-node.is-done i{background:var(--moss)}.route-node.is-current{color:var(--sensor-bright)}.route-node.is-current i{background:var(--sensor);box-shadow:0 0 0 5px rgba(158,212,202,.16),0 0 18px rgba(158,212,202,.35)}
.sensor-console { position: absolute; z-index: 7; top: calc(156px + env(safe-area-inset-top)); left: 16px; width: 184px; padding: 11px 12px; border: 1px solid rgba(200,243,234,.3); border-radius: 17px; background: rgba(17,26,24,.64); box-shadow: 0 16px 30px rgba(0,0,0,.18); backdrop-filter: blur(12px); }
.sensor-title { display:flex;justify-content:space-between;color:var(--sensor-bright);font-size:9px;letter-spacing:.08em}.sensor-title b{font-weight:500}.signal-row{display:grid;grid-template-columns:37px 1fr 28px;align-items:center;gap:7px;margin-top:9px;color:rgba(247,242,233,.8);font-size:9px}.signal-row>i{height:3px;border-radius:2px;background:rgba(247,242,233,.16)}.signal-row>i b{display:block;width:var(--value);height:100%;background:var(--sensor);transition:width .45s ease}.signal-row em{font-style:normal;color:var(--sensor-bright);text-align:right}
.reaction-caption { position: absolute; z-index: 7; left: 15px; right: 15px; bottom: 16px; padding: 10px 12px; border-left: 2px solid var(--sensor); border-radius: 0 13px 13px 0; background: linear-gradient(90deg,rgba(16,19,16,.8),rgba(25,25,21,.56)); backdrop-filter: blur(8px); }.reaction-caption span{color:var(--sensor);font-size:8px;letter-spacing:.12em}.reaction-caption p{margin:4px 0 0;font-size:11px;line-height:1.45}
.decision-console { position: relative; z-index: 8; padding: 13px 16px calc(15px + env(safe-area-inset-bottom)); color: var(--ink-dark); background: var(--paper); box-shadow: 0 -18px 40px rgba(0,0,0,.24); }
.safe-pocket{display:flex;align-items:center;gap:7px;color:var(--moss-dark);font-size:10px}.safe-pocket .icon{width:17px;height:17px}.safe-pocket span{color:var(--muted-dark)}.decision-console h2{margin:8px 0 3px;font-size:18px;line-height:1.35;font-weight:500}.decision-console>p{margin:0;color:var(--muted-dark);font-size:11px;line-height:1.5}.decision-actions{display:grid;grid-template-columns:.9fr 1.15fr;gap:9px;margin-top:12px}

.view-memories { color: var(--ink-dark); background: radial-gradient(circle at 80% 0,#d7e2dd,#ece4d8 38%,#f6efe5 100%); }
.memory-header { min-height: calc(96px + env(safe-area-inset-top)); display:flex;align-items:flex-end;justify-content:space-between;padding:calc(18px + env(safe-area-inset-top)) 18px 13px;border-bottom:1px solid var(--dark-line)}.memory-header small{color:var(--muted-dark)}.memory-header h1{margin:4px 0 0;font-size:25px;font-weight:500}.archive-status{display:flex;align-items:center;gap:6px;color:#4f8178;font-size:9px;letter-spacing:.08em}.archive-status i{width:6px;height:6px;border-radius:50%;background:#5c9389;box-shadow:0 0 0 4px rgba(92,147,137,.12)}
.memory-filters{display:flex;gap:7px;padding:12px 16px 9px;overflow-x:auto;scrollbar-width:none}.memory-filters::-webkit-scrollbar{display:none}.filter-chip{min-height:38px;padding:0 14px;border:1px solid var(--dark-line);border-radius:19px;color:var(--muted-dark);background:rgba(255,249,239,.36);white-space:nowrap;cursor:pointer}.filter-chip.is-active{border-color:#62745b;color:#fff;background:#62745b}
.memory-stream{display:grid;gap:10px;padding:4px 14px 20px}.memory-card{padding:15px;border:1px solid var(--dark-line);border-radius:20px;background:rgba(255,249,239,.82);box-shadow:0 10px 26px rgba(70,55,44,.07);backdrop-filter:blur(8px)}.memory-card.is-inference{border-color:rgba(79,129,120,.36);background:rgba(231,242,237,.88)}.memory-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted-dark);font-size:9px}.memory-card h2{margin:9px 0 4px;font-size:16px;line-height:1.45;font-weight:500}.memory-card p{margin:0;color:var(--muted-dark);font-size:11px;line-height:1.5}.confirmation-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:11px}.confirmation-actions button{min-height:39px;border:1px solid var(--dark-line);border-radius:13px;color:var(--ink-dark);background:rgba(255,255,255,.34);cursor:pointer}.confirmation-actions button.is-selected{border-color:#61715a;color:#fff;background:#61715a}
.memory-echo-hotspot{position:absolute;z-index:5;right:18px;top:252px;width:154px;min-height:58px;padding:9px 11px;border:1px solid rgba(220,241,229,.25);border-radius:16px;color:var(--ink);background:linear-gradient(140deg,rgba(21,34,29,.82),rgba(46,39,31,.62));box-shadow:0 13px 30px rgba(0,0,0,.2),inset 0 0 18px rgba(220,181,111,.05);backdrop-filter:blur(11px);text-align:left;cursor:pointer;animation:memory-echo-breathe 3.6s ease-in-out infinite}.memory-echo-hotspot span{display:block;color:var(--amber);font-size:7px;letter-spacing:.08em}.memory-echo-hotspot strong{display:block;margin-top:4px;overflow:hidden;font-size:9px;font-weight:500;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.memory-echo-hotspot small{display:block;margin-top:2px;color:rgba(247,242,233,.48);font-size:7px}.memory-continuity{display:grid;grid-template-columns:1fr 62px 62px;gap:8px;margin:12px 14px 10px;padding:15px;border:1px solid rgba(76,125,116,.28);border-radius:21px;background:linear-gradient(135deg,rgba(228,241,236,.94),rgba(255,247,235,.76));box-shadow:0 12px 28px rgba(61,75,67,.08)}.memory-continuity>div{min-width:0}.memory-continuity>div small{color:#4f8178;font-size:8px;letter-spacing:.09em}.memory-continuity>div strong{display:block;margin-top:5px;font-size:14px;font-weight:500;line-height:1.35}.memory-continuity>div p{margin:5px 0 0;color:var(--muted-dark);font-size:9px;line-height:1.45}.memory-continuity>span{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid rgba(67,87,78,.12)}.memory-continuity>span b{color:#4f8178;font-size:21px;font-weight:400}.memory-continuity>span small{margin-top:3px;color:var(--muted-dark);font-size:7px}.memory-card[data-memory-status="awaiting"],.memory-card[data-memory-status="observing"]{border-color:rgba(195,143,71,.4);box-shadow:0 12px 30px rgba(155,104,42,.09)}.memory-card[data-memory-status="integrated"],.memory-card[data-memory-status="reframed"]{border-color:rgba(79,129,120,.32)}.memory-trigger-line{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.memory-trigger-line span{padding:5px 8px;border-radius:11px;color:#4f8178;background:rgba(79,129,120,.1);font-size:8px}.memory-trigger-line b{color:#9d7444;font-size:8px;font-weight:500}.memory-perspectives{display:grid;gap:6px;margin-top:11px}.memory-perspectives span{display:grid;grid-template-columns:54px 1fr;gap:7px;padding:8px 9px;border-radius:11px;background:rgba(74,79,70,.055)}.memory-perspectives b{color:#4f8178;font-size:8px;font-weight:500}.memory-perspectives small{color:var(--muted-dark);font-size:9px;line-height:1.4}.memory-outcome{margin-top:10px;padding:10px 11px;border-left:3px solid #5a8c82;border-radius:3px 11px 11px 3px;background:rgba(79,129,120,.09)}.memory-outcome small{display:block;color:#4f8178;font-size:8px}.memory-outcome strong{display:block;margin-top:4px;font-size:10px;font-weight:500;line-height:1.45}.memory-future-hook{display:flex;align-items:flex-start;gap:7px;margin-top:10px;color:#8a6a42;font-size:9px;line-height:1.45}.memory-future-hook:before{content:"→"}.memory-follow{width:100%;min-height:38px;margin-top:10px;border:1px solid rgba(79,129,120,.3);border-radius:13px;color:#466f67;background:rgba(255,255,255,.28);cursor:pointer}
.return-visit-sheet{color:var(--ink);background:linear-gradient(155deg,#14221d,#0b100e);border-color:rgba(200,243,234,.16)}.return-visit-sheet .sheet-header small{color:var(--amber)}.return-visit-room{position:relative;height:154px;margin-top:12px;overflow:hidden;border:1px solid rgba(200,243,234,.14);border-radius:20px;background:#111814}.return-visit-room>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48) saturate(.7);animation:return-room-camera 8s ease-in-out infinite alternate}.return-visit-room>img:nth-child(2){position:absolute;right:14%;bottom:6px;width:108px;height:76px;object-fit:contain;filter:brightness(.76) drop-shadow(7px 8px 6px rgba(0,0,0,.5));animation:return-cat-life 4.6s ease-in-out infinite}.return-visit-room>i{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,6,.62),transparent 65%),radial-gradient(circle at 70% 65%,rgba(212,169,92,.16),transparent 30%)}.return-visit-room>span{position:absolute;left:12px;top:11px;color:rgba(220,245,236,.56);font-size:7px;letter-spacing:.12em}.return-moment-list{display:grid;gap:8px;margin-top:12px}.return-moment{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding:10px;border:1px solid rgba(200,243,234,.12);border-radius:14px;background:rgba(247,242,233,.05)}.return-moment>i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#bce9de;background:rgba(102,173,158,.14);font-size:10px;font-style:normal}.return-moment strong{display:block;color:var(--ink);font-size:11px;font-weight:500}.return-moment p{margin:3px 0 0;color:rgba(247,242,233,.52);font-size:9px;line-height:1.4}.return-next-hook{margin:11px 0;padding:11px;border-radius:14px;background:rgba(212,169,92,.1)}.return-next-hook small{display:block;color:var(--amber);font-size:8px}.return-next-hook strong{display:block;margin-top:4px;color:var(--ink);font-size:11px;font-weight:500;line-height:1.45}.return-no-pressure{margin:9px 0 0;color:rgba(247,242,233,.42);font-size:8px;text-align:center}@keyframes memory-echo-breathe{0%,100%{box-shadow:0 13px 30px rgba(0,0,0,.2),0 0 0 rgba(222,181,111,0)}50%{box-shadow:0 13px 30px rgba(0,0,0,.2),0 0 22px rgba(222,181,111,.12)}}@keyframes return-room-camera{from{transform:scale(1.03) translateX(-.5%)}to{transform:scale(1.1) translateX(1.5%)}}@keyframes return-cat-life{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(.7deg)}}

.view-profile{color:var(--ink-dark);background:radial-gradient(circle at 82% 0,rgba(166,211,199,.55),transparent 34%),linear-gradient(180deg,#dfe9e3 0,#eee6da 46%,#f6efe6 100%)}
.profile-header{min-height:calc(112px + env(safe-area-inset-top));display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:calc(24px + env(safe-area-inset-top)) 18px 16px}.profile-header small{color:#53877e;font-size:9px;letter-spacing:.1em}.profile-header h1{margin:5px 0 0;font-size:28px;font-weight:500}.profile-security{display:flex;align-items:center;gap:5px;max-width:150px;color:#678078;font-size:8px;text-align:right}.profile-security .icon{width:15px;height:15px;flex:0 0 auto}
.profile-content{display:grid;gap:11px;padding:0 14px 26px}.profile-identity-card{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:11px;padding:15px;border:1px solid rgba(255,255,255,.68);border-radius:24px;background:rgba(255,251,244,.78);box-shadow:0 16px 34px rgba(66,75,66,.1);backdrop-filter:blur(15px)}.profile-avatar{position:relative;width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(79,133,123,.2);border-radius:22px;overflow:hidden;color:#fff;background:linear-gradient(145deg,#8fb3aa,#517b72);font-size:22px}.profile-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.profile-avatar>i{position:absolute;right:5px;bottom:5px;width:9px;height:9px;border:2px solid #f7f1e8;border-radius:50%;background:#82b8aa;box-shadow:0 0 9px rgba(82,133,123,.5)}.profile-identity-copy{min-width:0}.profile-login-badge{color:#53877e;font-size:8px;letter-spacing:.06em}.profile-identity-copy h2{margin:4px 0 3px;overflow:hidden;font-size:18px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.profile-identity-copy p{margin:0;color:var(--muted-dark);font-size:9px;line-height:1.45}.profile-login-button{align-self:center;min-height:38px;padding:0 11px;border:1px solid #668c82;border-radius:14px;color:#fff;background:#648a80;cursor:pointer;font-size:9px;white-space:nowrap}.profile-login-button:disabled{border-color:rgba(56,47,41,.12);color:var(--muted-dark);background:rgba(56,47,41,.06)}
.profile-home-card{display:grid;grid-template-columns:1fr 55px 62px;align-items:center;gap:8px;padding:14px 15px;border-radius:21px;color:var(--ink);background:linear-gradient(135deg,#29413a,#172821);box-shadow:0 14px 30px rgba(29,52,45,.18)}.profile-home-card>div small,.profile-home-card span small{display:block;color:rgba(231,245,239,.56);font-size:8px}.profile-home-card>div strong{display:block;margin-top:4px;font-size:15px;font-weight:500}.profile-home-card>span{padding-left:10px;border-left:1px solid rgba(255,255,255,.12)}.profile-home-card>span b{display:block;color:var(--sensor-bright);font-size:19px;font-weight:500}
.profile-menu{overflow:hidden;border:1px solid rgba(56,47,41,.08);border-radius:22px;background:rgba(255,251,244,.72);box-shadow:0 12px 28px rgba(71,61,51,.06)}.profile-menu button{position:relative;width:100%;min-height:66px;display:grid;grid-template-columns:1fr auto 15px;align-items:center;gap:9px;padding:0 15px;border:0;border-bottom:1px solid rgba(56,47,41,.08);color:var(--ink-dark);background:transparent;text-align:left;cursor:pointer}.profile-menu button:last-child{border-bottom:0}.profile-menu button>span{display:flex;align-items:center;gap:10px}.profile-menu button .icon{width:19px;height:19px;color:#56877e}.profile-menu button b{font-size:12px;font-weight:500}.profile-menu button small{color:var(--muted-dark);font-size:8px}.profile-menu button>i{color:#8d867e;font-size:18px;font-style:normal}.profile-logout{min-height:44px;border:1px solid rgba(163,92,83,.2);border-radius:16px;color:#8f5049;background:rgba(255,250,245,.56);cursor:pointer}.profile-version{margin:1px 0 0;color:rgba(82,72,64,.48);font-size:8px;letter-spacing:.08em;text-align:center}

.bottom-nav { position: fixed; z-index: 20; left: 50%; bottom: 0; width: min(100%, 430px); min-height: calc(72px + env(safe-area-inset-bottom)); display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.1);background:rgba(20,23,18,.9);backdrop-filter:blur(18px);transform:translateX(-50%)}
.nav-button{min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:15px;color:rgba(247,242,233,.48);background:transparent;cursor:pointer;font-size:10px}.nav-button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-button .icon{width:19px;height:19px}.nav-button.is-active{color:var(--sensor-bright);background:rgba(158,212,202,.12)}
.view-home~.bottom-nav{}

.game-guide{position:absolute;z-index:60;inset:0;display:none;pointer-events:none}.game-guide.is-visible{display:block}.guide-veil{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(29,43,38,.56),rgba(5,7,6,.91));backdrop-filter:blur(10px);opacity:1;transition:opacity .3s ease;pointer-events:auto}.guide-intro{position:absolute;z-index:2;left:16px;right:16px;top:50%;padding:22px 19px 16px;border:1px solid rgba(200,243,234,.24);border-radius:27px;color:var(--ink);background:linear-gradient(145deg,rgba(31,47,42,.98),rgba(15,24,21,.98));box-shadow:0 28px 80px rgba(0,0,0,.45);transform:translateY(-52%);pointer-events:auto;animation:guide-arrive .5s cubic-bezier(.18,.83,.25,1) both}.guide-cat-mark{display:flex;align-items:center;gap:8px;margin-bottom:15px;color:var(--sensor);font-size:8px;letter-spacing:.13em}.guide-cat-mark i{position:relative;width:30px;height:26px;border:1px solid rgba(200,243,234,.42);border-radius:48% 48% 43% 43%;background:rgba(158,212,202,.08)}.guide-cat-mark i::before,.guide-cat-mark i::after{content:"";position:absolute;top:-5px;width:10px;height:10px;border-top:1px solid rgba(200,243,234,.54);transform:rotate(45deg)}.guide-cat-mark i::before{left:2px;border-left:1px solid rgba(200,243,234,.54)}.guide-cat-mark i::after{right:2px;border-right:1px solid rgba(200,243,234,.54)}.guide-intro>small{display:block;color:var(--amber);font-size:9px;letter-spacing:.08em}.guide-intro h2{max-width:310px;margin:7px 0 9px;font-size:24px;line-height:1.28;font-weight:500}.guide-intro>p{margin:0;color:rgba(247,242,233,.67);font-size:12px;line-height:1.65}.guide-loop{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:3px;margin:20px 0 18px;padding:13px 9px;border:1px solid rgba(200,243,234,.12);border-radius:18px;background:rgba(158,212,202,.055)}.guide-loop span{display:grid;justify-items:center;gap:5px;min-width:0}.guide-loop span i{width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(200,243,234,.25);border-radius:50%;color:var(--sensor-bright);font-size:8px;font-style:normal;background:rgba(158,212,202,.08)}.guide-loop span b{font-size:9px;font-weight:500;white-space:nowrap}.guide-loop em{color:rgba(200,243,234,.3);font-style:normal;font-size:10px}.guide-start{width:100%;min-height:50px;border:1px solid var(--sensor);border-radius:16px;color:#19322c;background:linear-gradient(135deg,#c8f3ea,#91c8bc);font-weight:600;cursor:pointer}.guide-start i{margin-left:7px;font-style:normal}.guide-skip{display:block;margin:11px auto 0;padding:4px 12px;border:0;color:rgba(247,242,233,.48);background:transparent;font-size:10px;cursor:pointer}.game-guide.is-walking .guide-veil{opacity:0;pointer-events:none}.game-guide.is-walking .guide-intro{display:none}
.guide-intro{max-height:calc(var(--app-viewport-height,100dvh) - 28px);overflow-y:auto}.guide-name-field{display:grid;gap:7px;margin-top:14px;padding:12px;border:1px solid rgba(200,243,234,.18);border-radius:16px;background:rgba(158,212,202,.065)}.guide-name-field[hidden]{display:none}.guide-name-field>span{color:var(--sensor-bright);font-size:11px}.guide-name-field input{width:100%;height:48px;padding:0 13px;border:1px solid rgba(200,243,234,.26);border-radius:13px;outline:0;color:var(--ink);background:rgba(7,14,12,.3);font:inherit;font-size:16px}.guide-name-field input::placeholder{color:rgba(247,242,233,.34)}.guide-name-field input:focus{border-color:var(--sensor);box-shadow:0 0 0 3px rgba(158,212,202,.1)}.guide-name-field small{color:rgba(247,242,233,.5);font-size:9px;line-height:1.45}.guide-name-field em{min-height:13px;color:#f5b9a9;font-size:9px;font-style:normal}.guide-name-field.has-error input{border-color:#e3a391}.guide-intro.has-name-step .guide-loop{margin-top:12px}
.guide-coach{position:absolute;z-index:4;left:14px;width:min(302px,calc(100% - 28px));padding:11px 12px 12px;border:1px solid rgba(200,243,234,.3);border-radius:18px;color:var(--ink);background:linear-gradient(135deg,rgba(20,34,30,.95),rgba(32,42,35,.91));box-shadow:0 14px 36px rgba(0,0,0,.28),0 0 0 1px rgba(8,13,11,.2);backdrop-filter:blur(13px);opacity:0;transform:translateY(-7px);transition:.25s ease;pointer-events:none}.game-guide.is-walking .guide-coach{opacity:1;transform:translateY(0);pointer-events:auto}.guide-coach::after{content:"";position:absolute;left:24px;bottom:-6px;width:11px;height:11px;border-right:1px solid rgba(200,243,234,.3);border-bottom:1px solid rgba(200,243,234,.3);background:rgba(27,39,33,.96);transform:rotate(45deg)}.guide-coach-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--sensor);font-size:8px;letter-spacing:.09em}.guide-coach-top button{min-width:72px;min-height:32px;margin:-7px -5px -7px 0;padding:7px 5px;border:0;color:rgba(247,242,233,.68);background:transparent;font-size:9px;cursor:pointer;pointer-events:auto;touch-action:manipulation}.guide-coach>strong{display:block;margin-top:5px;font-size:14px;font-weight:500}.guide-coach>p{margin:4px 0 0;color:rgba(247,242,233,.67);font-size:10px;line-height:1.48}.guide-coach-action{width:100%;min-height:40px;margin-top:9px;border:1px solid rgba(200,243,234,.34);border-radius:11px;color:var(--sensor-bright);background:rgba(158,212,202,.09);font-size:10px;cursor:pointer;pointer-events:auto;touch-action:manipulation}.game-guide[data-phase="observe"] .guide-coach,.game-guide[data-phase="respond"] .guide-coach{top:146px}.game-guide[data-phase="story"] .guide-coach{top:82px}.game-guide[data-phase="world"] .guide-coach{top:180px}.game-guide[data-phase="decide"] .guide-coach,.game-guide[data-phase="return"] .guide-coach{top:132px}.game-guide[data-phase="settle"] .guide-coach,.game-guide[data-phase="free"] .guide-coach{top:146px}
.guide-focus{outline:2px solid rgba(200,243,234,.22);outline-offset:4px;animation:guide-focus 1.5s ease-in-out infinite!important}.autonomous-cat.guide-focus{filter:drop-shadow(0 0 11px rgba(200,243,234,.85))}.story-console.guide-focus,.world-insight.guide-focus,.decision-console.guide-focus{box-shadow:0 0 0 3px rgba(200,243,234,.34),0 20px 48px rgba(0,0,0,.34)}.bottom-sheet .guide-focus{box-shadow:0 0 0 3px rgba(77,135,124,.28),0 8px 22px rgba(31,73,64,.18)}.nav-button.guide-focus{color:var(--sensor-bright)}

.modal-layer { position:absolute;z-index:50;inset:0;display:none;align-items:flex-end;padding:13px;background:rgba(7,8,7,.62);backdrop-filter:blur(7px) }.modal-layer.is-open{display:flex;animation:veil-in .28s ease both}.modal-backdrop{position:absolute;inset:0;border:0;background:transparent;cursor:pointer}.bottom-sheet{position:relative;z-index:2;width:100%;display:none;max-height:88dvh;overflow:auto;padding:9px 17px calc(18px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.08);border-radius:25px;color:var(--ink-dark);background:linear-gradient(150deg,#fffaf2,#ece8dc);box-shadow:0 -24px 60px rgba(0,0,0,.35)}.bottom-sheet.is-open{display:block;animation:sheet-rise .46s cubic-bezier(.16,.82,.23,1) both}.sheet-handle{width:42px;height:4px;margin:0 auto 13px;border-radius:2px;background:rgba(56,47,41,.18)}.sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.sheet-header small{color:#5b8c83}.sheet-header h2{margin:4px 0 0;font-size:21px;font-weight:500}.sheet-header .round-button{color:var(--ink-dark);background:rgba(56,47,41,.06)}.timeline-beat{display:grid;grid-template-columns:49px 1fr;gap:10px;margin-top:14px;padding:11px 0;border-top:1px solid var(--dark-line)}.timeline-beat+ .timeline-beat{margin-top:0}.timeline-beat time{color:#51877e;font-size:10px}.timeline-beat p{margin:0;font-size:12px;line-height:1.55}.growth-list{display:grid;gap:9px;margin-top:15px}.growth-list article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:16px;background:rgba(56,47,41,.06)}.growth-list article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:#4f857b;background:rgba(94,146,136,.13)}.growth-list strong{display:block;font-size:12px;font-weight:500}.growth-list small{display:block;margin-top:3px;color:var(--muted-dark);font-size:9px}.growth-list article>b{color:#4f857b;font-size:10px;font-weight:500}.sheet-explain{color:var(--muted-dark);font-size:12px;line-height:1.55}.day-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.day-options button{min-height:69px;border:1px solid var(--dark-line);border-radius:16px;color:var(--ink-dark);background:transparent;cursor:pointer}.day-options strong,.day-options small{display:block}.day-options strong{font-weight:500}.day-options small{margin-top:4px;color:var(--muted-dark);font-size:9px}.day-options button.is-selected{border-color:#65775e;background:#dfe7d9}.family-member{display:grid;grid-template-columns:54px 1fr;align-items:center;margin-top:11px;padding:11px;border-radius:15px;background:rgba(56,47,41,.06)}.family-member span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#4e776f;background:rgba(94,146,136,.14);font-weight:500}.family-member p{margin:0;color:var(--muted-dark);font-size:11px}.bottom-sheet>.primary-action:last-child{margin-top:14px}
.discovery-sheet{color:var(--ink);background:linear-gradient(150deg,#17221e,#0c1210);border-color:rgba(200,243,234,.16);box-shadow:0 -24px 70px rgba(0,0,0,.52)}.discovery-sheet .sheet-handle{background:rgba(200,243,234,.2)}.discovery-sheet .sheet-header small{color:var(--amber)}.discovery-sheet .sheet-header h2{max-width:285px;color:var(--ink);font-size:20px;line-height:1.3}.discovery-sheet .sheet-header .round-button{color:var(--ink);background:rgba(247,242,233,.07)}.discovery-motion{position:relative;height:232px;margin-top:15px;overflow:hidden;border:1px solid rgba(200,243,234,.17);border-radius:22px;background:#151b16;box-shadow:0 20px 44px rgba(0,0,0,.3);isolation:isolate}.discovery-room{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%;filter:brightness(.5) saturate(.72) contrast(1.08);transform:scale(1.07);animation:discovery-camera 6s ease-in-out infinite alternate}.discovery-cinema-shade{position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 58% 58%,transparent 10%,rgba(4,8,6,.2) 52%,rgba(3,5,4,.72)),linear-gradient(180deg,rgba(6,10,8,.25),transparent 40%,rgba(3,5,4,.62));pointer-events:none}.discovery-cat{position:absolute;z-index:3;width:138px;height:108px;object-fit:contain;filter:brightness(.73) saturate(.8) contrast(1.08) drop-shadow(8px 8px 7px rgba(0,0,0,.38));transform-origin:50% 88%}.discovery-cat-main{left:22%;bottom:13px;animation:discovery-cat-notice 5.2s ease-in-out infinite}.discovery-cat-second{right:4%;bottom:22px;width:120px;opacity:0;transform:scaleX(-1)}.discovery-object{position:absolute;z-index:4;display:block}.discovery-scanline{position:absolute;z-index:5;left:-15%;right:-15%;top:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(200,243,234,.8),transparent);box-shadow:0 0 18px rgba(158,212,202,.28);animation:discovery-scan 5.4s ease-in-out infinite}.discovery-motion>b,.discovery-motion>em{position:absolute;z-index:6;top:10px;color:rgba(220,245,236,.58);font-size:7px;font-style:normal;font-weight:500;letter-spacing:.11em}.discovery-motion>b{left:12px}.discovery-motion>em{right:12px}.discovery-motion[data-visual="bell"] .discovery-object{right:24%;top:32%;width:19px;height:27px;border-radius:11px 11px 6px 6px;background:linear-gradient(135deg,#ebc785,#a9783f);box-shadow:0 0 24px rgba(235,190,112,.32);transform-origin:50% 0;animation:discovery-bell 5.2s ease-in-out infinite}.discovery-motion[data-visual="bell"] .discovery-object i:first-child{position:absolute;left:6px;bottom:-4px;width:7px;height:6px;border-radius:50%;background:#f4d79e}.discovery-motion[data-visual="bell"] .discovery-object i:nth-child(2){position:absolute;left:50%;top:-7px;width:8px;height:9px;border:2px solid #c59550;border-bottom:0;border-radius:7px 7px 0 0;transform:translateX(-50%)}.discovery-motion[data-visual="bell"] .discovery-object i:nth-child(3){position:absolute;left:50%;top:50%;width:12px;height:12px;border:1px solid rgba(238,201,137,.55);border-radius:50%;transform:translate(-50%,-50%);animation:mini-ring 2.8s ease-out infinite}.discovery-motion[data-visual="pawprints"] .discovery-cat-second{opacity:.86;animation:discovery-cat-watch 5.4s ease-in-out infinite}.discovery-motion[data-visual="pawprints"] .discovery-object{left:44%;bottom:24%;width:105px;height:50px;transform:rotate(-15deg)}.discovery-motion[data-visual="pawprints"] .discovery-object i{position:absolute;width:13px;height:17px;border-radius:55% 45% 50% 50%;background:rgba(186,215,207,.58);box-shadow:0 0 10px rgba(158,212,202,.18)}.discovery-motion[data-visual="pawprints"] .discovery-object i:first-child{left:2px;bottom:2px}.discovery-motion[data-visual="pawprints"] .discovery-object i:nth-child(2){left:39px;bottom:17px;animation:footprint-fade 2.5s ease-in-out infinite}.discovery-motion[data-visual="pawprints"] .discovery-object i:nth-child(3){right:3px;top:0;animation:footprint-fade 2.5s .5s ease-in-out infinite}.discovery-motion[data-visual="signal"] .discovery-cat-second{opacity:.7;animation:discovery-cat-watch 5.4s ease-in-out infinite}.discovery-motion[data-visual="signal"] .discovery-object{right:21%;top:31%;width:8px;height:8px;border-radius:50%;background:var(--sensor-bright);box-shadow:0 0 24px var(--sensor)}.discovery-motion[data-visual="signal"] .discovery-object i{position:absolute;inset:50%;width:12px;height:12px;border:1px solid rgba(200,243,234,.72);border-radius:50%;transform:translate(-50%,-50%);animation:signal-echo 2.6s ease-out infinite}.discovery-motion[data-visual="signal"] .discovery-object i:nth-child(2){animation-delay:-.85s}.discovery-motion[data-visual="signal"] .discovery-object i:nth-child(3){animation-delay:-1.7s}.discovery-copy{padding:14px 3px 2px}.discovery-copy>strong{display:block;color:var(--ink);font-size:14px;font-weight:500}.discovery-copy>p{margin:7px 0 10px;color:rgba(247,242,233,.62);font-size:11px;line-height:1.65}.discovery-copy>small{display:flex;align-items:center;gap:7px;color:var(--amber);font-size:9px}.discovery-copy>small i{width:5px;height:5px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px rgba(222,181,111,.5)}.discovery-sheet .primary-action{margin-top:12px}.discovery-later{display:block;margin:9px auto 0;padding:5px 16px;border:0;color:rgba(247,242,233,.42);background:transparent;font-size:9px;cursor:pointer}
.room-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.room-theme-card{min-width:0;padding:4px 4px 8px;border:1px solid var(--dark-line);border-radius:16px;color:var(--ink-dark);background:rgba(255,255,255,.3);cursor:pointer;text-align:left;transition:.22s ease}.room-theme-card>i{display:block;height:92px;border-radius:12px;background-image:linear-gradient(180deg,transparent,rgba(20,18,15,.18)),var(--room-thumb);background-size:cover;background-position:center 61%}.room-theme-card span{display:block;padding:7px 4px 0}.room-theme-card b,.room-theme-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-theme-card b{font-size:10px;font-weight:500}.room-theme-card small{margin-top:3px;color:var(--muted-dark);font-size:7px}.room-theme-card.is-selected{border-color:#5f8c83;background:#e0ebe5;box-shadow:0 0 0 2px rgba(95,140,131,.1)}.room-theme-card:active{transform:scale(.98)}
.room-physics-panel{margin-top:14px;padding-top:13px;border-top:1px solid rgba(56,47,41,.1)}.room-physics-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.room-physics-panel>header small{display:block;color:#5d8f84;font-size:7px;letter-spacing:.08em}.room-physics-panel>header h3{margin:4px 0 0;color:var(--ink-dark);font-size:12px;font-weight:500}.room-physics-panel>header>b{padding:4px 7px;border-radius:9px;color:#47766b;background:#dcece7;font-size:8px}.room-physics-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.room-physics-summary span{padding:8px;border-radius:12px;color:#516e66;background:rgba(91,135,124,.08);font-size:7px}.room-physics-summary b{display:block;margin-top:3px;color:#315d53;font-size:11px}.decoration-catalog,.room-placement-list{display:grid;gap:7px;margin-top:10px}.decoration-card{padding:10px;border:1px solid rgba(56,47,41,.1);border-radius:14px;background:rgba(255,255,255,.52)}.decoration-card header{display:flex;justify-content:space-between;gap:8px}.decoration-card h4{margin:0;color:var(--ink-dark);font-size:10px}.decoration-card p{margin:4px 0 0;color:var(--muted-dark);font-size:7px;line-height:1.45}.decoration-card>small{display:block;margin-top:6px;color:#5a887d;font-size:7px}.decoration-slot-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.decoration-slot-actions button,.room-placement-list button{min-height:31px;padding:0 9px;border:1px solid rgba(82,124,114,.22);border-radius:10px;color:#416d62;background:#e4f1ed;font-size:7px}.decoration-slot-actions button:disabled{opacity:.35}.room-placement-list article{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:12px;color:#4b6861;background:rgba(213,235,228,.52);font-size:8px}.room-placement-list article span small{display:block;margin-top:2px;color:#7c8b86;font-size:7px}
.decor-slot-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.decor-slot-row>span{min-width:0;padding:9px 7px;border-radius:14px;background:rgba(56,47,41,.06);text-align:center}.decor-slot-row .icon{width:17px;height:17px;color:#56877e}.decor-slot-row b,.decor-slot-row small{display:block}.decor-slot-row b{margin-top:4px;font-size:9px;font-weight:500}.decor-slot-row small{margin-top:2px;overflow:hidden;color:var(--muted-dark);font-size:7px;text-overflow:ellipsis;white-space:nowrap}
.toast{position:absolute;z-index:70;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));max-width:calc(100% - 34px);padding:10px 14px;border:1px solid rgba(200,243,234,.25);border-radius:18px;color:var(--ink);background:rgba(43,67,59,.94);box-shadow:0 12px 30px rgba(0,0,0,.24);opacity:0;transform:translate(-50%,14px);pointer-events:none;transition:.24s ease;white-space:nowrap;font-size:11px}.toast.is-visible{opacity:1;transform:translate(-50%,0)}

.game-guide{position:fixed;z-index:80;left:50%;right:auto;width:min(100%,430px);transform:translateX(-50%)}.guide-skip[hidden],.guide-coach-action[hidden]{display:none!important}
.world-map{height:390px;min-height:390px}.world-game-hud{position:absolute;z-index:9;left:10px;right:10px;top:8px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 10px;padding:10px 11px;border:1px solid rgba(200,243,234,.24);border-radius:18px;color:var(--ink);background:linear-gradient(125deg,rgba(13,27,24,.92),rgba(35,52,45,.82));box-shadow:0 15px 34px rgba(0,0,0,.24);backdrop-filter:blur(14px)}.world-game-copy small{display:block;color:var(--sensor);font-size:7px;letter-spacing:.1em}.world-game-copy strong{display:block;margin-top:4px;font-size:12px;font-weight:500}.world-loop-rail{grid-column:1/-1;display:flex;align-items:center;gap:5px;color:rgba(247,242,233,.35);font-size:7px}.world-loop-rail span{padding:3px 5px;border-radius:8px;white-space:nowrap;transition:.25s ease}.world-loop-rail span.is-current{color:#16322d;background:var(--sensor-bright);box-shadow:0 0 13px rgba(158,212,202,.24)}.world-loop-rail span.is-done{color:var(--sensor-bright)}.world-loop-rail i{font-style:normal}.world-game-hud>button{min-width:102px;min-height:32px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid rgba(200,243,234,.35);border-radius:11px;color:var(--sensor-bright);background:rgba(158,212,202,.1);cursor:pointer;font-size:8px}.world-game-hud>button:disabled{cursor:default;opacity:.56}.world-game-hud>button i{font-size:16px;font-style:normal;animation:scan-glyph 2.2s ease-in-out infinite}.world-map.is-scanning .world-game-hud>button{color:#15322c;background:var(--sensor-bright)}
.world-scan-field{position:absolute;z-index:2;inset:80px 0 0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .3s ease}.world-scan-field i{position:absolute;left:50%;top:50%;width:90px;height:90px;border:1px solid rgba(200,243,234,.25);border-radius:50%;transform:translate(-50%,-50%);animation:scan-ring 2.6s ease-out infinite}.world-scan-field i:nth-child(2){animation-delay:-.85s}.world-scan-field i:nth-child(3){animation-delay:-1.7s}.world-scan-field b{position:absolute;left:-10%;right:-10%;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--sensor-bright),transparent);box-shadow:0 0 22px rgba(158,212,202,.42);animation:world-sweep 2.8s ease-in-out infinite}.world-map.is-scanning .world-scan-field{opacity:1}.world-map.is-scanning .world-node,.world-map.is-scanning .world-cat{opacity:.28;filter:saturate(.5) blur(.3px)}
.world-trace{position:absolute;z-index:8;display:none;align-items:center;gap:6px;padding:0;border:0;color:var(--sensor-bright);background:transparent;cursor:pointer;filter:drop-shadow(0 7px 12px rgba(0,0,0,.36));animation:trace-float 2.4s ease-in-out infinite}.world-map.is-scanning .world-trace{display:flex}.world-trace>i{position:relative;width:35px;height:35px;border:1px solid currentColor;border-radius:50%;background:rgba(19,38,33,.82);box-shadow:0 0 0 7px rgba(158,212,202,.08),0 0 22px rgba(158,212,202,.25)}.world-trace>i::before{content:"";position:absolute;inset:10px;border-radius:50%;background:currentColor;animation:trace-core 1.15s ease-in-out infinite}.world-trace span b,.world-trace span small{display:block}.world-trace span b{font-size:9px;font-weight:500}.world-trace span small{margin-top:2px;color:rgba(247,242,233,.48);font-size:6px}.world-trace.is-captured{display:flex!important;opacity:.34;transform:scale(.76);pointer-events:none;animation:trace-captured .42s ease both}.trace-wind{left:24px;top:121px}.trace-sound{right:18px;top:210px;animation-delay:-.8s}.trace-scent{left:132px;bottom:35px;animation-delay:-1.5s}.world-node[hidden]{display:none}.node-alley{right:8px;top:116px}.node-roof{left:119px;top:181px}.node-signal{left:19px;top:111px}.node-signal>i{color:#18312c!important;background:linear-gradient(145deg,#d8fff4,#93caba)!important;box-shadow:0 0 0 7px rgba(158,212,202,.1),0 0 30px rgba(158,212,202,.42)!important;animation:signal-node-bloom 2.2s ease-in-out infinite}.world-map.has-scan-result .node-signal{animation:node-reveal .65s cubic-bezier(.18,.83,.25,1) both}.world-map[data-beacon-choice="light"] .node-signal>i{background:#f0d7a8!important;box-shadow:0 0 32px rgba(240,202,137,.5)!important}.world-map[data-beacon-choice="sound"] .node-signal>i{background:#bcebf0!important;box-shadow:0 0 32px rgba(117,211,220,.5)!important}.world-map[data-beacon-choice="scent"] .node-signal>i{background:#bada9f!important;box-shadow:0 0 32px rgba(151,205,123,.5)!important}
.beacon-options{display:grid;gap:9px;margin-top:14px}.beacon-options button{min-height:67px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:8px 11px;border:1px solid var(--dark-line);border-radius:17px;color:var(--ink-dark);background:rgba(255,255,255,.28);text-align:left;cursor:pointer;transition:.2s ease}.beacon-options button>i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#4f857b;background:rgba(94,146,136,.12);font-size:23px;font-style:normal}.beacon-options strong,.beacon-options small{display:block}.beacon-options strong{font-size:12px;font-weight:500}.beacon-options small{margin-top:4px;color:var(--muted-dark);font-size:9px}.beacon-options button>b{padding:4px 7px;border-radius:9px;color:#58867e;background:rgba(94,146,136,.1);font-size:8px;font-weight:500}.beacon-options button:active{transform:scale(.985);background:#e1ebe5}
.hotspot-food{overflow:visible}.food-hotspot-value{position:absolute;left:-1px;bottom:51px;width:91px;display:grid;grid-template-columns:1fr;gap:2px;padding:7px 8px 6px;border:1px solid rgba(200,243,234,.3);border-radius:13px;color:var(--ink);background:rgba(21,31,27,.78);box-shadow:0 9px 22px rgba(0,0,0,.18);backdrop-filter:blur(10px);text-align:left;pointer-events:none}.food-hotspot-value::after{content:"";position:absolute;left:15px;bottom:-5px;width:9px;height:9px;border-right:1px solid rgba(200,243,234,.3);border-bottom:1px solid rgba(200,243,234,.3);background:rgba(21,31,27,.88);transform:rotate(45deg)}.food-hotspot-value small{color:rgba(247,242,233,.55);font-size:7px;letter-spacing:.06em}.food-hotspot-value b{font-size:11px;font-weight:500;white-space:nowrap}.food-hotspot-value>i{height:2px;margin-top:3px;overflow:hidden;border-radius:2px;background:rgba(247,242,233,.13)}.food-hotspot-value>i em{display:block;width:var(--value,0%);height:100%;border-radius:inherit;background:var(--sensor-bright);transition:width .35s ease}.hotspot-food.is-empty .food-hotspot-value{border-color:rgba(220,178,111,.36)}.hotspot-food.is-empty .food-hotspot-value b{color:#e3c38f}.hotspot-food.is-low .food-hotspot-value>i em{background:#e2b476}
.food-current{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px;padding:12px 13px;border:1px solid rgba(79,133,123,.16);border-radius:17px;background:rgba(79,133,123,.07)}.food-current>span small,.food-current>span strong,.food-current>span b{display:block}.food-current>span small{color:var(--muted-dark);font-size:8px}.food-current>span strong{margin-top:4px;color:#497b72;font-size:17px;font-weight:500}.food-current>span b{margin-top:6px;font-size:11px;font-weight:500;text-align:right}.food-current>i{grid-column:1/-1;height:4px;overflow:hidden;border-radius:3px;background:rgba(56,47,41,.1)}.food-current>i em{display:block;width:var(--value,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#5f9187,#9fc8b7);transition:width .35s ease}.hour-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 15px}.hour-options button{min-height:70px;border:1px solid var(--dark-line);border-radius:16px;color:var(--ink-dark);background:transparent;cursor:pointer}.hour-options strong,.hour-options small{display:block}.hour-options strong{font-size:13px;font-weight:500}.hour-options small{margin-top:5px;color:var(--muted-dark);font-size:8px}.hour-options button.is-selected{border-color:#5f8c83;background:#dfe9e2;box-shadow:0 0 0 2px rgba(95,140,131,.09)}

.world-map.is-scan-hit{animation:world-scan-hit .62s ease both}.world-map:not(.is-scanning) .world-trace{display:none!important}

@keyframes spin{to{transform:rotate(360deg)}}
@keyframes scan-glyph{0%,100%{transform:rotate(-18deg) scale(.9);opacity:.65}50%{transform:rotate(18deg) scale(1.15);opacity:1}}
@keyframes scan-ring{0%{transform:translate(-50%,-50%) scale(.35);opacity:0}18%{opacity:.7}100%{transform:translate(-50%,-50%) scale(3.4);opacity:0}}
@keyframes world-sweep{0%,100%{transform:translateY(0);opacity:0}12%{opacity:.8}70%{opacity:.55}88%{transform:translateY(300px);opacity:0}}
@keyframes trace-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes trace-core{0%,100%{transform:scale(.65);opacity:.55}50%{transform:scale(1);opacity:1}}
@keyframes trace-captured{0%{opacity:1;transform:scale(1.15)}55%{opacity:.7;transform:scale(.62)}100%{opacity:.34;transform:scale(.76)}}
@keyframes signal-node-bloom{0%,100%{transform:scale(.96)}50%{transform:scale(1.08)}}
@keyframes node-reveal{from{opacity:0;transform:scale(.45) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes world-scan-hit{0%,100%{filter:none}45%{filter:brightness(1.18) saturate(1.12)}}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes scan-stage{0%,100%{transform:translateY(-90px);opacity:0}15%,75%{opacity:.7}88%{transform:translateY(300px);opacity:0}}
@keyframes halo{0%{transform:scale(.7);opacity:.55}100%{transform:scale(1.45);opacity:0}}
@keyframes wind{0%{transform:translateX(-24%) rotate(-11deg);opacity:0}18%{opacity:.45}75%{opacity:.32}100%{transform:translateX(25%) rotate(-11deg);opacity:0}}
@keyframes light-wander{0%{transform:translate3d(-6%,-4%,0) scale(.92);opacity:.2}52%{opacity:.42}100%{transform:translate3d(54%,17%,0) scale(1.18);opacity:.26}}
@keyframes mote-rise{0%{transform:translate3d(0,10px,0) scale(.7);opacity:0}18%{opacity:.68}74%{opacity:.42}100%{transform:translate3d(22px,-410px,0) scale(1.15);opacity:0}}
@keyframes cat-breathe{0%,100%{transform:scale(.97);opacity:.28}50%{transform:scale(1.025);opacity:.55}}
@keyframes cat-signal{0%{box-shadow:0 0 0 0 rgba(158,212,202,.28);opacity:.7}72%,100%{box-shadow:0 0 0 16px rgba(158,212,202,0);opacity:.15}}
@keyframes cat-notice{0%{transform:scale(.98)}42%{transform:scale(1.11) translateY(-3px);opacity:.8}100%{transform:scale(1)}}
@keyframes cat-signal-fast{0%{box-shadow:0 0 0 0 rgba(200,243,234,.6)}100%{box-shadow:0 0 0 34px rgba(200,243,234,0)}}
@keyframes reward-bloom{0%{transform:scale(.35);opacity:0}30%{opacity:1}100%{transform:scale(1.25);opacity:0}}
@keyframes discovery-arrive{from{opacity:0;transform:translateY(9px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes discovery-mark-pulse{0%,100%{box-shadow:0 0 0 0 rgba(158,212,202,0)}45%{box-shadow:0 0 0 8px rgba(158,212,202,.08)}}
@keyframes mini-bell{0%,15%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}26%{transform:rotate(-11deg)}32%{transform:rotate(6deg)}38%{transform:rotate(0)}}
@keyframes mini-ring{0%,28%{opacity:0;transform:scale(.45)}45%{opacity:.65}75%,100%{opacity:0;transform:scale(2.5)}}
@keyframes footprint-fade{0%,100%{opacity:.28}45%{opacity:1;box-shadow:0 0 13px rgba(200,243,234,.38)}}
@keyframes signal-echo{0%{opacity:.8;transform:translate(-50%,-50%) scale(.35)}100%{opacity:0;transform:translate(-50%,-50%) scale(4.6)}}
@keyframes discovery-camera{from{transform:scale(1.07) translateX(-1.2%)}to{transform:scale(1.13) translateX(1.8%)}}
@keyframes discovery-scan{0%,100%{transform:translateY(0);opacity:0}12%{opacity:.7}78%{opacity:.42}90%{transform:translateY(205px);opacity:0}}
@keyframes discovery-cat-notice{0%,18%,100%{transform:translateY(0) rotate(0)}28%{transform:translateY(-3px) rotate(-1.2deg)}42%{transform:translate(7px,-2px) rotate(.8deg)}72%{transform:translate(9px,0)}}
@keyframes discovery-cat-watch{0%,100%{transform:scaleX(-1) translateY(0)}42%{transform:scaleX(-1) translateY(-2px) rotate(1.5deg)}65%{transform:scaleX(-1) translate(-5px,-1px)}}
@keyframes discovery-bell{0%,14%,100%{transform:rotate(0)}20%{transform:rotate(13deg)}26%{transform:rotate(-10deg)}32%{transform:rotate(7deg)}38%{transform:rotate(0);box-shadow:0 0 32px rgba(235,190,112,.48)}}
@keyframes hud-glint{0%,72%{transform:translateX(-170%) skewX(-18deg)}88%,100%{transform:translateX(410%) skewX(-18deg)}}
@keyframes hotspot-breathe{0%,100%{box-shadow:0 0 0 0 rgba(158,212,202,0)}50%{box-shadow:0 0 0 7px rgba(158,212,202,.08)}}
@keyframes action-glint{0%,68%{transform:translateX(-80px) rotate(18deg)}86%,100%{transform:translateX(440px) rotate(18deg)}}
@keyframes explore-cat-breathe{0%,100%{transform:scaleY(.985)}50%{transform:scaleY(1.025) translateY(-1px)}}
@keyframes tail-sway{0%,100%{transform:rotate(-21deg)}50%{transform:rotate(4deg)}}
@keyframes object-glow{0%,100%{box-shadow:0 0 16px rgba(196,154,92,.18);transform:translateY(0)}50%{box-shadow:0 0 34px rgba(225,185,116,.48);transform:translateY(-2px)}}
@keyframes view-arrive{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}
@keyframes veil-in{from{background:rgba(7,8,7,0);backdrop-filter:blur(0)}to{background:rgba(7,8,7,.62);backdrop-filter:blur(7px)}}
@keyframes sheet-rise{from{opacity:0;transform:translateY(44px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes world-radar{0%{transform:scale(.72);opacity:0}24%{opacity:.45}100%{transform:scale(1.18);opacity:0}}
.season-card{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:15px 16px;border:1px solid rgba(145,233,211,.25);border-radius:22px;color:#edf9f4;background:radial-gradient(circle at 84% 0,rgba(139,231,211,.22),transparent 34%),linear-gradient(135deg,#173c39,#15241f);box-shadow:0 15px 28px rgba(26,57,51,.16);text-align:left;cursor:pointer}.season-card span>*{display:block}.season-card small{color:#94d9ca;font-size:8px;letter-spacing:.1em}.season-card strong{margin-top:5px;font-size:14px;font-weight:500}.season-card em{margin-top:4px;color:rgba(239,250,245,.66);font-size:9px;font-style:normal}.season-card>i{font-size:18px;font-style:normal}
.world-ecology{margin:0 14px 12px;padding:15px;border:1px solid rgba(155,230,213,.16);border-radius:23px;background:linear-gradient(145deg,rgba(18,42,39,.92),rgba(15,27,24,.96));box-shadow:0 16px 34px rgba(4,12,10,.22)}.world-ecology header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.world-ecology header small{display:block;color:#72b9aa;font-size:8px;letter-spacing:.08em}.world-ecology header strong{display:block;margin-top:5px;color:#edf7f3;font-size:13px;font-weight:500}.world-ecology header>b{color:#a5ebdc;font-size:19px;font-weight:500}.ecology-links{display:grid;gap:7px;margin-top:12px}.ecology-link{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border-radius:14px;color:rgba(232,245,239,.78);background:rgba(255,255,255,.05);font-size:9px}.ecology-link strong{color:#b9e6dc;font-weight:500}.ecology-link i{width:32px;height:3px;overflow:hidden;border-radius:2px;background:rgba(255,255,255,.1)}.ecology-link i:before{content:"";display:block;width:var(--value);height:100%;background:#79cdbb}.ecology-link em{font-style:normal;font-size:8px}.stranger-cat-strip{display:flex;gap:8px;margin-top:11px;overflow:auto;scrollbar-width:none}.stranger-cat-card{min-width:118px;display:grid;grid-template-columns:30px 1fr;gap:8px;padding:9px;border:1px solid rgba(255,255,255,.07);border-radius:15px;color:#eaf6f1;background:rgba(255,255,255,.04)}.stranger-cat-card>i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#172b26;background:#b5dfd2;font-size:10px;font-style:normal}.stranger-cat-card strong,.stranger-cat-card small{display:block}.stranger-cat-card strong{font-size:10px;font-weight:500}.stranger-cat-card small{margin-top:3px;color:rgba(229,244,237,.55);font-size:8px}
.weekly-chronicle{width:calc(100% - 28px);min-height:142px;display:grid;grid-template-columns:1fr 70px;align-items:end;gap:13px;margin:0 14px 14px;padding:18px;border:1px solid rgba(107,176,164,.28);border-radius:25px;color:#edf8f4;background:radial-gradient(circle at 82% 20%,rgba(157,227,213,.22),transparent 29%),linear-gradient(145deg,#23433d,#162822);box-shadow:0 19px 38px rgba(39,64,57,.19);text-align:left;cursor:pointer;overflow:hidden}.weekly-chronicle span>*{display:block}.weekly-chronicle small{color:#8fd0c2;font-size:8px;letter-spacing:.08em}.weekly-chronicle strong{max-width:230px;margin-top:9px;font-size:17px;font-weight:500;line-height:1.28}.weekly-chronicle em{margin-top:8px;color:rgba(235,248,242,.58);font-size:9px;font-style:normal}.weekly-chronicle>i{width:64px;height:64px;display:grid;place-items:center;border:1px solid rgba(175,237,224,.4);border-radius:50%;color:#c9eee6;background:rgba(111,196,179,.1);font-size:9px;font-style:normal;text-align:center;box-shadow:0 0 0 9px rgba(111,196,179,.04)}
.cat-profile-tabs{display:flex;gap:8px;margin:15px 0 10px;overflow:auto}.cat-profile-tabs button{min-width:92px;padding:9px 12px;border:1px solid var(--dark-line);border-radius:14px;color:var(--ink-dark);background:transparent;cursor:pointer}.cat-profile-tabs button.is-selected{color:#fff;background:#365f57}.cat-personality-card{padding:14px;border-radius:20px;background:rgba(54,95,87,.08)}.personality-head{display:flex;align-items:center;justify-content:space-between}.personality-head strong{font-size:17px;font-weight:500}.personality-head small{color:#56877e}.trait-bars{display:grid;gap:9px;margin-top:13px}.trait-bar{display:grid;grid-template-columns:52px 1fr 30px;align-items:center;gap:8px;font-size:9px}.trait-bar i{height:5px;overflow:hidden;border-radius:3px;background:rgba(56,47,41,.1)}.trait-bar i:before{content:"";display:block;width:var(--value);height:100%;background:#5f968b}.personality-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.personality-facts span{padding:6px 8px;border-radius:12px;color:#426f66;background:rgba(91,145,135,.12);font-size:8px}.relationship-card{margin-top:10px;padding-top:11px;border-top:1px solid rgba(56,47,41,.1);font-size:10px}.relationship-card strong{display:block;font-weight:500}.relationship-card p{margin:5px 0 0;color:var(--muted-dark)}.real-cat-entry{margin-top:12px;padding:14px;border:1px dashed rgba(62,111,102,.35);border-radius:20px}.real-cat-entry small,.real-cat-entry strong{display:block}.real-cat-entry small{color:#56877e;font-size:8px}.real-cat-entry strong{margin-top:4px;font-size:13px;font-weight:500}.real-cat-entry p{margin:6px 0 0;color:var(--muted-dark);font-size:9px;line-height:1.5}.photo-picker{display:block;margin-top:11px}.photo-picker input{position:absolute;opacity:0;pointer-events:none}.photo-picker span{display:grid;place-items:center;min-height:42px;border-radius:14px;color:#fff;background:#507f76;font-size:10px;cursor:pointer}.photo-file-list{margin-top:8px;padding:9px;border-radius:12px;color:var(--muted-dark);background:rgba(56,47,41,.05);font-size:8px;line-height:1.5}.consent-check{display:grid;grid-template-columns:17px 1fr;gap:7px;align-items:start;margin-top:10px;color:var(--muted-dark);font-size:8px;line-height:1.5}.consent-check input{margin:1px 0 0}.real-cat-entry .primary-action{margin-top:10px}
.photo-spec-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:10px}.photo-spec-grid span{min-width:0;padding:8px 5px;border-radius:12px;background:rgba(80,127,118,.08)}.photo-spec-grid b,.photo-spec-grid i,.photo-spec-grid small{display:block}.photo-spec-grid b{color:#56877e;font-size:8px}.photo-spec-grid i{margin-top:3px;color:var(--ink-dark);font-size:8px;font-style:normal}.photo-spec-grid small{margin-top:2px;color:var(--muted-dark);font-size:6px;line-height:1.35}.photo-file-list{display:grid;gap:5px}.photo-check{display:grid;grid-template-columns:16px 1fr;column-gap:5px;align-items:center}.photo-check b{grid-row:1/3;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#fff;background:#56877e}.photo-check i{overflow:hidden;color:var(--ink-dark);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.photo-check small{grid-column:2;color:var(--muted-dark)}.photo-check.is-error b{background:#a96b52}.photo-check.is-error small{color:#965f49}
.chronicle-stage{position:relative;min-height:170px;display:flex;flex-direction:column;justify-content:flex-end;margin-top:14px;padding:18px;border-radius:23px;overflow:hidden;color:#f1f8f5;background:linear-gradient(0deg,rgba(8,16,13,.76),rgba(18,48,41,.12)),url('./assets/room-biophilic-v1.png') center/cover}.chronicle-stage span{position:absolute;top:14px;left:14px;color:#c8eee4;font-size:8px;letter-spacing:.12em}.chronicle-stage strong{position:relative;z-index:2;max-width:280px;font-size:20px;font-weight:500;line-height:1.25}.chronicle-stage>i{position:absolute;right:18px;bottom:18px;width:11px;height:11px;border-radius:50%;background:#a8eadc;box-shadow:0 0 0 8px rgba(168,234,220,.14),0 0 20px #a8eadc;animation:pulse-dot 1.8s ease-in-out infinite}.chronicle-beats{display:grid;gap:8px;margin-top:12px}.chronicle-beat{display:grid;grid-template-columns:43px 1fr;gap:9px;padding:10px;border-radius:15px;background:rgba(56,47,41,.05)}.chronicle-beat b{color:#508278;font-size:9px;font-weight:500}.chronicle-beat strong{display:block;font-size:10px;font-weight:500}.chronicle-beat p{margin:3px 0 0;color:var(--muted-dark);font-size:8px}.permanent-change-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.permanent-change-list span{padding:7px 9px;border-radius:13px;color:#416e65;background:rgba(89,149,137,.12);font-size:8px}
.relay-step{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:9px;margin-top:8px;padding:10px;border-radius:15px;background:rgba(56,47,41,.05)}.relay-step>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#658c83;font-size:8px}.relay-step strong{display:block;font-size:10px;font-weight:500}.relay-step small{display:block;margin-top:3px;color:var(--muted-dark);font-size:8px}.relay-step>b{color:#56877e;font-size:9px;font-weight:500}.preference-list{display:grid;gap:8px;margin-top:15px}.preference-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px;border-radius:16px;background:rgba(56,47,41,.05)}.preference-row strong,.preference-row small{display:block}.preference-row strong{font-size:11px;font-weight:500}.preference-row small{margin-top:3px;color:var(--muted-dark);font-size:8px}.preference-row button{width:44px;height:25px;padding:3px;border:0;border-radius:13px;background:#aaa;cursor:pointer}.preference-row button:before{content:"";display:block;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .2s}.preference-row button.is-on{background:#5f978c}.preference-row button.is-on:before{transform:translateX(19px)}.privacy-note{display:flex;gap:8px;padding:11px;border-radius:15px;color:var(--muted-dark);background:rgba(76,128,118,.08);font-size:8px;line-height:1.5}.privacy-note .icon{width:17px;flex:0 0 auto;color:#56877e}.operations-hero{margin-top:15px;padding:17px;border-radius:21px;color:#edf8f4;background:radial-gradient(circle at 85% 15%,rgba(141,225,207,.22),transparent 30%),linear-gradient(145deg,#214941,#142b26)}.operations-hero span{color:#95d6c8;font-size:8px;letter-spacing:.1em}.operations-hero strong{display:block;margin-top:7px;font-size:19px;font-weight:500}.operations-hero p{color:rgba(238,249,244,.68);font-size:10px;line-height:1.5}.operations-hero>i{display:block;height:6px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.1)}.operations-hero>i b{display:block;width:var(--value);height:100%;background:#a4eadb}.operations-hero>small{display:block;margin-top:6px;color:#a8dbd0;font-size:8px}.return-milestones{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.return-milestones span{padding:10px 5px;border:1px solid var(--dark-line);border-radius:15px;text-align:center}.return-milestones b,.return-milestones small{display:block}.return-milestones b{font-size:14px;font-weight:500}.return-milestones small{margin-top:4px;color:var(--muted-dark);font-size:8px}.return-milestones span.is-done{border-color:#6c9f95;background:rgba(91,151,139,.12)}
@keyframes route-flow{to{stroke-dashoffset:-48}}
/* Chapter scene director: each story has a matched backdrop, prop, atmosphere and camera. */
.explore-scene-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.7) saturate(.82) contrast(1.06);transform:scale(1.055);animation:chapter-explore-camera 10s ease-in-out infinite alternate}.explore-scene-shade{position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 55% 57%,transparent 8%,rgba(5,9,8,.13) 52%,rgba(5,7,6,.68)),linear-gradient(180deg,rgba(6,9,8,.22),transparent 48%,rgba(6,8,7,.55));pointer-events:none}.explore-scene>.night-sky,.explore-scene>.distant-city,.explore-scene>.roof-plane,.explore-scene>.chimney{display:none}.explore-cat-real{position:absolute;z-index:4;width:150px;height:116px;object-fit:contain;object-position:center bottom;filter:brightness(.78) saturate(.88) contrast(1.06) drop-shadow(10px 12px 8px rgba(0,0,0,.42));transform-origin:50% 88%;pointer-events:none}.explore-cat-main{left:43%;bottom:5%;animation:chapter-cat-investigate 5.8s ease-in-out infinite}.explore-cat-companion{left:68%;bottom:9%;width:128px;opacity:.78;transform:scaleX(-1);animation:chapter-cat-watch 6.4s -1.7s ease-in-out infinite}.explore-scene-prop{position:absolute;z-index:5;display:block;pointer-events:none}.explore-scene[data-scene="bell_at_window"] .explore-scene-image{object-position:70% center;filter:brightness(.6) saturate(.72)}.explore-scene[data-scene="bell_at_window"] .explore-scene-prop{right:21%;top:33%;width:24px;height:31px;border-radius:12px 12px 7px 7px;background:linear-gradient(135deg,#efca87,#9f6c36);box-shadow:0 0 28px rgba(239,190,104,.42);transform-origin:50% 0;animation:discovery-bell 5.2s ease-in-out infinite}.explore-scene[data-scene="feather_after_rain"] .explore-scene-prop{right:11%;bottom:15%;width:52px;height:13px;border-radius:100% 0;background:linear-gradient(170deg,#e5edf0,#8ea4ac);filter:drop-shadow(0 0 7px rgba(210,235,240,.4));animation:chapter-feather 4.8s ease-in-out infinite}.explore-scene[data-scene="feather_after_rain"] .wind-field i{transform:rotate(72deg);opacity:.3;animation-duration:1.8s}.explore-scene[data-scene="pipe_rhythm"] .explore-scene-prop{right:18%;top:24%;width:76px;height:76px;border:2px solid rgba(152,224,211,.65);border-left-color:transparent;border-radius:50%;animation:chapter-pipe-pulse 3.5s ease-out infinite}.explore-scene[data-scene="two_cat_route"] .explore-cat-main{left:28%;bottom:8%}.explore-scene[data-scene="two_cat_route"] .explore-cat-companion{left:53%;bottom:6%;opacity:.9}.explore-scene[data-scene="two_cat_route"] .explore-scene-prop{left:25%;right:20%;bottom:19%;height:55px;border-bottom:2px dashed rgba(145,232,212,.72);border-radius:50%;animation:chapter-route-glow 2.8s ease-in-out infinite}.explore-scene[data-scene="moving_light"] .explore-scene-image,.explore-scene[data-scene="quiet_scent"] .explore-scene-image{object-position:center 56%;filter:brightness(.66) saturate(.8)}.explore-scene[data-scene="moving_light"] .explore-scene-prop{left:18%;bottom:17%;width:145px;height:38px;border-radius:50%;background:rgba(255,211,124,.34);filter:blur(7px);mix-blend-mode:screen;animation:chapter-light-travel 6s ease-in-out infinite}.explore-scene[data-scene="quiet_scent"] .explore-scene-prop{right:15%;bottom:26%;width:9px;height:9px;border-radius:50%;background:#a9dcc4;box-shadow:-22px 14px 0 rgba(169,220,196,.55),-45px -3px 0 rgba(169,220,196,.34),-67px 18px 0 rgba(169,220,196,.25);animation:chapter-scent-drift 4.5s ease-in-out infinite}.explore-scene[data-scene="beacon_reply"] .explore-scene-prop{left:44%;top:47%;width:10px;height:10px;border-radius:50%;background:#b8f7e9;box-shadow:0 0 24px #69c8b4;animation:signal-echo 2.6s ease-out infinite}.explore-scene[data-scene="beacon_reply"] .explore-cat-main{left:20%;bottom:8%}.explore-scene[data-scene="beacon_reply"] .explore-cat-companion{left:39%;bottom:6%}

.discovery-motion[data-scene] .discovery-room{filter:brightness(.56) saturate(.78) contrast(1.08);object-position:center;animation:chapter-discovery-camera 7s ease-in-out infinite alternate}.discovery-atmosphere{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.discovery-atmosphere i{position:absolute;display:block}.discovery-motion[data-scene="bell_at_window"] .discovery-room,.discovery-motion[data-scene="quiet_scent"] .discovery-room{object-position:center 65%;filter:brightness(.43) saturate(.63)}.discovery-motion[data-scene="feather_after_rain"] .discovery-room{object-position:72% center}.discovery-motion[data-scene="feather_after_rain"] .discovery-atmosphere i{top:-20%;width:1px;height:55%;background:linear-gradient(transparent,rgba(205,232,238,.56),transparent);transform:rotate(18deg);animation:chapter-rain 1.6s linear infinite}.discovery-motion[data-scene="feather_after_rain"] .discovery-atmosphere i:nth-child(1){left:12%}.discovery-motion[data-scene="feather_after_rain"] .discovery-atmosphere i:nth-child(2){left:31%;animation-delay:-.4s}.discovery-motion[data-scene="feather_after_rain"] .discovery-atmosphere i:nth-child(3){left:54%;animation-delay:-.9s}.discovery-motion[data-scene="feather_after_rain"] .discovery-atmosphere i:nth-child(4){left:76%;animation-delay:-1.2s}.discovery-motion[data-scene="feather_after_rain"] .discovery-atmosphere i:nth-child(5){left:91%;animation-delay:-.7s}.discovery-motion[data-scene="two_cat_route"] .discovery-cat-second,.discovery-motion[data-scene="quiet_scent"] .discovery-cat-second,.discovery-motion[data-scene="beacon_reply"] .discovery-cat-second{opacity:.78;animation:discovery-cat-watch 5.4s ease-in-out infinite}.discovery-motion[data-scene="two_cat_route"] .discovery-cat-main{left:8%;bottom:8%}.discovery-motion[data-scene="two_cat_route"] .discovery-cat-second{right:18%;bottom:8%}.discovery-motion[data-scene="moving_light"] .discovery-room{filter:brightness(.68) saturate(.85);object-position:center 62%}.discovery-motion[data-scene="beacon_reply"] .discovery-room{object-position:center 54%;filter:brightness(.52) saturate(.9)}
.discovery-motion[data-visual="feather"] .discovery-object{right:12%;bottom:20%;width:46px;height:12px;border-radius:100% 0;background:linear-gradient(170deg,#e9f0f1,#92a9af);filter:drop-shadow(0 0 7px rgba(218,238,240,.48));animation:chapter-feather 4.8s ease-in-out infinite}.discovery-motion[data-visual="pipe"] .discovery-object{right:17%;top:28%;width:66px;height:66px;border:2px solid rgba(150,224,210,.7);border-left-color:transparent;border-radius:50%;animation:chapter-pipe-pulse 3.5s ease-out infinite}.discovery-motion[data-visual="routes"] .discovery-object{left:20%;right:18%;bottom:24%;height:45px;border-bottom:2px dashed rgba(164,236,220,.68);border-radius:50%;animation:chapter-route-glow 2.8s ease-in-out infinite}.discovery-motion[data-visual="routes"] .discovery-object:after{content:"";position:absolute;left:18%;right:10%;bottom:-12px;height:40px;border-top:2px dashed rgba(229,185,116,.62);border-radius:50%;transform:rotate(-8deg)}.discovery-motion[data-visual="light"] .discovery-object{left:15%;bottom:20%;width:128px;height:34px;border-radius:50%;background:rgba(255,211,124,.36);filter:blur(6px);mix-blend-mode:screen;animation:chapter-light-travel 5.6s ease-in-out infinite}.discovery-motion[data-visual="scent"] .discovery-object{right:15%;bottom:29%;width:8px;height:8px;border-radius:50%;background:#aedfc9;box-shadow:-20px 13px 0 rgba(174,223,201,.55),-42px -4px 0 rgba(174,223,201,.4),-65px 16px 0 rgba(174,223,201,.28);animation:chapter-scent-drift 4.5s ease-in-out infinite}
@keyframes chapter-explore-camera{from{transform:scale(1.055) translate3d(-.4%,0,0)}to{transform:scale(1.11) translate3d(1.2%,-.7%,0)}}@keyframes chapter-discovery-camera{from{transform:scale(1.05) translate3d(-.8%,0,0)}to{transform:scale(1.12) translate3d(1.4%,-.8%,0)}}@keyframes chapter-cat-investigate{0%,100%{transform:translateY(0) rotate(-.2deg)}45%{transform:translateY(-4px) rotate(1deg)}65%{transform:translateY(-2px) rotate(-1deg)}}@keyframes chapter-cat-watch{0%,100%{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-3px) rotate(1deg)}}@keyframes chapter-feather{0%,100%{transform:translate(0,0) rotate(-8deg)}35%{transform:translate(-14px,-8px) rotate(12deg)}70%{transform:translate(-25px,1px) rotate(-4deg)}}@keyframes chapter-pipe-pulse{0%{opacity:.15;transform:scale(.7)}45%{opacity:.8}100%{opacity:0;transform:scale(1.35)}}@keyframes chapter-route-glow{0%,100%{opacity:.35;filter:drop-shadow(0 0 2px rgba(145,232,212,.2))}50%{opacity:1;filter:drop-shadow(0 0 9px rgba(145,232,212,.72))}}@keyframes chapter-light-travel{0%,100%{transform:translateX(-12px) scale(.85);opacity:.3}50%{transform:translateX(110px) scale(1.15);opacity:.9}}@keyframes chapter-scent-drift{0%,100%{transform:translate(0,7px);opacity:.28}50%{transform:translate(-24px,-12px);opacity:.9}}@keyframes chapter-rain{from{transform:translateY(-20%) rotate(18deg)}to{transform:translateY(180%) rotate(18deg)}}
@keyframes cloud-drift{from{transform:translateX(0)}to{transform:translateX(570px)}}
@keyframes node-orbit{to{transform:rotate(360deg)}}
@keyframes world-cat-step{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}
@keyframes guide-arrive{from{opacity:0;transform:translateY(-47%) scale(.965)}to{opacity:1;transform:translateY(-52%) scale(1)}}
@keyframes guide-focus{0%,100%{outline-color:rgba(200,243,234,.18)}50%{outline-color:rgba(200,243,234,.88)}}
.guide-loop{grid-template-columns:1fr auto 1fr auto 1fr;gap:5px;padding-inline:12px}
.app-shell.is-first-steps .nav-button:not([data-route="home"]){opacity:.32;pointer-events:none}.app-shell.is-first-steps .nav-button[data-route="home"]{opacity:1}
@keyframes real-cat-step{0%,100%{transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1)) translateY(0) rotate(-.25deg)}25%{transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1)) translateY(-1.4px) rotate(.2deg) skewX(-.35deg)}50%{transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1)) translateY(-2px) rotate(.35deg)}75%{transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1)) translateY(-1px) rotate(-.1deg) skewX(.25deg)}}
@keyframes real-cat-rest{0%,100%{transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1)) scaleY(.992)}50%{transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1)) scaleY(1.012) translateY(-1px)}}
@keyframes real-cat-greet{0%,100%{transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1)) translateY(0) rotate(0)}45%{transform:translateX(-50%) scaleX(var(--cat-direction,1)) scale(var(--sprite-scale,1)) translateY(-7px) rotate(-2.2deg)}}
@keyframes real-cat-shadow{0%,100%{opacity:.86;transform:translate(calc(-50% + var(--shadow-x,8px)),var(--shadow-y,2px)) rotate(var(--shadow-angle,-8deg)) scaleX(var(--shadow-scale,1))}50%{opacity:.72;transform:translate(calc(-50% + var(--shadow-x,8px)),var(--shadow-y,2px)) rotate(var(--shadow-angle,-8deg)) scaleX(calc(var(--shadow-scale,1) * .91))}}

.long-story-thread{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:12px;padding:10px 11px;border:1px solid rgba(173,234,221,.14);border-radius:15px;color:#eef8f4;background:rgba(116,198,181,.08);text-align:left}.long-story-thread small,.long-story-thread strong{display:block}.long-story-thread small{color:#88cabc;font-size:8px}.long-story-thread strong{margin-top:4px;font-size:9px;font-weight:500}.long-story-thread>i{color:#a8ded2;font-size:9px;font-style:normal}
.world-map .cat-marmalade{top:65%}
.play-hub-entry{width:calc(100% - 24px);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;margin:10px 12px 12px;padding:13px 14px;border:1px solid rgba(158,212,202,.22);border-radius:20px;color:var(--ink);background:linear-gradient(135deg,rgba(34,56,49,.96),rgba(31,35,28,.96));box-shadow:0 12px 30px rgba(0,0,0,.2);text-align:left;cursor:pointer}.play-hub-entry span small,.play-hub-entry span strong,.play-hub-entry span em{display:block}.play-hub-entry span small{color:var(--sensor);font-size:7px;letter-spacing:.1em}.play-hub-entry span strong{margin-top:5px;font-size:12px;font-weight:500}.play-hub-entry span em{margin-top:3px;color:rgba(247,242,233,.5);font-size:8px;font-style:normal}.play-hub-entry>b{min-width:27px;height:27px;display:grid;place-items:center;border-radius:50%;color:#17322c;background:var(--sensor-bright);font-size:11px}.play-hub-entry>i{color:var(--sensor);font-style:normal}.play-sheet,.friends-sheet{max-height:min(88dvh,760px);overflow-y:auto}.play-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.play-tabs button{min-height:36px;border:1px solid var(--dark-line);border-radius:12px;color:var(--muted-dark);background:#f2ede3;font-size:9px}.play-tabs button.is-selected{color:#17352e;border-color:#72a89b;background:#d9eee8}.play-panel{display:grid;gap:10px}.play-card{padding:12px;border:1px solid rgba(56,47,41,.12);border-radius:17px;background:rgba(255,255,255,.62)}.play-card header{display:flex;justify-content:space-between;gap:10px}.play-card header small{color:#65968c;font-size:8px}.play-card header b{color:#9a7543;font-size:8px;font-weight:500}.play-card h3{margin:7px 0 4px;font-size:14px;font-weight:500}.play-card p{margin:0;color:var(--muted-dark);font-size:9px;line-height:1.5}.play-choice-grid,.toy-grid{display:grid;gap:6px;margin-top:10px}.play-choice-grid{grid-template-columns:1fr}.toy-grid{grid-template-columns:repeat(3,1fr)}.play-choice-grid button,.toy-grid button,.play-card-action{min-height:39px;padding:7px 9px;border:1px solid rgba(82,124,114,.24);border-radius:12px;color:#355f56;background:rgba(226,241,236,.78);font-size:9px;text-align:left}.toy-grid button{text-align:center}.play-choice-grid button.is-selected{color:#fff;background:#56786f}.play-choice-grid small{display:block;margin-top:2px;color:inherit;opacity:.68}.play-card-action{width:100%;margin-top:10px;text-align:center}.play-progress{height:4px;margin-top:10px;border-radius:3px;background:rgba(56,47,41,.1);overflow:hidden}.play-progress i{display:block;width:var(--value);height:100%;background:linear-gradient(90deg,#6d9f93,#d1a964)}.mystery-clues{display:grid;gap:5px;margin-top:9px}.mystery-clues span{padding:7px 8px;border-radius:10px;color:#4c665f;background:rgba(107,149,139,.09);font-size:8px}.friend-code-card{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid rgba(56,47,41,.12);border-radius:16px;background:#eef5f1}.friend-code-card small,.friend-code-card strong{display:block}.friend-code-card small{color:#65968c;font-size:8px}.friend-code-card strong{margin-top:4px;color:#355f56;letter-spacing:.12em}.friend-code-card button,.friend-add-row button{min-height:36px;padding:0 12px;border:0;border-radius:11px;color:#fff;background:#5d7c73;font-size:9px}.friend-add-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:10px 0}.friend-add-row input{min-width:0;height:40px;padding:0 11px;border:1px solid rgba(56,47,41,.15);border-radius:11px;color:var(--ink-dark);background:#fff;font:inherit;font-size:10px;text-transform:uppercase}.friend-privacy{display:grid;gap:6px;margin-bottom:10px}.friend-privacy .preference-row{border:1px solid rgba(56,47,41,.09);border-radius:13px}.friend-list,.visit-log{display:grid;gap:8px}.friend-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid rgba(56,47,41,.12);border-radius:15px;background:rgba(255,255,255,.6)}.friend-cat-avatar{width:42px;height:42px;object-fit:contain;border-radius:50%;background:#dbe9e3}.friend-card strong,.friend-card small{display:block}.friend-card strong{font-size:10px}.friend-card small{margin-top:3px;color:var(--muted-dark);font-size:8px}.friend-card button{min-height:34px;padding:0 9px;border:1px solid rgba(82,124,114,.25);border-radius:10px;color:#456d64;background:#e4f1ed;font-size:8px}.friend-card button:disabled{opacity:.45}.visit-log{margin-top:12px}.visit-log h3{margin:0;color:#4c746a;font-size:10px}.visit-log article{padding:9px;border-radius:12px;background:rgba(196,154,92,.1);font-size:8px}.autonomous-cat.is-friend-visitor::before{content:"好友来访";position:absolute;z-index:4;left:50%;top:4px;padding:3px 6px;border-radius:8px;color:#17342d;background:var(--sensor-bright);font-size:6px;white-space:nowrap;transform:translateX(-50%)}
.friend-share-card{margin:10px 0;padding:13px;border:1px solid rgba(96,148,136,.18);border-radius:17px;background:linear-gradient(135deg,rgba(220,239,233,.82),rgba(246,239,225,.76))}.friend-share-card small,.friend-share-card strong{display:block}.friend-share-card small{color:#58887e;font-size:8px;letter-spacing:.06em}.friend-share-card strong{margin-top:5px;color:#355f56;font-size:12px;font-weight:500}.friend-share-card p{margin:5px 0 0;color:var(--muted-dark);font-size:8px;line-height:1.5}.friend-share-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:7px;margin-top:10px}.friend-share-actions button{min-height:38px;border:0;border-radius:11px;color:#fff;background:#55786e;font-size:9px}.friend-share-actions button+button{border:1px solid rgba(73,115,104,.22);color:#4e7168;background:rgba(255,255,255,.62)}.friend-share-card code{display:block;margin-top:8px;overflow:hidden;color:#7f776e;font-family:ui-monospace,monospace;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.wechat-share-guide[hidden]{display:none}.wechat-share-guide{position:fixed;z-index:160;top:0;left:50%;width:min(100%,430px);min-height:100dvh;padding:74px 28px;color:#fff;background:rgba(7,18,15,.92);text-align:right;transform:translateX(-50%);backdrop-filter:blur(10px)}.wechat-share-guide>i{display:block;font-size:52px;font-style:normal;animation:share-guide-point 1.6s ease-in-out infinite}.wechat-share-guide strong{display:block;margin-top:15px;font-size:22px;font-weight:500}.wechat-share-guide p{margin-left:auto;max-width:280px;color:rgba(255,255,255,.7);font-size:12px;line-height:1.7}.wechat-share-guide button{min-width:96px;min-height:40px;margin-top:12px;border:1px solid rgba(191,235,225,.38);border-radius:13px;color:#d5f4ed;background:rgba(134,207,192,.13)}@keyframes share-guide-point{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,-8px)}}
.daily-summary-sheet{max-height:min(92dvh,800px);overflow-y:auto;background:linear-gradient(180deg,#f9f3e7,#fffaf1)}.daily-summary-hero{position:relative;height:178px;margin:12px -16px 0;overflow:hidden;background:radial-gradient(circle at 50% 100%,rgba(208,169,103,.28),transparent 44%),linear-gradient(145deg,#22453d,#142a25)}.daily-summary-hero>span{position:absolute;z-index:4;left:16px;top:14px;color:#b9e6dc;font-size:9px;letter-spacing:.1em}.daily-summary-hero img{position:absolute;z-index:3;bottom:-2px;width:47%;height:74%;object-fit:contain;filter:drop-shadow(8px 10px 8px rgba(0,0,0,.38));animation:summary-cat-breathe 4.8s ease-in-out infinite}.daily-summary-hero img:nth-of-type(1){left:11%}.daily-summary-hero img:nth-of-type(2){right:9%;transform:scaleX(-1);animation-delay:-1.6s}.daily-summary-hero>i{position:absolute;left:18%;right:18%;bottom:24px;height:36px;border-bottom:2px dashed rgba(185,238,226,.55);border-radius:50%;animation:summary-route-glow 2.8s ease-in-out infinite}.daily-summary-copy{padding:15px 2px 4px}.daily-summary-copy h3{margin:0;color:var(--ink-dark);font-size:20px;font-weight:500;line-height:1.35}.daily-summary-copy p{margin:6px 0 0;color:var(--muted-dark);font-size:10px}.daily-summary-tasks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.daily-summary-tasks span{display:grid;place-items:center;min-height:46px;padding:5px;border:1px solid rgba(70,121,109,.15);border-radius:12px;color:#52776e;background:rgba(219,238,232,.56);font-size:8px;text-align:center}.daily-summary-tasks span:before{content:"✓";display:block;margin-bottom:2px;color:#4f8c7e;font-size:13px}.daily-summary-highlights{display:grid;gap:6px;margin-top:12px;counter-reset:summary}.daily-summary-highlights span{position:relative;padding:10px 10px 10px 35px;border-radius:13px;color:#514a43;background:rgba(56,47,41,.045);font-size:9px;line-height:1.45;counter-increment:summary}.daily-summary-highlights span:before{content:counter(summary,decimal-leading-zero);position:absolute;left:10px;top:9px;color:#65968c;font-size:9px}.daily-summary-world,.daily-summary-tomorrow{margin-top:10px;padding:12px;border-radius:15px}.daily-summary-world{color:#eaf6f2;background:linear-gradient(135deg,#285249,#19372f)}.daily-summary-world small,.daily-summary-tomorrow small{display:block;font-size:8px;letter-spacing:.06em}.daily-summary-world small{color:#9ed8cb}.daily-summary-world p{margin:6px 0 0;font-size:10px;line-height:1.55}.daily-summary-tomorrow{border:1px solid rgba(190,145,78,.18);color:#5d4932;background:rgba(213,178,119,.12)}.daily-summary-tomorrow small{color:#957249}.daily-summary-tomorrow strong{display:block;margin-top:5px;font-size:11px;font-weight:500;line-height:1.5}.daily-summary-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:7px;margin-top:12px}.daily-summary-actions button{min-height:42px;border:1px solid rgba(76,117,107,.2);border-radius:13px;color:#52746b;background:#eef4f1;font-size:9px}.daily-summary-actions button:last-child{border:0;color:#fff;background:#58766d}@keyframes summary-cat-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes summary-route-glow{0%,100%{opacity:.25}50%{opacity:1;filter:drop-shadow(0 0 7px #8acdbf)}}
.daily-summary-hero img{--summary-flip:1}.daily-summary-hero img:nth-of-type(2){--summary-flip:-1}@keyframes summary-cat-breathe{0%,100%{transform:scaleX(var(--summary-flip)) translateY(0)}50%{transform:scaleX(var(--summary-flip)) translateY(-3px)}}
@media (min-width: 520px){.app-shell{min-height:880px;border-radius:32px;margin:24px auto}.view,.app-main{min-height:880px}.bottom-nav{border-radius:0 0 32px 32px}.home-stage{min-height:700px}}
@media (max-width: 360px){.home-stage{min-height:590px}.mission-banner{margin-inline:10px}.story-console{left:9px;right:9px}.signal-source{right:75px}.growth-cell{padding-inline:5px}.growth-cell strong{font-size:10px}.world-header h1{font-size:18px}.world-pulse{margin-inline:9px}.world-map{height:348px;min-height:348px}.node-roof{left:101px}.node-alley{right:5px}.node-garden{right:4px}.world-cat span{display:none}.world-insight{margin-inline:9px}.sensor-console{width:174px}.decision-console h2{font-size:16px}}
@media (max-height:760px){.world-header{min-height:82px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:9px}.world-pulse{padding-top:7px;padding-bottom:6px}.world-pulse>p{margin-top:5px;padding-top:5px}.world-map{height:292px;min-height:292px}.world-insight{margin-top:-2px;padding-top:11px;padding-bottom:11px}.world-insight h2{margin-top:5px}.shared-progress{margin-block:7px}}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Reference home v1: cinematic co-living room with bottom-first game HUD. */
.view-home{height:100dvh;min-height:680px;overflow:hidden;background:#0c0b09}
.view-home .home-stage{height:100dvh;min-height:680px;background:#17130f}
.view-home .home-stage-image{object-position:center center;filter:saturate(.96) contrast(1.07) brightness(.7);transform:scale(1.01)}
.view-home .home-stage[data-room-theme="modern"] .home-stage-image{filter:saturate(.96) contrast(1.08) brightness(.7)}
.view-home .home-stage[data-room-theme="biophilic"] .home-stage-image{filter:saturate(.93) contrast(1.025) brightness(.84);object-position:center 54%}
.view-home .home-stage[data-room-theme="memory"] .home-stage-image{filter:saturate(.82) sepia(.08) contrast(1.035) brightness(.78);object-position:center 55%}
.view-home .home-stage[data-room-theme="biophilic"] .living-light{left:-12%;top:3%;opacity:.28;background:radial-gradient(circle,rgba(233,255,195,.46),rgba(177,216,131,.1) 44%,transparent 70%)}
.view-home .home-stage[data-room-theme="memory"] .living-light{left:-18%;top:8%;opacity:.32;background:radial-gradient(circle,rgba(255,221,161,.44),rgba(197,144,83,.1) 44%,transparent 70%)}
.view-home .home-stage[data-room-theme="biophilic"] .scene-floor-light{opacity:.42;background:radial-gradient(ellipse at 48% 40%,rgba(235,255,190,.22),transparent 58%)}
.view-home .home-stage[data-room-theme="memory"] .scene-floor-light{opacity:.34;background:radial-gradient(ellipse at 42% 40%,rgba(255,204,132,.2),transparent 58%)}
.view-home .living-light{left:34%;top:4%;width:84%;opacity:.3;background:radial-gradient(circle,rgba(255,188,96,.42),rgba(238,159,75,.1) 42%,transparent 70%)}
.view-home .ambient-motes{inset:22% 2% 28%;opacity:.48}
.view-home .scene-floor-light{top:50%;opacity:.3;background:radial-gradient(ellipse at 58% 42%,rgba(255,188,99,.2),transparent 56%)}
.view-home .scene-foreground{z-index:5;height:34%;opacity:1;background:linear-gradient(180deg,transparent,rgba(9,7,5,.08) 18%,rgba(8,7,6,.62) 78%,#0c0b09 100%)}
.view-home .scene-foreground i{display:none}
.view-home .stage-vignette{background:radial-gradient(circle at 55% 47%,transparent 27%,rgba(8,7,6,.11) 58%,rgba(5,5,4,.58) 100%),linear-gradient(180deg,rgba(5,6,8,.36),transparent 24%,transparent 62%,rgba(5,4,3,.78))}
.view-home .stage-grain{opacity:.08}
.view-home .scan-beam,.view-home .tech-corners{display:none}
.view-home .floating-topbar{z-index:10;min-height:calc(76px + env(safe-area-inset-top));align-items:center;padding:calc(12px + env(safe-area-inset-top)) 14px 10px;background:linear-gradient(180deg,rgba(7,7,7,.74),rgba(7,7,7,.08),transparent)}
.view-home .home-title{min-width:0}.view-home .home-title strong{margin:0;color:#f4d9aa;font-size:22px;font-weight:500;letter-spacing:.03em;text-shadow:0 2px 16px rgba(0,0,0,.54)}
.view-home .home-title small{margin-top:3px;color:rgba(248,226,193,.58);font-size:7px;letter-spacing:.08em}
.view-home .top-actions{gap:6px}.view-home .sync-status{min-height:34px;padding:0 10px;border:1px solid rgba(239,193,125,.34);border-radius:18px;color:#f3ddb9;background:rgba(18,15,12,.58);font-size:8px;backdrop-filter:blur(10px)}
.view-home .sync-status>i{width:4px;height:4px;background:#8ee2c4;box-shadow:0 0 10px #79d4ba}
.view-home .round-button{width:36px;height:36px;border-color:rgba(239,193,125,.42);color:#f1d8ad;background:rgba(18,15,12,.58)}
.view-home .top-actions .round-button:last-child{display:none}
.view-home .mission-banner{display:none}
.view-home .telemetry-stack{z-index:9;top:calc(78px + env(safe-area-inset-top));right:14px;display:flex;gap:6px}
.view-home .telemetry-stack span{padding:5px 9px;border-color:rgba(239,193,125,.27);border-radius:14px;color:#f1dfbf;background:rgba(17,14,11,.54);font-size:7px}
.view-home .signal-light{display:none}.view-home .signal-source{z-index:7;right:13px;bottom:45%;min-height:32px;border-color:rgba(240,186,99,.42);color:#f4d49f;background:rgba(41,27,15,.7);font-size:8px}
.view-home .signal-source>i{background:#f2b85f;box-shadow:0 0 0 4px rgba(242,184,95,.12),0 0 14px #f2b85f}
.view-home .discovery-hotspot{z-index:7;left:16px;top:26%;width:152px;min-height:49px;border-color:rgba(239,193,125,.3);background:linear-gradient(120deg,rgba(26,19,13,.8),rgba(41,28,18,.52))}
.view-home .discovery-hotspot>strong{font-size:8px}.view-home .discovery-hotspot>small{font-size:6px}.view-home .discovery-mark{width:39px;height:39px;border-color:rgba(242,190,107,.45);background:radial-gradient(circle,rgba(243,186,92,.18),rgba(28,19,13,.8))}
.view-home .home-cat-3d-layer{z-index:4;inset:17% 0 23%;height:60%;filter:saturate(1.01) contrast(1.015)}
.view-home .home-cat-hit-layer{z-index:7;inset:17% 0 23%}
.view-home .free-cat-layer{z-index:4;inset:19% 0 25%}
.view-home .cat-social-signal{z-index:8;top:30%;border-color:rgba(239,193,125,.34);color:#f5dfba;background:rgba(35,24,15,.72)}
.view-home .cat-lock{display:none}
.view-home .hotspot-door{z-index:7;right:16px;bottom:44%;width:48px;height:48px;border-color:rgba(255,199,109,.72);color:#ffcf81;background:rgba(73,43,17,.46);box-shadow:0 0 0 7px rgba(255,185,75,.07),0 0 26px rgba(255,178,55,.38)}
.home-route-glow{position:absolute;z-index:3;inset:40% 0 25%;overflow:hidden;pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,183,69,.74))}
.home-route-glow i{position:absolute;height:2px;border-radius:2px;background:repeating-linear-gradient(90deg,rgba(255,203,115,0),rgba(255,203,115,.98) 8px,rgba(255,203,115,.15) 13px,transparent 20px);background-size:40px 100%;animation:home-route-flow 2.8s linear infinite}
.home-route-glow i:nth-child(1){left:37%;top:68%;width:30%;transform:rotate(-25deg)}.home-route-glow i:nth-child(2){left:59%;top:48%;width:25%;transform:rotate(-49deg);animation-delay:-.7s}.home-route-glow i:nth-child(3){left:72%;top:23%;width:20%;transform:rotate(-68deg);animation-delay:-1.4s}.home-route-glow i:nth-child(4){left:33%;top:70%;width:8px;height:8px;border-radius:50%;background:#ffd087;box-shadow:0 0 18px #ffb13e;animation:route-origin 2s ease-in-out infinite}
.view-home .story-console{z-index:9;left:14px;right:14px;bottom:calc(158px + env(safe-area-inset-bottom));min-height:68px;display:grid;grid-template-columns:44px minmax(0,1fr) 42px;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(239,187,103,.66);border-radius:35px;color:#f8e7ca;background:linear-gradient(105deg,rgba(43,28,17,.9),rgba(15,14,12,.88));box-shadow:0 14px 40px rgba(0,0,0,.38),inset 0 0 24px rgba(226,155,57,.04);backdrop-filter:blur(16px)}
.view-home .console-kicker{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,197,103,.54);border-radius:50%;color:#ffd28b;background:radial-gradient(circle,rgba(244,174,65,.24),rgba(37,25,16,.72));box-shadow:inset 0 0 12px rgba(246,176,65,.16)}
.view-home .console-kicker .icon{width:19px;height:19px}.view-home .console-kicker span{display:none}
.view-home .story-console h1{min-width:0;margin:0;overflow:hidden;color:#f8e8cf;font-size:14px;line-height:1.35;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.view-home .story-console p{display:none}
.view-home .primary-action{width:40px;min-height:40px;padding:0;border:0;border-radius:50%;color:#f4d29b;background:transparent;box-shadow:none;font-size:22px}
.view-home .primary-action::after,.view-home .primary-action span{display:none}.view-home .primary-action i{font-style:normal}
.home-quick-grid{position:absolute;z-index:9;left:14px;right:14px;bottom:calc(82px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:7px}
.home-quick-card{min-width:0;height:66px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px;padding:7px 8px;border:1px solid rgba(239,190,111,.3);border-radius:19px;color:#f2dfc0;background:linear-gradient(145deg,rgba(35,27,20,.84),rgba(16,15,13,.8));backdrop-filter:blur(14px);text-align:left;cursor:pointer}
.home-quick-card .quick-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#ffd17f;background:radial-gradient(circle,rgba(234,161,58,.25),rgba(65,40,19,.54));font-size:10px}.home-quick-card .quick-icon .icon{width:21px;height:21px}
.home-quick-card>span:last-child{min-width:0}.home-quick-card small,.home-quick-card b,.home-quick-card em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-quick-card small{color:#f2ddbd;font-size:9px}.home-quick-card b{margin-top:3px;color:#8ce0bd;font-size:11px;font-weight:500}.home-quick-card em{margin-top:2px;color:rgba(245,225,193,.5);font-size:6px;font-style:normal}
.home-quick-card>span:last-child>i{display:block;height:2px;margin-top:4px;border-radius:2px;background:rgba(255,255,255,.12);overflow:hidden}.home-quick-card>span:last-child>i em{display:block;width:var(--value,0%);height:100%;background:#8ce0bd}
.home-quick-card.is-empty b{color:#e8ba75}.home-quick-card.quick-visit b{font-size:9px}
.home-quick-card.is-low b{color:#efb46b}.home-quick-card.is-low>span:last-child>i em{background:#efb46b}
.view-home+.view-world{}
.view-home .growth-deck,.view-home .play-hub-entry{display:none}
.view-home~*{}
.bottom-nav{border-top-color:rgba(239,190,111,.12);background:linear-gradient(180deg,rgba(15,14,12,.88),rgba(11,10,9,.98));box-shadow:0 -16px 35px rgba(0,0,0,.3)}
.nav-button{color:rgba(235,217,188,.55)}.nav-button.is-active{color:#ffd187;text-shadow:0 0 14px rgba(255,184,72,.6)}.nav-button.is-active::before{background:rgba(255,190,86,.12)}
@keyframes home-route-flow{to{background-position:40px 0}}@keyframes route-origin{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}
.room-layout-editor{margin-top:10px;padding:9px;border:1px solid rgba(70,110,100,.18);border-radius:15px;background:linear-gradient(145deg,rgba(224,240,234,.72),rgba(255,255,255,.42))}.room-layout-editor>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.room-layout-editor>header span b,.room-layout-editor>header span small{display:block}.room-layout-editor>header span b{color:#315d53;font-size:9px}.room-layout-editor>header span small{margin-top:2px;color:#71827d;font-size:7px}.room-layout-editor>header em{padding:4px 6px;border-radius:8px;color:#578176;background:rgba(91,135,124,.1);font-size:7px;font-style:normal}.room-layout-map{position:relative;height:150px;margin-top:8px;overflow:hidden;border-radius:12px;background:linear-gradient(rgba(68,110,99,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(68,110,99,.07) 1px,transparent 1px),radial-gradient(circle at 50% 40%,#f7f4e9,#dbe8df);background-size:18px 18px,18px 18px,100% 100%;box-shadow:inset 0 0 0 1px rgba(55,94,84,.14);touch-action:none}.room-layout-map::after{content:'可活动地面';position:absolute;right:7px;bottom:5px;color:rgba(66,100,92,.42);font-size:6px;letter-spacing:.08em}.room-layout-map>p{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:20px;color:#71827d;font-size:8px;text-align:center}.room-layout-fixed,.room-layout-movable{position:absolute;z-index:1;width:var(--object-w);height:var(--object-h);min-width:18px;min-height:16px;transform:translate(-50%,-50%);border-radius:7px}.room-layout-fixed{display:grid;place-items:center;border:1px solid rgba(95,87,74,.2);background:rgba(123,113,94,.2);box-shadow:0 3px 8px rgba(68,54,39,.08);font-style:normal}.room-layout-fixed small{max-width:54px;overflow:hidden;color:#746c5e;font-size:6px;text-overflow:ellipsis;white-space:nowrap}.room-layout-movable{z-index:3;display:grid;place-items:center;padding:0;border:1px solid rgba(54,116,99,.58);color:#255d4f;background:rgba(137,214,186,.84);box-shadow:0 4px 12px rgba(51,105,91,.24),0 0 0 4px rgba(127,205,178,.12);touch-action:none;cursor:grab}.room-layout-movable span{font-size:12px;line-height:1}.room-layout-movable small{position:absolute;top:calc(100% + 3px);left:50%;padding:2px 4px;transform:translateX(-50%);border-radius:5px;color:#335e54;background:rgba(244,248,242,.9);font-size:6px;white-space:nowrap}.room-layout-movable.is-dragging{z-index:5;cursor:grabbing;filter:saturate(1.2);box-shadow:0 7px 18px rgba(35,93,77,.35),0 0 0 6px rgba(111,205,171,.2)}
@media (max-width:360px){.view-home .home-title strong{font-size:19px}.view-home .sync-status{padding-inline:7px}.view-home .round-button{width:33px;height:33px}.view-home .telemetry-stack{top:75px}.home-quick-grid{left:9px;right:9px;gap:5px}.home-quick-card{grid-template-columns:29px 1fr;padding-inline:6px}.home-quick-card .quick-icon{width:29px;height:29px}.view-home .story-console{left:9px;right:9px}.view-home .discovery-hotspot{width:140px}}
.view-home .memory-echo-hotspot{top:26%;right:16px;width:145px}
@media (max-width:360px){.view-home .memory-echo-hotspot{right:10px;width:132px}.memory-continuity{grid-template-columns:1fr 52px 52px;margin-inline:9px;padding:12px}.memory-echo-hotspot strong{font-size:8px}}
.modal-layer .return-visit-sheet{color:#f7f2e9;background:linear-gradient(155deg,#15231e,#0b100e);border-color:rgba(200,243,234,.16)}
.modal-layer .return-visit-sheet .sheet-header h2{color:#f7f2e9}.modal-layer .return-visit-sheet .sheet-header small{color:#d9a95e}.modal-layer .return-visit-sheet .round-button{color:#f7f2e9;background:rgba(247,242,233,.08)}
.modal-layer .return-visit-sheet .return-moment{border-color:rgba(200,243,234,.12);background:rgba(247,242,233,.055)}.modal-layer .return-visit-sheet .return-moment strong{color:#f7f2e9}.modal-layer .return-visit-sheet .return-moment p{color:rgba(247,242,233,.58)}
.modal-layer .return-visit-sheet .return-next-hook{background:rgba(212,169,92,.11)}.modal-layer .return-visit-sheet .return-next-hook strong{color:#f7f2e9}.modal-layer .return-visit-sheet .return-no-pressure{color:rgba(247,242,233,.46)}

/* Retention loop v1: one home focus, visible memory causality and shareable life echoes. */
.view-home .discovery-hotspot,.view-home .memory-echo-hotspot{opacity:0;transform:translateY(8px) scale(.96);pointer-events:none}
.view-home .discovery-hotspot[hidden],.view-home .memory-echo-hotspot[hidden]{display:none!important}
.view-home .story-console{min-height:108px;grid-template-columns:minmax(0,1fr) 46px;grid-template-rows:auto auto auto;align-content:center;gap:3px 10px;padding:13px 13px 12px 16px;border-radius:25px;background:linear-gradient(112deg,rgba(43,28,17,.94),rgba(13,16,14,.94));box-shadow:0 17px 46px rgba(0,0,0,.48),0 0 0 1px rgba(255,203,119,.08),inset 0 0 30px rgba(226,155,57,.055)}
.view-home .console-kicker{grid-column:1;grid-row:1;width:auto;height:auto;display:flex;align-items:center;justify-content:flex-start;gap:6px;border:0;border-radius:0;color:#d9aa63;background:transparent;box-shadow:none}
.view-home .console-kicker .icon{width:12px;height:12px}.view-home .console-kicker span{display:block;color:#d9aa63;font-size:7px;letter-spacing:.1em}
.view-home .story-console h1{grid-column:1;grid-row:2;overflow:visible;font-size:15px;line-height:1.35;text-overflow:clip;white-space:normal}
.view-home .story-console p{grid-column:1;grid-row:3;display:-webkit-box;margin:1px 0 0;overflow:hidden;color:rgba(248,231,202,.58);font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.view-home .story-console .primary-action{grid-column:2;grid-row:1/4;width:44px;min-height:44px;align-self:center;border:1px solid rgba(255,203,119,.35);background:rgba(241,173,69,.1)}
.view-home .home-quick-grid{opacity:.72;transition:opacity .25s ease}.view-home .home-quick-grid:focus-within,.view-home .home-quick-grid:hover{opacity:1}
.view-home .hotspot-door,.view-home .signal-source{opacity:.65}.view-home .home-stage[data-focus-mode="world"] .hotspot-door,.view-home .home-stage[data-focus-mode="friends"] .quick-visit{opacity:1;box-shadow:0 0 0 2px rgba(255,198,101,.16),0 10px 26px rgba(0,0,0,.28)}
.memory-card-actions{display:grid;grid-template-columns:1.1fr .9fr;gap:7px;margin-top:10px}.memory-card-actions .memory-follow,.memory-card-actions .memory-share{min-height:40px;margin:0;border-radius:13px;cursor:pointer;font-size:9px}.memory-card-actions .memory-share{border:0;color:#fff;background:linear-gradient(135deg,#557b71,#355c53)}
.memory-empty{margin:12px 14px;padding:25px 18px;border:1px dashed rgba(79,129,120,.28);border-radius:20px;color:#4d665f;background:rgba(255,255,255,.35);text-align:center}.memory-empty b{font-size:14px;font-weight:500}.memory-empty p{margin:7px 0 14px;color:var(--muted-dark);font-size:9px;line-height:1.55}.memory-empty button{min-height:39px;padding:0 18px;border:0;border-radius:13px;color:#fff;background:#55766d}
.modal-layer .impact-echo-sheet{color:#f7f2e9;background:linear-gradient(165deg,#17231f,#0a100e);border-color:rgba(202,239,230,.16);overflow:hidden}.modal-layer .impact-echo-sheet .sheet-header h2{color:#f7f2e9;font-size:18px}.modal-layer .impact-echo-sheet .sheet-header small{color:#d9aa63}.modal-layer .impact-echo-sheet .round-button{color:#f7f2e9;background:rgba(255,255,255,.07)}
.impact-echo-scene{position:relative;height:248px;margin:13px -17px 0;overflow:hidden;background:#101a17}.impact-room{width:100%;height:100%;object-fit:cover;filter:brightness(.58) saturate(.78);animation:impact-camera 6s ease-out both}.impact-scene-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 66%,transparent 5%,rgba(6,12,10,.12) 48%,rgba(4,8,7,.78)),linear-gradient(180deg,transparent 50%,#0d1512 100%)}
.impact-cat{position:absolute;z-index:3;bottom:16px;width:43%;height:47%;object-fit:contain;filter:drop-shadow(8px 11px 8px rgba(0,0,0,.58));transform-origin:50% 88%}.impact-cat-a{left:8%;animation:impact-cat-a 3.4s cubic-bezier(.2,.72,.24,1) both}.impact-cat-b{right:7%;transform:scaleX(-1);animation:impact-cat-b 3.4s cubic-bezier(.2,.72,.24,1) both}
.impact-route{position:absolute;z-index:2;left:15%;right:15%;bottom:23%;height:32%;border-bottom:2px dashed rgba(229,176,91,.7);border-radius:50%;transform:rotate(-4deg)}.impact-route-before{opacity:.42;animation:impact-route-before 3.2s ease both}.impact-route-after{border-color:#a7e1d4;filter:drop-shadow(0 0 7px #72c9b8);transform:rotate(5deg) translateY(-12px);animation:impact-route-after 3.2s ease both}
.impact-echo-scene>b,.impact-echo-scene>em{position:absolute;z-index:4;top:13px;padding:5px 8px;border-radius:10px;font-size:7px;font-style:normal;letter-spacing:.08em}.impact-echo-scene>b{left:13px;color:rgba(255,255,255,.45);background:rgba(0,0,0,.25);animation:impact-before-label 3.2s ease both}.impact-echo-scene>em{right:13px;color:#c9f1e8;background:rgba(63,126,112,.35);animation:impact-after-label 3.2s ease both}
.impact-result{position:relative;margin-top:-13px;padding:16px 14px 13px;border:1px solid rgba(171,228,215,.16);border-radius:18px;background:rgba(27,51,44,.92);box-shadow:0 14px 30px rgba(0,0,0,.24)}.impact-result small,.impact-next small{display:block;color:#9cd9cc;font-size:8px;letter-spacing:.08em}.impact-result strong{display:block;margin-top:5px;font-size:14px;font-weight:500;line-height:1.4}.impact-result p{margin:6px 0 0;color:rgba(247,242,233,.58);font-size:9px;line-height:1.5}.impact-next{margin-top:9px;padding:11px 13px;border-radius:14px;color:#f1d5a5;background:rgba(205,156,79,.1)}.impact-next small{color:#c09251}.impact-next strong{display:block;margin-top:4px;font-size:10px;font-weight:500;line-height:1.5}
.impact-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:7px;margin-top:11px}.impact-actions button{min-height:45px;border:1px solid rgba(163,220,208,.23);border-radius:14px;color:#bfeadf;background:rgba(127,196,181,.1);font-size:9px}.impact-actions button:last-child{border:0;color:#18342e;background:#a7dfd3}.impact-privacy{margin:9px 8px 0;color:rgba(247,242,233,.38);font-size:7px;line-height:1.5;text-align:center}
@keyframes impact-camera{from{transform:scale(1)}to{transform:scale(1.06) translateX(1%)}}@keyframes impact-cat-a{0%{transform:translateX(36px) rotate(1deg)}45%{transform:translateX(4px) rotate(0)}62%{transform:translateX(4px) rotate(-2deg)}100%{transform:translateX(-16px) rotate(0)}}@keyframes impact-cat-b{0%{transform:scaleX(-1) translateX(36px)}45%,62%{transform:scaleX(-1) translateX(4px)}100%{transform:scaleX(-1) translateX(-16px)}}@keyframes impact-route-before{0%,46%{opacity:.55}70%,100%{opacity:0}}@keyframes impact-route-after{0%,45%{opacity:0}70%,100%{opacity:1}}@keyframes impact-before-label{0%,48%{opacity:1}70%,100%{opacity:.2}}@keyframes impact-after-label{0%,48%{opacity:.15}70%,100%{opacity:1}}
@media(max-height:760px){.impact-echo-scene{height:205px}.view-home .story-console{min-height:96px}}

.legal-links{display:flex;gap:12px;margin-top:7px}.legal-links a{color:#315f54;text-decoration:underline;text-underline-offset:3px}

/* Home viewport v2: reserve the bottom navigation once, so no dead space remains. */
body[data-current-view="home"]{height:100dvh;overflow:hidden}
body[data-current-view="home"] .app-shell,body[data-current-view="home"] .app-main{height:100dvh;min-height:0}
body[data-current-view="home"] .app-shell{margin:0 auto}
.view-home.is-active{height:100dvh;min-height:0!important;padding-bottom:0}
.view-home .home-stage{height:100dvh;min-height:0}

/* World viewport v2: one-screen map with expandable ecology, no page scroll. */
body[data-current-view="world"]{height:100dvh;overflow:hidden}
body[data-current-view="world"] .app-shell,body[data-current-view="world"] .app-main{height:100dvh;min-height:0}
body[data-current-view="world"] .app-shell{margin:0 auto}
.view-world.is-active{height:100dvh;min-height:0!important;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding-bottom:calc(72px + env(safe-area-inset-bottom));overflow:hidden}
.view-world .world-header{min-height:calc(70px + env(safe-area-inset-top));padding:calc(11px + env(safe-area-inset-top)) 15px 8px;align-items:center}
.view-world .world-header h1{margin-top:3px;font-size:18px!important}.view-world .world-header>div>small{font-size:7px}
.view-world .world-clock{min-width:61px;padding:6px 8px;border-radius:14px}.view-world .world-clock b{font-size:11px}.view-world .world-clock small{font-size:6px}
.view-world .world-pulse{margin:0 11px;padding:7px 9px 6px;border-radius:15px}
.view-world .world-pulse>span{padding:0 7px}.view-world .world-pulse small{font-size:7px}.view-world .world-pulse strong{margin-top:1px;font-size:13px}
.view-world .world-pulse>p{height:17px;margin:4px 2px 0;padding-top:4px;overflow:hidden;font-size:7px;line-height:13px;white-space:nowrap;text-overflow:ellipsis}
.view-world .world-map{height:auto;min-height:0;margin-top:0;padding-bottom:0}
.view-world .world-game-hud{left:9px;right:9px;top:7px;padding:8px 9px;border-radius:16px}.view-world .world-game-copy strong{font-size:10px}.view-world .world-game-hud>button{min-width:90px;min-height:29px}.view-world .world-loop-rail{font-size:6px}
.view-world .world-ecology{position:absolute;z-index:12;left:11px;right:11px;bottom:calc(184px + env(safe-area-inset-bottom));height:54px;margin:0;padding:9px 11px;border-radius:18px;overflow:hidden;transition:height .32s cubic-bezier(.2,.78,.24,1),bottom .32s ease,background .25s ease,box-shadow .25s ease}
.view-world .world-ecology header{height:35px;align-items:center}.view-world .world-ecology header small{font-size:6px}.view-world .world-ecology header strong{max-width:210px;margin-top:2px;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.ecology-status{display:flex;align-items:center;gap:6px}.ecology-status>b{color:#a5ebdc;font-size:14px;font-weight:500}.ecology-status>button{display:flex;align-items:center;gap:3px;min-height:28px;padding:0 8px;border:1px solid rgba(155,230,213,.2);border-radius:10px;color:#bceadf;background:rgba(155,230,213,.08);font-size:7px;cursor:pointer}.ecology-status>button i{font-size:9px;font-style:normal;transition:transform .28s ease}
.view-world #world-ecology-details{opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .3s ease}
.view-world .world-ecology.is-expanded{height:auto;max-height:calc(100dvh - 160px - env(safe-area-inset-top) - env(safe-area-inset-bottom));bottom:calc(78px + env(safe-area-inset-bottom));padding:13px 14px 15px;background:linear-gradient(145deg,rgba(18,42,39,.985),rgba(10,20,17,.99));box-shadow:0 22px 65px rgba(0,0,0,.55)}
.view-world .world-ecology.is-expanded header{height:auto}.view-world .world-ecology.is-expanded header small{font-size:8px}.view-world .world-ecology.is-expanded header strong{max-width:260px;margin-top:5px;font-size:13px;white-space:normal}.view-world .world-ecology.is-expanded .ecology-status{align-self:flex-start}.view-world .world-ecology.is-expanded .ecology-status>b{font-size:18px}.view-world .world-ecology.is-expanded .ecology-status>button span{display:none}.view-world .world-ecology.is-expanded .ecology-status>button i{transform:rotate(180deg)}
.view-world .world-ecology.is-expanded #world-ecology-details{opacity:1;transform:none;pointer-events:auto}.view-world .world-ecology.is-expanded .long-story-thread{margin-top:11px}.view-world .world-ecology.is-expanded .ecology-links{margin-top:9px}.view-world .world-ecology.is-expanded .stranger-cat-strip{margin-top:9px}
.view-world .world-insight{position:absolute;z-index:11;left:11px;right:11px;bottom:calc(77px + env(safe-area-inset-bottom));height:99px;display:grid;grid-template-columns:minmax(0,1fr) 105px;grid-template-rows:auto 1fr auto;gap:3px 9px;margin:0;padding:9px 10px;border-radius:18px;transition:opacity .22s ease,transform .3s ease}
.view-world .world-insight-top{grid-column:1/-1;font-size:7px}.view-world .world-insight h2{grid-column:1;grid-row:2;margin:2px 0 0;align-self:center;overflow:hidden;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.view-world .world-insight>p{display:none}.view-world .shared-progress{grid-column:1;grid-row:3;margin:0;gap:5px}.view-world .shared-progress small{max-width:105px;overflow:hidden;font-size:6px;text-overflow:ellipsis;white-space:nowrap}.view-world .world-insight .primary-action{grid-column:2;grid-row:2/4;min-height:43px;align-self:center;padding:0 8px;border-radius:14px;font-size:8px}.view-world .world-insight .primary-action i{display:none}
.view-world.world-ecology-open .world-insight{opacity:0;transform:translateY(12px);pointer-events:none}
body[data-app-locale="en-US"] .ecology-status>button span,body[data-app-locale="ru-RU"] .ecology-status>button span{display:none}
@media(max-height:700px){.view-world .world-header{min-height:calc(61px + env(safe-area-inset-top));padding-top:calc(7px + env(safe-area-inset-top));padding-bottom:5px}.view-world .world-header h1{font-size:16px!important}.view-world .world-pulse>p{display:none}.view-world .world-ecology{bottom:calc(174px + env(safe-area-inset-bottom));height:48px;padding-top:6px;padding-bottom:6px}.view-world .world-insight{height:89px}.view-world .world-ecology.is-expanded{bottom:calc(74px + env(safe-area-inset-bottom))}.view-world .world-ecology.is-expanded .stranger-cat-strip{display:none}}

/* Locale selector: wide enough for English and Russian without changing the game HUD. */
.language-sheet .sheet-explain{margin-bottom:14px}.language-options{display:grid;gap:8px}.language-options>button{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:10px;min-height:64px;padding:9px 12px;border:1px solid rgba(77,112,103,.16);border-radius:17px;color:#2c3e39;background:rgba(255,255,255,.5);text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.language-options>button:active{transform:scale(.985)}.language-options>button.is-selected{border-color:#5e9386;background:rgba(120,177,163,.16);box-shadow:inset 0 0 0 1px rgba(94,147,134,.12)}.language-mark{display:grid;width:38px;height:38px;place-items:center;border-radius:13px;color:#d4eee7;background:#31594f;font-size:10px;font-weight:600;letter-spacing:.04em}.language-options strong,.language-options small{display:block}.language-options strong{font-size:12px;font-weight:550}.language-options small{margin-top:3px;color:#7c8985;font-size:8px;line-height:1.35}.language-options>button>i{opacity:0;color:#4f887a;font-size:15px;font-style:normal}.language-options>button.is-selected>i{opacity:1}.language-detected{margin:13px 4px 2px;color:#789089;font-size:8px;text-align:center}.profile-menu #language-settings .icon{stroke-width:1.6}body[data-app-locale="en-US"] .profile-menu small,body[data-app-locale="ru-RU"] .profile-menu small{font-size:7.5px}body[data-app-locale="ru-RU"] .bottom-nav .nav-button span{font-size:8px}body[data-app-locale="ru-RU"] .world-header h1{font-size:25px}body[data-app-locale="en-US"] .story-console h1,body[data-app-locale="ru-RU"] .story-console h1{font-size:13px}

/* Profile archive: the account page belongs to the same living-memory world. */
.view-profile{position:relative;isolation:isolate;background:radial-gradient(circle at 84% 1%,rgba(167,207,197,.72),transparent 28%),linear-gradient(165deg,#e2ebe6 0,#eee6da 44%,#f7efe4 100%)}
.view-profile::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.3;pointer-events:none;background:linear-gradient(rgba(63,104,94,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(63,104,94,.035) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(180deg,#000,transparent 58%)}
.profile-header{min-height:calc(78px + env(safe-area-inset-top));align-items:center;padding:calc(10px + env(safe-area-inset-top)) 17px 8px;border-bottom:1px solid rgba(56,47,41,.1)}
.profile-header small{color:#557e75;font-size:8px;letter-spacing:.11em}.profile-header h1{margin:2px 0 0;font-size:25px;line-height:1.1}.profile-security{align-self:center;max-width:146px;color:#697d77;font-size:7px;line-height:1.35}.profile-security>i{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#5f9b8d;box-shadow:0 0 0 5px rgba(95,155,141,.1),0 0 14px rgba(95,155,141,.34)}
.profile-content{gap:9px;padding:10px 12px calc(94px + env(safe-area-inset-bottom))}
.profile-identity-card{position:relative;display:block;padding:13px 14px 12px;overflow:hidden;border:1px solid rgba(93,133,123,.28);border-radius:23px;color:#f4eee4;background:radial-gradient(circle at 88% 10%,rgba(111,178,161,.22),transparent 31%),linear-gradient(145deg,#28453e,#152721 70%);box-shadow:0 17px 36px rgba(43,67,59,.19);backdrop-filter:none}
.profile-identity-card::before{content:"";position:absolute;right:-22px;bottom:-40px;width:132px;height:132px;border:1px solid rgba(195,235,225,.09);border-radius:50%;box-shadow:0 0 0 18px rgba(195,235,225,.025),0 0 0 42px rgba(195,235,225,.018)}
.profile-record-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#9ed4ca;font-size:7px;letter-spacing:.11em}.profile-record-head em{display:flex;align-items:center;gap:5px;color:rgba(235,247,241,.5);font-style:normal;letter-spacing:.04em}.profile-record-head em i{width:5px;height:5px;border-radius:50%;background:#9ed4ca;animation:profile-record-pulse 2.8s ease-in-out infinite}
.profile-owner-row{position:relative;z-index:1;display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:11px}.profile-avatar{width:55px;height:55px;border-color:rgba(200,243,234,.25);border-radius:18px;background:linear-gradient(145deg,#94bcb2,#4f786f);font-size:20px}.profile-avatar>i{border-color:#243b35}.profile-login-badge{color:#a8dacf;font-size:7px}.profile-identity-copy h2{margin:3px 0 2px;color:#f6efe6;font-size:17px}.profile-identity-copy p{max-width:190px;color:rgba(240,238,229,.56);font-size:8px;line-height:1.45}.profile-login-button{min-height:34px;padding:0 10px;border-color:rgba(195,235,225,.32);border-radius:12px;color:#d7eee8;background:rgba(158,212,202,.12);font-size:8px}.profile-login-button:active{transform:scale(.97)}
.profile-record-line{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:12px}.profile-record-line i{position:relative;height:3px;border-radius:3px;background:rgba(200,243,234,.12)}.profile-record-line i::after{content:"";display:block;width:var(--profile-life,42%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#78b5a7,#d7aa66)}.profile-record-line i:nth-child(2)::after{--profile-life:68%}.profile-record-line i:nth-child(3)::after{--profile-life:31%}.profile-record-line i:nth-child(4)::after{--profile-life:82%}.profile-record-line i:nth-child(5)::after{--profile-life:56%}
.profile-home-card{position:relative;z-index:1;grid-template-columns:minmax(0,1fr) 50px 56px;margin-top:-2px;padding:12px 14px;border:1px solid rgba(75,121,110,.2);border-radius:19px;color:#35463f;background:linear-gradient(135deg,rgba(229,241,236,.96),rgba(255,247,235,.85));box-shadow:0 10px 24px rgba(61,75,67,.08)}.profile-home-card>div small,.profile-home-card span small{color:#71847e}.profile-home-card>div strong{color:#344b44;font-size:14px}.profile-home-card>span{border-left-color:rgba(67,87,78,.13)}.profile-home-card>span b{color:#50877b;font-size:18px}
.season-card{min-height:72px;padding:12px 15px;border-color:rgba(211,169,96,.26);border-radius:20px;background:radial-gradient(circle at 85% 0,rgba(211,169,96,.16),transparent 34%),linear-gradient(135deg,#183a34,#14251f);box-shadow:0 12px 26px rgba(32,61,54,.14)}.season-card small{color:#a4d8cc}.season-card strong{margin-top:4px;font-size:13px}.season-card em{margin-top:3px;font-size:8px}.season-card>i{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(200,243,234,.2);border-radius:50%;color:#d8b274;font-size:14px}
.profile-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:4px 3px 0}.profile-section-heading span{color:#4f8178;font-size:8px;letter-spacing:.11em}.profile-section-heading small{color:#887b70;font-size:7px}
.profile-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.profile-menu button{min-height:82px;display:grid;grid-template-columns:minmax(0,1fr) 15px;grid-template-rows:auto auto;align-content:center;gap:5px 6px;padding:11px 12px;border:1px solid rgba(56,47,41,.09)!important;border-radius:18px;color:#35423d;background:rgba(255,250,241,.72);box-shadow:0 8px 20px rgba(73,62,51,.055);transition:transform .18s ease,border-color .18s ease,background .18s ease}.profile-menu button:active{transform:scale(.975);border-color:rgba(79,129,120,.32)!important;background:rgba(235,244,239,.92)}.profile-menu button>span{grid-column:1;grid-row:1;gap:7px}.profile-menu button .icon{width:17px;height:17px;color:#56877e}.profile-menu button b{font-size:11px}.profile-menu button small{grid-column:1/3;grid-row:2;display:block;overflow:hidden;color:#82786f;font-size:7px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.profile-menu button>i{grid-column:2;grid-row:1;align-self:center;color:#9d8b78;font-size:15px}.profile-menu button:nth-child(1),.profile-menu button:nth-child(4){background:linear-gradient(145deg,rgba(225,239,233,.92),rgba(255,250,241,.8))}.profile-menu button:nth-child(5){border-color:rgba(188,141,74,.18)!important;background:linear-gradient(145deg,rgba(251,241,220,.9),rgba(255,250,241,.8))}.profile-menu button:last-child{grid-column:1/-1;min-height:62px;grid-template-columns:minmax(0,1fr) 15px}.profile-menu button:last-child small{white-space:normal}
.profile-logout{min-height:40px;margin-top:2px;border-radius:14px}.profile-version{margin-top:0;font-size:7px}
@keyframes profile-record-pulse{0%,100%{opacity:.45;box-shadow:0 0 0 rgba(158,212,202,0)}50%{opacity:1;box-shadow:0 0 12px rgba(158,212,202,.55)}}
@media(max-width:360px){.profile-content{padding-inline:9px}.profile-header{padding-inline:13px}.profile-security{max-width:126px}.profile-owner-row{grid-template-columns:49px minmax(0,1fr) auto;gap:8px}.profile-avatar{width:49px;height:49px}.profile-identity-copy h2{font-size:15px}.profile-identity-copy p{font-size:7px}.profile-login-button{padding-inline:8px}.profile-menu button{min-height:78px;padding-inline:10px}.profile-menu button b{font-size:10px}}

/* World viewport v3: HUD stays fixed; the map stage scales inside the unobstructed area. */
.view-world .world-map{--world-stage-top:76px;--world-stage-bottom:166px;isolation:isolate}
.view-world .world-map-stage{position:absolute;z-index:2;left:0;right:0;top:var(--world-stage-top);bottom:calc(var(--world-stage-bottom) + env(safe-area-inset-bottom));min-height:150px;overflow:hidden;transform-origin:50% 50%;transition:top .25s ease,bottom .25s ease}
.view-world .world-map-stage .world-3d-layer{inset:-5% -4%;width:108%;height:110%}
.view-world .world-map-stage .world-route-lines{inset:0;width:100%;height:100%}
.view-world .world-map-stage .world-scan-field{inset:0}
.view-world .world-map-stage .node-signal{left:4%;top:7%}
.view-world .world-map-stage .node-alley{right:2%;top:8%}
.view-world .world-map-stage .node-roof{left:29%;top:39%}
.view-world .world-map-stage .node-home{left:3%;bottom:4%}
.view-world .world-map-stage .node-garden{right:2%;bottom:3%}
.view-world .world-map-stage .cat-marmalade{left:5%;top:62%}
.view-world .world-map-stage .cat-coal{right:21%;top:35%}
.view-world .world-map-stage .cat-moon{left:25%;bottom:1%}
.view-world .world-map-stage .trace-wind{left:7%;top:20%}
.view-world .world-map-stage .trace-sound{right:6%;top:48%}
.view-world .world-map-stage .trace-scent{left:35%;top:72%;bottom:auto}
@media(max-height:820px){.view-world .world-map{--world-stage-top:70px;--world-stage-bottom:156px}.view-world .world-map-stage .world-node>i{width:40px;height:40px}.view-world .world-map-stage .world-node b{font-size:10px}.view-world .world-map-stage .world-node small{font-size:6px}.view-world .world-map-stage .world-cat{transform:scale(.9);transform-origin:left center}}
@media(max-height:700px){.view-world .world-map{--world-stage-top:62px;--world-stage-bottom:143px}.view-world .world-game-hud{top:5px;padding-top:6px;padding-bottom:6px}.view-world .world-map-stage .world-node>i{width:36px;height:36px}.view-world .world-map-stage .world-node .icon{width:15px;height:15px}.view-world .world-map-stage .world-node span{max-width:88px}.view-world .world-map-stage .node-roof{left:31%;top:36%}.view-world .world-map-stage .cat-coal{display:none}.view-world .world-map-stage .world-cat{transform:scale(.8)}}
@media(max-height:620px){.view-world .world-map{--world-stage-top:57px;--world-stage-bottom:133px}.view-world .world-map-stage .world-node>i{width:33px;height:33px}.view-world .world-map-stage .world-node b{font-size:9px}.view-world .world-map-stage .world-node small{display:none}.view-world .world-map-stage .world-cat{display:none}.view-world .world-loop-rail i{display:none}.view-world .world-loop-rail{gap:2px}}
@media(max-width:360px){.view-world .world-map-stage .world-node{gap:5px}.view-world .world-map-stage .world-node>i{width:37px;height:37px}.view-world .world-map-stage .world-node span{max-width:76px}.view-world .world-map-stage .node-roof{left:27%}.view-world .world-map-stage .node-alley,.view-world .world-map-stage .node-garden{right:1%}}

/* Life album: real household photos connect profile and living memories. */
.profile-album-card{position:relative;width:100%;min-height:88px;display:grid;grid-template-columns:128px minmax(0,1fr) 30px;align-items:center;gap:11px;padding:9px 11px;border:1px solid rgba(83,126,115,.22);border-radius:20px;color:#edf7f3;background:linear-gradient(135deg,#28453e,#15251f);box-shadow:0 12px 27px rgba(34,61,54,.15);overflow:hidden;text-align:left;cursor:pointer}.profile-album-card::after{content:"";position:absolute;right:-24px;top:-45px;width:110px;height:110px;border:1px solid rgba(200,243,234,.08);border-radius:50%}.profile-album-preview{height:68px;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:3px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#10201b}.profile-album-preview img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04)}.profile-album-preview img:first-child{grid-row:1/3}.profile-album-copy{position:relative;z-index:1;min-width:0}.profile-album-copy>*{display:block}.profile-album-copy small{color:#9ed4ca;font-size:7px;letter-spacing:.09em}.profile-album-copy strong{margin-top:5px;font-size:14px;font-weight:500}.profile-album-copy em{margin-top:4px;color:rgba(238,247,243,.56);font-size:8px;font-style:normal}.profile-album-card>i{position:relative;z-index:1;display:grid;width:29px;height:29px;place-items:center;border:1px solid rgba(200,243,234,.22);border-radius:50%;color:#d8b274;font-size:12px;font-style:normal}.profile-album-card:active{transform:scale(.985)}
.album-sheet{color:#f6f1e8;background:linear-gradient(160deg,#172820,#0d1512 76%);border-color:rgba(200,243,234,.16)}.album-sheet .sheet-header h2{max-width:290px;color:#f6f1e8;font-size:19px}.album-sheet .sheet-header small{color:#d7aa66}.album-sheet .round-button{color:#f6f1e8;background:rgba(255,255,255,.07)}.album-capture-card{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:8px;margin-top:13px;padding:13px;border:1px solid rgba(200,243,234,.14);border-radius:19px;background:rgba(255,255,255,.045)}.album-capture-card>div{grid-column:1/-1}.album-capture-card strong{display:block;font-size:13px;font-weight:500}.album-capture-card p{margin:5px 0 0;color:rgba(244,240,231,.52);font-size:8px;line-height:1.5}.album-capture-card input[type="text"],.album-capture-card select{min-width:0;height:39px;padding:0 10px;border:1px solid rgba(200,243,234,.16);border-radius:12px;color:#eaf6f1;background:#192d26;font-size:8px;outline:0}.album-capture-card select{grid-column:2}.album-photo-picker{grid-column:1/-1;min-height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border:1px solid rgba(200,243,234,.3);border-radius:13px;color:#16342d;background:linear-gradient(135deg,#c8f3ea,#8dc8b9);cursor:pointer}.album-photo-picker input{position:absolute;opacity:0;pointer-events:none}.album-photo-picker span{font-size:10px;font-weight:600}.album-photo-picker i{font-size:7px;font-style:normal;opacity:.65}.album-summary{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:10px;margin:10px 0}.album-summary>span{display:grid;place-items:center;padding:7px;border-right:1px solid rgba(200,243,234,.13)}.album-summary b{color:#bcecdf;font-size:20px;font-weight:400}.album-summary small{color:rgba(238,247,243,.45);font-size:6px}.album-summary p{margin:0;color:rgba(238,247,243,.5);font-size:8px;line-height:1.5}.life-album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.life-album-item{position:relative;min-height:174px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:17px;background:#16221e}.life-album-item>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.04)}.life-album-item::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(5,9,7,.88))}.life-album-item>span{position:absolute;z-index:2;left:10px;right:9px;bottom:9px}.life-album-item small,.life-album-item strong{display:block}.life-album-item small{color:#aeddd2;font-size:6px}.life-album-item strong{margin-top:4px;color:#f6f1e8;font-size:10px;font-weight:500;line-height:1.35}.life-album-item>button{position:absolute;z-index:3;right:7px;top:7px;width:28px;height:28px;border:1px solid rgba(255,255,255,.18);border-radius:50%;color:#fff;background:rgba(12,18,15,.62);font-size:15px;cursor:pointer}.album-privacy-note{display:flex;align-items:flex-start;gap:7px;margin:12px 2px 1px;color:rgba(238,247,243,.43);font-size:7px;line-height:1.5}.album-privacy-note .icon{width:14px;height:14px;flex:0 0 auto;color:#8ec7b9}.album-empty{grid-column:1/-1;padding:24px 14px;border:1px dashed rgba(200,243,234,.18);border-radius:17px;text-align:center}.album-empty strong{font-size:12px;font-weight:500}.album-empty p{margin:6px 0 0;color:rgba(238,247,243,.45);font-size:8px;line-height:1.5}
.memory-photo{position:relative;height:168px;margin:0 0 11px;overflow:hidden;border-radius:16px;background:#d6ddd7}.memory-photo>img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.86) contrast(1.03)}.memory-photo::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(18,24,20,.7))}.memory-photo figcaption{position:absolute;z-index:1;left:10px;right:10px;bottom:9px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;color:#f5f1e9}.memory-photo figcaption span{padding:4px 7px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(19,37,31,.58);font-size:7px;backdrop-filter:blur(6px)}.memory-photo figcaption small{max-width:68%;overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.memory-card.is-inference .memory-photo>img{filter:saturate(.72) contrast(1.02)}
@media(max-width:360px){.profile-album-card{grid-template-columns:108px minmax(0,1fr) 25px;padding-inline:8px}.profile-album-preview{height:62px}.profile-album-copy strong{font-size:12px}.album-capture-card{grid-template-columns:1fr}.album-capture-card select{grid-column:1}.memory-photo{height:146px}.life-album-item{min-height:154px}}

/* Parallel Cat Life: a server-timed living world, not a level list. */
.view-universe{position:relative;height:100dvh;min-height:0;padding-bottom:calc(76px + env(safe-area-inset-bottom));overflow:hidden;isolation:isolate;background:#070a0a}
body[data-current-view="universe"]{height:100dvh;overflow:hidden}body[data-current-view="universe"] .app-shell,body[data-current-view="universe"] .app-main{height:100dvh;min-height:0;overflow:hidden}
.universe-scene{position:absolute;z-index:-4;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.9) contrast(1.04) brightness(.72);transform:scale(1.015);animation:universe-scene-breathe 14s ease-in-out infinite alternate}
.universe-scene-shade{position:absolute;z-index:-3;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,6,7,.74) 0,rgba(5,6,7,.13) 24%,rgba(5,6,7,.05) 48%,rgba(7,7,7,.8) 70%,#090908 100%),radial-gradient(circle at 52% 32%,transparent 18%,rgba(2,4,4,.15) 65%,rgba(0,0,0,.48))}
.universe-stars{position:absolute;z-index:-1;inset:11% 5% 42%;pointer-events:none}.universe-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#ffdda2;box-shadow:0 0 9px #ffc66c;animation:universe-star 3.4s ease-in-out infinite}.universe-stars i:nth-child(1){left:8%;top:38%}.universe-stars i:nth-child(2){left:30%;top:13%;animation-delay:-1s}.universe-stars i:nth-child(3){left:76%;top:26%;animation-delay:-2s}.universe-stars i:nth-child(4){left:91%;top:55%;animation-delay:-.5s}.universe-stars i:nth-child(5){left:58%;top:67%;animation-delay:-1.8s}.universe-stars i:nth-child(6){left:17%;top:76%;animation-delay:-2.7s}
.universe-route-live{position:absolute;z-index:-1;left:44%;top:30%;width:42%;height:25%;pointer-events:none;transform:rotate(-18deg)}.universe-route-live::before{content:"";position:absolute;inset:45% 0 auto;height:1px;background:linear-gradient(90deg,transparent,#f3c46f,transparent);box-shadow:0 0 9px rgba(242,191,100,.7);animation:universe-route 3s linear infinite}.universe-route-live i{position:absolute;top:calc(45% - 2px);width:5px;height:5px;border-radius:50%;background:#ffe1a8;box-shadow:0 0 12px #e7ab51;animation:universe-route-dot 4s linear infinite}.universe-route-live i:nth-child(2){animation-delay:-1.35s}.universe-route-live i:nth-child(3){animation-delay:-2.7s}
.universe-header{position:relative;z-index:5;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:start;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 15px 4px;color:#fff3dd;background:linear-gradient(180deg,rgba(5,6,6,.64),transparent)}.universe-header>button{width:40px;height:40px;display:grid;place-items:center;margin-top:3px;border:1px solid rgba(246,212,156,.26);border-radius:50%;color:#f5d397;background:rgba(13,14,13,.38);backdrop-filter:blur(12px);cursor:pointer}.universe-header-spacer{width:40px;height:40px}.universe-header>button .icon{width:18px;height:18px}.universe-header>div{min-width:0}.universe-header small{display:block;color:rgba(236,203,150,.68);font-family:Georgia,"Times New Roman",serif;font-size:7px;letter-spacing:.19em}.universe-header h1{margin:2px 0 0;font-family:Georgia,"Songti SC",serif;font-size:29px;font-weight:400;letter-spacing:.03em}.universe-header p{margin:3px 0 0;color:rgba(255,242,220,.76);font-size:10px}
.universe-season-progress{position:relative;z-index:4;display:grid;grid-template-columns:minmax(0,1fr) 68px;align-items:end;gap:12px;padding:2px 19px 10px;color:#fae8c8}.universe-season-progress span>*{display:block}.universe-season-progress b{font-family:Georgia,"Songti SC",serif;font-size:13px;font-weight:400}.universe-season-progress small{margin-top:3px;overflow:hidden;color:rgba(242,224,194,.55);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.universe-season-progress>i{height:3px;margin-bottom:3px;overflow:hidden;border-radius:3px;background:rgba(255,232,191,.15)}.universe-season-progress>i>b{display:block;width:var(--universe-season-progress,25%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#dfac5a,#ffe4a5);box-shadow:0 0 10px rgba(233,179,87,.5);transition:width .5s ease}
.universe-live-panel{position:absolute;z-index:4;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));display:grid;gap:8px;transition:opacity .35s ease,transform .45s cubic-bezier(.18,.82,.28,1)}.universe-live-panel[hidden]{display:none}
.universe-expedition-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;padding:11px 12px 10px;border:1px solid rgba(246,211,153,.28);border-radius:24px;color:#fbecd1;background:radial-gradient(circle at 95% 0,rgba(229,174,83,.17),transparent 30%),linear-gradient(145deg,rgba(23,22,19,.9),rgba(11,13,12,.84));box-shadow:0 18px 42px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(18px)}
.universe-cat-portrait{position:relative;grid-row:1/3;width:58px;height:58px;align-self:center;display:grid;place-items:center;border:1px solid rgba(248,216,164,.38);border-radius:50%;background:radial-gradient(circle,#695133,#1a1a17);overflow:hidden}.universe-cat-portrait img{width:72px;height:58px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 5px rgba(0,0,0,.45))}.universe-cat-portrait i{position:absolute;inset:3px;border:1px solid rgba(255,236,201,.18);border-radius:50%}
.universe-expedition-copy{min-width:0}.universe-expedition-copy>*{display:block}.universe-expedition-copy>small{color:#dcb573;font-size:6px;letter-spacing:.13em}.universe-expedition-copy>strong{margin-top:3px;overflow:hidden;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.universe-expedition-copy>span{margin-top:2px;color:#e4b968;font-family:Georgia,"Songti SC",serif;font-size:10px}.universe-expedition-track{position:relative;height:12px;margin-top:6px;border-bottom:1px solid rgba(242,205,142,.18)}.universe-expedition-track::before{content:"";position:absolute;left:6px;right:8px;bottom:-1px;height:1px;background:linear-gradient(90deg,#f4cd87 0 var(--universe-progress,15%),rgba(247,222,181,.12) var(--universe-progress,15%))}.universe-expedition-track>i{position:absolute;z-index:1;left:var(--universe-progress,15%);bottom:-3px;width:5px;height:5px;border-radius:50%;background:#ffe1a8;box-shadow:0 0 10px #f0b34e;transition:left .5s ease}.universe-expedition-track>b,.universe-expedition-track>em{position:absolute;bottom:1px;color:rgba(248,224,184,.52);font-size:7px;font-style:normal}.universe-expedition-track>b{left:0}.universe-expedition-track>em{right:0}
.universe-expedition-card>button{grid-column:2;min-height:33px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:1px;border:1px solid rgba(249,215,157,.26);border-radius:14px;color:#2b2116;background:linear-gradient(135deg,#f1d095,#d7a754);font-size:9px;cursor:pointer}.universe-expedition-card>button>b{min-width:17px;height:17px;display:grid;place-items:center;border-radius:9px;color:#ffebc8;background:#554127;font-size:7px}.universe-expedition-card>button:disabled{color:rgba(246,229,202,.43);background:rgba(255,255,255,.06)}
.universe-friend-visit{min-height:54px;display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:9px;padding:5px 10px;border:1px solid rgba(244,211,158,.18);border-radius:19px;color:#f8e9cf;background:linear-gradient(120deg,rgba(29,27,23,.84),rgba(16,18,16,.8));backdrop-filter:blur(15px);text-align:left;cursor:pointer}.universe-friend-visit img{width:43px;height:43px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(0,0,0,.38))}.universe-friend-visit span>*{display:block}.universe-friend-visit small{color:#afcfc7;font-size:6px;letter-spacing:.1em}.universe-friend-visit strong{margin-top:3px;font-size:10px;font-weight:500}.universe-friend-visit>i{display:grid;width:27px;height:27px;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:50%;font-size:9px;font-style:normal}
.universe-utility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.universe-utility-grid>button{min-height:61px;display:grid;grid-template-columns:35px minmax(0,1fr) 12px;align-items:center;gap:7px;padding:7px 9px;border:1px solid rgba(244,211,158,.16);border-radius:18px;color:#f6e7cc;background:linear-gradient(145deg,rgba(32,29,24,.86),rgba(15,17,15,.84));text-align:left;cursor:pointer;backdrop-filter:blur(14px)}.universe-utility-grid>button>span:first-child{width:34px;height:40px;display:grid;place-items:center;border:1px solid rgba(246,210,150,.19);border-radius:10px;color:#e3b967;background:linear-gradient(145deg,#453827,#211f1a);font-size:15px}.universe-utility-grid>button>span:nth-child(2)>*{display:block}.universe-utility-grid small{color:#a7c9c1;font-size:5.5px;letter-spacing:.1em}.universe-utility-grid strong{margin-top:3px;font-size:9px;font-weight:500}.universe-utility-grid em{margin-top:2px;color:rgba(246,231,204,.48);font-size:6.5px;font-style:normal}.universe-utility-grid>button>i{color:#ddb66d;font-size:14px;font-style:normal}
.universe-planner{position:absolute;z-index:6;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));max-height:61vh;padding:15px;overflow:auto;border:1px solid rgba(246,211,153,.27);border-radius:25px;color:#f8ead1;background:linear-gradient(155deg,rgba(26,25,22,.95),rgba(9,12,11,.94));box-shadow:0 20px 50px rgba(0,0,0,.5);backdrop-filter:blur(20px)}.universe-planner[hidden]{display:none}.universe-planner header>*{display:block}.universe-planner header small{color:#dcb573;font-size:6px;letter-spacing:.13em}.universe-planner header strong{margin-top:4px;font-family:Georgia,"Songti SC",serif;font-size:19px;font-weight:400}.universe-planner header p{margin:5px 0 0;color:rgba(244,232,210,.5);font-size:8px;line-height:1.5}.universe-destination-list,.universe-duration-list{display:grid;gap:7px;margin-top:11px}.universe-destination-list>button,.universe-duration-list>button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:10px 11px;border:1px solid rgba(246,212,156,.13);border-radius:15px;color:#f5e5c9;background:rgba(255,255,255,.035);text-align:left;cursor:pointer}.universe-destination-list>button.is-selected,.universe-duration-list>button.is-selected{border-color:rgba(245,200,126,.52);background:rgba(220,166,82,.13);box-shadow:inset 0 0 0 1px rgba(240,190,110,.08)}.universe-destination-list strong,.universe-duration-list strong{font-size:10px;font-weight:500}.universe-destination-list small,.universe-duration-list small{grid-column:1/-1;color:rgba(244,232,210,.49);font-size:7px;line-height:1.4}.universe-destination-list em{color:#d9b36f;font-size:7px;font-style:normal}.universe-start-action{width:100%;min-height:43px;margin-top:12px;border:0;border-radius:15px;color:#332719;background:linear-gradient(135deg,#f1d095,#d7a754);font-weight:600;cursor:pointer}.universe-start-action i{margin-left:9px;font-style:normal}
.universe-message-sheet,.universe-pass-sheet,.universe-reward-sheet{color:#f8f0e2;background:linear-gradient(160deg,#1b1c18,#0e1110 75%);border-color:rgba(237,198,132,.2)}.universe-message-sheet .sheet-header h2,.universe-pass-sheet .sheet-header h2,.universe-reward-sheet .sheet-header h2{color:#f8f0e2}.universe-message-sheet .round-button,.universe-pass-sheet .round-button,.universe-reward-sheet .round-button{color:#f8f0e2;background:rgba(255,255,255,.06)}.universe-message-scene{position:relative;height:190px;margin-top:10px;overflow:hidden;border:1px solid rgba(246,211,153,.16);border-radius:21px}.universe-message-scene img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:brightness(.78) saturate(.9)}.universe-message-scene i{position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(8,10,9,.83))}.universe-message-scene span{position:absolute;left:12px;bottom:10px;color:#e6bf78;font-size:7px;letter-spacing:.13em}.universe-message-sheet>p{margin:13px 2px 8px;color:rgba(247,237,218,.76);font-family:Georgia,"Songti SC",serif;font-size:13px;line-height:1.7}.universe-message-thread{display:flex;gap:6px;margin:8px 0 13px}.universe-message-thread span{width:8px;height:8px;border:1px solid rgba(242,204,139,.3);border-radius:50%;background:rgba(255,255,255,.06)}.universe-message-thread span.is-opened{border-color:#efc477;background:#efc477;box-shadow:0 0 10px rgba(239,196,119,.4)}.universe-message-thread span.is-available{animation:universe-star 2s ease-in-out infinite}
.universe-pass-hero{margin-top:10px;padding:17px;border:1px solid rgba(242,204,139,.19);border-radius:22px;background:radial-gradient(circle at 86% 4%,rgba(226,170,78,.2),transparent 30%),linear-gradient(145deg,#362b1e,#161814)}.universe-pass-hero>*{display:block}.universe-pass-hero span{color:#ddb56f;font-size:7px;letter-spacing:.12em}.universe-pass-hero strong{margin-top:9px;font-family:Georgia,"Songti SC",serif;font-size:19px;font-weight:400;line-height:1.35}.universe-pass-hero p{margin:8px 0 0;color:rgba(246,234,213,.54);font-size:8px;line-height:1.6}.universe-pass-benefits{display:grid;gap:7px;margin:11px 0}.universe-pass-benefits span{display:grid;grid-template-columns:31px 1fr;align-items:center;gap:8px;min-height:41px;padding:6px 10px;border:1px solid rgba(242,204,139,.11);border-radius:14px;background:rgba(255,255,255,.035)}.universe-pass-benefits i{color:#dcb36b;font-family:Georgia,serif;font-size:8px;font-style:normal}.universe-pass-benefits b{font-size:9px;font-weight:500}.universe-pass-note{margin:9px 8px 1px;color:rgba(247,237,218,.4);font-size:7px;line-height:1.5;text-align:center}.universe-reward-object{position:relative;width:132px;height:132px;display:grid;place-items:center;margin:12px auto;border:1px solid rgba(242,204,139,.2);border-radius:50%;background:radial-gradient(circle,rgba(228,177,89,.22),rgba(20,22,19,.72) 58%)}.universe-reward-object span{font-size:48px;filter:drop-shadow(0 7px 10px rgba(0,0,0,.35))}.universe-reward-object i{position:absolute;inset:8px;border:1px dashed rgba(242,204,139,.25);border-radius:50%;animation:spin 18s linear infinite}.universe-reward-sheet>strong{display:block;color:#f6ddb1;font-family:Georgia,"Songti SC",serif;font-size:21px;font-weight:400;text-align:center}.universe-reward-sheet>p{margin:7px 20px 15px;color:rgba(247,237,218,.55);font-size:9px;line-height:1.6;text-align:center}
@keyframes universe-scene-breathe{to{transform:scale(1.045) translateY(-.6%)}}@keyframes universe-star{0%,100%{opacity:.25;transform:scale(.6)}50%{opacity:1;transform:scale(1.3)}}@keyframes universe-route{to{background-position:34px 0}}@keyframes universe-route-dot{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
@media(max-height:760px){.universe-header{padding-top:calc(7px + env(safe-area-inset-top))}.universe-header h1{font-size:24px}.universe-season-progress{padding-bottom:4px}.universe-live-panel{gap:6px;bottom:calc(102px + env(safe-area-inset-bottom))}.universe-expedition-card{padding:8px 10px;border-radius:20px}.universe-friend-visit{min-height:48px}.universe-utility-grid>button{min-height:54px}.universe-planner{bottom:calc(102px + env(safe-area-inset-bottom));max-height:62vh}}
@media(max-height:650px){.universe-season-progress small,.universe-friend-visit small{display:none}.universe-header p{display:none}.universe-live-panel{bottom:calc(96px + env(safe-area-inset-bottom))}.universe-friend-visit{min-height:43px}.universe-friend-visit img{width:36px;height:36px}.universe-utility-grid>button{min-height:48px}.universe-utility-grid>button>span:first-child{height:34px}.universe-expedition-copy>strong{font-size:10px}.universe-planner{bottom:calc(96px + env(safe-area-inset-bottom));max-height:63vh}}
@media(max-width:360px){.universe-header{grid-template-columns:36px minmax(0,1fr) 36px;padding-inline:10px}.universe-header>button{width:36px;height:36px}.universe-live-panel{left:8px;right:8px}.universe-expedition-card{grid-template-columns:50px minmax(0,1fr)}.universe-cat-portrait{width:50px;height:50px}.universe-utility-grid strong{font-size:8px}.universe-planner{left:8px;right:8px}}

/* Viewport-safe sheets: stay inside the visible WeChat H5 area even on long pages. */
.modal-layer{
  position:fixed;
  top:0;
  right:auto;
  bottom:auto;
  left:50%;
  width:min(100%,430px);
  height:var(--app-viewport-height,100dvh);
  max-height:100dvh;
  padding:clamp(7px,1.4vh,13px) 13px max(8px,env(safe-area-inset-bottom));
  overflow:hidden;
  transform:translateX(-50%);
  overscroll-behavior:contain;
}
.modal-layer .bottom-sheet{
  --sheet-header-bg:rgba(247,241,231,.96);
  max-height:calc(var(--app-viewport-height,100dvh) - max(18px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  touch-action:pan-y;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
}
.modal-layer .discovery-sheet,
.modal-layer .return-visit-sheet,
.modal-layer .impact-echo-sheet,
.modal-layer .album-sheet,
.modal-layer .universe-message-sheet,
.modal-layer .universe-pass-sheet,
.modal-layer .universe-reward-sheet{
  --sheet-header-bg:rgba(14,22,18,.96);
}
.modal-layer .sheet-header{
  position:sticky;
  z-index:8;
  top:-1px;
  margin:0 -3px;
  padding:5px 3px 12px;
  background:linear-gradient(180deg,var(--sheet-header-bg) 0 calc(100% - 7px),transparent 100%);
}
@media(max-height:700px){
  .modal-layer{padding:6px 8px max(6px,env(safe-area-inset-bottom))}
  .modal-layer .bottom-sheet{padding-inline:13px;border-radius:21px}
  .modal-layer .sheet-handle{margin-bottom:7px}
  .modal-layer .sheet-header h2{font-size:18px}
}

/* First-session product focus: keep every destination open while the home page
   still emphasizes one clear action. */
.story-return-promise{display:flex!important;align-items:flex-start;gap:7px;margin-top:8px!important;padding:7px 9px;border:1px solid rgba(138,177,157,.17);border-radius:12px;color:rgba(245,231,207,.68)!important;background:rgba(90,122,104,.1);font-size:7px!important;line-height:1.45!important}.story-return-promise i{flex:0 0 6px;width:6px;height:6px;margin-top:2px;border-radius:50%;background:#9ad8c5;box-shadow:0 0 10px rgba(154,216,197,.7)}
.app-shell[data-experience-stage="meet"] .bottom-nav,.app-shell[data-experience-stage="followup"] .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.game-guide[data-phase="move"] .guide-coach{top:146px}
.real-cat-delivery{margin-top:12px;padding:11px;border:1px solid rgba(70,116,105,.19);border-radius:18px;background:rgba(255,255,255,.3)}.real-cat-delivery>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.real-cat-delivery>header span>*{display:block}.real-cat-delivery>header small{color:#56877e;font-size:7px;letter-spacing:.09em}.real-cat-delivery>header strong{margin-top:3px;color:#303d39;font-size:11px;font-weight:550}.real-cat-delivery>header>b{padding:5px 7px;border-radius:10px;color:#426f66;background:rgba(78,130,118,.12);font-size:7px;font-weight:550}.real-cat-tier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.real-cat-tier-grid article{min-width:0;padding:10px;border:1px solid rgba(66,103,94,.13);border-radius:14px;background:rgba(247,245,236,.62)}.real-cat-tier-grid article.is-current{border-color:rgba(79,137,125,.44);box-shadow:inset 0 0 0 1px rgba(79,137,125,.09)}.real-cat-tier-grid article>*{display:block}.real-cat-tier-grid small{color:#5b8c81;font-size:6px;letter-spacing:.06em}.real-cat-tier-grid strong{margin-top:4px;color:#34433f;font-size:10px}.real-cat-tier-grid p{margin:5px 0 0;color:#716d66;font-size:7px;line-height:1.5}.real-cat-tier-grid em{margin-top:6px;color:#9a765e;font-size:6px;font-style:normal}.real-cat-tier-grid button{width:100%;min-height:31px;margin-top:7px;border:1px solid rgba(74,123,112,.25);border-radius:10px;color:#426f66;background:rgba(255,255,255,.52);font-size:7px}.universe-memory-cargo{display:block;margin-top:4px;overflow:hidden;color:#a9cec3;font-size:6px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:360px){.real-cat-tier-grid{grid-template-columns:1fr}}

/* Healing art direction v1: warm daylight at home, paper-soft controls, quiet technology. */
html,body{background:#e8dfd1}
.app-shell{background:#e9e1d4;box-shadow:0 0 64px rgba(92,76,58,.24)}
.view-home,.view-home .home-stage{background:#dbcbb8}
.view-home .home-stage[data-room-theme="modern"] .home-stage-image{object-position:center center;filter:saturate(.82) contrast(.94) brightness(1.02) sepia(.035);transform:scale(1.012)}
.view-home .stage-vignette{background:radial-gradient(circle at 52% 46%,transparent 35%,rgba(92,67,46,.04) 67%,rgba(69,48,34,.18) 100%),linear-gradient(180deg,rgba(255,250,241,.38),transparent 23%,transparent 70%,rgba(90,67,48,.23))}
.view-home .scene-foreground{height:30%;background:linear-gradient(180deg,transparent,rgba(107,82,60,.025) 30%,rgba(79,60,45,.18) 82%,rgba(61,48,38,.3) 100%)}
.view-home .living-light{left:3%;top:7%;opacity:.48;background:radial-gradient(circle,rgba(255,247,213,.78),rgba(255,213,147,.15) 42%,transparent 70%)}
.view-home .scene-floor-light{opacity:.36;background:radial-gradient(ellipse at 48% 48%,rgba(255,238,193,.42),transparent 61%)}
.view-home .floating-topbar{background:linear-gradient(180deg,rgba(255,250,240,.9),rgba(255,250,240,.28),transparent)}
.view-home .home-title strong{color:#4d5143;text-shadow:0 2px 15px rgba(255,255,255,.72)}
.view-home .home-title small{color:rgba(73,77,64,.68)}
.view-home .sync-status{border-color:rgba(91,120,105,.2);color:#4f6f63;background:rgba(255,251,243,.76);box-shadow:0 6px 18px rgba(87,66,46,.08)}
.view-home .round-button{border-color:rgba(91,120,105,.22);color:#526b61;background:rgba(255,251,243,.76)}
.view-home .telemetry-stack span{border-color:rgba(103,119,94,.18);color:#5b6253;background:rgba(255,251,243,.7);box-shadow:0 5px 16px rgba(87,66,46,.06)}
.view-home .story-console{border-color:rgba(116,132,101,.3);color:#4a463f;background:linear-gradient(125deg,rgba(255,252,245,.94),rgba(242,237,224,.9));box-shadow:0 16px 38px rgba(91,66,43,.19),0 0 0 1px rgba(255,255,255,.55);backdrop-filter:blur(18px)}
.view-home .console-kicker,.view-home .console-kicker span{color:#8b7654}
.view-home .story-console h1{color:#403d37}
.view-home .story-console p{color:rgba(72,66,58,.64)}
.view-home .story-console .primary-action{border-color:rgba(101,126,109,.28);color:#fff;background:linear-gradient(145deg,#8da48d,#657d6c);box-shadow:0 7px 18px rgba(74,98,82,.2)}
.home-quick-card{border-color:rgba(107,124,99,.2);color:#514c43;background:linear-gradient(145deg,rgba(255,252,245,.9),rgba(236,235,220,.86));box-shadow:0 9px 24px rgba(89,67,46,.1)}
.home-quick-card .quick-icon{color:#6e826c;background:radial-gradient(circle,#eef2df,#dce4cd)}
.home-quick-card small{color:#5f5a4f}.home-quick-card b{color:#5f8978}.home-quick-card em{color:rgba(80,73,64,.52)}
.home-quick-card.is-empty b,.home-quick-card.is-low b{color:#a77b4f}
.view-home .cat-social-signal,.cat-nameplate{border-color:rgba(106,128,110,.24);color:#4e5548;background:rgba(255,251,241,.82);text-shadow:none;box-shadow:0 7px 18px rgba(75,59,43,.1)}
.cat-nameplate small{color:#668779}
.view-home .discovery-hotspot{border-color:rgba(111,132,107,.25);color:#4e5148;background:linear-gradient(120deg,rgba(255,252,245,.9),rgba(233,235,218,.82));box-shadow:0 10px 25px rgba(82,64,45,.12)}
.view-home .discovery-hotspot>small{color:rgba(73,77,66,.55)}
.view-home .signal-source{border-color:rgba(174,130,77,.28);color:#805f3d;background:rgba(255,248,232,.8)}
.home-route-glow{opacity:.34;filter:drop-shadow(0 0 5px rgba(218,157,76,.45))}
.bottom-nav{border-top-color:rgba(105,113,91,.16);background:linear-gradient(180deg,rgba(249,245,236,.94),rgba(233,227,215,.98));box-shadow:0 -12px 28px rgba(83,66,48,.12);backdrop-filter:blur(18px)}
.nav-button{color:rgba(76,78,68,.58);text-shadow:none}.nav-button.is-active{color:#5d776a;text-shadow:none}.nav-button.is-active::before{background:rgba(108,136,119,.12)}
.guide-veil{background:radial-gradient(circle at 50% 38%,rgba(119,103,82,.26),rgba(52,45,38,.64));backdrop-filter:blur(8px)}
.guide-intro{border-color:rgba(121,137,111,.3);color:#413f39;background:linear-gradient(145deg,rgba(255,252,244,.98),rgba(235,237,220,.97));box-shadow:0 28px 70px rgba(68,53,39,.3)}
.guide-cat-mark,.guide-intro>small{color:#7c8066}.guide-intro>p{color:rgba(68,64,57,.7)}
.guide-loop{border-color:rgba(107,128,108,.16);background:rgba(133,153,127,.08)}.guide-loop span i{border-color:rgba(101,129,109,.3);color:#5f7b6e;background:rgba(132,160,139,.12)}.guide-loop em{color:rgba(88,108,91,.32)}
.guide-start{border-color:#708876;color:#fff;background:linear-gradient(135deg,#96ad94,#6c836f);box-shadow:0 9px 20px rgba(78,102,82,.18)}.guide-skip{color:rgba(66,63,57,.52)}
.guide-name-field{border-color:rgba(107,128,108,.2);background:rgba(133,153,127,.08)}.guide-name-field>span{color:#5f7b6e}.guide-name-field input{border-color:rgba(101,129,109,.28);color:#413f39;background:rgba(255,252,244,.7)}.guide-name-field input::placeholder{color:rgba(68,64,57,.4)}.guide-name-field input:focus{border-color:#708876;box-shadow:0 0 0 3px rgba(112,136,118,.1)}.guide-name-field small{color:rgba(68,64,57,.56)}.guide-name-field em{color:#a05042}
.guide-coach{border-color:rgba(109,132,110,.3);color:#44413b;background:linear-gradient(135deg,rgba(255,252,244,.97),rgba(232,235,218,.96));box-shadow:0 14px 34px rgba(72,56,40,.2)}.guide-coach::after{border-color:rgba(109,132,110,.3);background:#eef0df}.guide-coach-top{color:#688073}.guide-coach-top button{color:rgba(66,63,57,.6)}.guide-coach>p{color:rgba(69,65,58,.68)}.guide-coach-action{border-color:rgba(103,129,107,.28);color:#587267;background:rgba(128,157,135,.1)}
@media(orientation:landscape) and (max-height:520px){
  .modal-layer .bottom-sheet{max-height:calc(var(--app-viewport-height,100dvh) - 10px);border-radius:18px}
}

/* Home story typography v2: every text block owns a row; no copy may overlap. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.view-home .story-console{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 50px;
  grid-template-rows:auto auto auto auto;
  align-content:center;
  align-items:start;
  column-gap:12px;
  row-gap:4px;
  padding:14px 14px 12px 16px;
}
.view-home .story-console .console-kicker{
  grid-column:1;
  grid-row:1;
  min-width:0;
}
.view-home .story-console .console-kicker span{
  overflow:hidden;
  font-size:8px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.view-home .story-console #home-action-title{
  grid-column:1;
  grid-row:2;
  min-width:0;
  margin:0;
  overflow:hidden;
  color:#403d37;
  font-size:16px;
  line-height:1.34;
  font-weight:550;
  overflow-wrap:anywhere;
  text-wrap:balance;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.view-home .story-console #home-action-copy{
  grid-column:1;
  grid-row:3;
  min-width:0;
  margin:0;
  overflow:hidden;
  color:rgba(72,66,58,.68);
  font-size:9px;
  line-height:1.5;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.view-home .story-console .story-return-promise{
  grid-column:1/-1;
  grid-row:4;
  min-width:0;
  margin:5px 0 0!important;
  padding:7px 9px;
  align-items:center;
  color:rgba(68,79,68,.76)!important;
  background:rgba(126,153,126,.12);
  font-size:8px!important;
  line-height:1.4!important;
  -webkit-line-clamp:unset;
}
.view-home .story-console .story-return-promise span{
  min-width:0;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.view-home .story-console #home-main-action{
  grid-column:2;
  grid-row:1/4;
  width:50px;
  min-height:50px;
  align-self:center;
  justify-self:end;
}
@media(max-width:360px){
  .view-home .story-console{grid-template-columns:minmax(0,1fr) 44px;column-gap:9px;padding:12px 11px 10px 13px}
  .view-home .story-console #home-action-title{font-size:14px}
  .view-home .story-console #home-action-copy{font-size:8px;-webkit-line-clamp:1}
  .view-home .story-console .story-return-promise{padding:6px 8px;font-size:7px!important}
  .view-home .story-console #home-main-action{width:44px;min-height:44px}
}
@media(max-height:700px){
  .view-home .story-console{row-gap:3px;padding-block:11px 9px}
  .view-home .story-console #home-action-title{-webkit-line-clamp:1}
  .view-home .story-console #home-action-copy{-webkit-line-clamp:1}
  .view-home .story-console .story-return-promise{margin-top:3px!important;padding-block:5px}
}
body[data-app-locale="en-US"] .view-home .story-console #home-action-title,
body[data-app-locale="ru-RU"] .view-home .story-console #home-action-title{font-size:13px;line-height:1.3}

/* Real-cat onboarding is a complete preview -> confirm -> home flow. */
.bottom-sheet[data-sheet="cat-profile"]{scroll-padding-top:84px}
.real-cat-preview{margin-top:12px;padding:11px;border:1px solid rgba(72,124,113,.24);border-radius:18px;background:linear-gradient(145deg,rgba(77,130,119,.11),rgba(255,255,255,.28))}
.real-cat-preview[hidden]{display:none}
.real-cat-cpu-status{margin-top:10px;padding:11px;border:1px solid rgba(76,132,120,.25);border-radius:17px;background:rgba(43,85,75,.08)}.real-cat-cpu-status[hidden]{display:none}.real-cat-cpu-status header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.real-cat-cpu-status header span>*{display:block}.real-cat-cpu-status small{color:#56877e;font-size:7px;letter-spacing:.08em}.real-cat-cpu-status strong{margin-top:4px;color:var(--ink-dark);font-size:11px;font-weight:500}.real-cat-cpu-status header>b{color:#4e7f75;font-size:12px;font-weight:500}.real-cat-cpu-status>div{height:5px;margin-top:9px;overflow:hidden;border-radius:4px;background:rgba(52,87,78,.12)}.real-cat-cpu-status>div>i{display:block;width:var(--cpu-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#5b9d90,#b9d99e);transition:width .35s ease}.real-cat-cpu-status>p{margin:7px 0 0;color:var(--muted-dark);font-size:8px;line-height:1.45}
.real-cat-errors{margin-top:10px;padding:12px;border:1px solid rgba(173,92,63,.38);border-radius:18px;background:linear-gradient(145deg,rgba(190,105,69,.12),rgba(255,246,232,.54));box-shadow:0 8px 22px rgba(93,49,32,.07)}.real-cat-errors[hidden]{display:none}.real-cat-errors>header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.real-cat-errors>header span>*{display:block}.real-cat-errors>header small{color:#a35e43;font-size:7px;letter-spacing:.08em}.real-cat-errors>header strong{margin-top:4px;color:#663d2f;font-size:11px;font-weight:600}.real-cat-errors>header>b{flex:0 0 auto;padding:5px 7px;border-radius:10px;color:#9c5037;background:rgba(175,83,52,.11);font-size:7px;font-weight:500}.real-cat-error-list{display:grid;gap:7px;margin-top:10px}.real-cat-error-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:9px;border:1px solid rgba(137,75,52,.15);border-radius:13px;background:rgba(255,255,255,.42)}.real-cat-error-item>em{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;color:#fff;background:#a45d43;font-size:9px;font-style:normal}.real-cat-error-item span>*{display:block}.real-cat-error-item strong{margin:0;color:#5f392c;font-size:9px;font-weight:600}.real-cat-error-item small{margin-top:3px;color:#885744;font-size:8px;line-height:1.4}.real-cat-error-item p{margin:4px 0 0;color:#67524a;font-size:8px;line-height:1.45}.real-cat-errors>button{width:100%;min-height:40px;margin-top:10px;border:1px solid #9e5a41;border-radius:13px;color:#fff;background:#9e5a41;font-size:9px;cursor:pointer}
.real-cat-preview>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.real-cat-preview>header span>*{display:block}.real-cat-preview>header small{color:#56877e;font-size:7px;letter-spacing:.08em}.real-cat-preview>header strong{margin-top:4px;color:var(--ink-dark);font-size:12px;font-weight:500}.real-cat-preview>header>b{flex:0 0 auto;padding:5px 7px;border-radius:10px;color:#4e7f75;background:rgba(80,127,118,.12);font-size:7px;font-weight:500}
.real-cat-preview-stage{position:relative;height:176px;margin-top:9px;overflow:hidden;border:1px solid rgba(55,91,82,.14);border-radius:17px;background:linear-gradient(180deg,#35564d,#17251f);isolation:isolate}.real-cat-preview-stage::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(5,10,8,.58));pointer-events:none}.real-cat-preview-stage>img{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;filter:none}.real-cat-preview-stage>i{display:none}.real-cat-preview-stage>span{position:absolute;z-index:3;right:10px;bottom:9px;padding:6px 8px;border:1px solid rgba(222,245,238,.13);border-radius:11px;color:#f4f0e8;background:rgba(14,27,22,.62);backdrop-filter:blur(8px)}.real-cat-preview-stage>span>*{display:block}.real-cat-preview-stage>span b{font-size:9px;font-weight:500}.real-cat-preview-stage>span small{margin-top:2px;color:rgba(237,247,243,.55);font-size:6px}
.real-cat-preview-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:72px;gap:6px;margin-top:8px;padding:2px 2px 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.real-cat-preview-thumbs::-webkit-scrollbar{display:none}.real-cat-preview-thumbs button{position:relative;width:72px;height:66px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:11px;background:#d9ddd7;cursor:pointer}.real-cat-preview-thumbs button.is-selected{border-color:#4f897d;box-shadow:0 0 0 2px rgba(79,137,125,.14)}.real-cat-preview-thumbs button.has-warning{border-color:#b86a4b}.real-cat-preview-thumbs button.has-warning.is-selected{box-shadow:0 0 0 2px rgba(184,106,75,.2)}.real-cat-preview-thumbs img{width:100%;height:100%;object-fit:cover}.real-cat-preview-thumbs i{position:absolute;right:4px;top:4px;display:grid;min-width:17px;height:17px;padding:0 3px;place-items:center;border-radius:9px;color:#fff;background:rgba(28,67,59,.88);font-size:7px;font-style:normal}.real-cat-preview-thumbs span{position:absolute;right:0;bottom:0;left:0;padding:4px 2px 3px;color:#fff;background:linear-gradient(transparent,rgba(12,23,19,.86));font-size:7px;line-height:1.2;text-align:center}.real-cat-preview-thumbs em{position:absolute;top:4px;left:4px;padding:3px 4px;border-radius:6px;color:#fff;background:#a5573e;font-size:6px;font-style:normal}.real-cat-selected-guidance{margin-top:9px;padding:10px 11px;border:1px solid rgba(75,127,115,.24);border-radius:14px;background:rgba(255,255,255,.42)}.real-cat-selected-guidance[hidden]{display:none}.real-cat-selected-guidance>*{display:block}.real-cat-selected-guidance strong{color:#315e55;font-size:10px;font-weight:600}.real-cat-selected-guidance p{margin:5px 0 0;color:#605b54;font-size:8px;line-height:1.45}.real-cat-selected-guidance small{margin-top:5px;color:#527970;font-size:8px;line-height:1.5}.real-cat-selected-guidance.is-error{border-color:rgba(177,91,59,.4);background:rgba(255,238,225,.62)}.real-cat-selected-guidance.is-error strong{color:#8e4934}.real-cat-selected-guidance.is-error p{color:#7c4938}.real-cat-selected-guidance.is-error small{color:#6c554c}
.real-cat-preview>p{margin:8px 2px 0;color:var(--muted-dark);font-size:8px;line-height:1.45}.real-cat-preview-actions{display:grid;grid-template-columns:minmax(0,1fr) 76px 76px;gap:7px;margin-top:9px}.real-cat-preview-actions .primary-action{margin:0}.real-cat-preview-actions>button:not(.primary-action){min-height:43px;padding:0 6px;border:1px solid rgba(68,114,104,.24);border-radius:14px;color:#4d7f75;background:rgba(255,255,255,.4);font-size:7px;cursor:pointer}.real-cat-preview-actions>button:disabled{opacity:.55;cursor:default}
@media(max-width:380px){
  .photo-spec-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .real-cat-entry{padding:11px}
  .real-cat-preview{padding:9px}
  .real-cat-preview-stage{height:158px}
  .real-cat-preview-stage>img{width:100%;height:100%}
  .real-cat-preview-actions{grid-template-columns:1fr 1fr}.real-cat-preview-actions .primary-action{grid-column:1/-1}
}
@media(max-height:700px){
  .cat-profile-tabs{margin-top:8px}
  .cat-personality-card{padding:11px}
  .trait-bars{gap:6px;margin-top:8px}
  .personality-facts{margin-top:8px}
  .real-cat-preview-stage{height:148px}
  .real-cat-preview-stage>img{width:100%;height:100%}
}
