.numa-life-scenery{--numa-life-z-distant: 1;--numa-life-z-mid: 2;--numa-life-z-activity: 3;--numa-life-z-character: 4;--numa-life-z-foreground: 5;position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}.numa-life-scenery__layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.numa-life-scenery__layer.is-short{display:none}.numa-life-scenery__layer.is-distant{z-index:var(--numa-life-z-distant)}.numa-life-scenery__layer.is-mid{z-index:var(--numa-life-z-mid)}.numa-life-scenery__layer.is-activity{z-index:var(--numa-life-z-activity)}.numa-life-scenery__layer.is-light{z-index:var(--numa-life-z-activity);mix-blend-mode:screen}.numa-life-scenery__layer.is-weather-front{z-index:calc(var(--numa-life-z-foreground) + 1);mix-blend-mode:screen}.numa-life-scenery__layer.is-near{z-index:var(--numa-life-z-foreground);clip-path:none}.numa-life-scenery__svg{display:block;width:100%;height:100%;max-width:none;overflow:visible;shape-rendering:geometricPrecision}.numa-life-scenery__svg path{vector-effect:non-scaling-stroke}.numa-life-scenery__svg.is-wide{width:300%;transform:translateZ(0);transform-origin:left center;will-change:transform}.numa-life-scenery.is-home .is-distant{background-color:#a98c4e}.numa-life-scenery.is-market .is-distant{background-color:#5fb2e4}.numa-life-scenery__layer.is-panorama>.numa-life-scenery__svg{width:100%}.numa-life-scenery.is-path .is-distant{--life-sky: #d3e7dc;--life-horizon: #7daf90;--life-floor: #397b55;background:linear-gradient(180deg,var(--life-sky) 0%,var(--life-horizon) 45%,var(--life-floor) 100%)}.numa-life-scenery.is-slope .is-distant{--life-sky: #f0d3ad;--life-horizon: #b8b57b;--life-floor: #6f8d5d;background:linear-gradient(180deg,var(--life-sky) 0%,var(--life-horizon) 46%,var(--life-floor) 100%)}.numa-life-scenery.is-waterside .is-distant{--life-sky: #c5e9e3;--life-horizon: #91ccd1;--life-floor: #4f8e72;background:linear-gradient(180deg,var(--life-sky) 0%,var(--life-horizon) 45%,var(--life-floor) 100%)}.numa-life-scenery.is-waterside[data-location-variant=common] .is-distant{--life-sky: #d5cfd9;--life-horizon: #83879e;--life-floor: #4c5663;background:linear-gradient(180deg,var(--life-sky) 0%,var(--life-horizon) 44%,var(--life-floor) 100%)}.numa-life-scenery[data-time-of-day=morning]>.numa-life-scenery__layer.is-distant{filter:saturate(.96) brightness(1.05)}.numa-life-scenery[data-time-of-day=morning]>.numa-life-scenery__layer.is-mid,.numa-life-scenery[data-time-of-day=morning]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=morning]>.numa-life-scenery__layer.is-near{filter:saturate(.98) brightness(1.03)}.numa-life-scenery[data-time-of-day=evening]>.numa-life-scenery__layer.is-distant{filter:sepia(.08) saturate(1.04) brightness(.94)}.numa-life-scenery[data-time-of-day=evening]>.numa-life-scenery__layer.is-mid,.numa-life-scenery[data-time-of-day=evening]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=evening]>.numa-life-scenery__layer.is-near{filter:sepia(.05) saturate(1.03) brightness(.96)}.numa-life-scenery[data-time-of-day=night]>.numa-life-scenery__layer.is-distant{filter:saturate(.78) brightness(.66) hue-rotate(7deg)}.numa-life-scenery[data-time-of-day=night]>.numa-life-scenery__layer.is-mid,.numa-life-scenery[data-time-of-day=night]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night]>.numa-life-scenery__layer.is-near{filter:saturate(.72) brightness(.74) hue-rotate(6deg)}.numa-life-scenery__layer.is-distant:after{position:absolute;inset:26% 0 30%;background:linear-gradient(180deg,#fff0,#ffffff17 42%,#ffffff1c 56%,#fff0);content:"";pointer-events:none}.numa-life-scenery[data-time-of-day=night]>.numa-life-scenery__layer.is-distant:after{background:linear-gradient(180deg,#121a2600,#121a2629 46%,#121a2633 60%,#121a2600)}.numa-life-scenery__layer.is-distant .numa-life-art,.numa-life-scenery__layer.is-mid .numa-life-art,.numa-life-scenery__layer.is-activity .numa-life-art,.numa-life-scenery__layer.is-near .numa-life-art{transform-origin:50% 100%;animation:none}.numa-life-scenery__layer.is-light .numa-life-art{animation:numa-life-light-breathe 8.8s ease-in-out infinite;will-change:opacity}.numa-life-weather.is-rainfall{animation:numa-life-rain-shift 1.8s linear infinite;will-change:transform,opacity}.numa-life-weather.is-rainfall-foreground{animation:numa-life-rain-foreground 1.35s linear infinite;will-change:transform,opacity}.numa-life-weather.is-rain-contact{animation:numa-life-rain-contact 2.4s ease-in-out infinite;transform-origin:50% 100%;will-change:opacity}.numa-life-weather.is-mist{animation:numa-life-mist-shift 13s ease-in-out infinite alternate;will-change:transform,opacity}.numa-life-weather.is-breeze{animation:numa-life-breeze-shift 6.5s ease-in-out infinite alternate;will-change:transform,opacity}.numa-life-botany,.numa-life-gathering-herbs,.numa-life-dew-sprig,.numa-life-bank-sprig,.numa-life-stream-reeds,.numa-life-common-lamp,.numa-life-market-canopies{transform-box:fill-box;transform-origin:50% 100%;animation:numa-life-botany-sway 8.4s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform,opacity}.numa-life-home-canopy{transform-box:fill-box;transform-origin:50% 0;animation:numa-life-botany-sway 13.8s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform,opacity}.numa-life-botany.is-distant{animation-duration:13.6s}.numa-life-botany.is-mid{animation-duration:9.8s}.numa-life-botany.is-near{animation-duration:6.8s}.numa-life-botany.is-phase-b,.numa-life-common-lamp.is-right{animation-delay:-3.1s}.numa-life-botany.is-phase-c,.numa-life-stream-reeds.is-left{animation-delay:-5.4s}.numa-life-botany.is-phase-d{animation-delay:-7.2s}.numa-life-market-canopies{animation-duration:10.6s}.numa-life-market-chimes{transform-box:fill-box;transform-origin:50% 0;animation:numa-life-chime-swing 5.2s ease-in-out infinite alternate;will-change:transform}.numa-life-home-left-leaf,.numa-life-home-right-leaf,.numa-life-market-left-herbs,.numa-life-path-small-flower,.numa-life-slope-seedheads,.numa-life-slope-herb-bundle,.numa-life-common-terrace-grass,.numa-life-stream-bank-reeds,.numa-life-stream-near-reeds{transform-box:fill-box;transform-origin:50% 100%;animation:numa-life-detail-sway 8.6s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform}.numa-life-home-left-leaf,.numa-life-home-right-leaf{animation-duration:13.4s}.numa-life-market-left-herbs,.numa-life-stream-bank-reeds{animation-delay:-3.7s;animation-duration:9.4s}.numa-life-slope-seedheads,.numa-life-slope-herb-bundle{animation-delay:-5.1s;animation-duration:7.8s}.numa-life-home-lamp,.numa-life-home-motes{animation:numa-life-material-glow 6.8s ease-in-out infinite;will-change:opacity}.numa-life-home-motes{animation-duration:9.4s;animation-delay:-2.6s}.numa-life-market-banner,.numa-life-market-right-tassels{transform-box:fill-box;transform-origin:50% 0;animation:numa-life-cloth-lift 6.2s cubic-bezier(.42,0,.58,1) infinite alternate;will-change:transform}.numa-life-market-right-tassels{animation-delay:-2.9s;animation-duration:5.6s}.numa-life-path-hanging-vine,.numa-life-path-right-vine{transform-box:fill-box;transform-origin:50% 0;animation:numa-life-vine-drift 8.8s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform}.numa-life-path-right-vine{animation-delay:-4.6s;animation-direction:alternate-reverse}.numa-life-stream-reflection{transform-box:fill-box;transform-origin:50% 100%;animation:numa-life-water-surface 7.2s ease-in-out infinite;will-change:transform,opacity}.numa-life-stream-shell-bed.is-right{opacity:.94}.numa-life-scenery__layer.is-distant .numa-life-home-architecture,.numa-life-scenery__layer.is-distant .numa-life-market-architecture,.numa-life-scenery__layer.is-distant .numa-life-path-canopy-detail,.numa-life-scenery__layer.is-distant .numa-life-slope-ridge-detail,.numa-life-scenery__layer.is-distant .numa-life-waterside-distant-detail{opacity:.9}.numa-life-scenery__layer.is-near .numa-life-home-tools,.numa-life-scenery__layer.is-near .numa-life-market-near-detail,.numa-life-scenery__layer.is-near .numa-life-path-near-detail,.numa-life-scenery__layer.is-near .numa-life-slope-near-detail,.numa-life-scenery__layer.is-near .numa-life-waterside-near-detail{opacity:.98}.numa-life-common-glow,.numa-life-common-light{animation:numa-life-water-light 6.8s ease-in-out infinite;will-change:opacity}.numa-life-scenery[data-travel=true] .is-path-track.is-distant>.numa-life-scenery__svg{animation:numa-life-travel-loop 64s linear infinite}.numa-life-scenery[data-travel=true] .is-path-track.is-mid>.numa-life-scenery__svg{animation:numa-life-travel-loop 30s linear infinite}.numa-life-scenery[data-travel=true] .is-path-track.is-activity>.numa-life-scenery__svg{animation:numa-life-travel-loop 20s linear infinite}.numa-life-scenery[data-travel=true] .is-path-track.is-near>.numa-life-scenery__svg{animation:numa-life-travel-loop 13s linear infinite}.numa-life-scenery[data-travel=true][data-animation-state=slow-walk] .is-path-track.is-distant>.numa-life-scenery__svg{animation-duration:86s}.numa-life-scenery[data-travel=true][data-animation-state=slow-walk] .is-path-track.is-mid>.numa-life-scenery__svg{animation-duration:42s}.numa-life-scenery[data-travel=true][data-animation-state=slow-walk] .is-path-track.is-activity>.numa-life-scenery__svg{animation-duration:29s}.numa-life-scenery[data-travel=true][data-animation-state=slow-walk] .is-path-track.is-near>.numa-life-scenery__svg{animation-duration:19s}.numa-life-scenery[data-travel=true][data-animation-state=carry] .is-path-track.is-distant>.numa-life-scenery__svg,.numa-life-scenery[data-travel=true][data-animation-state=walk-carry] .is-path-track.is-distant>.numa-life-scenery__svg{animation-duration:74s}.numa-life-scenery[data-travel=true][data-animation-state=carry] .is-path-track.is-mid>.numa-life-scenery__svg,.numa-life-scenery[data-travel=true][data-animation-state=walk-carry] .is-path-track.is-mid>.numa-life-scenery__svg{animation-duration:35s}.numa-life-scenery[data-travel=true][data-animation-state=carry] .is-path-track.is-activity>.numa-life-scenery__svg,.numa-life-scenery[data-travel=true][data-animation-state=walk-carry] .is-path-track.is-activity>.numa-life-scenery__svg{animation-duration:24s}.numa-life-scenery[data-travel=true][data-animation-state=carry] .is-path-track.is-near>.numa-life-scenery__svg,.numa-life-scenery[data-travel=true][data-animation-state=walk-carry] .is-path-track.is-near>.numa-life-scenery__svg{animation-duration:16s}.numa-life-scenery[data-animation-state=sleep]>.numa-life-scenery__layer.is-activity{opacity:.66}.numa-life-scenery[data-animation-state=gather]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=exchange]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=sort]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=pick-up]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=place]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=forage]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=pack]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=unpack]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=cook]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=groom]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-animation-state=browse]>.numa-life-scenery__layer.is-activity{filter:saturate(1.05) brightness(1.025)}.numa-life-scenery[data-time-of-day=night][data-animation-state=gather]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=exchange]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=sort]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=pick-up]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=place]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=forage]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=pack]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=unpack]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=cook]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=groom]>.numa-life-scenery__layer.is-activity,.numa-life-scenery[data-time-of-day=night][data-animation-state=browse]>.numa-life-scenery__layer.is-activity{filter:saturate(.76) brightness(.77) hue-rotate(6deg)}@keyframes numa-life-far-breathe{0%{transform:translateZ(0);opacity:.96}to{transform:translate3d(0,-1px,0);opacity:1}}@keyframes numa-life-mid-breathe{0%{transform:translate3d(-.35px,0,0) rotate(-.08deg)}to{transform:translate3d(.55px,-1px,0) rotate(.1deg)}}@keyframes numa-life-activity-breathe{0%{transform:translateZ(0);opacity:.96}to{transform:translate3d(0,-1.4px,0);opacity:1}}@keyframes numa-life-near-sway{0%{transform:translate3d(-1px,0,0) rotate(-.13deg)}to{transform:translate3d(1.2px,0,0) rotate(.16deg)}}@keyframes numa-life-light-breathe{0%,to{opacity:.72}50%{opacity:1}}@keyframes numa-life-rain-shift{0%{transform:translate3d(5px,-12px,0);opacity:0}14%{opacity:.4}84%{opacity:.5}to{transform:translate3d(-5px,16px,0);opacity:0}}@keyframes numa-life-rain-contact{0%,to{opacity:.24}48%{opacity:.62}}@keyframes numa-life-rain-foreground{0%{transform:translate3d(4px,-18px,0);opacity:0}18%{opacity:.28}82%{opacity:.38}to{transform:translate3d(-5px,20px,0);opacity:0}}@keyframes numa-life-mist-shift{0%{transform:translate3d(-12px,0,0);opacity:.7}to{transform:translate3d(15px,0,0);opacity:1}}@keyframes numa-life-breeze-shift{0%{transform:translate3d(-8px,0,0);opacity:.55}to{transform:translate3d(13px,-2px,0);opacity:1}}@keyframes numa-life-botany-sway{0%{transform:translate3d(-.7px,0,0) rotate(-.34deg);opacity:.97}to{transform:translate3d(.9px,-.35px,0) rotate(.48deg);opacity:1}}@keyframes numa-life-water-light{0%,to{opacity:.58}48%{opacity:.86}}@keyframes numa-life-chime-swing{0%{transform:rotate(-.8deg) translate3d(-.4px,0,0)}to{transform:rotate(.9deg) translate3d(.5px,.2px,0)}}@keyframes numa-life-detail-sway{0%{transform:translate3d(-.45px,0,0) rotate(-.24deg)}to{transform:translate3d(.65px,-.25px,0) rotate(.34deg)}}@keyframes numa-life-material-glow{0%,to{opacity:.66}48%{opacity:.96}}@keyframes numa-life-cloth-lift{0%{transform:translate3d(-.35px,.15px,0) rotate(-.22deg)}to{transform:translate3d(.7px,-.35px,0) rotate(.38deg)}}@keyframes numa-life-vine-drift{0%{transform:translate3d(-.7px,0,0) rotate(-.42deg)}to{transform:translate3d(.9px,.25px,0) rotate(.54deg)}}@keyframes numa-life-water-surface{0%,to{transform:translate3d(-.45px,0,0) scaleX(.998);opacity:.78}50%{transform:translate3d(.65px,0,0) scaleX(1.002);opacity:1}}@keyframes numa-life-travel-loop{0%{transform:translateZ(0)}to{transform:translate3d(-66.6666667%,0,0)}}@media(max-height:520px){.numa-life-scenery__layer:not(.is-short){display:none}.numa-life-scenery__layer.is-short{display:block}.numa-life-scenery__layer.is-short>.numa-life-scenery__svg{position:absolute;inset:auto 0 0;width:100%;height:min(230px,100%)}.numa-life-scenery__layer.is-short>.numa-life-scenery__svg.is-wide{width:300%}}@media(prefers-reduced-motion:reduce){.numa-life-scenery *,.numa-life-scenery__svg,.numa-life-scenery__layer,.numa-life-scenery .numa-life-art,.numa-life-scenery .numa-life-weather{animation:none!important;transition:none!important}.numa-life-scenery__svg.is-wide{transform:translateZ(0)!important}}:root{color-scheme:dark;--app-bg: #081120;--app-bg-soft: #0d1728;--surface: rgba(23, 32, 51, .76);--surface-strong: rgba(31, 42, 65, .9);--surface-soft: rgba(255, 255, 255, .075);--line: rgba(232, 237, 247, .13);--line-strong: rgba(232, 237, 247, .22);--text: #f5f7fb;--muted: #aeb9ca;--soft: #778398;--ice: #a9d7ff;--lavender: #b9b2ff;--warm: #f5dfb7;--mint: #9edfc8;--warning: #f1c988;--ink: #081120;--paper: #f4f2ec;--numa-teal: #4a9645;--numa-teal-deep: #3a7d37;--numa-teal-action: #428e3e;--numa-lime: #b9d96a;--numa-ink: #33422e;--numa-sage: #5c6e52;--numa-muted: #7a8a70;--numa-subtle: #93a389;--numa-ios-green: #34c759;--numa-page-mint: #e9f1dc;--numa-page-soft: #f6f9ee;--numa-page-wash: #dfeacd;--numa-on-teal: #f4fbef;--numa-card-white: #ffffff;--numa-teal-rgb: 74, 150, 69;--numa-teal-deep-rgb: 58, 125, 55;--numa-lime-rgb: 185, 217, 106;--numa-ink-rgb: 51, 66, 46;--numa-forest-rgb: 74, 122, 66;--numa-shadow-rgb: 90, 110, 80;--numa-card-radius: 16px;--numa-frame-radius: 28px;--numa-page-background: radial-gradient(circle at 78% 7%, rgba(var(--numa-lime-rgb), .42), transparent 20%), radial-gradient(circle at 12% 10%, rgba(var(--numa-teal-rgb), .24), transparent 28%), linear-gradient(180deg, var(--numa-page-mint) 0%, var(--numa-page-soft) 58%, var(--numa-page-wash) 100%);--numa-card-bg: linear-gradient(180deg, #fffdf8 0%, #fbf9f0 100%);--numa-card-border: rgba(var(--numa-forest-rgb), .14);--numa-card-shadow: 0 10px 26px rgba(var(--numa-shadow-rgb), .12), inset 0 0 0 1px rgba(255, 255, 255, .74);--numa-card-strip: linear-gradient(90deg, #4a9645, #b9d96a);--numa-primary-gradient: linear-gradient(180deg, #55a24f, #3a7d37);--numa-current-gradient: linear-gradient(180deg, #cde08a, #7fb35a);--radius: 8px;--shadow: 0 28px 86px rgba(24, 31, 45, .28);--app-max-width: 430px;--safe-area-top-env: env(safe-area-inset-top, 0px);--safe-area-bottom-env: env(safe-area-inset-bottom, 0px);--device-safe-top-fallback: 0px;--device-safe-bottom-fallback: 0px;--system-safe-top: max(var(--safe-area-top-env), var(--device-safe-top-fallback));--system-safe-bottom: max(var(--safe-area-bottom-env), var(--device-safe-bottom-fallback));--home-safe-top: max(18px, calc(var(--system-safe-top) + 8px));--home-control-gap: clamp(10px, 2svh, 16px);--home-input-height: clamp(50px, 7svh, 58px);--home-input-space: calc(var(--home-input-height) + var(--home-control-gap) + 10px);--bottom-tab-height: 78px;--bottom-tab-padding-y: 6px;--bottom-tab-padding-x: 18px;--bottom-tab-active-width: 58px;--bottom-tab-active-height: 52px;--bottom-tab-active-radius: 18px;--bottom-tab-icon-size: 20px;--bottom-tab-icon-box-size: 24px;--bottom-tab-label-height: 13px;--bottom-tab-background: linear-gradient(180deg, rgba(30, 43, 75, .88), rgba(16, 27, 53, .96)), rgba(10, 19, 38, .94);--home-background: radial-gradient(circle at 50% 47%, rgba(124, 142, 208, .2), transparent 34%), radial-gradient(circle at 50% 78%, rgba(245, 223, 183, .08), transparent 28%), linear-gradient(180deg, #07101f 0%, #10182b 46%, #09111f 100%);--home-view-background: transparent;--active-tab-background: radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .22), transparent 35%), linear-gradient(180deg, rgba(137, 151, 214, .46), rgba(67, 81, 128, .64)), rgba(62, 76, 122, .62);--active-tab-icon: #c9c6ff;--home-tab-space: var(--bottom-tab-height);--trend-icon-column: 26px;--trend-value-column: 76px;--trend-bars-column: 72px;--trend-range-column: 66px;--trend-chevron-column: 20px;--trend-column-gap: 8px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,sans-serif;letter-spacing:0}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0;color:var(--text);background:radial-gradient(circle at 50% 42%,rgba(67,83,128,.34),transparent 46%),linear-gradient(180deg,#0b1425,#09111f 52%,#060c16)}#root{min-height:100vh;min-height:100svh;min-height:100dvh}body{min-height:100vh;min-height:100svh;min-height:100dvh;overflow:hidden}button,input{font:inherit;letter-spacing:0}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid rgba(169,215,255,.72);outline-offset:2px}h1,h2,h3,p{margin:0}.prompt-chip,.tab-button,.settings-row,.trend-row,.metric-card-main,.metric-action,.wellness-card,.report-card,.bond-row,.primary-action,.secondary-action{-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--numa-page-background)}.app-shell{position:relative;display:grid;grid-template-rows:minmax(0,1fr) var(--home-tab-space);width:min(100vw,var(--app-max-width));height:100vh;height:100svh;height:100dvh;min-height:100lvh;margin:0 auto;isolation:isolate;overflow:hidden;overflow:clip;background:var(--home-background);box-shadow:var(--shadow)}.app-shell[data-home-theme=normal]{--home-background: radial-gradient(circle at 50% 34%, rgba(233, 133, 155, .22), transparent 32%), radial-gradient(circle at 50% 68%, rgba(126, 224, 184, .14), transparent 34%), linear-gradient(180deg, #080706 0%, #17100d 48%, #050504 100%);--home-view-background: linear-gradient(180deg, rgba(5, 5, 4, .42) 0%, rgba(5, 5, 4, .04) 42%, rgba(5, 5, 4, .8) 100%);--bottom-tab-background: linear-gradient(180deg, rgba(24, 20, 16, .9), rgba(6, 6, 5, .98)), rgba(6, 6, 5, .96);--active-tab-background: radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .24), transparent 36%), linear-gradient(180deg, rgba(233, 133, 155, .58), rgba(126, 224, 184, .32)), rgba(46, 34, 42, .92);--active-tab-icon: #ffd8ca}.app-shell[data-home-theme=weak]{--home-background: radial-gradient(circle at 48% 34%, rgba(126, 224, 184, .12), transparent 30%), radial-gradient(circle at 50% 71%, rgba(255, 213, 142, .1), transparent 34%), linear-gradient(180deg, #060708 0%, #111317 50%, #050606 100%);--home-view-background: linear-gradient(180deg, rgba(6, 7, 8, .58) 0%, rgba(6, 7, 8, .12) 44%, rgba(5, 6, 6, .88) 100%);--bottom-tab-background: linear-gradient(180deg, rgba(23, 28, 29, .92), rgba(5, 7, 7, .98)), rgba(5, 7, 7, .96);--active-tab-background: radial-gradient(circle at 50% 18%, rgba(255, 240, 112, .2), transparent 36%), linear-gradient(180deg, rgba(120, 142, 128, .58), rgba(66, 82, 80, .46)), rgba(28, 34, 34, .92);--active-tab-icon: #fff070}.app-shell[data-home-theme=shift]{--home-background: radial-gradient(circle at 50% 34%, rgba(255, 138, 164, .2), transparent 30%), radial-gradient(circle at 52% 68%, rgba(143, 255, 209, .16), transparent 34%), linear-gradient(180deg, #08060a 0%, #1b101a 47%, #050407 100%);--home-view-background: linear-gradient(180deg, rgba(8, 6, 10, .5) 0%, rgba(13, 9, 18, .08) 40%, rgba(5, 4, 7, .86) 100%);--bottom-tab-background: linear-gradient(180deg, rgba(35, 24, 34, .92), rgba(6, 5, 8, .98)), rgba(6, 5, 8, .96);--active-tab-background: radial-gradient(circle at 50% 18%, rgba(255, 255, 255, .22), transparent 36%), linear-gradient(180deg, rgba(255, 138, 164, .5), rgba(143, 255, 209, .3)), rgba(42, 29, 41, .92);--active-tab-icon: #ffd8ca}.app-safe-area{position:absolute;z-index:7;top:0;right:0;left:0;height:var(--home-safe-top);pointer-events:none}.quiet-icon-button{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:999px;background:#ffffff12;color:#f5f7fbd1}.quiet-icon-button svg{width:17px;height:17px}.app-view{display:flex;min-height:0;flex-direction:column;gap:13px;padding:calc(var(--home-safe-top) + 4px) clamp(14px,4.8vw,18px) 18px;overflow-y:auto;scrollbar-width:none}.app-view.is-active{animation:view-enter .22s ease-out both}.app-view::-webkit-scrollbar{display:none}.app-view[hidden]{display:none}.app-view[data-view=home]{position:relative;display:grid;grid-template-rows:minmax(0,1fr);gap:0;padding:0;overflow:hidden;background:var(--home-view-background)}.app-view[data-view=home][hidden]{display:none}.kicker{color:var(--muted);font-size:.72rem;font-weight:720}.page-head{display:grid;gap:6px;padding-top:8px}.page-head h2{font-size:1.74rem;font-weight:780;line-height:1}.bottom-tabs{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;align-self:start;height:var(--bottom-tab-height);min-height:0;align-content:start;padding:var(--bottom-tab-padding-y) var(--bottom-tab-padding-x);border-top:1px solid rgba(232,237,247,.08);border-radius:0;background:var(--bottom-tab-background);box-shadow:inset 0 1px #ffffff0a,0 -10px 32px #0509123d;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.tab-button{display:grid;grid-template-rows:var(--bottom-tab-icon-box-size) var(--bottom-tab-label-height);width:min(100%,var(--bottom-tab-active-width));height:var(--bottom-tab-active-height);min-width:0;min-height:var(--bottom-tab-active-height);align-content:center;justify-self:center;justify-items:center;gap:2px;padding:0;border-radius:var(--bottom-tab-active-radius);background:transparent;color:#aebad2ad;font-size:.62rem;font-weight:720;line-height:1;text-align:center}.tab-icon-box{display:grid;width:var(--bottom-tab-icon-box-size);height:var(--bottom-tab-icon-box-size);place-items:center}.tab-icon-box svg{display:block;width:var(--bottom-tab-icon-size);height:var(--bottom-tab-icon-size)}.tab-label{max-width:100%;height:var(--bottom-tab-label-height);justify-self:center;overflow:hidden;line-height:var(--bottom-tab-label-height);text-align:center;text-overflow:ellipsis;white-space:nowrap}.tab-button.is-active{background:var(--active-tab-background);box-shadow:inset 0 0 0 1px #e8edf724,inset 0 -10px 18px #141d3733,0 10px 22px #070c1847,0 0 18px #b9b2ff29;color:var(--text)}.tab-button.is-active .tab-icon-box svg{color:var(--active-tab-icon)}@keyframes view-enter{0%{opacity:.82;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-view:not([data-view=home]){background:radial-gradient(circle at 50% -8%,rgba(var(--numa-lime-rgb),.28),transparent 36%),linear-gradient(180deg,#f3fff8,#eefaf4 48%,#f8fbf7);color:var(--numa-ink)}.app-view:not([data-view=home])>*{flex:0 0 auto}.app-view:not([data-view=home]) .kicker,.app-view:not([data-view=home]) .page-note,.app-view:not([data-view=home]) .trend-row-copy small,.app-view:not([data-view=home]) .trend-row-range,.app-view:not([data-view=home]) .metric-card small,.app-view:not([data-view=home]) .profile-row p,.app-view:not([data-view=home]) .settings-row small{color:var(--numa-muted)}.app-view:not([data-view=home]) .page-head h2{color:var(--numa-ink)}.app-shell{background:radial-gradient(circle at 78% 7%,rgba(var(--numa-lime-rgb),.46),transparent 20%),radial-gradient(circle at 12% 10%,rgba(var(--numa-teal-rgb),.28),transparent 28%),linear-gradient(180deg,var(--numa-page-mint) 0%,var(--numa-page-soft) 58%,var(--numa-page-wash) 100%);box-shadow:none}.app-view:not([data-view=home]) .page-head{padding-top:18px}.bottom-tabs{--active-x: 50%;position:relative;height:64px;overflow:visible;border-top:0;background:transparent;box-shadow:none}.bottom-tabs:has(.tab-button:nth-child(1).is-active){--active-x: 10%}.bottom-tabs:has(.tab-button:nth-child(2).is-active){--active-x: 30%}.bottom-tabs:has(.tab-button:nth-child(3).is-active){--active-x: 50%}.bottom-tabs:has(.tab-button:nth-child(4).is-active){--active-x: 70%}.bottom-tabs:has(.tab-button:nth-child(5).is-active){--active-x: 90%}.bottom-tabs:before{position:absolute;z-index:1;inset:8px 18px 6px;border-radius:30px;background:radial-gradient(ellipse 118px 58px at var(--active-x) 0,rgba(255,255,255,.98) 0 38%,rgba(235,255,248,.96) 62%,transparent 74%),linear-gradient(180deg,#fffffff7,#ebfff8fa);box-shadow:inset 0 0 0 1px rgba(var(--numa-teal-rgb),.1),0 -8px 22px rgba(var(--numa-shadow-rgb),.1);content:""}.tab-button{position:relative;z-index:2;overflow:visible;color:#78918c;transition:transform .24s cubic-bezier(.16,1,.3,1),background .24s cubic-bezier(.16,1,.3,1),box-shadow .24s ease,filter .24s ease,color .18s ease}.tab-button .tab-icon-box svg{color:#96a9ca;stroke-width:2.35;transition:transform .2s cubic-bezier(.2,.82,.2,1),filter .2s ease}.tab-button .tab-label{color:#5f7771;font-size:.66rem;font-weight:820}.tab-button:not(.is-active):active{border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.56),rgba(38,195,172,.12) 58%,transparent 72%);transform:translateY(-2px) scale(.96)}.tab-button.is-active{z-index:4;width:64px;height:64px;min-height:64px;border-radius:999px;background:radial-gradient(circle at 68% 15%,rgba(var(--numa-lime-rgb),.3),transparent 30%),linear-gradient(145deg,#20e0bf,#00b894 48%,#008fc5);box-shadow:inset 0 0 0 1px #ffffff7a,inset 0 -10px 18px #005f5447,0 12px 24px #00b89466,0 0 24px #008fc54d;color:#fff;filter:saturate(1.18) contrast(1.03);transform:translateY(-17px) scale(1);transition:transform .28s cubic-bezier(.18,.95,.22,1.15),background .24s ease,box-shadow .24s ease}.tab-button.is-active:active{transform:translateY(-17px) scale(.96)}.tab-button.is-active:active .tab-icon-box{transform:scale(.96)}.tab-button.is-active:active .tab-icon-box svg{transform:scale(.9)}.tab-button:not(.is-active):active .tab-icon-box{transform:translateY(-1px) scale(.9)}.tab-button:not(.is-active):active .tab-icon-box svg{transform:scale(.94)}.tab-button.is-active .tab-icon-box{filter:drop-shadow(0 7px 12px rgba(16,120,104,.2))}.tab-button.is-active .tab-icon-box svg{color:#fff}.tab-button.is-active .tab-label{display:none}.page-head h2{font-family:Georgia,"Noto Serif SC",Songti SC,serif;letter-spacing:.02em}.tab-button .tab-icon-box svg{color:#9db392}.tab-button .tab-label{color:#5c6e52}.tab-button:not(.is-active):active{background:radial-gradient(circle,rgba(255,255,255,.56),rgba(74,150,69,.12) 58%,transparent 72%)}.tab-button.is-active{background:radial-gradient(circle at 68% 15%,rgba(var(--numa-lime-rgb),.35),transparent 30%),linear-gradient(145deg,#6bb45f,#4a9645 48%,#3a7d37);box-shadow:inset 0 0 0 1px #ffffff6b,inset 0 -10px 18px #26502247,0 12px 24px #4a96455c,0 0 24px #7aa8604d}.tab-button.is-active .tab-icon-box{filter:drop-shadow(0 7px 12px rgba(56,100,48,.2))}.numa-hero{display:grid;min-height:0;place-items:center;padding:var(--home-safe-top) clamp(14px,4.8vw,22px) var(--home-input-space)}.numa-stage-shell{position:relative;display:grid;width:100%;min-height:0;align-self:stretch;justify-self:stretch}.numa-stage{position:relative;display:grid;flex:0 0 auto;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;margin:0 auto;padding:0;place-items:center;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.numa-stage:before{position:absolute;z-index:0;inset:7% -10% 5%;border-radius:50%;background:radial-gradient(circle at 50% 46%,rgba(220,226,255,.18),transparent 31%),radial-gradient(circle at 52% 58%,rgba(169,215,255,.1),transparent 46%);filter:blur(2px);content:""}.numa-stage canvas{position:absolute;inset:0 -12%;z-index:1;width:124%;height:100%;opacity:0;transition:opacity .18s ease}.numa-stage[data-video-fallback=true] canvas{opacity:1}.numa-video-pair{position:absolute;inset:0;z-index:2;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .5s ease}.numa-stage.is-slow-fade .numa-video-pair{transition-duration:.9s}.numa-video-pair.is-active{opacity:1}.numa-state-video,.numa-state-video-backdrop,.numa-tap-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;pointer-events:none;transition:opacity .16s ease}.numa-state-video{z-index:2}.numa-state-video-backdrop{z-index:1;filter:blur(18px) saturate(1.06);opacity:.62;transform:scale(1.08)}.numa-tap-video{z-index:3;opacity:0}.numa-stage.is-tap-video-active .numa-tap-video{opacity:1}.numa-stage[data-video-fallback=true] .numa-video-pair,.numa-stage[data-video-fallback=true] .numa-tap-video{opacity:0}.numa-stage[data-motion-profile=rhythm-shift] .numa-state-video{filter:saturate(1.18) hue-rotate(-14deg) contrast(1.08) brightness(1.04)}.numa-stage[data-motion-profile=weak] .numa-state-video{filter:saturate(.82) sepia(.08) brightness(.88)}.numa-figure{position:absolute;z-index:4;top:8%;left:50%;width:clamp(252px,86vw,410px);height:70%;object-fit:contain;opacity:0;transform:translate(-50%) translateY(0);transition:filter .22s ease,transform .22s ease,opacity .22s ease}.numa-stage[data-video-fallback=true] .numa-figure{opacity:.98}.numa-stage[data-visual=heart_shift] .numa-figure,.numa-stage[data-visual=listening] .numa-figure{filter:saturate(1.12) hue-rotate(12deg) brightness(1.04);transform:translate(-50%) translateY(-3%) scale(1.11)}.numa-stage[data-visual=replying] .numa-figure{filter:saturate(1.18) hue-rotate(24deg) brightness(1.08)}.numa-stage[data-visual=ritualSync] .numa-figure{filter:saturate(1.08) brightness(1.08);transform:translate(-50%) translateY(-2%) scale(1.06)}.numa-stage[data-touch-zone=top] .touch-ring{transform:translateY(-44px) scale(.62)}.numa-stage[data-touch-zone=edge] .touch-ring{width:58%}.touch-ring{position:absolute;z-index:6;width:38%;aspect-ratio:1;border:1px solid rgba(169,215,255,.48);border-radius:999px;opacity:0;transform:scale(.74)}.numa-stage.is-touching .touch-ring{animation:touch-pulse .68s ease-out}.numa-user-say{position:absolute;z-index:10;right:clamp(16px,5vw,22px);bottom:calc(var(--home-input-space) + 66px);max-width:min(74%,300px);padding:8px 14px;border-radius:16px 16px 6px;background:linear-gradient(180deg,#2fd6bc,#1ea993);color:#f2fffb;font-size:.86rem;font-weight:600;line-height:1.4;word-break:break-word;box-shadow:0 10px 24px #1ea99347,inset 0 1px #ffffff3d;opacity:0;transform:translateY(8px) scale(.98);transition:opacity .22s ease,transform .22s ease;pointer-events:none}.numa-user-say.is-in{opacity:1;transform:none}.numa-user-say p{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.numa-runtime-reply{position:absolute;z-index:10;bottom:calc(var(--home-input-space) + 16px);left:clamp(16px,5vw,22px);display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;width:max-content;max-width:min(74%,300px);min-height:38px;padding:5px 14px 5px 6px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:linear-gradient(180deg,#10242899,#09171a8f);color:#f0fff8f5;box-shadow:0 10px 26px #04121452;opacity:0;transform:translateY(8px) scale(.99);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.numa-runtime-reply.is-visible{opacity:1;transform:none}.numa-runtime-reply p{display:-webkit-box;margin:0;overflow:hidden;color:#f0fff8f5;font-size:.84rem;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.numa-runtime-mark{display:grid;width:26px;height:26px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:radial-gradient(circle at 68% 18%,rgba(223,255,69,.3),transparent 34%),#ffffff24;color:#9fe8d8}.numa-runtime-mark svg{width:15px;height:15px}.numa-runtime-reply .nr-dots{display:inline-flex;align-items:center;gap:5px;height:1.2em}.numa-runtime-reply .nr-dots i{width:5px;height:5px;border-radius:999px;background:currentColor;opacity:.3;animation:nr-breathe 1.15s ease-in-out infinite}.numa-runtime-reply .nr-dots i:nth-child(2){animation-delay:.16s}.numa-runtime-reply .nr-dots i:nth-child(3){animation-delay:.32s}@keyframes nr-breathe{0%,to{opacity:.28;transform:translateY(0)}50%{opacity:.95;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.numa-user-say{transition:none}.numa-runtime-reply .nr-dots i{animation:none;opacity:.7}}.communication-sheet{position:absolute;right:clamp(14px,4.8vw,20px);bottom:var(--home-control-gap);left:clamp(14px,4.8vw,20px);z-index:9;display:grid;gap:9px;padding:0;border:0;border-radius:999px;background:transparent}.communication-sheet.is-open{right:clamp(14px,4.8vw,20px);bottom:var(--home-control-gap);left:clamp(14px,4.8vw,20px);gap:0;padding:0;border:0;border-radius:999px;background:transparent;box-shadow:none}.communication-sheet.is-open .sheet-grabber{display:none}.communication-sheet[data-sheet-phase=sending]{opacity:.92}.communication-sheet:not(.is-open){gap:0;padding:0}.home-entry-pill{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:10px;align-items:center;min-height:var(--home-input-height);padding:0 6px 0 0;border:1px solid rgba(232,237,247,.18);border-radius:999px;background:linear-gradient(180deg,#2d364e8a,#182137a3),#0c1424b8;color:#e8edf7b3;text-align:left;box-shadow:inset 0 0 0 1px #ffffff14,0 18px 42px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-entry-body{display:grid;min-width:0;min-height:var(--home-input-height);align-items:center;padding:0 0 0 22px;border:0;background:transparent;color:inherit;text-align:left}.home-entry-mic{display:grid;width:58px;height:58px;min-width:58px;min-height:58px;place-items:center;justify-self:end;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:radial-gradient(circle at 50% 38%,#ffffffc7,#26c3ac21 64%,#26c3ac0f);color:#14b8a3;box-shadow:inset 0 0 0 1px #ffffff80,0 10px 24px #26c3ac1f}.home-entry-mic svg{width:24px;height:24px;color:inherit;stroke-width:2.2}.home-entry-pill span{overflow:hidden;color:#e8edf7b3;font-size:1.02rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sheet-grabber{display:grid;width:100%;height:16px;place-items:center;background:transparent}.sheet-grabber span{width:42px;height:4px;border-radius:999px;background:#e8edf775}.voice-capture{position:absolute;z-index:7;top:clamp(-88px,-11svh,-68px);right:clamp(48px,13vw,68px);left:clamp(48px,13vw,68px);display:grid;grid-template-columns:max-content minmax(58px,86px) max-content;gap:7px;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border:0;background:transparent;color:#fffffff5;font-size:.8rem;font-weight:720;text-shadow:0 2px 8px rgba(12,36,38,.34);white-space:nowrap}.voice-capture i{display:block;width:clamp(58px,18vw,86px);height:16px;justify-self:center;background:repeating-linear-gradient(90deg,rgba(255,255,255,.92) 0 2px,transparent 2px 8px);background-size:32px 16px;clip-path:polygon(0 38%,10% 32%,22% 24%,36% 14%,50% 6%,64% 14%,78% 24%,90% 32%,100% 38%,100% 62%,90% 68%,78% 76%,64% 86%,50% 94%,36% 86%,22% 76%,10% 68%,0 62%);filter:drop-shadow(0 2px 7px rgba(12,36,38,.24));animation:numa-voice-wave-arched 1.18s linear infinite}.voice-capture button{min-height:28px;padding:0 9px;border:1px solid rgba(255,255,255,.46);border-radius:999px;background:#ffffff29;color:#fffffff5;font-size:.76rem;font-weight:760;white-space:nowrap}@keyframes numa-voice-wave-arched{0%{background-position-x:0;opacity:.62;clip-path:polygon(0 40%,10% 34%,22% 25%,36% 15%,50% 7%,64% 15%,78% 25%,90% 34%,100% 40%,100% 60%,90% 66%,78% 75%,64% 85%,50% 93%,36% 85%,22% 75%,10% 66%,0 60%)}45%{opacity:.98;clip-path:polygon(0 34%,10% 28%,22% 20%,36% 10%,50% 0,64% 10%,78% 20%,90% 28%,100% 34%,100% 66%,90% 72%,78% 80%,64% 90%,50% 100%,36% 90%,22% 80%,10% 72%,0 66%)}to{background-position-x:32px;opacity:.62;clip-path:polygon(0 40%,10% 34%,22% 25%,36% 15%,50% 7%,64% 15%,78% 25%,90% 34%,100% 40%,100% 60%,90% 66%,78% 75%,64% 85%,50% 93%,36% 85%,22% 75%,10% 66%,0 60%)}}.composer{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.composer input{width:100%;min-width:0;height:var(--home-input-height);padding:0 64px 0 18px;border:1px solid rgba(38,195,172,.2);border-radius:999px;background:#ffffffe6;color:#0d211d;outline:0}.composer input::placeholder{color:#14252147;opacity:1}.composer .icon-send{display:grid;width:58px;height:58px;min-width:58px;min-height:58px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:radial-gradient(circle at 50% 38%,#ffffffc7,#26c3ac21 64%,#26c3ac0f);color:#14b8a3;box-shadow:inset 0 0 0 1px #ffffff80,0 10px 24px #26c3ac1f}.composer .icon-send svg{width:21px;height:21px;stroke-width:2.2}.composer .icon-send:not(.is-primary){position:absolute;z-index:2;top:0;right:73px;bottom:0;width:44px;height:44px;min-width:44px;min-height:44px;margin:auto 0;border:0;background:transparent;box-shadow:none}.composer .icon-send.is-primary{border-color:#e1ff5bb8;background:radial-gradient(circle at 50% 38%,#ffffffb8,#dfff45bd 58%,#d1ff2deb);color:#6672d8;box-shadow:inset 0 0 0 1px #ffffff6b,0 10px 24px #bde82038}.composer .icon-send.is-primary svg{width:25px;height:25px;transform:rotate(-24deg) translate(1px);filter:drop-shadow(0 1px 0 rgba(255,255,255,.5));transition:transform .16s ease}.composer .icon-send.is-primary:active svg{transform:rotate(-24deg) translate(3px,-3px)}.icon-send:disabled{cursor:progress;opacity:.62}.icon-send svg,.tab-button svg,.settings-row svg,.trend-row svg,.primary-action svg,.secondary-action svg{width:18px;height:18px;stroke-width:2.15}.secondary-action,.primary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:999px;font-size:.9rem;font-weight:760}.ritual-panel{display:grid;gap:12px;padding:14px;border:1px solid rgba(245,223,183,.24);border-radius:var(--radius);background:linear-gradient(180deg,#f5dfb71c,#a9d7ff0f),#ffffff0e}.ritual-panel span{color:var(--warm);font-size:.72rem;font-weight:780}.ritual-panel strong{display:block;margin-top:5px;font-size:1rem}.ritual-panel p{margin-top:6px;color:var(--muted);font-size:.86rem;line-height:1.46}.ritual-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ritual-actions button{min-height:40px;border-radius:999px;background:#ffffff14;color:var(--text);font-weight:760}.ritual-actions button:last-child{background:linear-gradient(180deg,#eef4ff,#c9c3ff);color:#111729}.primary-action{width:100%;background:var(--numa-primary-gradient);color:var(--numa-on-teal);box-shadow:0 12px 26px rgba(var(--numa-shadow-rgb),.18)}.secondary-action{padding:0 14px;border:1px solid rgba(var(--numa-forest-rgb),.16);background:#ffffffb8;color:var(--numa-ink)}.secondary-action.is-wide{width:100%}@keyframes touch-pulse{0%{opacity:.9;transform:scale(.74)}to{opacity:0;transform:scale(1.45)}}.home-chrome{position:absolute;z-index:8;top:var(--home-safe-top);right:clamp(14px,4.8vw,20px);left:clamp(14px,4.8vw,20px);display:flex;align-items:center;justify-content:space-between;pointer-events:none}.home-connection{display:inline-flex;align-items:center;gap:7px;min-height:34px;color:#ffffffe6;font-size:.78rem;font-weight:780;text-shadow:0 1px 10px rgba(0,0,0,.28)}.home-connection i{width:8px;height:8px;border-radius:999px;background:var(--numa-ios-green);box-shadow:0 0 0 4px #34c7592e}.app-view[data-view=home] .sheet-grabber span{background:#0d211d29}.app-view[data-view=home] .composer .icon-send:disabled{cursor:pointer;opacity:.48}.app-view[data-view=home]{background:radial-gradient(circle at 78% 7%,rgba(var(--numa-lime-rgb),.46),transparent 20%),radial-gradient(circle at 12% 10%,rgba(var(--numa-teal-rgb),.28),transparent 28%),linear-gradient(180deg,var(--numa-page-mint) 0%,var(--numa-page-soft) 58%,var(--numa-page-wash) 100%)}.numa-hero{align-items:stretch;padding:calc(var(--home-safe-top) + 12px) clamp(14px,4.8vw,20px) var(--home-input-space)}.numa-stage{overflow:hidden;border:1px solid rgba(var(--numa-teal-rgb),.11);border-radius:var(--numa-frame-radius);background:radial-gradient(circle at 74% 12%,rgba(var(--numa-lime-rgb),.44),transparent 23%),radial-gradient(circle at 34% 14%,rgba(var(--numa-teal-rgb),.22),transparent 30%),linear-gradient(180deg,#ffffffc2,#effff780);box-shadow:0 18px 42px rgba(var(--numa-shadow-rgb),.12),inset 0 0 0 1px #ffffff8f}.numa-stage:before{z-index:1;inset:9% 7% 12%;border-radius:999px;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.82),transparent 28%),radial-gradient(circle at 50% 50%,rgba(var(--numa-teal-rgb),.18),transparent 46%),radial-gradient(circle at 50% 70%,rgba(var(--numa-lime-rgb),.18),transparent 44%);filter:none}.numa-stage:after{z-index:0;inset:0;border-radius:28px;background-image:linear-gradient(180deg,#eafff78a,#ffffff1a 36%,#eefff661 82%,#eafff7b8),linear-gradient(90deg,rgba(var(--numa-teal-rgb),.18),transparent 30%,rgba(var(--numa-lime-rgb),.22));box-shadow:none;opacity:.58}.numa-figure{z-index:2;top:50%;left:50%;width:100%;max-width:none;height:100%;object-fit:cover;filter:drop-shadow(0 18px 34px rgba(var(--numa-shadow-rgb),.16)) saturate(1.03) brightness(1.03);transform:translate(-50%,-50%)}.numa-stage[data-visual=heart_shift] .numa-figure,.numa-stage[data-visual=listening] .numa-figure,.numa-stage[data-visual=replying] .numa-figure,.numa-stage[data-visual=ritualSync] .numa-figure{filter:drop-shadow(0 18px 34px rgba(var(--numa-shadow-rgb),.16)) saturate(1.08) brightness(1.08);transform:translate(-50%,-50%)}.home-chrome{top:calc(var(--home-safe-top) + 22px);right:calc(clamp(14px,4.8vw,20px) + 12px);left:calc(clamp(14px,4.8vw,20px) + 16px)}.home-connection{gap:5px;min-height:0;color:#fff;font-size:.86rem;font-weight:820;text-shadow:0 1px 10px rgba(10,36,32,.55)}.home-connection strong{font-weight:860}.home-connection i{width:7px;height:7px;box-shadow:0 0 0 1.5px #ffffffbf,0 0 8px #34c759b3}.app-view[data-view=home] .home-entry-pill{min-height:58px;border-color:rgba(var(--numa-teal-rgb),.14);background:#ffffffdb;color:#1425212e;box-shadow:0 12px 28px rgba(var(--numa-shadow-rgb),.09),inset 0 0 0 1px #ffffffc2}.app-view[data-view=home] .home-entry-pill span{color:#14252129;font-weight:620}.app-view[data-view=home] .home-entry-pill svg{color:var(--numa-teal)}.composer input{border-color:#4a964538}.home-entry-mic,.composer .icon-send{background:radial-gradient(circle at 50% 38%,#ffffffd1,#4a964524 64%,#4a964514);color:#3a7d37;box-shadow:inset 0 0 0 1px #ffffff80,0 10px 24px #4a964524}.composer .icon-send.is-primary{border-color:#ffffffbf;background:linear-gradient(180deg,#6bb45f,#4a9645);color:#f4fbef;box-shadow:inset 0 0 0 1px #ffffff52,0 10px 24px #4a964542}.numa-user-say{background:linear-gradient(180deg,#5fae55,#428e3e);box-shadow:0 10px 24px #4a964542,inset 0 1px #ffffff3d}.numa-runtime-mark{color:#d6ecb8}.ritual-actions button:last-child{background:linear-gradient(180deg,#eef7e2,#cfe3ae);color:#2f4a2a}.home-chrome-actions{display:flex;gap:10px;align-items:center;pointer-events:none}.look-toggle{position:relative;display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:14px;background:#ffffffc7;box-shadow:0 12px 28px #00000024;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;overflow:hidden;pointer-events:auto}.look-toggle svg{display:block;width:100%;height:100%}.look-sheet{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:22px;background:#274a4061;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);pointer-events:auto}.look-panel{width:min(100%,340px);max-height:76%;padding:18px 16px 16px;overflow-y:auto;border:1px solid rgba(var(--numa-teal-rgb),.14);border-radius:22px;background:var(--numa-card-bg, #fff);box-shadow:0 24px 48px rgba(var(--numa-shadow-rgb),.22)}.look-panel strong{display:block;color:var(--numa-ink);font-size:1.02rem}.look-panel p{margin:4px 0 12px;color:var(--numa-muted);font-size:.78rem}.look-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.look-item{padding:0;border:2px solid transparent;border-radius:18px;background:none;cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .18s ease}.look-item:hover{transform:translateY(-2px)}.look-item.is-active{border-color:var(--numa-teal, #3a7d37)}.look-item svg{display:block;width:100%;height:auto}.home-chrome-lead{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px}.home-lifeform-cue{display:inline-flex;align-items:baseline;gap:6px;max-width:64vw;color:#ffffffad;font-size:.68rem;font-weight:650;text-shadow:0 1px 8px rgba(0,0,0,.26)}.home-lifeform-cue small{overflow:hidden;color:#ffffff75;font-size:.62rem;font-weight:560;text-overflow:ellipsis;white-space:nowrap;max-width:44vw}.sheet-degraded-hint{margin:0 6px 8px;padding:7px 12px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:linear-gradient(180deg,#10242885,#09171a75);color:#f0fff8cc;font-size:.68rem;line-height:1.5;text-shadow:0 1px 8px rgba(0,0,0,.24)}.numa-feedback{position:absolute;z-index:10;bottom:calc(var(--home-input-space) + 72px);left:clamp(16px,5vw,22px);display:inline-flex;align-items:center;gap:8px;margin:0;padding:4px 6px 4px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:linear-gradient(180deg,#10242880,#09171a75);color:#f0fff8b8;font-size:.66rem}.numa-feedback button{padding:3px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#ffffff14;color:#f0fff8eb;font-size:.66rem}.numa-feedback button:active{background:#ffffff2e}.numa-feedback button:disabled{opacity:.5}.numa-feedback.is-done{padding:6px 12px}.numa-rig{position:relative;z-index:2;display:grid;width:86%;height:88%;min-width:0;min-height:0;place-items:center;pointer-events:none}.numa-rig svg{width:100%;height:100%;max-height:460px;overflow:visible}.numa-rig svg :is(#nRoot,#nHead,#nHeadTilt,#nEars,#nBody,#nShirt,#nHandL,#nHandR,#nPawL,#nPawR,#nFootL,#nFootR,#nPantL,#nPantR,#nTail,#nEyes,#nFaceIdle,#nBreathFace,#nHeart,#nMemoryMark,#nMouth,#nMouthO,#nMouthJoy,#nSad,#nQuest,#wRoot,#wHead,#wEar,#wArmFront,#wArmBack,#wLegF,#wLegB,#wLegFLo,#wLegBLo,#wFootF,#wFootB,#wTail,#wShadow,#wEye,#wBlush,#wBag,#wBagHang,#wBagItem,#tRoot,#tHead,#tArmL,#tArmR,#tTail,#sRoot,#sHead,#sArmUp,#sArmLo,#sGlance,#nEyesJoy,#nBlush,#nIdentity){transform-box:view-box}.numa-rig svg :is(.bodyIdle,.sadBreath,.earIdle,.earAnimL,.earAnimR,.eyeAnimL,.eyeAnimR,.footIdleL,.footIdleR){transform-box:view-box}.numa-rig #nBlinkRect{animation:nblink var(--blink-dur, 4.2s) ease-in-out infinite}@keyframes nblink{0%,89%,97%,to{y:62px;height:40px}93%{y:81.4px;height:1.2px}}.numa-rig .eyeAnimL,.numa-rig .eyeAnimR{animation:gazeWander var(--gaze-dur, 11s) ease-in-out infinite}@keyframes gazeWander{0%,16%,40%,48%,70%,76%,98%,to{transform:translate(0)}24%,32%{transform:translate(calc(3px * var(--gaze-amp, 1)))}56%,62%{transform:translate(calc(1.5px * var(--gaze-amp, 1)),calc(-2px * var(--gaze-amp, 1)))}84%,90%{transform:translate(calc(-2px * var(--gaze-amp, 1)),calc(2.5px * var(--gaze-amp, 1)))}}.numa-rig #nFaceIdle{animation:faceGaze var(--gaze-dur, 11s) ease-in-out infinite}@keyframes faceGaze{0%,16%,40%,48%,70%,76%,98%,to{transform:translate(0)}24%,32%{transform:translate(calc(4.5px * var(--gaze-amp, 1)))}56%,62%{transform:translate(calc(2.5px * var(--gaze-amp, 1)),calc(-3px * var(--gaze-amp, 1)))}84%,90%{transform:translate(calc(-3px * var(--gaze-amp, 1)),calc(3.5px * var(--gaze-amp, 1)))}}.numa-rig #nFace[data-human-face] #nFaceIdle{animation:none}.numa-rig #nHeadShape{animation:headGaze var(--gaze-dur, 11s) ease-in-out infinite}@keyframes headGaze{0%,16%,40%,48%,70%,76%,98%,to{transform:translate(0)}24%,32%{transform:translate(calc(2.2px * var(--gaze-amp, 1)))}56%,62%{transform:translate(calc(1px * var(--gaze-amp, 1)),calc(-1.5px * var(--gaze-amp, 1)))}84%,90%{transform:translate(calc(-1.5px * var(--gaze-amp, 1)),calc(1.8px * var(--gaze-amp, 1)))}}.numa-rig .earIdle{animation:earGaze var(--gaze-dur, 11s) ease-in-out infinite}@keyframes earGaze{0%,16%,40%,48%,70%,76%,98%,to{transform:translate(0)}24%,32%{transform:translate(calc(-4px * var(--gaze-amp, 1)))}56%,62%{transform:translate(calc(-2px * var(--gaze-amp, 1)),calc(2px * var(--gaze-amp, 1)))}84%,90%{transform:translate(calc(2.5px * var(--gaze-amp, 1)),calc(-2.5px * var(--gaze-amp, 1)))}}.numa-rig{--shuffle-amp: .55}.numa-rig .footIdleL{animation:footShuffL var(--shuffle-dur, 9s) ease-in-out infinite}.numa-rig .footIdleR{animation:footShuffR var(--shuffle-dur, 9s) ease-in-out infinite}.numa-rig #nPantL{animation:footShuffL var(--shuffle-dur, 9s) ease-in-out infinite}.numa-rig #nPantR{animation:footShuffR var(--shuffle-dur, 9s) ease-in-out infinite}@keyframes footShuffL{0%,78%,94%,to{transform:translate(0)}82%{transform:translate(calc(7px * var(--shuffle-amp, 1)),-1.5px)}86%{transform:translate(calc(9px * var(--shuffle-amp, 1)))}90%{transform:translate(calc(3px * var(--shuffle-amp, 1)),.5px)}}@keyframes footShuffR{0%,38%,54%,to{transform:translate(0)}42%{transform:translate(calc(-6px * var(--shuffle-amp, 1)),-1px)}46%{transform:translate(calc(-8px * var(--shuffle-amp, 1)),.5px)}50%{transform:translate(calc(-2px * var(--shuffle-amp, 1)))}}.numa-rig #nHead{transform-origin:75px 83px;animation:headSway var(--sway-dur, 6s) ease-in-out infinite}.numa-rig #nHeadTilt{transform-origin:75px 106px}@keyframes headSway{0%,42%,90%,to{transform:rotate(0)}58%,76%{transform:rotate(var(--sway-amp, 3deg))}}.numa-rig #nEars[data-crest]{transform-origin:75px 106px;animation:earFollow var(--sway-dur, 6s) ease-in-out infinite}.numa-rig #nEars[data-hair]{animation:none}.numa-rig .earAnimL{animation:earFollowLeft var(--sway-dur, 6s) ease-in-out infinite}.numa-rig .earAnimR{animation:earFollowRight var(--sway-dur, 6s) ease-in-out infinite}@keyframes earFollow{0%,40%{transform:rotate(0)}50%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * -.45))}62%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * .3))}72%{transform:rotate(0)}84%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * .4))}94%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * -.18))}to{transform:rotate(0)}}@keyframes earFollowLeft{0%,40%,72%,to{transform:rotate(0)}50%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * -.55))}62%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * .22))}84%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * .34))}94%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * -.14))}}@keyframes earFollowRight{0%,40%,72%,to{transform:rotate(0)}50%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * -.34))}62%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * .14))}84%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * .55))}94%{transform:rotate(calc(var(--ear-follow-amp, 3deg) * -.22))}}.numa-rig .bodyIdle{transform-box:view-box;transform-origin:75px 148px;animation:bodyEcho var(--sway-dur, 6s) ease-in-out infinite}@keyframes bodyEcho{0%,48%,96%,to{transform:rotate(0)}64%,82%{transform:rotate(calc(var(--sway-amp, 3deg) * -.22))}}.numa-rig #nRoot{transform-origin:75px 193px;animation:bodySway var(--bsway-dur, 5s) ease-in-out infinite}@keyframes bodySway{0%,to{transform:rotate(calc(var(--bsway-amp, 1.6deg) * -1))}50%{transform:rotate(var(--bsway-amp, 1.6deg))}}.numa-rig #nHandL{transform-origin:54.5px 99px}.numa-rig #nHandR{transform-origin:95.5px 99px}.numa-rig[data-look=海狮] #nHandL{transform-origin:56px 98.3px}.numa-rig[data-look=海狮] #nHandR{transform-origin:94px 98.3px}.numa-rig #nTail{transform-origin:100px 142px;animation:tailSway var(--tail-dur, 3s) ease-in-out infinite}@keyframes tailSway{0%,to{transform:rotate(calc(var(--tail-amp, 10deg) * -.4))}35%{transform:rotate(var(--tail-amp, 10deg))}50%{transform:rotate(calc(var(--tail-amp, 10deg) * .72))}68%{transform:rotate(calc(var(--tail-amp, 10deg) * 1.08))}}.numa-rig #nQuest{opacity:0;transform:translateY(4px) scale(.7);transform-origin:106px 20px;transition:opacity .5s ease,transform .5s cubic-bezier(.34,1.3,.64,1)}.numa-rig #nHeadTilt{transition:transform .6s cubic-bezier(.4,.1,.3,1)}.numa-rig.nr-state-listening #nHeadTilt{transform:rotate(calc(var(--sway-amp, 3deg) * -1.6))}.numa-rig #nFace{transition:transform .6s cubic-bezier(.4,.1,.3,1)}.numa-rig.nr-state-listening #nFace{transform:translate(3.5px)}.numa-rig.nr-state-listening #nFace[data-human-face]{transform:none}.numa-rig .earAnimL,.numa-rig .earAnimR{transition:transform .6s ease}.numa-rig.nr-state-listening .earAnimL,.numa-rig.nr-state-listening .earAnimR{transform:translate(-3px)}.numa-rig #nBody,.numa-rig #nShirt{transform-origin:75px 148px;transition:transform .6s ease}.numa-rig.nr-state-listening #nBody,.numa-rig.nr-state-listening #nShirt{transform:rotate(calc(var(--sway-amp, 3deg) * .35))}.numa-rig #nHandR{transition:transform .55s cubic-bezier(.34,1.2,.64,1)}.numa-rig.nr-state-listening #nHandR{transform:rotate(86deg)}.numa-rig.nr-state-listening #nFootR{transform-origin:86px 140px;animation:puzzleFootTap 1.8s ease-in-out infinite}@keyframes puzzleFootTap{0%,90%,to{transform:rotate(0)}25%{transform:rotate(var(--puzzle-foot, 12deg))}45%{transform:rotate(calc(var(--puzzle-foot, 12deg) * .3))}65%{transform:rotate(var(--puzzle-foot, 12deg))}}.numa-rig #nMouth{transform-origin:75px 93px;transition:opacity .35s ease,transform .35s ease}.numa-rig #nMouthO{opacity:0;transform:scale(1.3,.15);transform-origin:75px 95px;transition:opacity .35s ease,transform .45s cubic-bezier(.34,1.3,.64,1)}.numa-rig #nMouthJoy{opacity:0;transform:scale(1.2,.2);transform-origin:75px 96px;transition:opacity .25s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.numa-rig[data-look=小鸡] #nMouthO,.numa-rig[data-look=小鸭] #nMouthO{transform:scaleY(.04);transform-origin:75px 88.5px}.numa-rig[data-look=小鸡] #nMouthJoy,.numa-rig[data-look=小鸭] #nMouthJoy{transform:scaleY(.04);transform-origin:75px 88px}.numa-rig[data-look=小鸡] #nMouth,.numa-rig[data-look=小鸭] #nMouth{transform-origin:75px 89px}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nMouth,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nMouth,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nMouth{opacity:0;transform:scale(1.1,.3) translateY(1px)}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc)[data-look=小鸡] #nMouth,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc)[data-look=小鸡] #nMouth,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc)[data-look=小鸡] #nMouth,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc)[data-look=小鸭] #nMouth,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc)[data-look=小鸭] #nMouth,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc)[data-look=小鸭] #nMouth{opacity:0;transform:scaleY(.12)}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nMouthJoy,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nMouthJoy,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nMouthJoy{opacity:1;transform:scale(1)}.numa-rig.nr-nope #nQuest,.numa-rig.nr-nope #nMouthO{opacity:0!important}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) svg,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) svg,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) svg,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) img,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) img,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) img{animation:ntap var(--tap-dur-main, .75s) cubic-bezier(.34,1.56,.64,1);transform-origin:50% 95%}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) svg,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) svg,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) svg{transform-box:view-box;transform-origin:50% 100%}@keyframes ntap{0%{transform:scale(1) translateY(0)}22%{transform:scale(var(--tap-squash-x, 1.02),var(--tap-squash, .93)) translateY(2.2px)}50%{transform:scale(.965,1.05) translateY(calc(var(--tap-jump, 16px) * -1))}72%{transform:scale(1.01,.974) translateY(.8px)}to{transform:scale(1) translateY(0)}}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) .earAnimL,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) .earAnimL,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) .earAnimL{animation:tapEarL var(--tap-dur, .85s) ease}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) .earAnimR,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) .earAnimR,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) .earAnimR{animation:tapEarR var(--tap-dur, .85s) ease}@keyframes tapEarL{0%,to{transform:translateY(0) rotate(0)}22%{transform:translateY(-2px) rotate(0)}30%{transform:translateY(4px) rotate(calc(var(--tap-ear-rot, 12deg) * -1))}50%{transform:translateY(6px) rotate(calc(var(--tap-ear-rot, 12deg) * -.5))}62%{transform:translateY(3px) rotate(calc(var(--tap-ear-rot, 12deg) * .35))}82%{transform:translateY(-1px) rotate(calc(var(--tap-ear-rot, 12deg) * -.12))}}@keyframes tapEarR{0%,to{transform:translateY(0) rotate(0)}22%{transform:translateY(-2px) rotate(0)}30%{transform:translateY(4px) rotate(var(--tap-ear-rot, 12deg))}50%{transform:translateY(6px) rotate(calc(var(--tap-ear-rot, 12deg) * .5))}62%{transform:translateY(3px) rotate(calc(var(--tap-ear-rot, 12deg) * -.35))}82%{transform:translateY(-1px) rotate(calc(var(--tap-ear-rot, 12deg) * .12))}}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nFace,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nFace,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nFace{animation:tapFace var(--tap-dur, .85s) ease}@keyframes tapFace{0%,to{transform:translateY(0)}22%{transform:translateY(3px)}50%{transform:translateY(-7px)}72%{transform:translateY(2px)}}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nHeadTilt,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nHeadTilt,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nHeadTilt{animation:tapHead var(--tap-dur, .85s) ease}@keyframes tapHead{0%{transform:rotate(0)}30%{transform:rotate(calc(var(--head-tilt, 4deg) * -1))}65%{transform:rotate(calc(var(--head-tilt, 4deg) * .75))}to{transform:rotate(0)}}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nHandL,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nHandL,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nHandL{animation:tapHandL var(--tap-dur, .85s) ease}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nHandR,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nHandR,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nHandR{animation:tapHandR var(--tap-dur, .85s) ease}@keyframes tapHandL{12%{transform:rotate(-8deg)}30%{transform:rotate(22deg)}48%{transform:rotate(14deg)}66%{transform:rotate(22deg)}84%{transform:rotate(4deg)}}@keyframes tapHandR{12%{transform:rotate(8deg)}30%{transform:rotate(-22deg)}48%{transform:rotate(-14deg)}66%{transform:rotate(-22deg)}84%{transform:rotate(-4deg)}}.numa-rig #nFootL{transform-origin:64px 140px}.numa-rig #nFootR{transform-origin:86px 140px}.numa-rig #nPantL{transform-origin:64px 140px}.numa-rig #nPantR{transform-origin:86px 140px}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nFootL,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nFootL,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nFootL,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nFootR,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nFootR,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nFootR,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nPantL,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nPantL,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nPantL,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nPantR,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nPantR,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nPantR{animation:tapFoot var(--tap-dur, .85s) ease}@keyframes tapFoot{0%,to{transform:translateY(0)}22%{transform:translateY(var(--foot-press, 3px)) scaleX(var(--foot-squash, 1.1))}50%{transform:translateY(calc(var(--tap-jump, 11px) * .35)) scaleX(.96)}60%{transform:translateY(calc(var(--tap-jump, 11px) * .18))}74%{transform:translateY(var(--foot-press, 3px)) scaleX(var(--foot-squash, 1.1))}}.numa-rig #nEyesJoy{opacity:0;transform:scaleY(.25);transform-origin:75px 82px;transition:opacity .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1)}.numa-rig #nEyes{transition:opacity .22s ease}.numa-rig #nEyes{transform-box:view-box;transform-origin:75px 82px}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nEyes,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nEyes,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nEyes{opacity:0}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nEyesJoy,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nEyesJoy,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nEyesJoy{opacity:1;transform:scaleY(1)}.numa-rig #nBreathFace{opacity:0;transform-origin:75px 87px}.numa-rig #nHesitateBrow{opacity:0}.numa-rig #nMemoryMark{opacity:0;transform-origin:117px 19px}.numa-rig #nHeart{opacity:0;transform-origin:106px 22px}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nHeart,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nHeart,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nHeart{animation:nheart var(--tap-dur, .85s) ease forwards}@keyframes nheart{0%{opacity:0;transform:translateY(6px) scale(.6)}35%{opacity:1}to{opacity:0;transform:translateY(calc(var(--heart-rise, 18px) * -1)) scale(1.15)}}@media(prefers-reduced-motion:reduce){#nEyes,#nEars,#nHead,#nRoot,#nFaceIdle,#nHeadShape,.earIdle,.eyeAnimL,.eyeAnimR,.bodyIdle,.footIdleL,.footIdleR,.grass-dot,#gEars,#gHead,#gArm{animation:none}}.numa-rig[data-character-action] #nRoot,.numa-rig[data-character-action] #nHead,.numa-rig[data-character-action] #nEars,.numa-rig[data-character-action] #nHandL,.numa-rig[data-character-action] #nHandR,.numa-rig[data-character-action] #nFootL,.numa-rig[data-character-action] #nFootR{will-change:transform}.numa-rig[data-character-action=breathe] #nRoot{transform-origin:75px 160px;animation:qaBreatheTraining 12s cubic-bezier(.45,0,.55,1) infinite}.numa-rig[data-character-action=breathe] #nHead{animation:qaBreatheHead 12s cubic-bezier(.45,0,.55,1) infinite}.numa-rig[data-character-action=breathe] #nBody,.numa-rig[data-character-action=breathe] #nShirt{transform-origin:75px 148px;animation:qaBreatheBelly 12s cubic-bezier(.45,0,.55,1) infinite}.numa-rig[data-character-action=breathe] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaBreatheEars 12s cubic-bezier(.45,0,.55,1) infinite}.numa-rig[data-character-action=breathe] #nFace{animation:qaBreatheFace 12s cubic-bezier(.45,0,.55,1) infinite}.numa-rig[data-character-action=look] #nHead{animation:qaLook 5.6s ease-in-out infinite}.numa-rig[data-character-action=look] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaEarsLook 5.6s ease-in-out infinite}.numa-rig[data-character-action=look] #nFace{animation:qaLookFace 5.6s ease-in-out infinite}.numa-rig[data-character-action=look] #nEyes{animation:qaLookEyes 5.6s ease-in-out infinite}.numa-rig[data-character-action=stop] #nRoot{transform-origin:75px 160px;animation:qaStop 3.8s ease-in-out infinite}.numa-rig[data-character-action=turn] #nHead{animation:qaTurn 4.6s ease-in-out infinite}.numa-rig[data-character-action=turn] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaEarsTurn 4.6s ease-in-out infinite}.numa-rig[data-character-action=return] #nRoot{transform-origin:75px 160px;animation:qaReturn 4.2s ease-in-out infinite}.numa-rig[data-character-action=return] #nHead{animation:qaTurn 4.2s ease-in-out infinite reverse}.numa-rig[data-character-action=sleep] #nRoot{transform-origin:75px 145px;animation:qaSleepPose 5.8s ease-in-out infinite}.numa-rig[data-character-action=sleep] #nHead{transform-origin:75px 91px;animation:qaSleepHead 5.8s ease-in-out infinite}.numa-rig[data-character-action=sleep] #nFaceIdle{display:none}.numa-rig[data-character-action=sleep] #nEyes{opacity:0;animation:none}.numa-rig #nSleepLids{display:none}.numa-rig[data-character-action=sleep] #nSleepLids{display:block}.numa-rig[data-character-action=wake] #nRoot{transform-origin:75px 160px;animation:qaWake 4.8s ease-in-out infinite}.numa-rig[data-character-action=wake] #nHead{animation:qaWakeHead 4.8s ease-in-out infinite}.numa-rig[data-character-action=stretch] #nRoot{transform-origin:75px 160px;animation:qaStretchBody 5.2s ease-in-out infinite}.numa-rig[data-character-action=stretch] #nHead{animation:qaStretchHead 5.2s ease-in-out infinite}.numa-rig[data-character-action=stretch] #nHandL{animation:qaStretchLeft 5.2s ease-in-out infinite}.numa-rig[data-character-action=stretch] #nHandR{animation:qaStretchRight 5.2s ease-in-out infinite}.numa-rig[data-character-action=eat] #nHead{animation:qaEatHead 3.2s ease-in-out infinite}.numa-rig[data-character-action=eat] #nHandL{animation:qaEatLeft 3.2s ease-in-out infinite}.numa-rig[data-character-action=eat] #nHandR{animation:qaEatRight 3.2s ease-in-out infinite}.numa-rig[data-character-action=drink] #nHead{animation:qaDrinkHead 3.5s ease-in-out infinite}.numa-rig[data-character-action=drink] #nHandR{animation:qaDrinkHand 3.5s ease-in-out infinite}.numa-rig[data-character-action=carry] #nRoot{transform-origin:75px 160px;animation:qaCarryBody 3.4s ease-in-out infinite}.numa-rig[data-character-action=carry] #nHead{animation:qaCarryHead 3.4s ease-in-out infinite}.numa-rig[data-character-action=carry] #nHandL{animation:qaCarryLeft 3.4s ease-in-out infinite}.numa-rig[data-character-action=carry] #nHandR{animation:qaCarryRight 3.4s ease-in-out infinite}.numa-rig[data-character-action=drop] #nHandL,.numa-rig[data-character-action=retrieve] #nHandL{animation:qaReachLowLeft 3.5s ease-in-out infinite}.numa-rig[data-character-action=drop] #nHandR,.numa-rig[data-character-action=retrieve] #nHandR{animation:qaReachLowRight 3.5s ease-in-out infinite}.numa-rig[data-character-action=drop] #nHead{animation:qaInspectHead 3.5s ease-in-out infinite}.numa-rig[data-character-action=retrieve] #nHead{animation:qaInspectHead 3.5s ease-in-out infinite reverse}.numa-rig[data-character-action=inspect] #nHead{animation:qaInspectHead 4.4s ease-in-out infinite}.numa-rig[data-character-action=inspect] #nHandR{animation:qaInspectHand 4.4s ease-in-out infinite}.numa-rig[data-character-action=listen] #nHead,.numa-rig[data-character-action=listen-companion] #nHead{animation:qaListenHead 4.8s ease-in-out infinite}.numa-rig[data-character-action=listen] :is(.earAnimL,.earAnimR,#nEars[data-crest]),.numa-rig[data-character-action=listen-companion] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaListenEars 4.8s ease-in-out infinite}.numa-rig[data-character-action=sniff] #nHead{animation:qaSniffHead 3.8s ease-in-out infinite}.numa-rig[data-character-action=sniff] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaListenEars 3.8s ease-in-out infinite}.numa-rig[data-character-action=sniff] #nFaceIdle{transform-origin:75px 88px;animation:qaSniffFace 3.8s ease-in-out infinite}.numa-rig[data-character-action=sniff] #nEyes{animation:qaSniffEyes 3.8s ease-in-out infinite}.numa-rig[data-character-action=collect] #nHandL,.numa-rig[data-character-action=organize] #nHandL,.numa-rig[data-character-action=place] #nHandL,.numa-rig[data-character-action=repair] #nHandL{animation:qaTaskLeft 3.1s ease-in-out infinite}.numa-rig[data-character-action=collect] #nHandR,.numa-rig[data-character-action=organize] #nHandR,.numa-rig[data-character-action=place] #nHandR,.numa-rig[data-character-action=repair] #nHandR{animation:qaTaskRight 3.1s ease-in-out infinite}.numa-rig[data-character-action=groom] #nHandR{animation:qaGroomHand 2.6s ease-in-out infinite}.numa-rig[data-character-action=groom] #nHandL{animation:qaGroomIdleHand 2.6s ease-in-out infinite}.numa-rig[data-character-action=groom] #nHead{animation:qaGroomHead 2.6s ease-in-out infinite}.numa-rig[data-character-action=groom] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaGroomEars 2.6s ease-in-out infinite}.numa-rig[data-character-action=groom] #nEyes{animation:qaGroomEyes 2.6s ease-in-out infinite}.numa-rig[data-character-action=pack] :is(#nPantL,#nPantR),.numa-rig[data-character-action=unpack] :is(#nPantL,#nPantR){animation:none}.numa-rig[data-character-action=pack] #tRoot,.numa-rig[data-character-action=unpack] #tRoot{transform-origin:75px 193px;animation:qaTidyBody 2.6s ease-in-out infinite}.numa-rig[data-character-action=pack] #tArmL,.numa-rig[data-character-action=unpack] #tArmL{transform-origin:54.5px 99px;animation:qaTidyArmL 2.6s ease-in-out infinite}.numa-rig[data-character-action=pack] #tArmR,.numa-rig[data-character-action=unpack] #tArmR{transform-origin:95.5px 99px;animation:qaTidyArmR 2.6s ease-in-out infinite}.numa-rig[data-character-action=pack] #tHead,.numa-rig[data-character-action=unpack] #tHead{transform-origin:75px 83px;animation:qaTidyHead 2.6s ease-in-out infinite}.numa-rig[data-character-action=pack] #tTail,.numa-rig[data-character-action=unpack] #tTail{transform-origin:75px 145px;animation:qaTidyTail 2.6s ease-in-out infinite}.numa-rig[data-character-action=browse] #nRoot{transform-origin:75px 193px;animation:qaBrowseLean 6.4s ease-in-out infinite}.numa-rig[data-character-action=browse] #nHead{animation:qaBrowseHead 6.4s ease-in-out infinite}.numa-rig[data-character-action=browse] #nEyes{animation:qaBrowseEyes 6.4s ease-in-out infinite}.numa-rig[data-character-action=browse] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaBrowseEars 6.4s ease-in-out infinite}.numa-rig[data-character-action=browse] #nHandR{animation:qaBrowseHand 6.4s ease-in-out infinite}.numa-rig[data-character-action=browse] #nFootL,.numa-rig[data-character-action=browse] #nPantL{animation:qaBrowseFootL 6.4s ease-in-out infinite}.numa-rig[data-character-action=browse] #nFootR,.numa-rig[data-character-action=browse] #nPantR{animation:qaBrowseFootR 6.4s ease-in-out infinite}.numa-rig[data-character-action=forage] #nRoot{transform-origin:75px 193px;animation:qaForageCrouch 4.4s ease-in-out infinite}.numa-rig[data-character-action=forage] #nHandL{animation:qaForageLeft 4.4s ease-in-out infinite}.numa-rig[data-character-action=forage] #nHandR{animation:qaForageRight 4.4s ease-in-out infinite}.numa-rig[data-character-action=forage] #nHead{animation:qaForageHead 4.4s ease-in-out infinite}.numa-rig[data-character-action=forage] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaForageEars 4.4s ease-in-out infinite}.numa-rig[data-character-action=cook] #nHandR{animation:qaCookStir 2.8s linear infinite}.numa-rig[data-character-action=cook] #nHandL{animation:qaCookHold 2.8s ease-in-out infinite}.numa-rig[data-character-action=cook] #nHead{animation:qaCookHead 2.8s ease-in-out infinite}.numa-rig[data-character-action=cook] :is(.earAnimL,.earAnimR,#nEars[data-crest]){animation:qaCookEars 2.8s ease-in-out infinite}.numa-rig[data-character-action=talk] #wHead{animation:qaTalkSideHead 3.6s ease-in-out infinite}.numa-rig[data-character-action=talk] #wArmFront{animation:qaTalkSideHand 2.2s ease-in-out infinite}.numa-rig[data-character-action=talk] #wArmBack,.numa-rig[data-character-action=talk] #wLegF,.numa-rig[data-character-action=talk] #wLegB,.numa-rig[data-character-action=talk] #wEar,.numa-rig[data-character-action=talk] #wTail,.numa-rig[data-character-action=talk] #wShadow{animation:none}.numa-rig[data-character-action=talk] #wMouthIdle{animation:qaTalkSideMouth 1.2s ease-in-out infinite}.numa-rig[data-character-action=talk] #wMouthFocus{animation:qaTalkSideOpen 1.2s ease-in-out infinite}.numa-rig[data-character-action=exchange] #nHandL,.numa-rig[data-character-action=give] #nHandL{animation:qaOfferLeft 3.2s ease-in-out infinite}.numa-rig[data-character-action=exchange] #nHandR,.numa-rig[data-character-action=give] #nHandR{animation:qaOfferRight 3.2s ease-in-out infinite}.numa-rig[data-character-action=surprise] #nRoot{transform-origin:75px 160px;animation:qaSurprise 3.4s ease-in-out infinite}.numa-rig[data-character-action=surprise] #nEyes{animation:qaWideEyes 3.4s ease-in-out infinite}.numa-rig[data-character-action=surprise] #nMouth{display:none}.numa-rig[data-character-action=surprise] #nMouthO{display:block;opacity:1;transform:none}.numa-rig[data-character-action=happy] #nRoot{transform-origin:75px 160px;animation:qaHappy 3.8s ease-in-out infinite}.numa-rig[data-character-action=happy] #nEyes{opacity:0}.numa-rig[data-character-action=happy] #nEyesJoy{opacity:1;animation:qaHappyEyes 3.8s ease-in-out infinite}.numa-rig[data-character-action=hesitate] #nRoot{transform-origin:75px 160px;animation:qaHesitate 4.4s ease-in-out infinite}.numa-rig[data-character-action=hesitate] #nHead{animation:qaHesitateHead 4.4s ease-in-out infinite}.numa-rig[data-character-action=hesitate] #nHesitateBrow{opacity:1;animation:qaHesitateBrow 4.4s ease-in-out infinite}.numa-rig[data-character-action=remember] #nHead{animation:qaRememberHead 4.4s ease-in-out infinite}.numa-rig[data-character-action=remember] #nHeart{opacity:0;animation:none}.numa-rig[data-character-action=remember] #nMemoryMark{animation:qaMemoryMark 4.4s ease-in-out infinite}@keyframes qaBreatheTraining{0%,to{transform:translateY(0)}33.333%,50%{transform:translateY(-1.5px)}}@keyframes qaBreatheHead{0%,to{transform:translateY(0)}33.333%,50%{transform:translateY(-1px)}}@keyframes qaBreatheBelly{0%,to{transform:scale(1)}33.333%,50%{transform:scale(1.042,1.03)}}@keyframes qaBreatheEars{0%,to{transform:translateY(0)}33.333%,50%{transform:translateY(3px)}}@keyframes qaBreatheFace{0%,to{transform:translateY(1.25px)}33.333%,50%{transform:translateY(-1.25px)}}@keyframes qaLook{0%,18%,to{transform:translate(0) rotate(0)}34%,48%{transform:translate(2.4px) rotate(3.2deg)}68%,84%{transform:translate(-2.2px) rotate(-3deg)}}@keyframes qaEarsLook{0%,18%,to{transform:rotate(0)}34%,48%{transform:rotate(4deg)}68%,84%{transform:rotate(-4deg)}}@keyframes qaLookFace{0%,18%,to{transform:translate(0)}34%,48%{transform:translate(3px)}68%,84%{transform:translate(-3px)}}@keyframes qaLookEyes{0%,18%,to{transform:translate(0)}34%,48%{transform:translate(2px)}68%,84%{transform:translate(-2px)}}@keyframes qaStop{0%,to{transform:translateY(0)}45%{transform:translateY(2px)}58%{transform:translateY(0)}}@keyframes qaTurn{0%,28%,to{transform:rotate(0)}48%,68%{transform:translate(3px) rotate(-9deg)}}@keyframes qaEarsTurn{0%,28%,to{transform:rotate(0)}48%,68%{transform:rotate(-12deg)}}@keyframes qaReturn{0%,20%,to{transform:translate(0)}42%{transform:translate(-3px)}68%{transform:translate(3px)}}@keyframes qaSleepPose{0%,to{transform:translateY(0)}50%{transform:translateY(1.4px)}}@keyframes qaSleepHead{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(1.6px) rotate(-1.2deg)}}@keyframes qaWake{0%,24%,to{transform:translateY(2px) scale(.99,1.01)}43%{transform:translateY(-5px) scale(1.02,.98)}}@keyframes qaWakeHead{0%,24%,to{transform:translateY(2px) rotate(-4deg)}43%{transform:translateY(-3px) rotate(2deg)}}@keyframes qaStretchBody{0%,22%,78%,to{transform:translateY(0) scale(1)}42%,62%{transform:translateY(-3px) scale(.96,1.045)}}@keyframes qaStretchHead{0%,22%,78%,to{transform:rotate(0)}42%,62%{transform:translateY(-3px) rotate(2deg)}}@keyframes qaStretchLeft{0%,to{transform:rotate(166deg)}44%,62%{transform:rotate(176deg)}}@keyframes qaStretchRight{0%,to{transform:rotate(-166deg)}44%,62%{transform:rotate(-176deg)}}@keyframes qaEatHead{0%,to{transform:rotate(0)}38%,68%{transform:translateY(4px) rotate(2deg)}}@keyframes qaEatLeft{0%,to{transform:rotate(0)}38%,68%{transform:rotate(-100deg)}}@keyframes qaEatRight{0%,to{transform:rotate(0)}38%,68%{transform:rotate(100deg)}}@keyframes qaDrinkHead{0%,to{transform:rotate(0)}38%,68%{transform:translateY(-1px) rotate(-6deg)}}@keyframes qaDrinkHand{0%,to{transform:rotate(0)}20%{transform:rotate(62deg)}38%,68%{transform:rotate(104deg)}86%{transform:rotate(27deg)}}@keyframes qaCarryBody{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(2px) rotate(1.2deg)}}@keyframes qaCarryHead{0%,to{transform:rotate(0)}50%{transform:translateY(1px) rotate(-2.5deg)}}@keyframes qaCarryLeft{0%,to{transform:rotate(-62deg)}50%{transform:rotate(-70deg)}}@keyframes qaCarryRight{0%,to{transform:rotate(62deg)}50%{transform:rotate(70deg)}}@keyframes qaReachLowLeft{0%,to{transform:rotate(0)}44%,68%{transform:rotate(-27deg)}}@keyframes qaReachLowRight{0%,to{transform:rotate(0)}44%,68%{transform:rotate(27deg)}}@keyframes qaInspectHead{0%,to{transform:rotate(0)}40%,70%{transform:translate(2px,-1px) rotate(-5deg)}}@keyframes qaInspectHand{0%,to{transform:rotate(0)}22%{transform:rotate(20deg)}40%,70%{transform:rotate(40deg)}88%{transform:rotate(9deg)}}@keyframes qaListenHead{0%,38%,to{transform:rotate(0)}56%,78%{transform:translate(2px,-1px) rotate(-4deg)}}@keyframes qaListenEars{0%,38%,to{transform:rotate(0)}56%,78%{transform:rotate(-7deg)}}@keyframes qaSniffHead{0%,to{transform:rotate(0)}42%,70%{transform:translateY(2px) rotate(5deg)}}@keyframes qaSniffFace{0%,to{transform:translateY(0)}40%,66%{transform:translateY(4px)}}@keyframes qaSniffEyes{0%,31%,to{transform:scaleY(1)}43%,61%{transform:scaleY(.1)}74%{transform:scaleY(.82)}}@keyframes qaGroomHand{0%,to{transform:rotate(0)}20%{transform:rotate(-168deg)}44%{transform:rotate(-142deg)}62%{transform:rotate(-166deg)}84%{transform:rotate(-138deg)}}@keyframes qaGroomIdleHand{0%,to{transform:rotate(0)}50%{transform:rotate(-11deg)}}@keyframes qaGroomHead{0%,to{transform:rotate(0)}26%,72%{transform:rotate(5deg)}50%{transform:rotate(2deg)}}@keyframes qaGroomEars{0%,to{transform:rotate(0)}36%{transform:rotate(7deg)}60%{transform:rotate(-4deg)}82%{transform:rotate(5deg)}}@keyframes qaGroomEyes{0%,40%,to{transform:scaleY(1)}52%,60%{transform:scaleY(.14)}}@keyframes qaTidyBody{0%,to{transform:scale(1)}24%{transform:scale(1.006,.982)}50%{transform:scale(1)}74%{transform:scale(1.006,.985)}}@keyframes qaTidyArmL{0%,to{transform:rotate(0)}24%{transform:rotate(16deg)}50%{transform:rotate(-6deg)}74%{transform:rotate(12deg)}}@keyframes qaTidyArmR{0%,to{transform:rotate(0)}24%{transform:rotate(10deg)}50%{transform:rotate(-16deg)}74%{transform:rotate(8deg)}}@keyframes qaTidyHead{0%,to{transform:rotate(0)}24%{transform:rotate(-2.5deg)}50%{transform:rotate(2deg)}74%{transform:rotate(-1.5deg)}}@keyframes qaTidyTail{0%,to{transform:rotate(0)}34%{transform:rotate(-7deg)}60%{transform:rotate(5deg)}84%{transform:rotate(-4deg)}}@keyframes qaBrowseLean{0%,to{transform:translate(0)}28%{transform:translate(-2.5px)}62%{transform:translate(2.5px)}}@keyframes qaBrowseHead{0%,to{transform:rotate(0)}22%{transform:rotate(-7deg)}46%{transform:rotate(-1deg)}70%{transform:rotate(7deg)}88%{transform:rotate(2deg)}}@keyframes qaBrowseEyes{0%,to{transform:translate(0)}24%{transform:translate(-1.8px)}72%{transform:translate(1.8px)}}@keyframes qaBrowseEars{0%,to{transform:rotate(0)}34%{transform:rotate(-6deg)}80%{transform:rotate(6deg)}}@keyframes qaBrowseHand{0%,to{transform:rotate(0)}44%{transform:rotate(-56deg)}58%{transform:rotate(-43deg)}}@keyframes qaBrowseFootL{0%,to{transform:translateY(0)}28%{transform:translateY(-1.5px)}}@keyframes qaBrowseFootR{0%,to{transform:translateY(0)}62%{transform:translateY(-1.5px)}}@keyframes qaForageCrouch{0%,to{transform:scale(1)}30%,74%{transform:scale(1.015,.87)}}@keyframes qaForageLeft{0%,to{transform:rotate(0)}30%{transform:rotate(52deg)}48%{transform:rotate(33deg)}66%{transform:rotate(55deg)}84%{transform:rotate(19deg)}}@keyframes qaForageRight{0%,to{transform:rotate(0)}36%{transform:rotate(-33deg)}54%{transform:rotate(-53deg)}72%{transform:rotate(-26deg)}}@keyframes qaForageHead{0%,to{transform:rotate(0)}30%{transform:rotate(10deg)}62%{transform:rotate(7deg)}84%{transform:rotate(-3deg)}}@keyframes qaForageEars{0%,to{transform:rotate(0)}42%{transform:rotate(11deg)}90%{transform:rotate(-5deg)}}@keyframes qaCookStir{0%,to{transform:rotate(0)}25%{transform:rotate(-38deg)}50%{transform:rotate(-58deg)}75%{transform:rotate(-31deg)}}@keyframes qaCookHold{0%,to{transform:rotate(0)}50%{transform:rotate(38deg)}}@keyframes qaCookHead{0%,to{transform:rotate(0)}30%{transform:rotate(-2.5deg)}70%{transform:rotate(2deg)}}@keyframes qaCookEars{0%,to{transform:rotate(0)}44%{transform:rotate(5deg)}84%{transform:rotate(-4deg)}}@keyframes qaTaskLeft{0%,to{transform:rotate(-8deg)}35%,60%{transform:rotate(-38deg)}}@keyframes qaTaskRight{0%,to{transform:rotate(8deg)}35%,60%{transform:rotate(34deg)}}@keyframes qaTalkSideBody{0%,to{transform:translateY(0)}45%{transform:translateY(-1px)}70%{transform:translateY(1px)}}@keyframes qaTalkSideHead{0%,to{transform:rotate(0)}32%{transform:translateY(-1px) rotate(-3deg)}58%{transform:translateY(0) rotate(2deg)}}@keyframes qaTalkSideHand{0%,to{transform:rotate(0)}26%{transform:rotate(-42deg)}53%{transform:rotate(6deg)}76%{transform:rotate(-28deg)}}@keyframes qaTalkSideMouth{0%,to{opacity:1;transform:scaleY(1)}24%,45%,70%{opacity:0;transform:scaleY(.2)}}@keyframes qaTalkSideOpen{0%,to{opacity:0;transform:scale(.75,.35)}24%,45%,70%{opacity:1;transform:scale(1)}}@keyframes qaOfferLeft{0%,to{transform:rotate(0)}42%,70%{transform:rotate(-34deg)}}@keyframes qaOfferRight{0%,to{transform:rotate(0)}42%,70%{transform:rotate(34deg)}}@keyframes qaSurprise{0%,to{transform:translateY(0)}34%,54%{transform:translateY(2px)}66%{transform:translateY(-1px)}}@keyframes qaWideEyes{0%,to{transform:scale(1)}34%,70%{transform:scale(1.16,1.22)}}.numa-rig[data-character-action=happy] #nRoot{transform-origin:75px 160px}@keyframes qaHappy{0%,to{transform:scale(1)}34%{transform:scale(1.015,.985)}48%,70%{transform:scale(.992,1.012)}86%{transform:scale(1.006,.996)}}@keyframes qaHappyEyes{0%,to{transform:scaleY(1)}48%,70%{transform:scaleY(.88)}}@keyframes qaHesitate{0%,to{transform:translate(0)}28%,48%{transform:translate(-2px)}64%,80%{transform:translate(2px)}}@keyframes qaHesitateHead{0%,to{transform:rotate(0)}42%,70%{transform:translateY(-2px) rotate(-4deg)}}@keyframes qaHesitateBrow{0%,to{opacity:0}42%,70%{opacity:1}}@keyframes qaRememberHead{0%,to{transform:rotate(0)}42%,70%{transform:translateY(-2px) rotate(-4deg)}}@keyframes qaMemoryMark{0%,to{opacity:0;transform:translateY(4px) scale(.65)}42%,70%{opacity:1;transform:translateY(-7px) scale(1)}}.numa-rig[data-character-action=stroll]{--walk-dur: 1.45s}.numa-rig[data-character-action=walk-carry]{--walk-dur: 1.05s}.numa-rig[data-character-action=walk] #wRoot,.numa-rig[data-character-action=walk-carry] #wRoot,.numa-rig[data-character-action=stroll] #wRoot{animation:wBob var(--walk-dur, .9s) ease-in-out infinite}.numa-rig[data-character-action=walk] #wLegF,.numa-rig[data-character-action=walk-carry] #wLegF,.numa-rig[data-character-action=stroll] #wLegF{animation:wThighF var(--walk-dur, .9s) linear infinite}.numa-rig[data-character-action=walk] #wLegB,.numa-rig[data-character-action=walk-carry] #wLegB,.numa-rig[data-character-action=stroll] #wLegB{animation:wThighF var(--walk-dur, .9s) linear infinite;animation-delay:calc(var(--phase, 0s) - var(--walk-dur, .9s) * .5)}.numa-rig[data-character-action=walk] #wLegFLo,.numa-rig[data-character-action=walk-carry] #wLegFLo,.numa-rig[data-character-action=stroll] #wLegFLo{animation:wShinF var(--walk-dur, .9s) linear infinite}.numa-rig[data-character-action=walk] #wLegBLo,.numa-rig[data-character-action=walk-carry] #wLegBLo,.numa-rig[data-character-action=stroll] #wLegBLo{animation:wShinF var(--walk-dur, .9s) linear infinite;animation-delay:calc(var(--phase, 0s) - var(--walk-dur, .9s) * .5)}.numa-rig[data-character-action=walk] #wFootF,.numa-rig[data-character-action=walk-carry] #wFootF,.numa-rig[data-character-action=stroll] #wFootF{animation:wAnkleF var(--walk-dur, .9s) linear infinite}.numa-rig[data-character-action=walk] #wFootB,.numa-rig[data-character-action=walk-carry] #wFootB,.numa-rig[data-character-action=stroll] #wFootB{animation:wAnkleF var(--walk-dur, .9s) linear infinite;animation-delay:calc(var(--phase, 0s) - var(--walk-dur, .9s) * .5)}.numa-rig #wRoot{transform-origin:75px 160px}.numa-rig #wLegF{transform-origin:80px 139px}.numa-rig #wLegB{transform-origin:70px 139px}.numa-rig #wLegFLo{transform-origin:81px 160px}.numa-rig #wLegBLo{transform-origin:71px 160px}.numa-rig #wFootF{transform-origin:82px 184px}.numa-rig #wFootB{transform-origin:72px 184px}.numa-rig #wHead{transform-origin:75px 88px}.numa-rig #wEar{transform-origin:75px 50px}.numa-rig #wTail{transform-origin:56px 116px}.numa-rig #wShadow{transform-origin:75px 159px}.numa-rig #wArmFront{transform-origin:82px 96.3px}.numa-rig #wArmBack{transform-origin:70px 96.3px}.numa-rig[data-character-action=walk] #wArmFront,.numa-rig[data-character-action=stroll] #wArmFront{animation:wArmFront var(--walk-dur, .9s) ease-in-out infinite}.numa-rig[data-character-action=walk] #wArmBack,.numa-rig[data-character-action=stroll] #wArmBack{animation:wArmBack var(--walk-dur, .9s) ease-in-out infinite}.numa-rig[data-character-action=walk] #wHead,.numa-rig[data-character-action=walk-carry] #wHead,.numa-rig[data-character-action=stroll] #wHead{animation:wHead var(--walk-dur, .9s) ease-in-out infinite}.numa-rig[data-character-action=walk] #wEar,.numa-rig[data-character-action=walk-carry] #wEar,.numa-rig[data-character-action=stroll] #wEar{animation:wEar var(--walk-dur, .9s) ease-in-out infinite}.numa-rig[data-character-action=walk] #wTail,.numa-rig[data-character-action=walk-carry] #wTail,.numa-rig[data-character-action=stroll] #wTail{animation:wTail calc(var(--walk-dur, .9s) * .66) ease-in-out infinite}.numa-rig[data-character-action=walk] #wShadow,.numa-rig[data-character-action=walk-carry] #wShadow,.numa-rig[data-character-action=stroll] #wShadow{animation:wShadowPulse var(--walk-dur, .9s) ease-in-out infinite}.numa-rig[data-character-action=walk-carry] #wArmFront{animation:wCarryArmFront var(--walk-dur, .9s) ease-in-out infinite}.numa-rig #wBag{display:none}.numa-rig[data-character-action=walk-carry] #wBag{display:block}.numa-rig[data-character-action=walk-carry] #wBagHang{transform-origin:83px 122.5px;animation:wBagPlumb var(--walk-dur, .9s) ease-in-out infinite;animation-delay:var(--phase, 0s)}.numa-rig[data-character-action=walk-carry] #wBagItem{transform-origin:83px 132px;animation:wBagItemLag var(--walk-dur, .9s) ease-in-out infinite;animation-delay:calc(var(--phase, 0s) + var(--walk-dur, .9s) * .12)}@keyframes wBagPlumb{0%,to{transform:rotate(39.5deg)}50%{transform:rotate(31.5deg)}}@keyframes wBagItemLag{0%,to{transform:rotate(-2.2deg) translateY(0)}50%{transform:rotate(2.2deg) translateY(.8px)}}.numa-rig[data-character-action=walk-carry] #wArmBack{animation:wCarryArmBack var(--walk-dur, .9s) ease-in-out infinite}.numa-rig[data-look=海狮] #wArmFront{transform-origin:84px 97px}.numa-rig[data-look=海狮] #wArmBack{transform-origin:67px 97.7px}@keyframes wCarryArmFront{0%,to{transform:rotate(-38deg)}50%{transform:rotate(-33deg)}}@keyframes wCarryArmBack{0%,to{transform:rotate(-26deg)}50%{transform:rotate(-21deg)}}.numa-rig[data-character-action=talk] #wRoot{animation:qaTalkSideBody 3.6s ease-in-out infinite}@keyframes wBob{0%,to{transform:translate(-1.5px,-1.5px) rotate(-1.5deg)}25%,75%{transform:translateY(.5px) rotate(0)}50%{transform:translate(1.5px,-1.5px) rotate(1.5deg)}}@keyframes wThighF{0%{transform:scaleY(1.05) rotate(-22deg);animation-timing-function:cubic-bezier(.38,.12,.62,.88)}25%{transform:scaleY(1) rotate(0);animation-timing-function:cubic-bezier(.38,.12,.62,.88)}50%{transform:scaleY(1.04) rotate(24deg);animation-timing-function:cubic-bezier(.3,.05,.35,1)}68%{transform:scaleY(1) rotate(7deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}82%{transform:scaleY(1) rotate(-12deg);animation-timing-function:cubic-bezier(.4,0,.55,1)}to{transform:scaleY(1.05) rotate(-22deg)}}@keyframes wShinF{0%{transform:rotate(12deg);animation-timing-function:cubic-bezier(.38,.12,.62,.88)}25%{transform:rotate(4deg);animation-timing-function:cubic-bezier(.38,.12,.62,.88)}50%{transform:rotate(-8deg);animation-timing-function:cubic-bezier(.3,0,.45,1)}68%{transform:rotate(34deg);animation-timing-function:cubic-bezier(.5,0,.5,1)}82%{transform:rotate(24deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}to{transform:rotate(12deg)}}@keyframes wAnkleF{0%{transform:rotate(10deg);animation-timing-function:cubic-bezier(.38,.12,.62,.88)}25%{transform:rotate(-4deg);animation-timing-function:cubic-bezier(.38,.12,.62,.88)}50%{transform:rotate(-16deg);animation-timing-function:cubic-bezier(.3,0,.5,1)}68%{transform:rotate(-31deg);animation-timing-function:cubic-bezier(.42,0,.58,1)}82%{transform:rotate(-12deg);animation-timing-function:ease-out}to{transform:rotate(10deg)}}@keyframes wArmFront{0%,to{transform:rotate(18deg)}50%{transform:rotate(-18deg)}}@keyframes wArmBack{0%,to{transform:rotate(-18deg)}50%{transform:rotate(18deg)}}@keyframes wHead{0%,to{transform:rotate(-2deg)}50%{transform:rotate(1.5deg)}}@keyframes wEar{0%,to{transform:rotate(2deg)}50%{transform:rotate(-2.5deg)}}@keyframes wTail{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes wShadowPulse{0%,50%,to{transform:scale(1);opacity:1}25%,75%{transform:scale(.82);opacity:.7}}@media(prefers-reduced-motion:reduce){.numa-rig[data-character-action] *,.numa-rig[data-character-action]:before,.numa-rig[data-character-action]:after{animation:none!important}}.numa-rig #nSad{display:none}.numa-rig.nr-state-sleep_debt #nSad{display:block}.numa-rig.nr-state-sleep_debt #nMouth,.numa-rig.nr-state-sleep_debt #nMouthJoy,.numa-rig.nr-state-sleep_debt #nEyesJoy,.numa-rig.nr-state-sleep_debt #nBrows{display:none!important}.numa-rig.nr-state-sleep_debt #nMouthO{display:block!important;opacity:0}.numa-rig.nr-state-sleep_debt .sadBreath{opacity:0;transform-origin:82px 97px}.numa-rig.nr-state-sleep_debt #nHeadTilt{animation:sadHead 5.6s ease-in-out infinite}.numa-rig.nr-state-sleep_debt:is([data-character-action=wander],[data-character-action=breathe],[data-character-action=look],[data-character-action=stop],[data-character-action=turn],[data-character-action=return],[data-character-action=wake],[data-character-action=listen],[data-character-action=listen-companion],[data-character-action=sniff],[data-character-action=surprise],[data-character-action=happy],[data-character-action=hesitate],[data-character-action=remember]) #nHandL{transform-origin:54.5px 99px;animation:sadHandL 5.6s ease-in-out infinite}.numa-rig.nr-state-sleep_debt:is([data-character-action=wander],[data-character-action=breathe],[data-character-action=look],[data-character-action=stop],[data-character-action=turn],[data-character-action=return],[data-character-action=wake],[data-character-action=listen],[data-character-action=listen-companion],[data-character-action=sniff],[data-character-action=surprise],[data-character-action=happy],[data-character-action=hesitate],[data-character-action=remember]) #nHandR{transform-origin:95.5px 99px;animation:sadHandR 5.6s ease-in-out infinite}.numa-rig.nr-state-sleep_debt .footIdleL{animation:sadFootL 2.8s ease-in-out infinite}.numa-rig.nr-state-sleep_debt .footIdleR{animation:sadFootR 2.8s ease-in-out infinite}.numa-rig.nr-state-sleep_debt #nPantL{animation:sadFootL 2.8s ease-in-out infinite}.numa-rig.nr-state-sleep_debt #nPantR{animation:sadFootR 2.8s ease-in-out infinite}.numa-rig.nr-state-sleep_debt .bodyIdle{transform-origin:75px 146px;animation:sadSway 5.6s ease-in-out infinite}.numa-rig.nr-state-sleep_debt{--gaze-amp: .4;--tail-amp: 4deg;--tail-dur: 5s}.numa-rig.is-side-pose #wMouthFocus,.numa-rig.is-side-pose #wMouthLaugh,.numa-rig.is-side-pose #wEyeJoy{opacity:0}.numa-rig.nr-state-sleep_debt.is-side-pose svg{filter:saturate(.82) brightness(.96)}.numa-rig.nr-state-sleep_debt.is-side-pose #wEye{transform-origin:97px 76px;transform:translateY(2px) scaleY(.68)}.numa-rig.nr-state-sleep_debt.is-side-pose #wBlush{opacity:.32}.numa-rig.nr-state-sleep_debt[data-character-action=walk]{--walk-dur: 1.18s}.numa-rig.nr-state-sleep_debt[data-character-action=walk-carry]{--walk-dur: 1.38s}.numa-rig.nr-state-sleep_debt[data-character-action=stroll]{--walk-dur: 1.85s}.numa-rig.nr-state-sleep_debt[data-character-action=talk] :is(#wRoot,#wHead){animation-duration:4.4s}.numa-rig.nr-state-sleep_debt[data-character-action=talk] #wArmFront{animation-duration:2.8s}.numa-rig.nr-state-sleep_debt[data-character-action=talk] :is(#wMouthIdle,#wMouthFocus){animation-duration:1.5s}@keyframes sadHead{0%,to{transform:rotate(-3deg) translateY(3.5px)}50%{transform:rotate(2deg) translateY(3px)}}@keyframes sadHandL{0%,to{transform:rotate(2deg)}50%{transform:rotate(-4deg)}}@keyframes sadHandR{0%,to{transform:rotate(-2deg)}50%{transform:rotate(4deg)}}@keyframes sadFootL{0%,to{transform:translateY(0)}50%{transform:translateY(-1.2px)}}@keyframes sadFootR{0%,to{transform:translateY(-1.2px)}50%{transform:translateY(0)}}@keyframes sadSway{0%,to{transform:translate(-.8px) scale(1)}50%{transform:translate(.8px) scale(1)}}.numa-rig.nr-state-heart_shift{--bsway-dur: 2.6s;--sway-dur: 3.2s;--blink-dur: 2.6s;--tail-dur: 1.6s}.numa-rig.nr-state-heart_shift #nBlush{opacity:1}.numa-rig.nr-state-heart_shift #nHeart{animation:nheart 3.2s ease infinite}.numa-rig.nr-state-heart_shift.is-side-pose #wBlush{opacity:1;transform-origin:82px 90px;animation:heartShiftBlush 2.6s ease-in-out infinite}.numa-rig.nr-state-heart_shift[data-character-action=walk]{--walk-dur: .78s}.numa-rig.nr-state-heart_shift[data-character-action=walk-carry]{--walk-dur: .92s}.numa-rig.nr-state-heart_shift[data-character-action=stroll]{--walk-dur: 1.15s}.numa-rig.nr-state-heart_shift[data-character-action=talk] :is(#wRoot,#wHead){animation-duration:3s}.numa-rig.nr-state-heart_shift[data-character-action=talk] #wArmFront{animation-duration:1.8s}.numa-rig.nr-state-heart_shift[data-character-action=talk] :is(#wMouthIdle,#wMouthFocus){animation-duration:1s}@keyframes heartShiftBlush{0%,to{transform:scale(1);opacity:.78}42%,58%{transform:scale(1.12);opacity:1}}.numa-rig.nr-state-listening .eyeAnimL,.numa-rig.nr-state-listening .eyeAnimR,.numa-rig.nr-state-listening #nFaceIdle,.numa-rig.nr-state-listening #nHeadShape,.numa-rig.nr-state-listening .earIdle{animation:none}.numa-rig.nr-state-replying svg{animation:ntap var(--tap-dur-main, .75s) cubic-bezier(.34,1.56,.64,1);transform-origin:50% 98.8%}.numa-rig.nr-state-replying .earAnimL{animation:tapEarL var(--tap-dur, .85s) ease}.numa-rig.nr-state-replying .earAnimR{animation:tapEarR var(--tap-dur, .85s) ease}.numa-rig.nr-state-replying #nHeadTilt{animation:tapHead var(--tap-dur, .85s) ease}.numa-rig.nr-state-replying #nEyes{opacity:0}.numa-rig.nr-state-replying #nEyesJoy{opacity:1;transform:scaleY(1)}.numa-rig.nr-state-replying #nMouth{opacity:0;transform:scale(1.1,.3) translateY(1px)}.numa-rig.nr-state-replying #nMouthJoy{opacity:1;transform:scale(1)}.numa-rig.nr-state-replying #nHeart{animation:nheart var(--tap-dur, .85s) ease forwards}.numa-rig #sArmUp{transform-origin:102px 145px;animation:sArmUpK var(--circle-dur, 2.4s) linear infinite}@keyframes sArmUpK{0%,to{transform:rotate(0)}12.5%{transform:rotate(-.1deg)}25%{transform:rotate(11.7deg)}37.5%{transform:rotate(22.8deg)}50%{transform:rotate(24.9deg)}62.5%{transform:rotate(26deg)}75%{transform:rotate(22.8deg)}87.5%{transform:rotate(11.9deg)}}.numa-rig #sArmLo{transform-origin:120px 166px;animation:sArmLoK var(--circle-dur, 2.4s) linear infinite}@keyframes sArmLoK{0%,to{transform:rotate(0)}12.5%{transform:rotate(-22.4deg)}25%{transform:rotate(-51.2deg)}37.5%{transform:rotate(-62.5deg)}50%{transform:rotate(-44.4deg)}62.5%{transform:rotate(-23.9deg)}75%{transform:rotate(-6.3deg)}87.5%{transform:rotate(4.8deg)}}.numa-rig #sTrail1{stroke-dasharray:6 24.9;opacity:.95;animation:trailHead var(--circle-dur, 2.4s) linear infinite}.numa-rig #sTrail2{stroke-dasharray:11.5 19.4;opacity:.5;animation:trailMid var(--circle-dur, 2.4s) linear infinite}.numa-rig #sTrail3{stroke-dasharray:17 13.9;opacity:.22;animation:trailTail var(--circle-dur, 2.4s) linear infinite}@keyframes trailHead{0%{stroke-dashoffset:-17.2}to{stroke-dashoffset:-48.1}}@keyframes trailMid{0%{stroke-dashoffset:-11.7}to{stroke-dashoffset:-42.6}}@keyframes trailTail{0%{stroke-dashoffset:-6.2}to{stroke-dashoffset:-37.1}}.numa-rig #sHead{transform-origin:75px 133px;animation:sulkNod calc(var(--circle-dur, 2.4s) * 2) ease-in-out infinite}@keyframes sulkNod{0%,to{transform:rotate(var(--sulk-tilt, 5deg))}50%{transform:rotate(calc(var(--sulk-tilt, 5deg) + 2.5deg))}}.numa-rig #sDot1,.numa-rig #sDot2,.numa-rig #sDot3{opacity:.2}.numa-rig #sDot1{animation:dotBlink var(--dots-dur, 1.8s) infinite}.numa-rig #sDot2{animation:dotBlink var(--dots-dur, 1.8s) infinite;animation-delay:calc(var(--dots-dur, 1.8s) / 3)}.numa-rig #sDot3{animation:dotBlink var(--dots-dur, 1.8s) infinite;animation-delay:calc(var(--dots-dur, 1.8s) * 2 / 3)}@keyframes dotBlink{0%,15%{opacity:.2}35%,55%{opacity:1}75%,to{opacity:.2}}.numa-rig #sGlance{transform-origin:96px 78px}.numa-rig #sEarFront{opacity:0}.numa-stage:not(.is-touching) .numa-rig:not(.is-npc) #sGlance,.numa-stage:not(.is-touching) .numa-rig:not(.is-npc) #sEarFront{opacity:0;animation:none}.numa-rig #sNoseSlide{transform:translate(9px)}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc) #nEars[data-crest],.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc) #nEars[data-crest],.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc) #nEars[data-crest]{animation:tapEarL var(--tap-dur, .85s) ease}.numa-stage.is-touching[data-touch-zone=longPress] .numa-rig:not(.is-npc) svg{transform:scale(.96) translateY(3px);transition:transform .3s ease}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt svg,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt svg,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt svg,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt .earAnimL,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt .earAnimL,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt .earAnimL,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt .earAnimR,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt .earAnimR,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt .earAnimR,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nEars[data-crest],.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nEars[data-crest],.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nEars[data-crest],.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFace,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFace,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFace,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nBlush,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nBlush,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nBlush,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFootL,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFootL,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFootL,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFootR,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFootR,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nFootR,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHeart,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHeart,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHeart{animation:none}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nEyes,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nEyes,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nEyes{opacity:1}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt .bodyIdle,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt .bodyIdle,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt .bodyIdle{animation:sighBody 1.7s ease-in-out}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHeadTilt,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHeadTilt,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHeadTilt{animation:sighHead 1.7s ease-in-out}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHandL,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHandL,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHandL{animation:sighHandL 1.7s ease-in-out}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHandR,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHandR,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nHandR{animation:sighHandR 1.7s ease-in-out}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt .sadFrown,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt .sadFrown,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt .sadFrown{animation:sighFrown 1.7s ease-in-out}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt #nMouthO,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt #nMouthO,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt #nMouthO{animation:sighMouthO 1.7s ease-in-out}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-sleep_debt .sadBreath,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-sleep_debt .sadBreath,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-sleep_debt .sadBreath{animation:sighBreath 1.7s ease-out}@keyframes sighBody{0%,to{transform:scale(1)}22%{transform:scale(.988,1.045)}34%{transform:scale(.988,1.04)}52%{transform:scale(1.02,.95)}80%{transform:scaleY(.99)}}@keyframes sighHead{0%,to{transform:rotate(-3deg) translateY(3.5px)}22%{transform:rotate(-1deg) translateY(1.5px)}34%{transform:rotate(-1deg) translateY(2px)}52%{transform:rotate(-3.5deg) translateY(5.5px)}80%{transform:rotate(-3deg) translateY(4px)}}@keyframes sighHandL{0%,to{transform:rotate(2deg)}22%{transform:rotate(-3deg)}52%{transform:rotate(-9deg)}}@keyframes sighHandR{0%,to{transform:rotate(-2deg)}22%{transform:rotate(3deg)}52%{transform:rotate(9deg)}}@keyframes sighFrown{0%,26%{opacity:1}32%,84%{opacity:0}92%,to{opacity:1}}@keyframes sighMouthO{0%,28%{opacity:0}34%,80%{opacity:1}88%,to{opacity:0}}@keyframes sighBreath{0%,36%{opacity:0;transform:translate(0) scale(.4)}46%{opacity:.9;transform:translate(4px,2px) scale(.95)}70%{opacity:.5;transform:translate(10px,7px) scale(1.2)}86%,to{opacity:0;transform:translate(15px,10px) scale(1.35)}}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent svg,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent svg,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent svg{animation:none}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sHead,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sHead,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sHead{animation:sGlanceTurn var(--glance-dur, 2s) cubic-bezier(.45,.05,.35,1)}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sNoseSlide,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sNoseSlide,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sNoseSlide{animation:sNoseIn var(--glance-dur, 2s) cubic-bezier(.45,.05,.35,1)}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sGlance,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sGlance,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sGlance{animation:sGlanceFace var(--glance-dur, 2s) ease}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sLid,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sLid,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sLid{animation:sSlowBlink var(--glance-dur, 2s) ease-in-out}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sRoot,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sRoot,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sRoot{transform-origin:75px 190px;animation:sBodyTurn var(--glance-dur, 2s) ease-in-out}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sEarL,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sEarL,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sEarL{animation:sEarFar var(--glance-dur, 2s) cubic-bezier(.45,.05,.35,1)}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sEarR,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sEarR,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sEarR{animation:sEarNearBack var(--glance-dur, 2s) ease}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sEarFront,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sEarFront,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sEarFront{animation:sEarNearFront var(--glance-dur, 2s) cubic-bezier(.45,.05,.35,1)}.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sArmUp,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sArmUp,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sArmUp,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sArmLo,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sArmLo,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sArmLo,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sTrail1,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sTrail1,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sTrail1,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sTrail2,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sTrail2,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sTrail2,.numa-stage.is-touching[data-touch-zone=top] .numa-rig:not(.is-npc).nr-state-silent #sTrail3,.numa-stage.is-touching[data-touch-zone=edge] .numa-rig:not(.is-npc).nr-state-silent #sTrail3,.numa-stage.is-touching[data-touch-zone=center] .numa-rig:not(.is-npc).nr-state-silent #sTrail3{animation-play-state:paused}@keyframes sGlanceTurn{0%,to{transform:rotate(var(--sulk-tilt, 5deg)) scaleX(1)}10%{transform:rotate(calc(var(--sulk-tilt, 5deg) + 2deg)) scaleX(1.02)}30%,62%{transform:rotate(calc(var(--sulk-tilt, 5deg) - 4deg)) scaleX(.94) translate(4px)}72%{transform:rotate(calc(var(--sulk-tilt, 5deg) - 1deg)) scaleX(.97) translate(1.5px)}88%{transform:rotate(calc(var(--sulk-tilt, 5deg) + 1.5deg)) scaleX(1.005)}}@keyframes sNoseIn{0%,to{transform:translate(9px)}10%{transform:translate(7px)}30%,62%{transform:translate(-2.5px)}72%{transform:translate(0)}88%{transform:translate(7px)}}@keyframes sGlanceFace{0%,16%{opacity:0;transform:translate(6px)}30%,70%{opacity:1;transform:translate(0)}84%,to{opacity:0;transform:translate(6px)}}@keyframes sSlowBlink{0%,34%{transform:translateY(0)}48%,56%{transform:translateY(3.2px)}70%{transform:translateY(.5px)}to{transform:translateY(0)}}@keyframes sBodyTurn{0%,to{transform:rotate(0)}30%,65%{transform:rotate(-2.5deg)}}@keyframes sEarFar{0%,to{transform:translate(0)}10%{transform:translate(-1px)}30%,62%{transform:translate(14px)}72%{transform:translate(4px)}}@keyframes sEarNearBack{0%,12%,78%,to{opacity:1}22%,68%{opacity:0}}@keyframes sEarNearFront{0%,12%{opacity:0;transform:translate(-6px)}26%{opacity:1;transform:translate(-34px)}30%,62%{opacity:1;transform:translate(-38px)}72%{opacity:1;transform:translate(-12px)}80%,to{opacity:0;transform:translate(0)}}.numa-rig[data-character-action] svg :is(#nRoot,#nHead,#nHeadTilt,#nHeadShape,#nEars,#nEars[data-crest],#nBody,#nShirt,#nHandL,#nHandR,#nTail,#nFootL,#nFootR,#nPantL,#nPantR,#nBlinkRect,#nEyes,#nFace,#nFaceIdle,#nBlush,#wRoot,#wHead,#wEar,#wTail,#wShadow,#wArmFront,#wArmBack,#wLegF,#wLegFLo,#wFootF,#wBlush,#tRoot,#tHead,#tArmL,#tArmR,#tTail){animation-delay:var(--phase, 0s)}.numa-rig[data-character-action] svg :is(.bodyIdle,.earIdle,.earAnimL,.earAnimR,.eyeAnimL,.eyeAnimR,.footIdleL,.footIdleR){animation-delay:var(--phase, 0s)}.wellness-card,.timeline-card,.metric-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.wellness-card{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:center;min-height:118px;padding:16px;color:var(--text);text-align:left}.is-clickable{cursor:pointer}.wellness-card span,.section-title span{color:var(--muted);font-size:.72rem;font-weight:720}.wellness-card strong{display:block;margin:8px 0;color:var(--text);font-size:1.7rem;line-height:1}.wellness-card p,.page-note{color:var(--muted);font-size:.88rem;line-height:1.48}.balance-ring{display:grid;width:96px;height:96px;place-items:center;border:1px solid rgba(169,215,255,.26);border-radius:999px;background:conic-gradient(from 220deg,var(--ice),var(--lavender),rgba(245,223,183,.86),rgba(255,255,255,.08) 74%),#ffffff0a;box-shadow:inset 0 0 0 10px #091120d6;color:var(--text);font-weight:780}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:132px;overflow:hidden}.metric-card-main{display:grid;gap:8px;width:100%;min-width:0;padding:13px 13px 10px;background:transparent;color:var(--text);text-align:left}.metric-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.78rem;font-weight:720}.metric-card-main svg{width:17px;height:17px;color:var(--lavender)}.metric-card strong{color:var(--text);font-size:1.24rem}.metric-card small{color:var(--soft)}.metric-action{display:inline-flex;width:fit-content;min-height:30px;align-items:center;justify-content:center;margin:0 13px 13px;padding:0 10px;border:1px solid rgba(169,215,255,.24);border-radius:999px;background:#a9d7ff14;color:var(--ice);font-size:.74rem;font-weight:760}.mini-trend{display:grid;width:var(--trend-bars-column);height:22px;grid-template-columns:repeat(var(--bar-count),minmax(2px,1fr));align-items:end;align-self:center;justify-self:start;gap:3px;transform:translateY(-3px)}.mini-trend i{display:block;height:var(--h);min-height:4px;border-radius:999px;background:linear-gradient(180deg,var(--ice),rgba(185,178,255,.66))}.timeline-card{display:grid;gap:12px;padding:14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title button{min-height:30px;padding:0 10px;border-radius:999px;background:#a9d7ff1a;color:var(--ice);font-size:.75rem;font-weight:760}.section-title small{color:var(--soft)}.timeline-card ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}.timeline-card li{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px}.timeline-card li span{color:var(--warm);font-size:.74rem;font-weight:760}.timeline-card li p{color:var(--muted);font-size:.86rem;line-height:1.42}.wellness-card,.timeline-card,.metric-card{position:relative;border:1px solid var(--numa-card-border);border-radius:var(--numa-card-radius);background:var(--numa-card-bg);box-shadow:var(--numa-card-shadow);color:var(--numa-ink)}.wellness-card:before,.timeline-card:before,.metric-card:before{position:absolute;top:0;right:0;left:0;height:3px;border-radius:var(--numa-card-radius) var(--numa-card-radius) 0 0;background:var(--numa-card-strip);content:"";opacity:.9}.wellness-card strong,.metric-card strong{color:var(--numa-ink)}.balance-ring{border-color:rgba(var(--numa-teal-rgb),.22);background:conic-gradient(from 220deg,var(--numa-teal),#2a93b9,var(--numa-lime),rgba(255,255,255,.9) 76%),#ffffffe0;box-shadow:inset 0 0 0 10px #f5fff9;color:var(--numa-ink)}.metric-card-main svg{color:var(--numa-teal)}.metric-action,.section-title button{border-color:rgba(var(--numa-teal-rgb),.18);background:rgba(var(--numa-teal-rgb),.1);color:#0f7a6a}.timeline-card li span{color:var(--numa-teal-deep)}.timeline-card li p{color:var(--numa-sage)}.balance-ring{color:var(--numa-ink)}.balance-ring-score{display:inline-flex;align-items:baseline;gap:1px}.balance-ring-score strong{margin:0;font-size:1.82rem;line-height:1}.balance-ring-score small{color:#31564f;font-size:.72rem;font-weight:760}.timeline-card{gap:16px;padding:16px 16px 18px}.timeline-card .section-title span{color:#152b27;font-size:.92rem;font-weight:760;line-height:1.2}.timeline-card ol{gap:12px}.timeline-card li{grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:start}.timeline-card li span{color:var(--numa-teal);font-size:.88rem;font-weight:820;line-height:1.45}.timeline-card li p{color:#5c736d;font-size:.94rem;line-height:1.45;white-space:normal;word-break:break-word}.metric-card{grid-template-rows:minmax(0,1fr)}.metric-card-main{padding-bottom:13px}.wellness-card{background:radial-gradient(circle at 86% 18%,rgba(223,255,69,.26),transparent 28%),var(--numa-card-bg)}.balance-ring{border-color:#26c3ac57;background:conic-gradient(from 220deg,#008fc5,#20e0bf 36%,#dfff45 66%,#ffffffeb 76%);box-shadow:inset 0 0 0 10px #ffffffdb,0 10px 26px #26c3ac2e}.balance-ring-score{display:grid;align-items:center;justify-items:center;gap:0;line-height:1}.balance-ring-score strong{color:#0d211d;font-size:1.72rem;font-weight:860;font-variant-numeric:tabular-nums}.balance-ring-score small{margin-top:2px;color:#5d7a72;font-size:.66rem;font-weight:740}[data-view=today] .metric-card-main{gap:6px;padding:15px 15px 13px}[data-view=today] .metric-card-head{color:#5d7a72;font-size:.82rem;font-weight:760}[data-view=today] .metric-card-main svg{width:19px;height:19px;color:#00b894}[data-view=today] .metric-card strong{margin-top:2px;color:#0d211d;font-size:1.66rem;font-weight:860;font-variant-numeric:tabular-nums;letter-spacing:-.01em;line-height:1.02}[data-view=today] .metric-card small{color:#5d7a72;font-size:.82rem;font-weight:640}.mini-trend{width:100%;transform:none}.mini-trend i{background:linear-gradient(180deg,#20e0bf,#00b894 52%,#008fc5);box-shadow:0 5px 12px #00b8942e}.wellness-card{min-height:0;padding:18px 16px 16px;gap:0}.wellness-card span{color:var(--numa-teal-deep);font-size:.72rem;font-weight:820;letter-spacing:.14em}.wellness-card strong{margin:7px 0 6px;font-size:1.32rem;font-weight:820;letter-spacing:.01em;line-height:1.32}.wellness-card p{color:var(--numa-sage);font-size:.9rem;line-height:1.55}[data-view=today] .metric-card small{display:inline-flex;align-items:center;gap:6px}[data-view=today] .metric-card small:before{flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:var(--numa-teal);box-shadow:0 0 0 3px rgba(var(--numa-teal-rgb),.14);content:""}.timeline-card li{grid-template-columns:44px 26px minmax(0,1fr);gap:10px}.timeline-type{display:grid;width:26px;height:26px;place-items:center;margin-top:-3px;border-radius:9px;background:rgba(var(--numa-teal-rgb),.1);color:var(--numa-teal-deep);font-style:normal}.timeline-type svg{width:14px;height:14px}.today-data-source{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;padding:8px 12px;border:1px solid var(--numa-card-border);border-radius:var(--numa-card-radius);background:var(--numa-card-bg)}.today-data-source-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;color:#5d7a72;font-size:.78rem;font-weight:640}.today-data-status{display:inline-flex;align-items:center;gap:6px;color:var(--numa-teal-deep);font-weight:800}.today-data-status:before{flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:var(--numa-teal);content:""}.today-data-source[data-tone=blocked] .today-data-status{color:#8a6d3b}.today-data-source[data-tone=blocked] .today-data-status:before{background:#d9a441}.today-data-source[data-tone=checking] .today-data-status:before{background:#8fb3c9}.today-data-detail,.today-data-updated{color:#7b928b}.today-data-badge{padding:2px 8px;border:1px solid rgba(var(--numa-teal-rgb),.2);border-radius:999px;background:rgba(var(--numa-teal-rgb),.08);color:var(--numa-teal-deep);font-size:.7rem;font-weight:760}.today-connect-entry{flex:0 0 auto;min-height:30px;padding:0 12px;border:1px solid rgba(var(--numa-teal-rgb),.18);border-radius:999px;background:rgba(var(--numa-teal-rgb),.1);color:#0f7a6a;font-size:.76rem;font-weight:780;cursor:pointer}.today-connect-entry:disabled{opacity:.55;cursor:default}.wellness-card{background:radial-gradient(circle at 86% 18%,rgba(185,217,106,.28),transparent 30%),var(--numa-card-bg)}.balance-ring{border-color:#4a964557;background:conic-gradient(from 220deg,#3a7d37,#6bb45f 36%,#cde08a 66%,#ffffffeb 76%);box-shadow:inset 0 0 0 10px #ffffffe6,0 10px 26px #4a96452e}.balance-ring-score strong,.wellness-card strong{font-family:Georgia,"Noto Serif SC",Songti SC,serif}.balance-ring-score small,[data-view=today] .metric-card-head,[data-view=today] .metric-card small{color:#7a8a70}[data-view=today] .metric-card-main svg{color:#4a9645}[data-view=today] .metric-card strong{color:#33422e}.metric-action,.section-title button{border-color:#4a964533;background:#4a96451a;color:#3a7d37}.timeline-card li span{color:#4a9645}.mini-trend i{background:linear-gradient(180deg,#a7cd74,#6bb45f 52%,#4a9645);box-shadow:0 5px 12px #4a96452e}.today-connect-wrap{display:grid;gap:4px;justify-items:end}.today-connect-note{max-width:200px;color:var(--muted);font-size:.68rem;line-height:1.45;text-align:right}.trend-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.trend-row-visual .mini-trend{width:100%;transform:none}.trend-section-title{display:flex;align-items:center;min-height:26px;padding:4px 2px 0}.trend-section-title span{color:var(--text);font-size:1.03rem;font-weight:760;line-height:1}.trend-list{display:grid;gap:10px}.trend-row{display:grid;align-items:center;min-width:0;color:var(--text);text-align:left}.trend-row{grid-template-columns:48px minmax(0,1fr) minmax(104px,.58fr) 20px;gap:12px;min-height:92px;padding:12px 13px;overflow:hidden}.trend-row-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(169,215,255,.16);border-radius:999px;background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.1),transparent 34%),#a9d7ff1a;color:var(--lavender)}.trend-row-icon svg{width:20px;height:20px;color:var(--lavender)}.trend-row-copy{display:grid;gap:4px;min-width:0}.trend-row-copy>span{overflow:hidden;font-size:.96rem;font-weight:760;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.trend-row-copy strong{overflow:hidden;color:var(--text);font-size:1.16rem;font-weight:780;font-variant-numeric:tabular-nums;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.trend-row-copy small{overflow:hidden;color:var(--soft);font-size:.77rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.trend-row-meta{display:grid;gap:5px;min-width:0;justify-items:stretch}.trend-row-visual{display:grid;min-width:0;height:34px;align-items:end}.trend-row-visual.is-summary{align-items:center;justify-items:end}.trend-row-summary-value{overflow:hidden;color:var(--muted);font-size:.82rem;font-weight:760;line-height:1;text-align:right;text-overflow:ellipsis;white-space:nowrap}.trend-line-chart{display:block;width:100%;height:34px;overflow:visible}.trend-row .trend-line-chart{width:100%;height:34px}.trend-line-chart polyline{fill:none;stroke:var(--ice);stroke-linecap:round;stroke-linejoin:round;stroke-width:3;vector-effect:non-scaling-stroke}.trend-row-range{overflow:hidden;min-width:0;color:var(--soft);font-size:.76rem;line-height:1;text-align:right;text-overflow:ellipsis;white-space:nowrap}.trend-row>svg:last-child{width:18px;height:18px;justify-self:end;color:var(--muted)}.ntrends-card{display:grid;gap:12px;padding:16px;overflow:hidden}.ntrends-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ntrends-eyebrow{color:var(--numa-teal-deep);font-size:.72rem;font-weight:820;letter-spacing:.14em}.ntrends-seg{display:grid;grid-template-columns:repeat(3,44px);gap:2px;padding:3px;border:1px solid rgba(var(--numa-teal-rgb),.18);border-radius:999px;background:#ecfff8e6}.ntrends-seg button{min-height:28px;border-radius:999px;background:transparent;color:#3f6e64;font-size:.78rem;font-weight:780}.ntrends-seg button.is-active{background:var(--numa-primary-gradient);color:var(--numa-on-teal);box-shadow:0 6px 14px rgba(var(--numa-teal-rgb),.32)}.ntrends-metrics{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.ntrends-metrics::-webkit-scrollbar{display:none}.ntrends-metric{flex:0 0 auto;min-height:30px;padding:0 13px;border:1px solid rgba(var(--numa-teal-rgb),.18);border-radius:999px;background:#ffffffd9;color:#3f6e64;font-size:.78rem;font-weight:780}.ntrends-metric.is-active{border-color:rgba(var(--numa-teal-rgb),.5);background:rgba(var(--numa-teal-rgb),.13);color:#0f7a6a;font-weight:840}.ntrends-summary{display:flex;align-items:baseline;gap:10px}.ntrends-summary strong{color:var(--numa-ink);font-size:1.62rem;font-weight:860;font-variant-numeric:tabular-nums;line-height:1}.ntrends-summary span{color:var(--numa-muted);font-size:.76rem;font-weight:720}.ntrends-chart{display:block;width:100%;height:auto}.ntrends-base{stroke:#13665824;stroke-width:1}.ntrends-bar-now{fill:url(#ntrends-fill)}.ntrends-bar-prev{fill:rgba(var(--numa-teal-rgb),.18)}.ntrends-axis{fill:var(--numa-subtle);font-size:10px;font-weight:700}.ntrends-legend{display:flex;gap:14px;justify-content:flex-end}.ntrends-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--numa-muted);font-size:.7rem;font-weight:740}.ntrends-legend i{display:block;width:10px;height:10px;border-radius:3px}.ntrends-legend .is-now i{background:var(--numa-current-gradient)}.ntrends-legend .is-prev i{background:rgba(var(--numa-teal-rgb),.22)}.trend-row,.ntrends-card{position:relative;border:1px solid var(--numa-card-border);border-radius:var(--numa-card-radius);background:var(--numa-card-bg);box-shadow:var(--numa-card-shadow);color:var(--numa-ink)}.trend-row:before,.ntrends-card:before{position:absolute;top:0;right:0;left:0;height:3px;border-radius:var(--numa-card-radius) var(--numa-card-radius) 0 0;background:var(--numa-card-strip);content:"";opacity:.9}.trend-row-copy strong{color:var(--numa-ink)}.trend-row-icon svg{color:var(--numa-teal)}.mini-trend i{background:var(--numa-current-gradient)}.trend-section-title span{color:var(--numa-ink)}.trend-line-chart polyline{stroke:var(--numa-teal);stroke-width:2.6;opacity:.85}.trend-row-icon{border-color:rgba(var(--numa-teal-rgb),.16);background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.5),transparent 40%),rgba(var(--numa-teal-rgb),.08)}.ntrends-card{border-color:#4a964524}.ntrends-seg button.is-active,.ntrends-tab.is-active{background:linear-gradient(180deg,#55a24f,#3a7d37);color:#f4fbef;box-shadow:0 6px 14px #4a964538}.ntrends-bar-now,.ntrends-bar.is-now{background:linear-gradient(180deg,#cde08a,#6bb45f)}.ntrends-bar-prev,.ntrends-bar.is-prev{background:#4a964529}.ntrends-value,.ntrends-headline{font-family:Georgia,"Noto Serif SC",Songti SC,serif;color:#33422e}.realm-p0-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 2px 10px}.realm-p0-titles h1{margin:0;font-size:1.32rem;line-height:1.2;color:#244f4c}.realm-p0-location{display:block;margin-top:2px;font-size:.86rem;color:#667f79}.realm-p0-header-side{display:flex;align-items:center;gap:8px;padding-top:4px}.realm-p0-capsule{padding:4px 10px;border-radius:999px;background:#d9f0e7;color:#126f66;font-size:.78rem;white-space:nowrap}.realm-p0-footprint{padding:4px 10px;border-radius:999px;border:1px solid rgba(37,91,82,.13);background:#fffdf8;color:#667f79;font-size:.78rem;white-space:nowrap}.realm-p0-stage{position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(37,91,82,.13);box-shadow:0 9px 22px #275b5217;background:#e6f0e4}.realm-p0-scene{display:block;width:100%}.realm-p0-scene #nHeart,.realm-p0-scene #nQuest,.realm-p0-scene #nSad,.realm-p0-scene #nMouthO{display:none}.realm-p0-scene svg{display:block;width:100%;height:clamp(230px,38vh,340px)}.realm-p0-caption{position:absolute;left:12px;right:12px;bottom:10px;margin:0;text-align:center;font-size:.84rem;color:#3f5f57;text-shadow:0 1px 0 rgba(255,255,255,.6)}.realm-p0-card{margin-top:12px;padding:16px 16px 14px;border-radius:18px;border:1px solid rgba(37,91,82,.13);background:#fffdf8;box-shadow:0 9px 22px #275b5217;display:grid;gap:10px}.realm-p0-card h2{margin:0;font-size:1.05rem;color:#244f4c}.realm-p0-card p{margin:0;font-size:.9rem;line-height:1.6;color:#3f5f57}.realm-p0-history-hint{margin:0;padding:8px 12px;border-radius:12px;border:1px dashed rgba(21,155,125,.4);background:#f6fbf4;color:#126f66!important;font-size:.84rem!important}.realm-p0-expression{padding:10px 12px;border-radius:12px;background:#eef7f0;color:#126f66!important}.realm-p0-change{color:#667f79!important}.realm-p0-options{display:grid;gap:10px}.realm-p0-option{min-height:48px;padding:12px 16px;border-radius:14px;border:1px solid rgba(21,155,125,.35);background:#f2faf5;color:#126f66;font-size:.94rem;text-align:left;cursor:pointer}.realm-p0-option:active{background:#d9f0e7}.realm-p0-primary{min-height:48px;padding:12px 16px;border-radius:14px;border:none;background:#159b7d;color:#fffdf8;font-size:.94rem;cursor:pointer}.realm-p0-secondary{min-height:44px;padding:10px 16px;border-radius:14px;border:none;background:transparent;color:#126f66;font-size:.9rem;cursor:pointer}.realm-p0-trace-entry{margin-top:12px;width:100%;min-height:48px;padding:12px 16px;border-radius:14px;border:1px solid rgba(37,91,82,.13);background:#fffdf8;color:#3f5f57;font-size:.9rem;text-align:left;cursor:pointer;box-shadow:0 4px 12px #275b520f}.app-shell:has(.realm-p0-trace-sheet.is-open) .bottom-tabs{visibility:hidden}.app-view[data-view=realm]:has(.realm-p0-trace-sheet.is-open){animation:none}.realm-p0-trace-sheet{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:#e0eedd;transform:translateY(8px);opacity:0;pointer-events:none;transition:transform .28s ease,opacity .28s ease}.realm-p0-trace-sheet.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.realm-p0-trace-bar{display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 10px;background:#e0eedd}.realm-p0-trace-back{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;border:1px solid rgba(37,91,82,.13);background:#fffdf8;color:#244f4c;cursor:pointer}.realm-p0-trace-back svg{width:18px;height:18px}.realm-p0-trace-title{font-size:1rem;font-weight:600;color:#244f4c}.realm-p0-trace-scroll{flex:1;overflow-y:auto;padding:4px 16px calc(env(safe-area-inset-bottom,0px) + 20px);display:grid;gap:14px;align-content:start}.realm-p0-trace{padding:16px;border-radius:18px;border:1px solid rgba(37,91,82,.13);background:#fffdf8;box-shadow:0 9px 22px #275b5217}.realm-p0-trace h2{margin:0 0 2px;font-size:1.05rem;color:#244f4c}.realm-p0-trace-meta{margin:0 0 10px;font-size:.8rem;color:#667f79}.realm-p0-trace-section{padding:10px 0;border-top:1px solid rgba(37,91,82,.09)}.realm-p0-trace-section h3{margin:0 0 4px;font-size:.82rem;color:#126f66}.realm-p0-trace-section p{margin:0;font-size:.9rem;line-height:1.6;color:#3f5f57}.realm-p0-trace-continuation{margin-top:12px;padding-top:12px;border-top:2px solid rgba(21,155,125,.25)}.realm-p0-trace-cont-heading{margin:0 0 6px;font-size:.88rem;color:#159b7d}.realm-p0-trace-empty{margin:24px 8px;text-align:center;color:#667f79}.realm-p0-trace-return{margin-top:4px}.tab-icon-box{position:relative}.tab-todo-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;background:#d1a14e;border:2px solid #fffdf8}.numa-journey-sync{position:absolute;left:14px;right:14px;bottom:calc(var(--home-input-height, 72px) + var(--home-control-gap, 12px) + 8px);z-index:6;display:grid;gap:6px;padding:12px 14px;border-radius:16px;border:1px solid rgba(37,91,82,.13);background:#fffdf8f0;box-shadow:0 9px 22px #275b5217}.numa-journey-status{font-size:.74rem;color:#667f79}.numa-journey-body strong{display:block;font-size:.92rem;color:#244f4c}.numa-journey-body p{margin:4px 0 0;font-size:.82rem;line-height:1.5;color:#3f5f57}.numa-journey-source{display:block;margin-top:4px;font-size:.72rem;color:#8aa19a}.numa-journey-link{justify-self:start;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid rgba(21,155,125,.35);background:#f2faf5;color:#126f66;font-size:.82rem;cursor:pointer}.app-view.realm-life-view{position:relative;gap:12px;padding:calc(var(--home-safe-top) + 10px) 14px 14px;overflow:hidden;background:radial-gradient(circle at 78% 11%,rgba(189,215,104,.3),transparent 26%),linear-gradient(180deg,#f7f1df,#edf2e7 42%,#dcebdd);color:#263a35}.realm-life-view .realm-p0-header{position:relative;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:72px;padding:0 4px}.realm-life-titles{display:grid;gap:2px}.realm-life-kicker{color:#5e887d;font-size:.58rem;font-weight:850;letter-spacing:.22em}.realm-life-titles h1{margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(2.05rem,9vw,2.8rem);font-weight:700;letter-spacing:-.07em;line-height:.98}.realm-life-titles p{margin:4px 0 0;color:#263a3594;font-size:.68rem}.realm-life-now{display:grid;gap:5px;justify-items:end;padding-bottom:2px}.realm-life-now span,.realm-life-now small{display:flex;gap:5px;align-items:center}.realm-life-now span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem;font-weight:780;letter-spacing:.04em}.realm-life-now small{max-width:128px;color:#263a359e;font-size:.64rem;line-height:1.2;text-align:right}.realm-life-now svg{width:13px;height:13px;stroke-width:1.8}.realm-life-header-side{display:grid;gap:6px;justify-items:end}.realm-life-header-side .daily-life-testclock__panel{top:calc(env(safe-area-inset-top,0px) + 104px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 104px - var(--system-safe-bottom) - 84px)}.daily-life-testclock{position:relative;z-index:18;color:#294e47;pointer-events:auto}.daily-life-testclock__toggle{display:grid;grid-template-columns:14px auto auto 12px;gap:5px;align-items:center;min-height:31px;padding:5px 8px;border:1px solid rgba(255,255,255,.72);border-radius:12px;background:#f9f8ede0;box-shadow:0 8px 20px #1f443a29;color:#315b52;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.daily-life-testclock__toggle>svg:first-child{width:14px;height:14px;stroke-width:1.9}.daily-life-testclock__toggle span{color:#2e7868;font-size:.58rem;font-weight:880;letter-spacing:.08em}.daily-life-testclock__toggle strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;font-weight:760;letter-spacing:.02em}.daily-life-testclock__chevron{width:12px;height:12px;transition:transform .18s ease}.daily-life-testclock.is-expanded .daily-life-testclock__chevron{transform:rotate(180deg)}.daily-life-testclock__panel{position:fixed;z-index:40;top:calc(var(--home-safe-top) + 56px);right:max(clamp(14px,4.8vw,20px),env(safe-area-inset-right,0px));left:auto;display:grid;width:min(310px,calc(100vw - max(clamp(14px,4.8vw,20px),env(safe-area-inset-left,0px)) - max(clamp(14px,4.8vw,20px),env(safe-area-inset-right,0px))));max-height:calc(100dvh - var(--home-safe-top) - 56px - var(--system-safe-bottom) - 84px);gap:12px;padding:14px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(62,104,92,.2);border-radius:20px 8px 20px 20px;background:#f9f8edf7;box-shadow:0 22px 48px #1e403740;color:#294e47;text-align:left;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.daily-life-testclock__heading{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:baseline;padding-bottom:9px;border-bottom:1px solid rgba(62,104,92,.12)}.daily-life-testclock__heading strong{font-size:.86rem}.daily-life-testclock__heading span{overflow:hidden;color:#294e47a3;font-size:.66rem;text-align:right;text-overflow:ellipsis;white-space:nowrap}.daily-life-testclock__section{display:grid;gap:6px}.daily-life-testclock__label{color:#294e47ad;font-size:.64rem;font-weight:700}.daily-life-testclock__actions{display:flex;flex-wrap:wrap;gap:6px}.daily-life-testclock__actions button,.daily-life-testclock__reset{min-height:31px;padding:6px 9px;border:1px solid rgba(46,120,104,.2);border-radius:10px;background:#fffef8;color:#2e7868;font-size:.7rem;font-weight:680;cursor:pointer}.daily-life-testclock__actions button[data-active]{border-color:#2e786880;background:#dceee4;box-shadow:inset 0 0 0 1px #ffffff9e}.daily-life-testclock__reset{justify-self:start;border-color:#a65d5742;color:#a65d57}.daily-life-testclock button:focus-visible{outline:2px solid #2e7868;outline-offset:2px}.app-view[data-view=home] .home-chrome:has(.daily-life-testclock.is-expanded){z-index:30}.app-view[data-view=home] .daily-life-testclock__toggle,.realm-life-header-side .daily-life-testclock__toggle{min-width:76px}.realm-life-header-side .daily-life-testclock__toggle{border-color:#3e685c24;box-shadow:0 5px 14px #2d50451a}.realm-life-view>.realm-life-stage{position:relative;z-index:1;min-height:0;flex:1 1 auto;overflow:hidden;border:1px solid rgba(72,104,92,.14);border-radius:34px 34px 46px 28px;background:#dcebdd;box-shadow:0 24px 60px #415b522e,inset 0 1px #ffffffb8}.realm-life-map{position:absolute;inset:0;overflow:hidden;transform:translateZ(0);transition:filter .36s ease,transform .52s cubic-bezier(.2,.8,.2,1)}.realm-life-map:after{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 28%),radial-gradient(circle at 50% 55%,transparent 52%,rgba(38,58,53,.13) 118%);content:"";pointer-events:none}.realm-life-terrain{display:block;width:100%;height:100%}.realm-map-mist{fill:#ffffff6b}.realm-map-ground.ground-one{fill:#c8dfb7}.realm-map-ground.ground-two{fill:#b8d5a8;opacity:.64}.realm-map-creek{fill:none;stroke:#78b9ae;stroke-linecap:round;stroke-width:8;opacity:.78}.realm-map-creek-glint{fill:none;stroke:#ffffffa3;stroke-dasharray:1 4;stroke-linecap:round;stroke-width:1.3}.realm-map-path{fill:none;stroke:#8a6b504d;stroke-dasharray:1.3 2.3;stroke-linecap:round;stroke-width:2.1}.realm-map-active-route{fill:none;stroke:#fffadaf2;stroke-dasharray:.1 3.3;stroke-linecap:round;stroke-width:2.8;filter:drop-shadow(0 1px 2px rgba(96,119,80,.38));animation:realm-route-flow 2s linear infinite}.realm-map-foliage path:first-child{fill:#89aa71;opacity:.74}.realm-map-foliage path:last-child{fill:none;stroke:#6e9060;stroke-linecap:round;stroke-width:.7}.realm-map-landmarks{position:absolute;inset:0}.realm-landmark{position:absolute;z-index:2;display:grid;gap:3px;justify-items:center;min-width:54px;color:#263a35ad;font-size:.58rem;font-weight:720;text-shadow:0 1px rgba(255,255,255,.58);transform:translate(-50%,-50%);transition:color .22s ease,transform .22s ease}.realm-landmark.is-active{z-index:3;color:#263a35;transform:translate(-50%,-50%) scale(1.06)}.realm-landmark-glyph{position:relative;display:block;width:26px;height:22px;filter:drop-shadow(0 3px 3px rgba(60,87,72,.18))}.realm-landmark-glyph i{position:absolute;display:block}.realm-landmark-glyph.is-home i:first-child{inset:7px 3px 0;border-radius:7px 7px 4px 4px;background:#f7e7bd}.realm-landmark-glyph.is-home i:last-child{top:1px;left:5px;width:18px;height:13px;border-radius:70% 12%;background:#8a6b50;transform:rotate(-9deg)}.realm-landmark-glyph.is-market i{bottom:0;width:9px;height:17px;border-radius:9px 9px 3px 3px;background:#e3c87b}.realm-landmark-glyph.is-market i:nth-child(1){left:0;transform:rotate(-7deg)}.realm-landmark-glyph.is-market i:nth-child(2){left:9px;height:21px;background:#d79c6a}.realm-landmark-glyph.is-market i:nth-child(3){right:0;transform:rotate(7deg);background:#9ab97f}.realm-landmark-glyph.is-trail i{top:2px;width:13px;height:20px;border-radius:90% 12%;background:#73985e}.realm-landmark-glyph.is-trail i:first-child{left:2px;transform:rotate(-18deg)}.realm-landmark-glyph.is-trail i:last-child{right:2px;transform:scaleX(-1) rotate(-18deg)}.realm-landmark-glyph.is-slope i{bottom:0;width:17px;height:12px;border-radius:50% 50% 4px 4px;background:#bdd768}.realm-landmark-glyph.is-slope i:first-child{left:0}.realm-landmark-glyph.is-slope i:last-child{right:0;bottom:4px;background:#96bc63}.realm-landmark-glyph.is-creek i{inset:4px 0;border:4px solid #6faea6;border-top-color:transparent;border-radius:50%;transform:rotate(-14deg)}.realm-landmark-glyph.is-square i:first-child{right:11px;bottom:0;width:3px;height:17px;background:#6d7f65}.realm-landmark-glyph.is-square i:last-child{top:0;left:7px;width:13px;height:12px;border-radius:50%;background:#f5da79;box-shadow:0 0 12px #f5da79bd}.realm-numa-marker{position:absolute;z-index:7;display:grid;width:48px;justify-items:center;padding:0;border:0;background:transparent;color:#263a35;transform:translate(-50%,-60%);transition:transform .22s ease}.realm-numa-marker:active{transform:translate(-50%,-57%) scale(.94)}.realm-numa-portrait{position:relative;z-index:2;display:flex;width:38px;height:38px;align-items:center;justify-content:center;gap:5px;border:2px solid rgba(255,255,255,.9);border-radius:48% 52% 46% 54%;background:radial-gradient(circle at 66% 24%,rgba(189,215,104,.8),transparent 23%),linear-gradient(145deg,#fffdf3,#cce5db);box-shadow:0 6px 16px #294a3d4d;animation:realm-numa-float 2.8s ease-in-out infinite}.realm-numa-portrait i{position:absolute;top:-5px;width:21px;height:15px;border-radius:80% 12%;background:#f5f1dd;transform:rotate(19deg)}.realm-numa-portrait b{z-index:1;color:#263a35;font-size:.76rem;line-height:1}.realm-numa-marker small{width:max-content;max-width:94px;margin-top:4px;padding:3px 7px;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#fffdf0d1;box-shadow:0 3px 9px #3750451a;font-size:.52rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.realm-numa-pulse{position:absolute;z-index:0;top:2px;width:42px;height:42px;border:1px solid rgba(255,255,255,.86);border-radius:50%;animation:realm-marker-pulse 2.4s ease-out infinite}.realm-companion-marker{position:absolute;z-index:5;display:grid;gap:2px;justify-items:center;transform:translate(-50%,-50%)}.realm-companion-marker>span{display:grid;width:27px;height:27px;place-items:center;border:2px solid rgba(255,255,255,.76);border-radius:50%;background:var(--companion-color);color:#263a35;font-size:.62rem;font-weight:850;box-shadow:0 4px 11px #3c504433}.realm-companion-marker small{color:#263a35b3;font-size:.48rem;font-weight:760}.realm-companion-marker.is-present{transform:translate(-50%,-50%) scale(.88)}.realm-life-map-caption{position:absolute;right:14px;bottom:14px;left:14px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:7px 10px 7px 8px;border:1px solid rgba(255,255,255,.64);border-radius:16px;background:#fffdefa8;color:#263a35;box-shadow:0 8px 24px #3b52481f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.realm-life-map-caption span{display:flex;gap:6px;align-items:center;font-size:.68rem;font-weight:800}.realm-life-map-caption i{display:block;width:8px;height:8px;border-radius:50%;background:#78b9ae;box-shadow:0 0 0 4px #78b9ae29}.realm-life-map-caption p{margin:0;color:#263a358f;font-size:.56rem}.realm-life-whispers{position:relative;z-index:2;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;align-items:center;min-height:42px;padding:7px 12px;border:1px solid rgba(66,93,82,.11);border-radius:18px;background:#fffdf48f}.realm-life-whispers span{color:#63867b;font-size:.58rem;font-weight:820;letter-spacing:.05em}.realm-life-whispers p{margin:0;overflow:hidden;color:#263a35b8;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.realm-life-sheet{position:absolute;right:14px;bottom:14px;left:14px;z-index:10;display:grid;gap:8px;padding:17px;border:1px solid rgba(255,255,255,.7);border-radius:28px 28px 32px 22px;background:radial-gradient(circle at 92% 0,rgba(189,215,104,.28),transparent 28%),#fffdf4eb;box-shadow:0 26px 64px #2b453c40;opacity:0;transform:translateY(calc(100% + 28px));transition:opacity .26s ease,transform .38s cubic-bezier(.2,.8,.2,1);pointer-events:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.realm-life-sheet.is-open{opacity:1;transform:translateY(0);pointer-events:auto}.realm-life-sheet-close{position:absolute;top:13px;right:13px;display:grid;width:29px;height:29px;place-items:center;border-radius:50%;background:#263a3512;color:#263a359e}.realm-life-sheet-close svg{width:14px;height:14px}.realm-life-sheet-eyebrow{display:flex;gap:5px;align-items:center;margin:0;color:#648b7f;font-size:.62rem;font-weight:780}.realm-life-sheet-eyebrow svg{width:13px;height:13px}.realm-life-sheet h2{margin:0;padding-right:32px;font-family:STKaiti,KaiTi,serif;font-size:1.48rem;line-height:1.1}.realm-life-sheet-copy{margin:0;color:#263a35bd;font-size:.76rem;line-height:1.55}.realm-life-sheet-companions{width:max-content;margin:0;padding:4px 8px;border-radius:999px;background:#78b9ae1f;color:#527b70;font-size:.6rem;font-weight:720}.realm-life-sheet-thread{display:grid;grid-template-columns:18px minmax(0,1fr);gap:7px;margin:3px 0 0;padding:9px 10px;border-radius:14px;background:#bdd7681f;color:#263a35ab;font-size:.61rem;line-height:1.45}.realm-life-sheet-thread svg{width:15px;color:#8ba843}.realm-life-sheet-thread b{display:block;margin-bottom:2px;color:#435c54}.realm-life-open-numa{display:flex;width:100%;min-height:45px;align-items:center;justify-content:center;gap:8px;margin-top:2px;border:0;border-radius:16px;background:#263a35;color:#f7f4df;font-size:.78rem;font-weight:780;box-shadow:0 10px 24px #263a3533}.realm-life-open-numa svg{width:16px;height:16px}.realm-life-enter-transition{position:absolute;z-index:30;inset:0;overflow:hidden;opacity:0;pointer-events:none}.realm-life-enter-transition span{position:absolute;left:var(--focus-x);top:var(--focus-y);width:42px;height:42px;border-radius:50%;background:#f5f0dc;box-shadow:0 0 0 3px #ffffff80;transform:translate(-50%,-50%) scale(0)}.realm-life-enter-transition p{position:absolute;right:0;bottom:24%;left:0;margin:0;color:#263a35;font-family:STKaiti,KaiTi,serif;font-size:1.05rem;text-align:center;opacity:0;transform:translateY(8px)}.realm-life-view.is-entering-numa .realm-life-map{filter:blur(2px);transform:scale(1.12)}.realm-life-view.is-entering-numa .realm-life-enter-transition{opacity:1}.realm-life-view.is-entering-numa .realm-life-enter-transition span{animation:realm-enter-numa .56s cubic-bezier(.7,0,.4,1) both}.realm-life-view.is-entering-numa .realm-life-enter-transition p{animation:realm-enter-label .42s .12s ease both}.app-view[data-view=home][data-life-scene]{background:#dcebdd}.app-view[data-life-scene] .numa-hero{position:relative;z-index:3;padding-top:calc(var(--home-safe-top) + 64px)}.app-view[data-life-scene] .numa-stage:before{background:radial-gradient(circle at 50% 52%,rgba(255,251,222,.4),transparent 48%)}.app-view[data-life-scene] .numa-stage{overflow:visible;border-color:transparent;background:transparent;box-shadow:none}.app-view[data-life-scene] .numa-stage:after{opacity:0}.numa-life-scene{position:absolute;z-index:auto;inset:0;overflow:hidden;color:#263a35;pointer-events:none}.numa-life-background,.numa-life-layer,.numa-life-set{position:absolute;inset:0}.numa-life-background{z-index:0;overflow:hidden;background:#dcebdd}.numa-life-background:after{position:absolute;z-index:9;inset:0;background:linear-gradient(180deg,rgba(27,51,45,.08),transparent 22%,transparent 58%,rgba(20,40,35,.42) 100%),radial-gradient(circle at 50% 45%,transparent 44%,rgba(25,45,39,.14) 105%);content:""}.numa-life-scene[data-time-tone=night] .numa-life-background:after{background:linear-gradient(180deg,#14252b80,#162a2840 50%,#0c1b199e)}.numa-life-scene[data-time-tone=dusk] .numa-life-background:after{background:linear-gradient(180deg,rgba(126,91,77,.16),transparent 45%,rgba(28,48,41,.48))}.numa-life-layer{width:132%;left:-16%;background-repeat:repeat-x;will-change:transform}.numa-life-layer.layer-sky{background:radial-gradient(circle at 78% 13%,rgba(255,246,188,.86) 0 5%,transparent 17%),linear-gradient(180deg,#c6e4dc,#e8ebc7 52%,#b9d0a7)}.numa-life-layer.layer-far{top:26%;background:radial-gradient(ellipse at 8% 100%,#9ebf91 0 23%,transparent 24%),radial-gradient(ellipse at 42% 100%,#a9c999 0 28%,transparent 29%),radial-gradient(ellipse at 75% 100%,#8fb388 0 24%,transparent 25%),radial-gradient(ellipse at 110% 100%,#a8c397 0 31%,transparent 32%);opacity:.88}.numa-life-layer.layer-mid{top:49%;background:radial-gradient(ellipse at 5% 100%,#779b70 0 23%,transparent 24%),radial-gradient(ellipse at 31% 100%,#8bad78 0 30%,transparent 31%),radial-gradient(ellipse at 62% 100%,#6f9469 0 22%,transparent 23%),radial-gradient(ellipse at 91% 100%,#89aa74 0 29%,transparent 30%);opacity:.74}.numa-life-layer.layer-near{top:67%;background:radial-gradient(ellipse at 10% 100%,#5f8060 0 24%,transparent 25%),radial-gradient(ellipse at 39% 100%,#769667 0 22%,transparent 23%),radial-gradient(ellipse at 70% 100%,#5c7d5d 0 26%,transparent 27%),radial-gradient(ellipse at 102% 100%,#6f8d63 0 30%,transparent 31%);opacity:.8}.numa-life-layer.layer-front{top:86%;z-index:7;background:linear-gradient(180deg,transparent,rgba(37,63,54,.84))}.numa-life-set{z-index:4}.numa-life-set-shape{position:absolute;display:block}.numa-life-set.is-budshell-home{background:linear-gradient(90deg,rgba(113,89,64,.92) 0 4%,transparent 4% 96%,rgba(113,89,64,.92) 96%),linear-gradient(180deg,#d8c8a6 0 65%,#9d8061 65% 68%,#75604b 68% 100%)}.numa-life-set.is-budshell-home .shape-a{top:13%;left:8%;width:38%;height:38%;border:9px solid #8a6b50;border-radius:52% 48% 43% 57%;background:linear-gradient(90deg,transparent 48%,rgba(138,107,80,.72) 48% 52%,transparent 52%),linear-gradient(180deg,transparent 48%,rgba(138,107,80,.72) 48% 52%,transparent 52%),linear-gradient(160deg,#d9eee3,#a6c8ad);box-shadow:inset 0 0 35px #fff6be66}.numa-life-set.is-budshell-home .shape-b{right:4%;bottom:29%;width:35%;height:9px;border-radius:999px;background:#765d47;box-shadow:0 -48px #765d47}.numa-life-set.is-budshell-home .shape-c{right:9%;bottom:32%;width:15%;height:17%;border-radius:46% 54% 12px 12px;background:#b6ce75;box-shadow:-62px 12px 0 -5px #d7a96f}.numa-life-set.is-budshell-home .shape-d{left:4%;bottom:6%;width:42%;height:17%;border-radius:50% 48% 20% 18%;background:#c5a47c;box-shadow:inset 0 7px #fff2cc57}.numa-life-set.is-morning-market .shape-a,.numa-life-set.is-morning-market .shape-b,.numa-life-set.is-morning-market .shape-c{top:19%;width:34%;height:45%;border-radius:46% 46% 5px 5px;background:linear-gradient(135deg,#e5be6f 0 50%,#c77f5c 50%);clip-path:polygon(8% 0,92% 0,100% 25%,90% 32%,80% 25%,70% 32%,60% 25%,50% 32%,40% 25%,30% 32%,20% 25%,10% 32%,0 25%);opacity:.92}.numa-life-set.is-morning-market .shape-a{left:-8%}.numa-life-set.is-morning-market .shape-b{left:38%;top:13%;background:linear-gradient(135deg,#a8c378 0 50%,#d9ba65 50%)}.numa-life-set.is-morning-market .shape-c{right:-9%;top:23%;background:linear-gradient(135deg,#d18e69 0 50%,#86aa80 50%)}.numa-life-set.is-morning-market .shape-d{right:5%;bottom:14%;left:4%;height:18%;border-radius:50%;background:#66503961;filter:blur(8px)}.numa-life-set.is-longleaf-trail .shape-a,.numa-life-set.is-longleaf-trail .shape-b{top:-8%;width:15%;height:86%;border-radius:50%;background:linear-gradient(90deg,#6d5742,#9a7a58 54%,#604c39)}.numa-life-set.is-longleaf-trail .shape-a{left:7%;transform:rotate(-4deg)}.numa-life-set.is-longleaf-trail .shape-b{right:5%;transform:rotate(5deg)}.numa-life-set.is-longleaf-trail .shape-c,.numa-life-set.is-longleaf-trail .shape-d{top:2%;width:49%;height:34%;border-radius:90% 10%;background:#7ba06b;box-shadow:18px 18px #8caf74,-24px 12px #6f9460}.numa-life-set.is-longleaf-trail .shape-c{left:-10%;transform:rotate(15deg)}.numa-life-set.is-longleaf-trail .shape-d{right:-14%;transform:scaleX(-1) rotate(15deg)}.numa-life-set.is-dewbud-slope .shape-a,.numa-life-set.is-dewbud-slope .shape-b,.numa-life-set.is-dewbud-slope .shape-c{bottom:15%;width:29%;height:24%;border-radius:60% 50% 10% 10%;background:#a5c76e;box-shadow:inset 0 10px #dff09d52}.numa-life-set.is-dewbud-slope .shape-a{left:-3%}.numa-life-set.is-dewbud-slope .shape-b{left:38%;bottom:11%;background:#91b966}.numa-life-set.is-dewbud-slope .shape-c{right:-2%;bottom:19%;background:#b2cf78}.numa-life-set.is-dewbud-slope .shape-d{right:17%;bottom:33%;width:18px;height:13px;border:3px solid rgba(246,232,164,.8);border-radius:50%;box-shadow:0 0 14px #f4e8ae}.numa-life-set.is-echo-creek{background:linear-gradient(180deg,transparent 0 63%,rgba(80,145,139,.74) 63% 100%)}.numa-life-set.is-echo-creek:after{position:absolute;right:-20%;bottom:5%;left:-20%;height:31%;background:repeating-radial-gradient(ellipse at 50% 0,transparent 0 18px,rgba(236,249,231,.34) 20px 22px,transparent 24px 36px);content:""}.numa-life-set.is-echo-creek .shape-a,.numa-life-set.is-echo-creek .shape-b,.numa-life-set.is-echo-creek .shape-c{bottom:25%;width:24%;height:16%;border-radius:60% 45% 42% 48%;background:#718b77}.numa-life-set.is-echo-creek .shape-a{left:-5%}.numa-life-set.is-echo-creek .shape-b{left:35%;bottom:17%;background:#8fa28c}.numa-life-set.is-echo-creek .shape-c{right:-4%;bottom:29%}.numa-life-set.is-echo-creek .shape-d{display:none}.numa-life-set.is-dusk-square .shape-a,.numa-life-set.is-dusk-square .shape-b,.numa-life-set.is-dusk-square .shape-c{bottom:18%;width:5px;height:45%;border-radius:999px;background:#576e5e;box-shadow:0 -6px 0 7px #ead67f,0 -6px 28px 12px #f4de7d8a}.numa-life-set.is-dusk-square .shape-a{left:11%}.numa-life-set.is-dusk-square .shape-b{left:52%;height:35%}.numa-life-set.is-dusk-square .shape-c{right:10%;height:52%}.numa-life-set.is-dusk-square .shape-d{right:-10%;bottom:9%;left:-10%;height:20%;border-radius:50% 50% 0 0;background:#678063}.numa-life-scene-title{position:absolute;z-index:12;top:calc(var(--home-safe-top) + 66px);left:17px;display:grid;gap:3px;width:min(59%,250px);padding:11px 12px;border:1px solid rgba(255,255,255,.45);border-radius:17px 17px 17px 7px;background:#f5f2dbad;box-shadow:0 12px 32px #223b3121;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px)}.numa-life-scene-title span{color:#5c8478;font-size:.57rem;font-weight:780}.numa-life-scene-title strong{font-family:STKaiti,KaiTi,serif;font-size:1.08rem;line-height:1.15}.numa-life-scene-title p{display:-webkit-box;margin:1px 0 0;overflow:hidden;color:#263a35ad;font-size:.62rem;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:2}.numa-life-map-link{position:absolute;z-index:14;top:calc(var(--home-safe-top) + 72px);right:17px;display:flex;gap:6px;align-items:center;min-height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.52);border-radius:999px;background:#f5f2dba6;color:#36554d;font-size:.64rem;font-weight:780;box-shadow:0 6px 18px #223b311c;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.numa-life-map-link svg{width:14px;height:14px}.numa-life-companions{position:absolute;z-index:5;right:5%;bottom:19%;display:flex;gap:7px;align-items:flex-end}.numa-life-companion{display:grid;gap:3px;justify-items:center;transform:translateY(calc(var(--companion-index) * -10px))}.numa-life-companion-body{position:relative;display:flex;width:72px;height:94px;align-items:flex-start;justify-content:center;gap:9px;padding-top:31px;border:3px solid rgba(44,57,50,.62);border-radius:48% 52% 42% 44%;background:radial-gradient(circle at 67% 18%,rgba(255,255,255,.46),transparent 25%),var(--companion-color);box-shadow:0 17px 22px #263a352b;animation:companion-breathe 3.2s ease-in-out infinite}.numa-life-companion-body i{position:absolute;top:-12px;width:57px;height:35px;border:3px solid rgba(44,57,50,.62);border-radius:75% 12% 70% 16%;background:var(--companion-color);transform:rotate(10deg)}.numa-life-companion.is-mi-lu .numa-life-companion-body i{top:-7px;width:58px;height:28px;border-radius:50%;transform:rotate(0)}.numa-life-companion-body b{z-index:2;color:#263a35;font-size:.8rem}.numa-life-companion-body em{position:absolute;bottom:18px;width:15px;height:5px;border-bottom:2px solid rgba(38,58,53,.66);border-radius:50%}.numa-life-companion small{padding:3px 7px;border-radius:999px;background:#f9f5deb8;color:#314e46;font-size:.56rem;font-weight:780;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.numa-life-items{position:absolute;z-index:11;right:17px;bottom:calc(var(--home-input-space) + 18px);display:flex;gap:7px;align-items:center;max-width:56%;padding:7px 10px;border:1px solid rgba(255,255,255,.42);border-radius:14px 14px 6px;background:#f5f1d7b3;color:#263a35c2;box-shadow:0 8px 24px #223b311f;font-size:.56rem;font-weight:700;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.numa-life-items svg{width:14px;height:14px;flex:0 0 auto;color:#729267}.numa-life-scene.is-traveling .layer-far{animation:life-scroll-far 18s linear infinite}.numa-life-scene.is-traveling .layer-mid{animation:life-scroll-mid 10s linear infinite}.numa-life-scene.is-traveling .layer-near{animation:life-scroll-near 5.5s linear infinite}@keyframes realm-route-flow{to{stroke-dashoffset:-16}}@keyframes realm-numa-float{50%{transform:translateY(-3px) rotate(2deg)}}@keyframes realm-marker-pulse{70%,to{opacity:0;transform:scale(1.55)}}@keyframes realm-enter-numa{0%{transform:translate(-50%,-50%) scale(0)}to{transform:translate(-50%,-50%) scale(42)}}@keyframes realm-enter-label{to{opacity:1;transform:translateY(0)}}@keyframes life-scroll-far{to{transform:translate(-9%)}}@keyframes life-scroll-mid{to{transform:translate(-18%)}}@keyframes life-scroll-near{to{transform:translate(-28%)}}@keyframes companion-breathe{50%{transform:translateY(-3px) scaleY(1.015)}}@media(max-height:720px){.realm-life-titles p,.realm-life-map-caption p{display:none}.realm-life-view .realm-p0-header{min-height:58px}.realm-life-whispers{min-height:36px}.numa-life-scene-title{top:calc(var(--home-safe-top) + 54px)}.numa-life-scene-title p{-webkit-line-clamp:1}}@media(prefers-reduced-motion:reduce){.realm-map-active-route,.realm-numa-portrait,.realm-numa-pulse,.numa-life-layer,.numa-life-companion-body{animation:none}.realm-life-enter-transition span{animation-duration:1ms!important}}.realm-bond-card{position:relative;z-index:2;display:grid;gap:8px;padding:12px 14px;border:1px solid rgba(66,93,82,.11);border-radius:18px;background:#fffdf4b8}.realm-bond-head{display:grid;gap:2px}.realm-bond-kicker{display:inline-flex;align-items:center;gap:4px;color:#63867b;font-size:.56rem;font-weight:850;letter-spacing:.22em}.realm-bond-kicker svg{width:11px;height:11px}.realm-bond-head h2{margin:0;color:#244f4c;font-size:.95rem}.realm-bond-head p{margin:0;color:#263a3599;font-size:.68rem}.realm-bond-progress{height:6px;overflow:hidden;border-radius:999px;background:#425d521f}.realm-bond-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8fd0b4,#159b7d);transition:width .6s ease}.realm-bond-empty{margin:0;color:#263a35a8;font-size:.72rem;line-height:1.6}.realm-bond-traces{display:grid;gap:2px;margin:0;padding:0;list-style:none}.realm-bond-trace{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:0;border-radius:12px;background:transparent;color:#244f4c;font-size:.78rem;text-align:left}.realm-bond-trace:active{background:#159b7d14}.realm-bond-trace small{flex:none;color:#263a3580;font-size:.62rem}.realm-bond-trace-summary{margin:0 10px 6px;color:#263a35a8;font-size:.7rem;line-height:1.6}.numa2d-contact-shadow{position:absolute;z-index:3;bottom:5.6%;left:50%;width:clamp(58px,17.3%,88px);height:2.2%;border-radius:50%;background:radial-gradient(ellipse,rgba(20,61,37,.3),rgba(20,61,37,.11) 48%,transparent 76%);filter:blur(3.5px);opacity:.78;transform:translate(-50%);pointer-events:none}.numa-stage[data-character-source=vector-life][data-life-scene=true]{background-color:#9fbe82;background-image:linear-gradient(180deg,#dcebddc2,#8bae7c61 48%,#3e6f4b7a);background-position:center;background-size:cover}.numa-life-rig{position:absolute;z-index:4;bottom:4.8%;left:50%;display:grid;width:clamp(112px,34%,152px);aspect-ratio:150 / 162;place-items:center;pointer-events:none;filter:drop-shadow(0 10px 7px rgba(19,55,42,.15));transform:translate(-50%);transform-origin:50% 100%}.numa-life-rig>.numa-rig{width:100%;height:100%;filter:saturate(.92) brightness(.965) sepia(.05)}.numa-life-scenery.is-home~.numa-life-rig{bottom:8%;width:clamp(126px,25%,168px);transform:translate(-50%,-19.1%)}.numa-life-scenery.is-home~.numa2d-contact-shadow{bottom:8.1%;width:clamp(42px,11.7%,58px);height:2.1%;opacity:.5}.numa-life-rig,.numa2d-contact-shadow{transition:left .8s ease}.numa-stage[data-life-animation=unpack] .numa-life-scenery.is-home~.numa-life-rig{left:67%}.numa-stage[data-life-animation=unpack] .numa-life-scenery.is-home~.numa2d-contact-shadow{left:67%}.numa-life-rig .numa-rig svg{width:100%;height:100%;max-height:none}.app-view[data-life-scene] .numa-stage[data-character-source=vector-life]{isolation:isolate;overflow:hidden;border-radius:28px}.app-view[data-life-scene] .numa-stage[data-character-source=vector-life]:after{z-index:8;background:linear-gradient(90deg,rgba(22,54,41,.08),transparent 14%,transparent 86%,rgba(22,54,41,.08));opacity:1;pointer-events:none}.numa-life-home-items{position:absolute;z-index:3;inset:0;pointer-events:none}.numa-life-home-item{position:absolute;bottom:var(--home-item-bottom, 8%);left:var(--home-item-left, 16%);display:block;width:var(--home-item-size, clamp(38px, 12%, 56px));opacity:.94;filter:drop-shadow(0 5px 4px rgba(38,60,42,.2));transform:translate(-50%) rotate(var(--home-item-rotation, 0deg));transform-origin:50% 90%}.numa-life-home-item svg{display:block;width:100%;height:auto}.numa-life-home-item.is-attended{filter:drop-shadow(0 5px 4px rgba(38,60,42,.2)) brightness(1.06)}.numa-stage[data-life-scene=true][data-time-of-day=night]{background-image:linear-gradient(180deg,#344f50,#446652 48%,#294938)}.numa-stage[data-life-scene=true][data-time-of-day=evening]{background-image:linear-gradient(180deg,#b2b98b,#8ca578 49%,#527356)}.numa-stage[data-life-scene=true][data-location-id=STREAM_ECHO]{background-image:linear-gradient(180deg,#bfd6c7,#8bb6a1 47%,#4f826b)}.numa-stage[data-life-scene=true][data-location-id=MARKET_MORNING_CHIME]{background-image:linear-gradient(180deg,#dce4bd,#a6bd83 50%,#64845b)}.numa-stage[data-life-scene=true]:before{background:linear-gradient(180deg,rgba(255,252,216,.13),transparent 28%,transparent 78%,rgba(25,68,44,.12))}.numa-life-landscape,.numa-life-foreground{transform-box:fill-box;transform-origin:bottom center}.numa-life-foreground{animation:numa-life-foreground-breathe 8.5s ease-in-out infinite alternate}.numa-life-companions{position:absolute;z-index:3;inset:32% 0 2%;height:auto;min-height:0;overflow:visible;border-radius:inherit;pointer-events:none}.numa-life-companion{position:absolute;z-index:1;bottom:10.5%;display:block;width:clamp(80px,25%,116px);aspect-ratio:150 / 162;opacity:1;filter:drop-shadow(0 10px 7px rgba(19,55,42,.15));transform-origin:50% 100%;animation:numa-life-companion-idle 6.4s ease-in-out infinite;will-change:transform,opacity}.numa-life-companion.is-left{left:-1%}.numa-life-companion.is-right{right:-1%;animation-delay:-3.1s}.numa-stage[data-companion-count="1"] .numa-life-rig{left:64%}.numa-stage[data-companion-count="2"] .numa-life-rig,.numa-stage[data-companion-count="2"] .numa-life-companion{width:clamp(94px,28%,128px)}.numa-stage[data-companion-count="2"] .numa-life-companion.is-left{left:-4%}.numa-stage[data-companion-count="2"] .numa-life-companion.is-right{right:-4%}.numa-life-companion>.numa-rig{width:100%;height:100%}.numa-life-companion .numa-rig svg{display:block;width:100%;height:100%;max-height:none;overflow:visible}.numa-life-companion.is-right .numa-rig.is-side-pose{transform:scaleX(-1)}.numa-life-companion-ground-cover{--companion-cover-dark: #365f49;--companion-cover-leaf: #6f9b69;position:absolute;z-index:2;right:0;bottom:1.5%;left:0;display:block;height:clamp(22px,8%,38px);overflow:visible;pointer-events:none}.numa-life-companion-ground-cover svg{display:block;width:100%;height:100%;overflow:visible}.numa-life-companion-ground-cover .is-cover-shadow{fill:var(--companion-cover-dark);opacity:.68}.numa-life-companion-ground-cover .is-cover-grass{stroke:#a5c783;stroke-width:4;stroke-linecap:round}.numa-life-companion-ground-cover .is-cover-leaf{fill:var(--companion-cover-leaf);stroke:var(--companion-cover-dark);stroke-width:1.6;stroke-linejoin:round}.numa-stage[data-location-id=MARKET_MORNING_CHIME] .numa-life-companion-ground-cover{--companion-cover-dark: #567257;--companion-cover-leaf: #91aa70}.numa-stage[data-location-id=STREAM_ECHO] .numa-life-companion-ground-cover,.numa-stage[data-location-id=COMMON_DUSKLAMP] .numa-life-companion-ground-cover{--companion-cover-dark: #3e6a5d;--companion-cover-leaf: #76a18b}.numa-stage[data-life-animation=sleep] .numa2d-contact-shadow{bottom:6.2%;width:clamp(96px,29%,128px);height:2.6%}@media(max-height:420px){.numa-stage[data-life-scene=true] .numa2d-contact-shadow{bottom:2%;width:84px}}@keyframes numa-life-foreground-breathe{0%{transform:translate(-1.2px) rotate(-.3deg)}to{transform:translate(1.5px) rotate(.45deg)}}@keyframes numa-life-companion-idle{0%,to{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-2px) rotate(.5deg)}}@media(prefers-reduced-motion:reduce){.numa-life-foreground,.numa-life-companion{animation:none!important}}@media(max-height:700px){.numa-life-companions{top:27%;bottom:1.5%}.numa-life-rig,.numa-life-companion{width:clamp(118px,38%,158px)}.numa-stage[data-companion-count="2"] .numa-life-rig,.numa-stage[data-companion-count="2"] .numa-life-companion{width:clamp(98px,30%,132px)}}.numa-stage[data-art-direction="2d-master"]{isolation:isolate;background-color:#9dcc80;background-image:linear-gradient(180deg,#0a443c05,#183d2a14),url(/design-assets/numa-jungle-background.png);background-position:50% 54%;background-size:cover}.numa-stage[data-art-direction="2d-master"]:before{z-index:2;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 33%,rgba(235,255,220,.12),transparent 28%),linear-gradient(180deg,rgba(16,67,60,.1),transparent 24%,transparent 76%,rgba(16,55,39,.12));filter:none;pointer-events:none}.numa-stage[data-art-direction="2d-master"]:after{position:absolute;z-index:7;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(4,43,35,.08),transparent 16%,transparent 84%,rgba(4,43,35,.08));box-shadow:inset 0 0 0 1px #effff138;content:"";pointer-events:none}.numa-stage[data-art-direction="2d-master"][data-stage-mode=avatar] .numa-video-pair,.numa-stage[data-art-direction="2d-master"][data-stage-mode=avatar] .numa-tap-video,.numa-stage[data-art-direction="2d-master"][data-stage-mode=avatar] .numa-figure{visibility:hidden;opacity:0!important}.numa2d-atmosphere{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}.numa2d-atmosphere svg{display:block;width:100%;height:100%;overflow:visible}.numa2d-atmosphere.is-back{z-index:3}.numa2d-atmosphere.is-front{z-index:6}.numa2d-mist{transform-origin:center;animation:numa-mist-drift 18s ease-in-out infinite alternate;will-change:transform,opacity}.numa2d-mist.is-b{animation-duration:24s;animation-direction:alternate-reverse}.numa2d-dapple{animation:numa-dapple-breathe 8s ease-in-out infinite;transform-origin:center;will-change:transform,opacity}.numa2d-dapple.is-b{animation-delay:-3.8s}.numa2d-fireflies circle{transform-box:fill-box;transform-origin:center;animation:numa-firefly 5.4s ease-in-out infinite;will-change:transform,opacity}.numa2d-fireflies .is-b{animation-delay:-1.7s;animation-duration:6.2s}.numa2d-fireflies .is-c{animation-delay:-3.1s;animation-duration:7.1s}.numa2d-fireflies .is-d{animation-delay:-4.2s;animation-duration:5.8s}.numa2d-foreground-leaves{opacity:.92;transform-box:fill-box;transform-origin:bottom center;animation:numa-leaf-sway 7s cubic-bezier(.45,0,.55,1) infinite alternate;will-change:transform}.numa2d-foreground-leaves.is-right{animation-delay:-3.4s;animation-direction:alternate-reverse}@keyframes numa-mist-drift{0%{transform:translate(-3%);opacity:.58}to{transform:translate(4%);opacity:.9}}@keyframes numa-dapple-breathe{0%,to{transform:scale(.94);opacity:.56}50%{transform:scale(1.06);opacity:.9}}@keyframes numa-firefly{0%,to{transform:translateY(6px) scale(.7);opacity:.28}42%{transform:translate(4px,-5px) scale(1);opacity:.92}72%{transform:translate(-3px,-11px) scale(.82);opacity:.54}}@keyframes numa-leaf-sway{0%{transform:rotate(-1deg) translate(-1px)}to{transform:rotate(1.8deg) translate(2px)}}.numa-stage[data-life-scene=true] .numa2d-atmosphere.is-back{z-index:2}.numa-stage[data-life-scene=true] .numa2d-atmosphere.is-front{z-index:6}.numa-stage[data-time-of-day=day] .numa2d-fireflies,.numa-stage[data-time-of-day=morning] .numa2d-fireflies{opacity:.2}@media(prefers-reduced-motion:reduce){.numa2d-mist,.numa2d-dapple,.numa2d-fireflies circle,.numa2d-foreground-leaves{animation:none!important}}.qiguang-landmark.has-change{z-index:3}.qiguang-landmark__change-art{position:absolute;z-index:2;inset:-12px;display:block;width:calc(100% + 24px);height:calc(100% + 24px);overflow:visible;pointer-events:none;filter:drop-shadow(0 3px 3px rgba(39,77,54,.2))}.qiguang-landmark.is-change-stream-clue .qiguang-landmark__art{background:#dcefdabd}.qiguang-landmark.is-change-wind-listener .qiguang-landmark__art{background:#f7ebbac7}.qiguang-landmark.is-change-shell-echo-marker .qiguang-landmark__art{background:rgba(var(--numa-teal-rgb),.16)}.qiguang-landmark.is-change-shared-observation-point .qiguang-landmark__art{background:rgba(var(--numa-lime-rgb),.24)}.qiguang-landmark__change-label{display:block;max-width:62px;padding:1px 4px;border:1px solid rgba(66,103,72,.16);border-radius:999px;background:#fffde7c7;color:#4b7555;font-size:.48rem;font-weight:820;line-height:1.25;text-align:center;white-space:nowrap}.qiguang-landmark.is-change-wind-listener .qiguang-landmark__change-label{color:#8a6b50}.qiguang-landmark.is-change-shell-echo-marker .qiguang-landmark__change-label{color:var(--numa-teal-deep)}.qiguang-landmark.is-change-shared-observation-point .qiguang-landmark__change-label{color:var(--numa-sage)}@media(prefers-reduced-motion:reduce){.qiguang-landmark__change-art{transition:none}}@media(max-width:360px){.qiguang-landmark__change-art{inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px)}}.qiguang-map{display:grid;gap:12px;padding:2px 0 4px}.qiguang-map.is-compact{display:block;gap:0;padding:0;border-radius:inherit}.qiguang-map.is-compact .qiguang-map__canvas{position:absolute;inset:0;min-height:0;border:0;border-radius:inherit;box-shadow:none}.qiguang-map.is-compact.is-focused .qiguang-map__canvas{filter:saturate(.9) brightness(.94)}.qiguang-map__header,.qiguang-map__footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.qiguang-map__header>div:first-child{display:grid;gap:4px;min-width:0}.qiguang-map__kicker{color:var(--numa-teal-deep);font-size:.7rem;font-weight:820;letter-spacing:.1em}.qiguang-map__header h2{color:var(--numa-ink);font-family:Georgia,"Noto Serif SC",Songti SC,serif;font-size:1.58rem;line-height:1}.qiguang-map__header p{max-width:230px;color:var(--numa-muted);font-size:.76rem;line-height:1.4}.qiguang-map__time{display:grid;flex:0 0 auto;justify-items:end;gap:3px;padding:8px 10px;border:1px solid rgba(var(--numa-forest-rgb),.14);border-radius:13px;background:#fffdf7b8;box-shadow:var(--numa-shadow-low)}.qiguang-map__time strong{color:var(--numa-ink);font-size:.94rem;font-variant-numeric:tabular-nums}.qiguang-map__time span{color:var(--numa-teal-deep);font-size:.63rem;font-weight:780;white-space:nowrap}.qiguang-map__canvas{--scene-entry-duration: .38s;--scene-entry-ease: cubic-bezier(.22, .72, .24, 1);position:relative;min-height:414px;overflow:hidden;isolation:isolate;border:1px solid rgba(var(--numa-forest-rgb),.18);border-radius:24px;background:#c5dbad;box-shadow:0 14px 30px rgba(var(--numa-shadow-rgb),.12),inset 0 1px #ffffff70}.qiguang-map__terrain{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;transform-origin:var(--scene-entry-x, 50%) var(--scene-entry-y, 50%);transition:transform var(--scene-entry-duration) var(--scene-entry-ease),opacity var(--scene-entry-duration) ease;will-change:transform,opacity}.qiguang-map__canvas[data-time-of-day=night] .qiguang-map__terrain{filter:saturate(.76) brightness(.72) hue-rotate(8deg)}.qiguang-map__canvas[data-time-of-day=night]{background:#718f7d;box-shadow:0 14px 30px #1b2d2a33,inset 0 1px #e1eed733}.qiguang-map__canvas[data-time-of-day=night] .qiguang-landmark__art,.qiguang-map__canvas[data-time-of-day=night] .qiguang-companion{filter:saturate(.72) brightness(.76) hue-rotate(7deg)}.qiguang-map__canvas[data-time-of-day=night] .qiguang-landmark__name{color:#dce9d4;text-shadow:0 1px 2px rgba(25,47,43,.72)}.qiguang-map__canvas[data-time-of-day=night] .qiguang-map__weather{filter:saturate(.72) brightness(.78)}.qiguang-map__canvas[data-time-of-day=evening] .qiguang-map__terrain{filter:saturate(.96) sepia(.08) brightness(.9)}.qiguang-map__landmarks{position:absolute;z-index:2;inset:0;transform-origin:var(--scene-entry-x, 50%) var(--scene-entry-y, 50%);transition:transform var(--scene-entry-duration) var(--scene-entry-ease),opacity var(--scene-entry-duration) ease;will-change:transform,opacity}.qiguang-map__weather{position:absolute;z-index:1;inset:0;overflow:hidden;border-radius:inherit;opacity:calc(.32 + var(--weather-intensity, .46) * .58);pointer-events:none;transition:opacity var(--scene-entry-duration) ease}.qiguang-map__weather svg{display:block;width:100%;height:100%;overflow:visible}.qiguang-map__mist{fill:#f4f8e4b8;animation:qiguang-map-mist-drift 10s ease-in-out infinite alternate}.qiguang-map__mist path:last-child{fill:#dceddda8;animation:qiguang-map-mist-counter 13s ease-in-out infinite alternate}.qiguang-map__rain-batch{fill:none;stroke:#e1f2e5c2;stroke-linecap:round;stroke-width:2.1;animation:qiguang-map-rain-fall 1.25s linear infinite}.qiguang-map__rain-batch.is-b{stroke:#cae6dda8;stroke-width:1.55;animation-delay:-.63s}.qiguang-map__rain-contact{fill:none;stroke:#e4f6e8c2;stroke-width:1.8;transform-origin:center;animation:qiguang-map-rain-ripples 2.15s ease-out infinite}.qiguang-map__breeze-leaf{fill:#91ad6d;stroke:#55755a;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.3;opacity:0;animation:qiguang-map-leaf-cross 8.6s linear infinite}.qiguang-map__breeze-leaf path+path{fill:none;stroke:#dce9ad;stroke-width:1.05}.qiguang-map__breeze-leaf.is-b{fill:#c1b56f;animation-delay:-3.2s;animation-duration:10.4s}.qiguang-map__breeze-leaf.is-c{fill:#6f9e72;animation-delay:-6.1s;animation-duration:9.5s}.qiguang-map__clear-light{fill:#fff8c045;filter:blur(5px);animation:qiguang-map-clear-breathe 8.4s ease-in-out infinite alternate}.qiguang-map__canvas.is-entering-scene .qiguang-map__weather{opacity:.16}.qiguang-map__scene-bridge{--scene-bridge-sky: #f1dda9;--scene-bridge-far: #abc48a;--scene-bridge-mid: #7f9f6d;--scene-bridge-near: #53785b;--scene-bridge-route: #e7d8a5;position:absolute;z-index:3;inset:-2px;overflow:hidden;border-radius:inherit;background:linear-gradient(180deg,var(--scene-bridge-sky),var(--scene-bridge-far) 64%);opacity:0;pointer-events:none;transform:scale(.1);transform-origin:var(--scene-entry-x, 50%) var(--scene-entry-y, 50%);transition:transform var(--scene-entry-duration) var(--scene-entry-ease),opacity .15s ease;will-change:transform,opacity}.qiguang-map__scene-bridge[data-location-id=MARKET_MORNING_CHIME]{--scene-bridge-sky: #f4d796;--scene-bridge-far: #b4c889;--scene-bridge-mid: #78966a;--scene-bridge-near: #4f745b;--scene-bridge-route: #efd89a}.qiguang-map__scene-bridge[data-location-id=PATH_LONGLEAF]{--scene-bridge-sky: #d9e5b4;--scene-bridge-far: #91b581;--scene-bridge-mid: #62916d;--scene-bridge-near: #3f6c57;--scene-bridge-route: #d9d09d}.qiguang-map__scene-bridge[data-location-id=SLOPE_DEWBUD]{--scene-bridge-sky: #efdda8;--scene-bridge-far: #b8bd83;--scene-bridge-mid: #899565;--scene-bridge-near: #637a59;--scene-bridge-route: #e2d29d}.qiguang-map__scene-bridge[data-location-id=STREAM_ECHO]{--scene-bridge-sky: #d3e4d2;--scene-bridge-far: #91b9a7;--scene-bridge-mid: #669685;--scene-bridge-near: #456f5e;--scene-bridge-route: #cfe3cf}.qiguang-map__scene-bridge[data-location-id=COMMON_DUSKLAMP]{--scene-bridge-sky: #d2cbd8;--scene-bridge-far: #9294a4;--scene-bridge-mid: #6d7285;--scene-bridge-near: #464f60;--scene-bridge-route: #c9bfd1}.qiguang-map__scene-bridge svg{display:block;width:100%;height:100%}.qiguang-map__scene-bridge-far{fill:var(--scene-bridge-far)}.qiguang-map__scene-bridge-mid{fill:var(--scene-bridge-mid)}.qiguang-map__scene-bridge-near{fill:var(--scene-bridge-near)}.qiguang-map__scene-bridge-route{fill:none;stroke:var(--scene-bridge-route);stroke-linecap:round;stroke-width:7;opacity:.78}.qiguang-map__canvas[data-time-of-day=evening] .qiguang-map__scene-bridge{filter:saturate(.96) sepia(.08) brightness(.92)}.qiguang-map__canvas[data-time-of-day=night] .qiguang-map__scene-bridge{filter:saturate(.76) brightness(.7) hue-rotate(8deg)}.qiguang-landmark{position:absolute;top:var(--map-y);left:var(--map-x);display:grid;justify-items:center;gap:2px;width:66px;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 5px rgba(31,63,42,.16))}.qiguang-landmark__art{position:relative;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,251,213,.64);border-radius:17px 17px 20px 13px;background:#f6f4cdb3;box-shadow:0 5px 9px #274d3624,inset 0 0 0 2px #ffffff3d}.qiguang-landmark__art svg{display:block;width:43px;height:43px}.qiguang-landmark__name{max-width:66px;overflow:hidden;color:#3e6245;font-size:.62rem;font-weight:820;line-height:1.15;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(238,247,219,.72);white-space:nowrap}.qiguang-landmark.is-current .qiguang-landmark__art{border-color:#f8edb0;box-shadow:0 0 0 4px #bdd76838,0 7px 12px #274d362e,inset 0 0 0 2px #ffffff5c}.qiguang-landmark.is-changing .qiguang-landmark__art{border-color:#e0c678e6}.qiguang-landmark.is-active .qiguang-landmark__name{color:#2f725d}.qiguang-numa{position:absolute;z-index:5;top:var(--map-y);left:var(--map-x);display:grid;width:54px;height:54px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);transition:transform var(--numa-motion-ui),filter var(--numa-motion-ui)}.qiguang-numa:hover,.qiguang-numa:focus-visible,.qiguang-numa.is-focused{filter:drop-shadow(0 8px 10px rgba(41,93,61,.28));transform:translate(-50%,-50%) scale(1.08)}.qiguang-map__canvas.is-entering-scene .qiguang-map__terrain{opacity:.38;transform:scale(1.18)}.qiguang-map__canvas.is-entering-scene .qiguang-map__landmarks{opacity:.18;transform:scale(1.12)}.qiguang-map__canvas.is-entering-scene .qiguang-map__scene-bridge{opacity:1;transform:scale(1.04)}.qiguang-map__canvas.is-entering-scene .qiguang-numa{z-index:10;filter:drop-shadow(0 10px 14px rgba(41,93,61,.34));transform:translate(-50%,-50%) scale(1.18);transition:transform var(--scene-entry-duration) var(--scene-entry-ease),filter var(--scene-entry-duration) ease}.qiguang-map__canvas.is-entering-scene .qiguang-numa__pulse{animation:none;opacity:0}.qiguang-map__canvas.is-entering-scene .qiguang-companion{opacity:0;transform:translate(-50%,-50%) scale(.86)}.qiguang-map__canvas.is-entering-scene .qiguang-map__light{opacity:.2}.qiguang-numa__portrait{position:relative;z-index:2;display:grid;overflow:hidden;width:42px;height:42px;place-items:center;border:2px solid #fff9c2;border-radius:50%;background:#dbe9c9;box-shadow:0 4px 10px #26472e33}.qiguang-numa__portrait svg{display:block;width:100%;height:100%}.qiguang-numa__activity{position:absolute;z-index:4;right:-2px;bottom:-1px;display:grid;width:19px;height:19px;place-items:center;border:1.5px solid rgba(255,250,207,.92);border-radius:48% 52% 46% 54%;background:#547b67;box-shadow:0 3px 7px #1c3a2b47;color:#edf2c8}.qiguang-numa__activity svg{width:14px;height:14px;overflow:visible;fill:currentColor}.qiguang-numa__activity .is-line{fill:none;stroke:#547b67;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35}.qiguang-numa__activity.is-sleep{background:#657285;color:#f2d88b}.qiguang-numa__activity.is-gather{background:#6f925e}.qiguang-numa__activity.is-social{background:#7a708a}.qiguang-numa__activity.is-carry{background:#9a754f}.qiguang-numa.is-action-sleep .qiguang-numa__pulse{animation-duration:7.6s;opacity:.28}.qiguang-numa__pulse{position:absolute;width:48px;height:48px;border:1px solid rgba(235,248,162,.86);border-radius:50%;animation:qiguang-numa-pulse 4.8s ease-in-out infinite}.qiguang-companion{position:absolute;z-index:4;top:var(--map-y);left:var(--map-x);display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,249,194,.74);border-radius:50%;background:#f3edcabd;box-shadow:0 4px 8px #28483029;transform:translate(-50%,-50%);transition:opacity var(--scene-entry-duration) ease,transform var(--scene-entry-duration) var(--scene-entry-ease)}.qiguang-companion svg{width:27px;height:27px}.qiguang-map__peek{position:absolute;z-index:8;right:14px;bottom:14px;left:14px;display:grid;gap:4px;padding:11px 12px 10px;border:1px solid rgba(255,253,226,.72);border-radius:16px;background:#234836e6;color:#f5f7de;box-shadow:0 12px 24px #17372638;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity var(--scene-entry-duration) ease,transform var(--scene-entry-duration) var(--scene-entry-ease)}.qiguang-map__canvas.is-entering-scene .qiguang-map__peek{opacity:0;pointer-events:none;transform:translateY(8px)}.qiguang-map__peek>span{color:#d9ecae;font-size:.66rem;font-weight:800}.qiguang-map__peek strong{font-size:.88rem}.qiguang-map__peek p{color:#f6fce4c7;font-size:.72rem;line-height:1.38}.qiguang-map__peek button{justify-self:start;min-height:32px;margin-top:3px;padding:0 13px;border-radius:999px;background:#d9ecae;color:#315d43;font-size:.74rem;font-weight:840}.qiguang-map__light{position:absolute;z-index:1;top:7%;left:18%;width:56%;height:28%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,250,207,.34),transparent 70%);filter:blur(7px);pointer-events:none;transition:opacity var(--scene-entry-duration) ease}.qiguang-map__canvas[data-time-of-day=night] .qiguang-map__light{top:12%;left:31%;width:42%;height:24%;background:radial-gradient(ellipse,rgba(247,213,137,.2),transparent 72%);opacity:.72}.qiguang-map__footer{align-items:baseline;padding:0 2px}.qiguang-map__footer>div{display:grid;gap:2px;min-width:0}.qiguang-map__footer>div span{color:var(--numa-teal-deep);font-size:.67rem;font-weight:820}.qiguang-map__footer>div strong{color:var(--numa-ink);font-size:.87rem}.qiguang-map__footer p{max-width:190px;color:var(--numa-muted);font-size:.69rem;line-height:1.35;text-align:right}@keyframes qiguang-numa-pulse{0%,to{opacity:.35;transform:scale(.88)}50%{opacity:.82;transform:scale(1.1)}}@keyframes qiguang-map-mist-drift{0%{transform:translate3d(-9px,-2px,0) scaleX(1.02)}to{transform:translate3d(11px,4px,0) scaleX(.98)}}@keyframes qiguang-map-mist-counter{0%{transform:translate3d(8px,2px,0)}to{transform:translate3d(-12px,-3px,0)}}@keyframes qiguang-map-rain-fall{0%{opacity:0;transform:translate3d(15px,-110px,0)}12%,82%{opacity:1}to{opacity:0;transform:translate3d(-68px,470px,0)}}@keyframes qiguang-map-rain-ripples{0%{opacity:0;transform:scale(.72)}24%{opacity:.84}to{opacity:0;transform:scale(1.18)}}@keyframes qiguang-map-leaf-cross{0%{opacity:0;transform:translate3d(-34px,-8px,0) rotate(-8deg)}13%,84%{opacity:.9}45%{transform:translate3d(210px,18px,0) rotate(17deg)}to{opacity:0;transform:translate3d(470px,-2px,0) rotate(34deg)}}@keyframes qiguang-map-clear-breathe{0%{opacity:.42;transform:translate3d(-3px,1px,0) scale(.98)}to{opacity:.74;transform:translate3d(5px,-2px,0) scale(1.03)}}@media(max-width:360px){.qiguang-map__canvas{min-height:380px}.qiguang-landmark{width:58px}.qiguang-landmark__art{width:42px;height:42px}.qiguang-landmark__art svg{width:38px;height:38px}.qiguang-landmark__name{max-width:58px;font-size:.58rem}}@media(prefers-reduced-motion:reduce){.qiguang-numa__pulse{animation:none}.qiguang-numa,.qiguang-map__terrain,.qiguang-map__landmarks,.qiguang-map__scene-bridge,.qiguang-companion,.qiguang-map__peek,.qiguang-map__light{transition:none}.qiguang-map__mist,.qiguang-map__mist path,.qiguang-map__rain-batch,.qiguang-map__rain-contact,.qiguang-map__breeze-leaf,.qiguang-map__clear-light{animation:none}.qiguang-map__breeze-leaf{opacity:.62;transform:translate3d(190px,0,0) rotate(12deg)}.qiguang-map__scene-bridge{display:none}.qiguang-map__canvas.is-entering-scene .qiguang-map__terrain,.qiguang-map__canvas.is-entering-scene .qiguang-map__landmarks{opacity:1;transform:none}.qiguang-map__canvas.is-entering-scene .qiguang-numa{filter:none;transform:translate(-50%,-50%) scale(1.08)}.qiguang-map__canvas.is-entering-scene .qiguang-numa__pulse,.qiguang-map__canvas.is-entering-scene .qiguang-map__peek,.qiguang-map__canvas.is-entering-scene .qiguang-map__light{opacity:1;transform:none}.qiguang-map__canvas.is-entering-scene .qiguang-companion{opacity:1;transform:translate(-50%,-50%)}.qiguang-map__canvas[data-time-of-day=night] .qiguang-map__terrain{filter:saturate(.76) brightness(.72)}}.nhist-toggle{position:relative;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#0d211d7a;color:#ffffffeb;box-shadow:0 12px 28px #0000002e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto}.nhist-toggle svg{width:18px;height:18px}.nhist-badge{position:absolute;top:6px;right:7px;width:6px;height:6px;border-radius:999px;background:linear-gradient(180deg,var(--numa-lime),#b8e926);box-shadow:0 0 0 1.5px #0c1e22b3}.nhist-layer{position:absolute;inset:0;z-index:20;pointer-events:none}.nhist-scrim{position:absolute;inset:0;background:#040a0961;backdrop-filter:blur(14px) saturate(.9);-webkit-backdrop-filter:blur(14px) saturate(.9);opacity:0;pointer-events:none;transition:opacity .32s ease}.is-nhist-open>.nhist-scrim{opacity:1;pointer-events:auto}.nhist-sheet{position:absolute;right:0;bottom:0;left:0;display:grid;height:min(88svh,744px);max-height:calc(100svh - var(--system-safe-top));grid-template-rows:auto minmax(0,1fr);border-radius:24px 24px 0 0;background:linear-gradient(180deg,#f8fffb,#eefaf4);color:var(--numa-ink);box-shadow:0 -22px 54px #040a093d;transform:translateY(103%);transition:transform .42s cubic-bezier(.32,.72,0,1);will-change:transform;pointer-events:auto}.is-nhist-open>.nhist-sheet{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.nhist-scrim,.nhist-sheet{transition:none}}.nhist-head{display:grid;gap:8px;padding:8px 18px 12px}.nhist-grabber{display:grid;width:64px;height:14px;justify-self:center;place-items:center;background:transparent}.nhist-grabber i{display:block;width:38px;height:5px;border-radius:999px;background:#0d211d29}.nhist-titlerow{display:flex;align-items:center;justify-content:space-between;gap:12px}.nhist-titles h3{color:var(--numa-ink);font-size:1.32rem;font-weight:860;line-height:1.05}.nhist-titles p{margin-top:3px;color:var(--numa-muted);font-size:.76rem;font-weight:700}.nhist-close{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:999px;background:#0d211d0f;color:var(--numa-sage)}.nhist-close svg{width:14px;height:14px}.nhist-thread{display:block;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--numa-teal),var(--numa-lime) 62%,transparent)}.nhist-scroll{display:grid;gap:11px;align-content:start;overflow-y:auto;padding:14px 16px calc(24px + var(--system-safe-bottom));scrollbar-width:none}.nhist-scroll::-webkit-scrollbar{display:none}.nhist-block,.nhist-focus,.nhist-chat,.nhist-stack,.nhist-entry{display:grid}.nhist-entry.is-day{padding:4px 0 2px}.nhist-block{gap:10px}.nhist-block-head{display:flex;align-items:center;justify-content:space-between}.nhist-block-title{color:var(--numa-teal-deep);font-size:.72rem;font-weight:820;letter-spacing:.14em}.nhist-mark{position:relative;padding:12px 14px 13px 18px;border:1px solid rgba(var(--numa-teal-rgb),.22);border-radius:14px;background:linear-gradient(180deg,#f1fff8,#e6fdf0);box-shadow:0 10px 22px #1896841f}.nhist-mark:before{position:absolute;top:12px;bottom:12px;left:6px;width:4px;border-radius:999px;background:var(--numa-current-gradient);content:""}.nhist-mark-eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:9px;padding:3px 10px 3px 8px;border-radius:999px;background:rgba(var(--numa-teal-rgb),.14);color:#0f7a6a;font-size:.66rem;font-weight:820}.nhist-mark-eyebrow svg{width:13px;height:13px}.nhist-mark-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start}.nhist-mic{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:linear-gradient(150deg,#2fd0b6,#7fe36a);color:#fff}.nhist-mic svg{width:19px;height:19px}.nhist-mark-body strong{display:block;color:var(--numa-ink);font-size:.94rem;font-weight:820}.nhist-mark-state,.nhist-mark-data{color:#33534c;font-size:.84rem;line-height:1.5}.nhist-mark-data{display:none;margin-top:8px;padding:8px 11px;border-radius:10px;background:rgba(var(--numa-teal-rgb),.09);color:#3f6a61;font-size:.78rem}.nhist-mark.is-expanded .nhist-mark-data{display:block}.nhist-mark-expand{min-height:24px;margin-top:8px;padding:0 2px;background:transparent;color:#0f7a6a;font-size:.72rem;font-weight:780}.nhist-day{justify-self:center;padding:2px 12px;border-radius:999px;background:#0d211d0f;color:var(--numa-muted);font-size:.68rem;font-weight:760}.nhist-chat{gap:11px}.nhist-msg{display:grid;gap:8px;max-width:84%}.nhist-msg.from-user{justify-self:end}.nhist-msg.from-numa{grid-template-columns:28px minmax(0,1fr);align-items:end;justify-self:start}.nhist-avatar{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(var(--numa-teal-rgb),.25);border-radius:999px;background:radial-gradient(circle at 66% 22%,rgba(var(--numa-lime-rgb),.5),transparent 38%),linear-gradient(180deg,rgba(var(--numa-teal-rgb),.18),#fffffff0);color:var(--numa-teal-deep)}.nhist-avatar svg{width:16px;height:16px}.nhist-stack{gap:3px;min-width:0}.nhist-bubble{padding:9px 13px;font-size:.9rem;line-height:1.5;word-break:break-word}.from-numa .nhist-bubble{border:1px solid rgba(26,111,98,.12);border-radius:16px 16px 16px 5px;background:#fff;color:#10221f;box-shadow:0 6px 16px #1366580d}.from-user .nhist-bubble{border-radius:16px 16px 5px;background:linear-gradient(180deg,#2fd6bc,var(--numa-teal-action));color:var(--numa-on-teal);box-shadow:0 8px 18px #1ea99338}.nhist-time{color:#8aa39c;font-size:.64rem}.from-user .nhist-time{text-align:right}.nhist-toggle{width:36px;height:36px;border-color:#ffffff47;background:#0c1e2257;color:#eafff7;box-shadow:inset 0 1px #ffffff24,0 6px 16px #05141647;-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);transition:transform .16s ease}.nhist-toggle:active{transform:scale(.92)}.nhist-toggle{color:#3a7d37}.nhist-bubble.is-user,.nhist-msg.is-user .nhist-bubble{background:linear-gradient(180deg,#5fae55,#428e3e);color:#f4fbef}.profile-row,.settings-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.profile-row{display:grid;grid-template-columns:46px minmax(0,1fr) 36px;align-items:center;gap:12px;min-height:78px;padding:12px 14px}.profile-mark{display:grid;width:46px;height:46px;place-items:center;border-radius:999px;background:radial-gradient(circle at 68% 18%,rgba(var(--numa-lime-rgb),.72) 0 18%,transparent 42%),radial-gradient(circle at 16% 82%,rgba(var(--numa-teal-rgb),.12),transparent 42%),linear-gradient(160deg,#ecfff9fa,#ffffffe0);color:var(--numa-teal-deep);font-weight:820;box-shadow:inset 0 0 0 1px rgba(var(--numa-teal-rgb),.06),0 8px 20px rgba(var(--numa-shadow-rgb),.08)}.profile-row strong{display:block;font-size:1rem}.profile-row p{margin-top:4px;color:var(--muted);font-size:.84rem}.settings-group{display:grid;overflow:hidden}.settings-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-width:0;min-height:48px;padding:0 12px;border-bottom:1px solid var(--line);background:transparent;color:var(--numa-ink);text-align:left}.settings-row:last-child{border-bottom:0}.settings-row>svg:first-child{width:20px;height:20px;color:var(--lavender)}.settings-row span{overflow:hidden;color:var(--numa-ink);font-size:.88rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.settings-row small{color:var(--soft);font-size:.76rem}.profile-row,.settings-group{position:relative;border:1px solid var(--numa-card-border);border-radius:var(--numa-card-radius);background:var(--numa-card-bg);box-shadow:var(--numa-card-shadow);color:var(--numa-ink)}.profile-row:before,.settings-group:before{display:none;position:absolute;top:0;right:0;left:0;height:3px;border-radius:var(--numa-card-radius) var(--numa-card-radius) 0 0;background:var(--numa-card-strip);content:"";opacity:.9}.profile-row strong{color:var(--numa-ink)}.profile-row .quiet-icon-button{background:#ffffffeb;color:#e9cf2e;box-shadow:inset 0 0 0 1px rgba(var(--numa-forest-rgb),.08),0 10px 20px rgba(var(--numa-shadow-rgb),.08)}.settings-row>svg:first-child{color:var(--numa-teal)}.settings-row>svg:last-child{color:var(--numa-ink);stroke-width:2.8}.experience-backdrop{position:absolute;inset:0;z-index:20;display:grid;align-items:end;padding:12px;background:#d1e8de94;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.experience-panel{display:grid;gap:14px;max-height:calc(100dvh - 36px);overflow-y:auto;padding:14px;border:1px solid rgba(var(--numa-forest-rgb),.14);border-radius:18px;background:var(--numa-card-bg);box-shadow:0 20px 56px rgba(var(--numa-shadow-rgb),.14),inset 0 0 0 1px #ffffffc7;color:var(--numa-ink)}.detail-panel{display:grid;gap:14px;max-height:calc(100dvh - 36px);overflow-y:auto;padding:16px;border:1px solid rgba(var(--numa-forest-rgb),.14);border-radius:18px;background:var(--numa-card-bg);box-shadow:0 20px 56px rgba(var(--numa-shadow-rgb),.14),inset 0 0 0 1px #ffffffc7;color:var(--numa-ink)}.detail-panel h2{color:var(--numa-ink);font-size:1.56rem;line-height:1.16}.detail-panel>p{color:var(--numa-muted);font-size:.94rem;line-height:1.55}.detail-list{display:grid;overflow:hidden;border:1px solid rgba(var(--numa-forest-rgb),.14);border-radius:10px;background:#ffffff9e}.detail-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:46px;padding:0 12px;border-bottom:1px solid rgba(var(--numa-forest-rgb),.12)}.detail-list div:last-child{border-bottom:0}.detail-list span{overflow:hidden;color:var(--numa-muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.detail-list strong{color:var(--numa-ink);font-size:.84rem}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--numa-muted);font-size:.75rem;font-weight:720}.detail-panel .quiet-icon-button,.experience-panel .quiet-icon-button{background:#ffffffeb;color:#e9cf2e;box-shadow:inset 0 0 0 1px rgba(var(--numa-forest-rgb),.08),0 10px 20px rgba(var(--numa-shadow-rgb),.08)}.experience-panel h2{color:var(--numa-ink);font-size:1.5rem;line-height:1.16}.experience-panel>p{color:var(--numa-muted);font-size:.94rem;line-height:1.55}.permission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-list span{display:inline-flex;min-width:0;align-items:center;gap:7px;min-height:36px;padding:0 10px;overflow:hidden;border:1px solid rgba(var(--numa-forest-rgb),.14);border-radius:var(--radius);background:#ffffff9e;color:var(--numa-sage);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.permission-list svg{width:15px;height:15px;color:var(--numa-teal)}.settings-row{grid-template-columns:32px minmax(0,1fr) auto 18px;min-height:54px}.settings-row>svg:first-child{width:32px;height:32px;padding:7px;border-radius:10px;background:rgba(var(--numa-teal-rgb),.09)}.primary-action{background:linear-gradient(180deg,#55a24f,#3a7d37);color:#f4fbef}.experience-panel h2,.detail-panel h2{font-family:Georgia,"Noto Serif SC",Songti SC,serif}.me-block{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--numa-card-border);border-radius:var(--numa-card-radius);background:var(--numa-card-bg);box-shadow:var(--numa-card-shadow);color:var(--numa-ink)}.me-block-title{margin:0;font-size:.9rem}.me-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.me-toggle-row strong{display:block;font-size:.92rem}.me-toggle-row p{margin-top:3px;color:var(--muted);font-size:.78rem}.me-switch{position:relative;width:46px;height:28px;flex:none;border:0;border-radius:999px;background:rgba(var(--numa-forest-rgb),.18);transition:background .2s ease}.me-switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:999px;background:#fff;box-shadow:0 2px 6px rgba(var(--numa-shadow-rgb),.25);transition:transform .2s ease}.me-switch.is-on{background:var(--numa-ios-green)}.me-switch.is-on i{transform:translate(18px)}.me-switch:disabled{opacity:.55}.me-block-hint{margin:0;color:var(--muted);font-size:.74rem}.me-consent-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.me-consent-row:last-child{border-bottom:0}.me-consent-row strong{display:block;font-size:.88rem}.me-consent-row p{margin-top:2px;color:var(--muted);font-size:.74rem}.me-consent-action{flex:none;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--numa-ink);font-size:.74rem}.me-consent-action:active{background:var(--surface)}.consent-layer{position:fixed;inset:0;z-index:30;display:grid;place-items:end center;padding:0 14px 14px;background:#0f221e57;opacity:0;pointer-events:none;transition:opacity .24s ease}.consent-layer.is-open{opacity:1;pointer-events:auto}.consent-card{display:grid;gap:12px;width:min(100%,430px);padding:18px 16px 14px;border:1px solid var(--numa-card-border);border-radius:22px;background:var(--numa-card-bg);box-shadow:0 20px 56px rgba(var(--numa-shadow-rgb),.18);color:var(--numa-ink);transform:translateY(12px);transition:transform .24s ease}.consent-layer.is-open .consent-card{transform:none}.consent-card h2{margin:0;font-size:1.2rem}.consent-intro{margin:0;color:var(--muted);font-size:.8rem;line-height:1.6}.consent-docs{display:grid;gap:8px;margin:0;padding:0;list-style:none}.consent-doc{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:transparent;color:var(--numa-ink);text-align:left}.consent-doc i{width:18px;height:18px;border:1.5px solid rgba(var(--numa-forest-rgb),.4);border-radius:999px}.consent-doc.is-checked i{border-color:var(--numa-ios-green);background:radial-gradient(circle,var(--numa-ios-green) 0 55%,transparent 62%)}.consent-doc strong{display:block;font-size:.86rem}.consent-doc small{color:var(--muted);font-size:.72rem}.consent-error{margin:0;color:#b4552d;font-size:.76rem}.consent-actions{display:grid;gap:6px}.consent-primary{min-height:46px;border:0;border-radius:14px;background:var(--numa-ios-green);color:#fff;font-size:.9rem;font-weight:700}.consent-primary:disabled{opacity:.45}.consent-later{min-height:34px;border:0;background:transparent;color:var(--muted);font-size:.78rem}@media(min-width:720px){body{display:grid;place-items:center;padding:18px}.app-shell{height:min(900px,calc(100vh - 36px));height:min(900px,calc(100dvh - 36px));border:1px solid rgba(12,20,35,.08);border-radius:28px}}@media(max-width:360px){:root{--home-input-height: 50px;--home-input-space: calc(var(--home-input-height) + var(--home-control-gap) + 10px);--trend-value-column: 52px;--trend-bars-column: 44px;--trend-range-column: 54px;--trend-column-gap: 6px}.app-view{padding-right:14px;padding-left:14px}.trend-row{grid-template-columns:42px minmax(0,1fr) minmax(92px,.54fr) 18px;gap:9px;min-height:86px;padding:11px}.trend-row-icon{width:36px;height:36px}.trend-row-copy>span{font-size:.9rem}.trend-row-copy strong{font-size:1.05rem}.trend-row-copy small,.trend-row-range{font-size:.72rem}.home-entry-pill{grid-template-columns:minmax(0,1fr) 58px;gap:8px;padding:0 6px 0 0}.home-entry-pill span{font-size:.94rem}.home-entry-pill svg{width:22px;height:22px}.tab-button{border-radius:var(--bottom-tab-active-radius);font-size:.62rem}}@media(display-mode:standalone){:root{--device-safe-top-fallback: 54px;--device-safe-bottom-fallback: 34px}}@media(max-width:430px)and (min-height:700px){:root[data-device-shell=true]{--device-safe-top-fallback: 54px;--device-safe-bottom-fallback: 34px}}@media(max-height:760px){.app-view{gap:10px}.communication-sheet{gap:7px}}@media(max-height:700px){:root{--home-safe-top: max(12px, calc(var(--system-safe-top) + 4px));--home-control-gap: 10px;--home-input-height: 50px;--home-input-space: calc(var(--home-input-height) + var(--home-control-gap) + 8px)}.numa-stage:before{top:2%;bottom:1%}.numa-figure{top:5%;width:clamp(230px,78vw,340px);height:74%}.communication-sheet{right:14px;left:14px}}@media(max-height:620px){:root{--home-safe-top: max(8px, var(--system-safe-top));--home-input-height: 46px;--home-input-space: calc(var(--home-input-height) + var(--home-control-gap) + 6px)}.numa-hero{padding-right:12px;padding-left:12px}.numa-figure{top:3%;width:clamp(210px,74vw,300px);height:76%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}:root{color-scheme:light;--app-bg: #e3e8e4;--app-bg-soft: #f3f5f2;--surface: rgba(255, 253, 248, .96);--surface-strong: rgba(255, 255, 255, .98);--surface-soft: rgba(38, 61, 57, .055);--line: rgba(38, 61, 57, .1);--line-strong: rgba(38, 61, 57, .18);--text: #263d39;--muted: #71807c;--soft: #87938f;--ink: #263d39;--paper: #fffdf8;--numa-teal: #67c7a2;--numa-teal-deep: #526f67;--numa-teal-action: #3ea77c;--numa-lime: #f3c969;--numa-ink: #263d39;--numa-sage: #526f67;--numa-muted: #71807c;--numa-subtle: #87938f;--numa-on-teal: #f7fffb;--numa-teal-rgb: 103, 199, 162;--numa-teal-deep-rgb: 82, 111, 103;--numa-lime-rgb: 243, 201, 105;--numa-ink-rgb: 38, 61, 57;--numa-forest-rgb: 82, 111, 103;--numa-shadow-rgb: 38, 61, 57;--numa-today-accent: #e9b956;--numa-today-accent-rgb: 233, 185, 86;--numa-trends-accent: #9c8bd4;--numa-trends-accent-deep: #7764b5;--numa-trends-accent-rgb: 156, 139, 212;--numa-home-accent: #68b6d6;--numa-home-accent-deep: #3e98bf;--numa-home-accent-rgb: 104, 182, 214;--numa-realm-accent: #67bd98;--numa-realm-accent-deep: #3ea77c;--numa-realm-accent-rgb: 103, 189, 152;--numa-me-accent: #e98a83;--numa-me-accent-deep: #d96c66;--numa-me-accent-rgb: 233, 138, 131;--numa-space-1: 4px;--numa-space-2: 8px;--numa-space-3: 12px;--numa-space-4: 16px;--numa-card-radius: 20px;--numa-frame-radius: 28px;--numa-page-background: radial-gradient(circle at 12% 8%, rgba(255, 255, 255, .82), transparent 25%), linear-gradient(145deg, #eef1ee, #e3e8e4);--numa-card-bg: linear-gradient(180deg, #ffffff 0%, #fffdf8 100%);--numa-card-border: rgba(var(--numa-ink-rgb), .1);--numa-card-shadow: 0 8px 24px rgba(var(--numa-shadow-rgb), .07), inset 0 0 0 1px rgba(255, 255, 255, .72);--numa-card-strip: linear-gradient(90deg, var(--numa-teal), var(--numa-lime));--numa-primary-gradient: linear-gradient(180deg, #67c7a2, #3ea77c);--numa-current-gradient: linear-gradient(180deg, #f3c969, #67c7a2);--home-tab-space: 88px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,sans-serif}html,body,#root{color:var(--numa-ink);background:#e3e8e4}.app-shell{grid-template-rows:minmax(0,1fr) 88px;background:var(--numa-page-background);color:var(--numa-ink)}.app-view:not([data-view=home]){gap:var(--numa-space-3);background:var(--numa-page-background)}.app-view[data-view=today]{--numa-card-strip: linear-gradient(90deg, rgba(var(--numa-today-accent-rgb), .94), rgba(var(--numa-today-accent-rgb), .46));background:linear-gradient(180deg,#fffaf0,#f8f6ef)}.app-view[data-view=trends]{--numa-card-strip: linear-gradient(90deg, rgba(var(--numa-trends-accent-rgb), .9), rgba(var(--numa-home-accent-rgb), .42));background:linear-gradient(180deg,#f7f4ff,#f1f2f8)}.app-view[data-view=home],.app-view[data-view=home][data-life-scene]{background:linear-gradient(180deg,#edf8fb,#e6f2f5)}.app-view[data-view=realm]{--numa-card-strip: linear-gradient(90deg, rgba(var(--numa-realm-accent-rgb), .92), rgba(var(--numa-realm-accent-rgb), .42));background:linear-gradient(180deg,#effaf4,#eaf5ef)}.app-view[data-view=me]{--numa-card-strip: linear-gradient(90deg, rgba(var(--numa-me-accent-rgb), .9), rgba(var(--numa-me-accent-rgb), .42));background:linear-gradient(180deg,#fff4f2,#faf0ef)}.page-head{gap:var(--numa-space-1);padding-top:var(--numa-space-4)}.page-head h1,.page-head h2,.wellness-card strong,.ntrends-summary strong,.trend-section-title h3,.realm-life-titles h1,.qiguang-map__header h2,.experience-panel h2,.detail-panel h2{color:var(--numa-ink);font-family:inherit;letter-spacing:-.025em}.page-head h2{font-size:1.56rem;font-weight:760;line-height:1.08}.kicker,.page-head .kicker{color:var(--numa-muted);font-size:.72rem;font-weight:650}.wellness-card,.timeline-card,.metric-card,.today-data-source,.ntrends-card,.trend-row,.settings-group,.profile-row,.experience-panel,.detail-panel,.look-panel,.nhist-sheet{border:1px solid var(--numa-card-border);background:var(--numa-card-bg);box-shadow:var(--numa-card-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.wellness-card,.timeline-card,.metric-card,.ntrends-card,.trend-row{position:relative;overflow:hidden}.wellness-card:before,.timeline-card:before,.metric-card:before,.ntrends-card:before,.trend-row:before{background:var(--numa-card-strip)}[data-view=today] .metric-card small:before,.today-data-status:before{background:var(--numa-today-accent);box-shadow:0 0 0 3px rgba(var(--numa-today-accent-rgb),.13)}[data-view=today] .metric-card-main svg,[data-view=today] .timeline-type,[data-view=today] .section-title button{color:#a97822}.ntrends-seg button.is-active,.ntrends-metric.is-active{border-color:rgba(var(--numa-trends-accent-rgb),.34);background:#eee9fb;color:var(--numa-trends-accent-deep);box-shadow:none}.ntrends-bar-now,.ntrends-bar.is-now,.trend-line-chart polyline{stroke:var(--numa-trends-accent-deep)}.ntrends-bar-now,.ntrends-bar.is-now{background:linear-gradient(180deg,var(--numa-trends-accent),var(--numa-home-accent))}.ntrends-bar-prev,.ntrends-bar.is-prev{background:#dcd7eb}.settings-row>svg:first-child{background:#e8f7f1;color:var(--numa-realm-accent-deep)}.numa-stage{border:1px solid rgba(var(--numa-ink-rgb),.16);border-right-width:0;border-left-width:0;background:#dce9df;box-shadow:0 14px 34px rgba(var(--numa-shadow-rgb),.12),inset 0 0 0 1px #ffffff8c}.app-view[data-view=home] .home-chrome{top:calc(var(--home-safe-top) + 10px);right:clamp(14px,4.8vw,20px);left:clamp(14px,4.8vw,20px);min-height:46px;padding:5px 6px 5px 12px;border:1px solid rgba(var(--numa-ink-rgb),.12);border-radius:17px;background:#fffdf8f5;box-shadow:0 9px 24px rgba(var(--numa-shadow-rgb),.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-view[data-view=home] .home-connection{gap:6px;color:var(--numa-ink);font-size:.76rem;font-weight:700;text-shadow:none}.app-view[data-view=home] .home-connection strong{font-weight:820}.app-view[data-view=home] .home-connection i{width:7px;height:7px;background:var(--numa-realm-accent-deep);box-shadow:0 0 0 3px rgba(var(--numa-realm-accent-rgb),.14)}.app-view[data-view=home] .home-chrome-actions{gap:3px}.app-view[data-view=home] .nhist-toggle,.app-view[data-view=home] .look-toggle{width:34px;height:34px;border:0;border-radius:12px;background:rgba(var(--numa-home-accent-rgb),.1);color:var(--numa-home-accent-deep);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-view[data-view=home] .look-toggle{padding:2px;background:rgba(var(--numa-home-accent-rgb),.14)}.app-view[data-view=home] .look-toggle svg{border-radius:10px}.app-view[data-view=home] .nhist-toggle:active,.app-view[data-view=home] .look-toggle:active{transform:scale(.94)}.app-view[data-view=home] .nhist-badge{top:5px;right:5px;background:var(--numa-me-accent);box-shadow:0 0 0 1.5px #fffdf8}.app-view[data-view=home] .numa-life-card{position:absolute;z-index:12;top:calc(var(--home-safe-top) + 68px);right:clamp(14px,4.8vw,20px);left:clamp(14px,4.8vw,20px);display:grid;width:auto;padding:11px 12px 8px;border:1px solid rgba(var(--numa-ink-rgb),.12);border-radius:18px 18px 18px 7px;background:#fffdf8f2;box-shadow:0 10px 26px rgba(var(--numa-shadow-rgb),.15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-view[data-view=home] .numa-life-scene-title{position:static;display:grid;gap:2px;width:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-view[data-view=home] .numa-life-scene-title span{color:#4d756c;font-size:.6rem;font-weight:760}.app-view[data-view=home] .numa-life-scene-title strong{color:var(--numa-ink);font-family:inherit;font-size:1rem;font-weight:790;line-height:1.2;letter-spacing:-.015em}.app-view[data-view=home] .numa-life-scene-title p{margin:1px 0 0;color:#5f706c;font-size:.64rem;font-weight:520;line-height:1.4}.app-view[data-view=home] .numa-life-card-meta{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid rgba(var(--numa-ink-rgb),.09)}.app-view[data-view=home] .numa-life-items{position:static;display:flex;min-width:0;max-width:none;flex:1 1 auto;align-items:center;gap:6px;padding:0;border:0;border-radius:0;background:none;color:#65736f;box-shadow:none;font-size:.58rem;font-weight:650;-webkit-backdrop-filter:none;backdrop-filter:none}.app-view[data-view=home] .numa-life-items span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-view[data-view=home] .numa-life-items svg{width:13px;height:13px;color:var(--numa-realm-accent-deep)}.app-view[data-view=home] .numa-life-items.is-empty{color:var(--numa-muted)}.app-view[data-view=home] .numa-life-map-link{position:static;display:inline-flex;min-height:28px;flex:0 0 auto;align-items:center;gap:5px;padding:0 9px;border:0;border-radius:10px;background:#e8f4f7;color:#347e9d;box-shadow:inset 0 0 0 1px rgba(var(--numa-home-accent-rgb),.18);font-size:.61rem;font-weight:760;-webkit-backdrop-filter:none;backdrop-filter:none}.app-view[data-view=home] .numa-life-map-link svg{width:13px;height:13px}@media(max-height:720px){.app-view[data-view=home] .numa-life-card{top:calc(var(--home-safe-top) + 62px)}.app-view[data-view=home] .numa-life-scene-title p{-webkit-line-clamp:1}}.home-entry-pill,.composer{border:1px solid rgba(var(--numa-ink-rgb),.1);border-radius:999px;background:#fffdf8fb;box-shadow:0 10px 24px rgba(var(--numa-shadow-rgb),.1);-webkit-backdrop-filter:none;backdrop-filter:none}.look-sheet{z-index:100}.app-view[data-view=home] .home-entry-pill span{color:#71807c}.home-entry-mic,.composer .icon-send.is-primary{background:#eaf6fb;color:var(--numa-home-accent-deep);box-shadow:inset 0 0 0 1px rgba(var(--numa-home-accent-rgb),.2)}.app-view[data-view=home] .home-entry-pill .home-entry-mic svg{color:var(--numa-home-accent-deep)}.app-view[data-view=home]{--home-control-gap: 14px;--home-input-height: 54px;--home-input-space: calc(var(--home-input-height) + var(--home-control-gap) + 8px)}.app-view[data-view=home] .numa-hero{padding-right:0;padding-left:0}.app-view[data-view=home][data-life-scene] .numa-hero{padding-top:0}.app-view[data-view=home] .numa-stage,.app-view[data-view=home][data-life-scene] .numa-stage[data-character-source=vector-life],.app-view[data-view=home] .numa-life-scenery{border:0;border-radius:0;box-shadow:none}.app-view[data-view=home] .home-chrome{top:calc(var(--home-safe-top) + 4px);right:12px;left:12px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-view[data-view=home] .home-connection{min-height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:#192a256b;color:#ffffffeb;font-size:.76rem;font-weight:650;letter-spacing:-.01em;text-shadow:0 1px 3px rgba(14,31,27,.22);-webkit-backdrop-filter:blur(20px) saturate(1.18);backdrop-filter:blur(20px) saturate(1.18)}.app-view[data-view=home] .home-connection strong{font-weight:720}.app-view[data-view=home] .home-connection i{width:6px;height:6px;background:#30d158;box-shadow:0 0 0 2px #30d15826}.app-view[data-view=home] .home-chrome-actions{gap:8px}.app-view[data-view=home] .nhist-toggle,.app-view[data-view=home] .look-toggle{width:44px;height:44px;padding:6px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:#192a2557;color:#fffffff0;box-shadow:0 3px 12px #1226201a;-webkit-backdrop-filter:blur(20px) saturate(1.18);backdrop-filter:blur(20px) saturate(1.18);touch-action:manipulation}.app-view[data-view=home] .look-toggle svg{width:32px;height:32px;border-radius:10px}.app-view[data-view=home] .nhist-toggle svg{width:18px;height:18px}.app-view[data-view=home] .nhist-badge{top:7px;right:7px;width:5px;height:5px;background:#ff453a;box-shadow:0 0 0 1.5px #192a25c7}.app-view[data-view=home] .numa-life-card{top:calc(var(--home-safe-top) + 56px);right:auto;left:0;width:min(100%,340px);padding:9px 28px 5px 16px;border:0;border-radius:0;background:linear-gradient(90deg,rgba(21,39,33,.5) 0%,rgba(21,39,33,.34) 72%,transparent 100%);color:#fffffff0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.app-view[data-view=home] .numa-life-scene-title{gap:1px}.app-view[data-view=home] .numa-life-scene-title span{color:#ffffffa8;font-size:.65rem;font-weight:590}.app-view[data-view=home] .numa-life-scene-title strong{color:#fffffff2;font-size:.94rem;font-weight:680;line-height:1.22;letter-spacing:-.018em}.app-view[data-view=home] .numa-life-scene-title p{margin-top:2px;color:#ffffffb3;font-size:.67rem;font-weight:450;line-height:1.35;-webkit-line-clamp:1}.app-view[data-view=home] .numa-life-card-meta{min-height:44px;gap:6px;margin-top:2px;padding-top:0;border-top:0}.app-view[data-view=home] .numa-life-items{color:#ffffffa3;font-size:.61rem;font-weight:560}.app-view[data-view=home] .numa-life-items svg{color:#ffffffb3}.app-view[data-view=home] .numa-life-items.is-empty{color:#fff9}.app-view[data-view=home] .numa-life-map-link{display:inline-flex;min-width:76px;min-height:44px;align-items:center;gap:2px;padding:0 8px 0 12px;border:1px solid rgba(255,255,255,.28);border-left:1px solid rgba(255,255,255,.28);border-radius:999px;background:#ffffff29;color:#fff;box-shadow:none;font-size:.68rem;font-weight:620;touch-action:manipulation;-webkit-backdrop-filter:blur(12px) saturate(1.3);backdrop-filter:blur(12px) saturate(1.3);transition:transform .16s ease,background-color .16s ease}.app-view[data-view=home] .numa-life-map-link svg{width:14px;height:14px;color:#ffffffb8;stroke-width:2.6}.app-view[data-view=home] .numa-life-map-link:active{transform:scale(.96);background:#ffffff42}.app-view[data-view=home] .numa-life-map-link:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}@media(prefers-reduced-motion:reduce){.app-view[data-view=home] .numa-life-map-link{transition:none}.app-view[data-view=home] .numa-life-map-link:active{transform:none}}.app-view[data-view=home] .communication-sheet{right:16px;bottom:12px;left:16px}.app-view[data-view=home] .home-entry-pill,.app-view[data-view=home] .composer{min-height:54px;border:1px solid rgba(255,255,255,.7);border-radius:27px;background:#f8faf9e0;box-shadow:0 5px 18px #18302a1a;-webkit-backdrop-filter:blur(20px) saturate(1.14);backdrop-filter:blur(20px) saturate(1.14)}.app-view[data-view=home] .home-entry-pill{grid-template-columns:minmax(0,1fr) 50px;gap:4px;padding-right:2px}.app-view[data-view=home] .home-entry-body{min-height:52px;padding-left:18px}.app-view[data-view=home] .home-entry-pill span{color:#65726e;font-size:.98rem;font-weight:540}.app-view[data-view=home] .home-entry-mic{width:50px;height:50px;min-width:50px;min-height:50px;border:0;background:rgba(var(--numa-home-accent-rgb),.11);box-shadow:none;touch-action:manipulation}.app-view[data-view=home] .composer{grid-template-columns:minmax(0,1fr) 52px;gap:2px;padding:0 1px 0 0}.app-view[data-view=home] .composer input{height:52px;padding:0 58px 0 17px;border:0;background:transparent}.app-view[data-view=home] .composer .icon-send:not(.is-primary){right:57px;width:44px;height:44px;min-width:44px;min-height:44px}.app-view[data-view=home] .composer .icon-send.is-primary{width:52px;height:52px;min-width:52px;min-height:52px;border:0;background:rgba(var(--numa-home-accent-rgb),.13);box-shadow:none;touch-action:manipulation}@media(max-height:720px){.app-view[data-view=home] .numa-life-card{top:calc(var(--home-safe-top) + 52px)}}.app-view[data-view=home] .numa-stage-shell>.numa-runtime-reply{right:auto;left:50%;transform:translate(-50%,8px) scale(.99)}.app-view[data-view=home] .numa-stage-shell>.numa-runtime-reply.is-visible{transform:translate(-50%) scale(1)}.app-view[data-view=home] .numa-stage-shell>.numa-runtime-reply:after{right:auto;left:50%;transform:translate(-50%) rotate(38deg) skew(-8deg,-8deg)}.app-view[data-view=home] .numa-stage-shell[data-life-scene=true]>.numa-runtime-reply{bottom:calc(4.8% + clamp(250px,38%,330px) + 14px)}.app-view[data-view=home] .numa-stage-shell[data-life-scene=true][data-companion-count="1"]>.numa-runtime-reply{left:64%}.app-view[data-view=home] .numa-stage-shell[data-life-scene=false]>.numa-runtime-reply{top:clamp(116px,18%,154px);bottom:auto}.numa-runtime-reply{grid-template-columns:34px minmax(0,1fr);gap:9px;width:max-content;max-width:min(86%,334px);min-height:46px;padding:6px 13px 6px 7px;border:1px solid rgba(var(--numa-ink-rgb),.1);border-radius:18px 18px 18px 7px;background:linear-gradient(180deg,#fffdf8fc,#f3f5f2fa);color:var(--numa-ink);box-shadow:0 8px 22px rgba(var(--numa-shadow-rgb),.12),inset 0 1px #ffffffe0}.numa-runtime-reply:after{position:absolute;bottom:-5px;left:16px;width:11px;height:11px;border-right:1px solid rgba(var(--numa-ink-rgb),.12);border-bottom:1px solid rgba(var(--numa-ink-rgb),.12);border-radius:0 0 3px;background:#f3f5f2;content:"";transform:rotate(38deg) skew(-8deg,-8deg)}.numa-runtime-reply p{color:var(--numa-ink);font-size:.78rem;font-weight:650;line-height:1.34;-webkit-line-clamp:3}.numa-runtime-mark{width:34px;height:34px;border-color:rgba(var(--numa-realm-accent-rgb),.28);background:#e8f7f1;color:var(--numa-realm-accent-deep);box-shadow:inset 0 0 0 1px #ffffff9e}.numa-reaction-avatar{display:block;width:32px;height:32px}.numa-reaction-avatar{overflow:hidden;border-radius:50%;transform-origin:50% 80%;animation:numa-reaction-avatar-arrive .42s cubic-bezier(.2,.86,.28,1.2) both}.numa-reaction-avatar>.numa-rig,.numa-reaction-avatar .numa-rig svg{width:100%;height:100%;max-height:none}.numa-reaction-avatar>.numa-rig{transform:scale(1.4) translateY(7%);transform-origin:50% 58%}@keyframes numa-reaction-avatar-arrive{0%{opacity:0;transform:translateY(3px) scale(.88)}70%{opacity:1;transform:translateY(-1px) scale(1.035)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.numa-reaction-avatar{animation:none}}.bottom-tabs{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;height:88px;align-self:stretch;align-content:center;padding:9px 8px 11px;overflow:hidden;border-top:1px solid rgba(var(--numa-ink-rgb),.1);border-radius:0;background:#fffffffb;color:var(--numa-ink);box-shadow:0 -12px 30px rgba(var(--numa-shadow-rgb),.1);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-tabs:before{display:none}.tab-button,.tab-button.is-active{position:relative;z-index:2;display:grid;grid-template-rows:30px var(--bottom-tab-label-height);width:100%;height:66px;min-height:66px;align-content:center;justify-self:stretch;justify-items:center;gap:5px;margin:0;padding:7px 2px 6px;border:1px solid transparent;border-radius:15px;background:transparent;box-shadow:none;color:#7d8c87;filter:none;font-size:.64rem;font-weight:650;line-height:1;transform:none;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .12s ease}.tab-button:after,.tab-button.is-active:after{display:none}.tab-icon-box,.tab-button.is-active .tab-icon-box{display:grid;width:30px;height:30px;place-items:center;filter:none;transform:none}.tab-button .tab-icon-box svg,.tab-button.is-active .tab-icon-box svg{display:block;width:30px;height:30px;padding:7px;border-radius:50%;background:#87938f;color:#fff;filter:none;stroke:currentColor;stroke-width:2.2;transform:none}.tab-button:nth-child(1) .tab-icon-box svg{background:var(--numa-today-accent)}.tab-button:nth-child(2) .tab-icon-box svg{background:var(--numa-trends-accent)}.tab-button:nth-child(3) .tab-icon-box svg{background:var(--numa-home-accent)}.tab-button:nth-child(4) .tab-icon-box svg{background:var(--numa-realm-accent)}.tab-button:nth-child(5) .tab-icon-box svg{background:var(--numa-me-accent)}.tab-button .tab-label,.tab-button.is-active .tab-label{position:static;top:auto;display:block;width:auto;max-width:100%;height:var(--bottom-tab-label-height);color:inherit;font-size:.64rem;font-weight:inherit;line-height:var(--bottom-tab-label-height)}.tab-button.is-active:nth-child(1){border-color:rgba(var(--numa-today-accent-rgb),.42);background:#fff5dc;color:#a97822}.tab-button.is-active:nth-child(2){border-color:rgba(var(--numa-trends-accent-rgb),.42);background:#eee9fb;color:var(--numa-trends-accent-deep)}.tab-button.is-active:nth-child(3){border-color:rgba(var(--numa-home-accent-rgb),.42);background:#eaf6fb;color:#388bae}.tab-button.is-active:nth-child(4){border-color:rgba(var(--numa-realm-accent-rgb),.42);background:#e8f7f1;color:#378f6d}.tab-button.is-active:nth-child(5){border-color:rgba(var(--numa-me-accent-rgb),.42);background:#fcedeb;color:#c55e59}.tab-button:not(.is-active):active,.tab-button.is-active:active{transform:scale(.97)}.tab-button:active .tab-icon-box,.tab-button:active .tab-icon-box svg,.tab-button.is-active:active .tab-icon-box,.tab-button.is-active:active .tab-icon-box svg{transform:scale(.94)}.tab-button:focus-visible{outline-color:rgba(var(--numa-teal-rgb),.68)}@media(max-width:360px){.bottom-tabs{gap:2px;padding-right:5px;padding-left:5px}.tab-button,.tab-button.is-active{border-radius:13px}}.experience-backdrop{background:rgba(var(--numa-me-accent-rgb),.2);-webkit-backdrop-filter:blur(20px) saturate(1.12);backdrop-filter:blur(20px) saturate(1.12)}.primary-action{background:var(--numa-primary-gradient);color:var(--numa-on-teal)}.nhist-sheet{background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.5),transparent 30%),linear-gradient(180deg,#f0f3f0,#e3e8e4)}:root{--numa-home-accent: #6fae57;--numa-home-accent-deep: #4f8a3e;--numa-home-accent-rgb: 111, 174, 87}.app-view[data-view=home] .home-entry-pill,.app-view[data-view=home] .composer{border-color:#fffae4cc;background:#faf7e8e6;box-shadow:0 5px 18px #2e3a1c1f}.app-view[data-view=home] .home-entry-pill span{color:#7a7658}.app-view[data-view=home] .primary-action{border-color:#c4842073;background:linear-gradient(180deg,#f7c95c,#eba63b);color:#4d3413}
