: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;--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);--scenario-rail-height: 58px;--scenario-rail-gap: 10px;--scenario-rail-space: calc(var(--scenario-rail-height) + var(--scenario-rail-gap));--home-input-space: calc(var(--home-input-height) + var(--home-control-gap) + var(--scenario-rail-space) + 22px);--bottom-tab-height: 64px;--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: 16px;--bottom-tab-icon-box-size: 20px;--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-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}.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;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,#10182b 46%,#09111f);box-shadow:var(--shadow)}.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::-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}.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}.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{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%}.numa-figure{position:absolute;z-index:2;top:8%;left:50%;width:clamp(252px,86vw,410px);height:70%;object-fit:contain;opacity:.98;transform:translate(-50%) translateY(0);transition:filter .22s ease,transform .22s ease,opacity .22s ease}.numa-stage[data-visual=sleep_debt] .numa-figure{filter:saturate(.82) sepia(.12) hue-rotate(8deg) brightness(.9);opacity:.88}.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%}.numa-stage[data-touch-zone=halo] .touch-ring{transform:translateY(82px) scaleX(1.45) scaleY(.34)}.bond-halo{position:absolute;z-index:3;right:14%;bottom:17%;left:14%;height:48px;border:1px solid rgba(169,215,255,.45);border-radius:50%;box-shadow:0 0 24px #a9d7ff47,inset 0 0 18px #f5dfb724}.bond-halo span{position:absolute;inset:9px 22%;border-top:2px solid rgba(245,223,183,.8);border-radius:50%}.touch-ring{position:absolute;z-index:4;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}.app-shell[data-ritual=syncing] .bond-halo{animation:halo-breathe 1.6s ease-in-out infinite}.scenario-rail{position:absolute;z-index:5;right:clamp(14px,4.8vw,20px);bottom:calc(var(--home-control-gap) + var(--home-input-height) + var(--scenario-rail-gap));left:clamp(14px,4.8vw,20px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-height:var(--scenario-rail-height)}.scenario-button,.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}.scenario-button{display:grid;gap:3px;min-height:54px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0e;color:var(--text);text-align:left}.scenario-button span{overflow:hidden;font-size:.86rem;font-weight:780;text-overflow:ellipsis;white-space:nowrap}.scenario-button small{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.scenario-button.is-active{border-color:#a9d7ff8a;background:#a9d7ff21}.communication-sheet{position:absolute;right:clamp(14px,4.8vw,20px);bottom:var(--home-control-gap);left:clamp(14px,4.8vw,20px);z-index:6;display:grid;gap:9px;padding:0;border:0;border-radius:999px;background:transparent}.communication-sheet.is-open{right:0;bottom:0;left:0;gap:12px;padding:10px 20px 16px;border:1px solid rgba(232,237,247,.16);border-bottom:0;border-radius:28px 28px 0 0;background:linear-gradient(180deg,#303953d1,#1c253de6),#0e1627d1;box-shadow:0 -22px 54px #05091252;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.communication-sheet[data-sheet-phase=voiceRecording]{border-color:#f5dfb757}.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) 28px;align-items:center;gap:12px;min-height:var(--home-input-height);padding:0 18px 0 22px;border:1px solid rgba(232,237,247,.18);border-radius:999px;background:linear-gradient(180deg,#2d364e8a,#182137a3),#0c1424b8;color:#dde2f0b8;text-align:left;box-shadow:inset 0 0 0 1px #ffffff09,0 18px 42px #0000003d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-entry-pill svg{width:25px;height:25px;color:#e8edf7d6;justify-self:end}.home-entry-pill span{overflow:hidden;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}.sheet-body{display:grid;gap:9px}.sheet-reply-row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center}.sheet-numa-mark{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(232,237,247,.16);border-radius:999px;background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.36),transparent 35%),linear-gradient(180deg,#9198dd61,#2e3a5b9e);color:#e8edf7f2;box-shadow:0 0 22px #b9b2ff38}.sheet-numa-mark svg{width:24px;height:24px}.reply-strip{display:grid;gap:5px;min-height:74px;padding:14px 16px;border:1px solid rgba(232,237,247,.13);border-radius:18px;background:#171f339e}.reply-name{color:var(--lavender);font-size:.72rem;font-weight:780}#latest-reply{color:var(--text);font-size:.93rem;line-height:1.5}.prompt-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:1px}.prompt-chip{flex:0 0 auto;min-height:34px;max-width:176px;padding:0 12px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:#f5dfb714;color:var(--text);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.voice-capture{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:0 10px;border:1px solid rgba(245,223,183,.22);border-radius:var(--radius);background:#f5dfb714;color:var(--warm);font-size:.82rem;font-weight:760}.voice-capture i{display:block;height:14px;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(245,223,183,.26) 0 4px,transparent 4px 9px)}.voice-capture button{min-height:30px;padding:0 10px;border-radius:999px;background:#ffffff1a;color:var(--text);font-size:.76rem;font-weight:760}.composer{display:grid;grid-template-columns:minmax(0,1fr) 50px 50px;gap:8px}.composer input{width:100%;min-width:0;height:50px;padding:0 18px;border:1px solid rgba(232,237,247,.18);border-radius:999px;background:#0f182bbd;color:var(--text);outline:0}.composer input::placeholder{color:var(--soft)}.icon-send{display:grid;width:50px;height:50px;place-items:center;border-radius:999px;background:#ffffff14;color:#f5f7fbc7}.icon-send.is-primary{background:linear-gradient(180deg,#dfe9ff,#b9b2ff);color:#101528}.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:linear-gradient(180deg,#eef4ff,#c9c3ff);color:#111729}.secondary-action{padding:0 14px;border:1px solid var(--line);background:#ffffff12;color:var(--text)}.secondary-action.is-wide{width:100%}.wellness-card,.timeline-card,.metric-card,.realm-scene,.bond-list,.growth-path,.profile-row,.settings-group,.trend-report-card,.trend-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.wellness-card{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:14px;align-items:center;min-height:148px;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,.trend-row-copy small,.trend-row-range{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}.trend-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trend-report-card{display:grid;grid-template-rows:auto minmax(30px,1fr);gap:12px;min-height:118px;padding:14px 13px 12px;overflow:hidden;color:var(--text);text-align:left}.trend-report-top{display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:9px;align-items:start}.trend-report-icon{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(169,215,255,.2);border-radius:10px;background:#a9d7ff1f;color:var(--ice)}.trend-report-icon svg{width:17px;height:17px}.trend-report-copy{display:grid;gap:4px;min-width:0}.trend-report-copy strong{overflow:hidden;color:var(--text);font-size:.92rem;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}.trend-report-copy small{overflow:visible;color:var(--muted);font-size:.72rem;line-height:1.18;text-overflow:clip;white-space:normal}.trend-report-top>svg{width:16px;height:16px;align-self:center;justify-self:end;color:var(--muted)}.trend-report-visual{display:grid;min-width:0;align-items:end}.trend-report-visual .mini-trend,.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,.settings-row{display:grid;align-items:center;min-width:0;color:var(--text);text-align:left}.settings-row{border-bottom:1px solid var(--line);background:transparent}.settings-row:last-child{border-bottom:0}.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,.settings-row>svg:first-child{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;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;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)}.settings-row span{overflow:hidden;font-size:.88rem;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.page-note{padding:0 2px 4px}.realm-scene{display:grid;gap:12px;min-height:258px;place-items:center;padding:22px 18px;text-align:center}.resonance-field{position:relative;width:min(76%,240px);height:96px}.resonance-field span{position:absolute;inset:24px 8px;border:1px solid rgba(169,215,255,.54);border-radius:50%;transform:rotate(-8deg);box-shadow:0 0 22px #a9d7ff33}.resonance-field span:last-child{transform:rotate(8deg);border-color:#f5dfb76b}.realm-scene strong{font-size:1.18rem}.realm-scene p{max-width:260px;color:var(--muted);font-size:.9rem;line-height:1.5}.bond-list{display:grid;gap:12px;padding:14px}.bond-row{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;width:100%;background:transparent;color:var(--text);text-align:left}.bond-row>span{display:grid;width:30px;height:30px;place-items:center;border-radius:999px;background:#a9d7ff1f;color:var(--ice);font-size:.78rem;font-weight:780}.bond-row strong{font-size:.94rem}.bond-row p{margin-top:4px;color:var(--muted);font-size:.84rem;line-height:1.42}.growth-path{display:grid;gap:12px;padding:14px}.growth-path>span{color:var(--muted);font-size:.76rem;font-weight:760}.growth-path div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.growth-path i{display:block;height:7px;border-radius:999px;background:linear-gradient(90deg,#a9d7ffd1,#b9b2ff6b)}.profile-row{display:grid;grid-template-columns:52px minmax(0,1fr) 36px;align-items:center;gap:12px;min-height:88px;padding:14px}.profile-mark{display:grid;width:52px;height:52px;place-items:center;border-radius:999px;background:#a9d7ff24;color:var(--ice);font-weight:820}.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{grid-template-columns:24px minmax(0,1fr) auto 18px;gap:10px;min-height:52px;padding:0 12px}.settings-row small{color:var(--soft);font-size:.76rem}.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:radial-gradient(circle at 50% 18%,rgba(255,255,255,.22),transparent 35%),linear-gradient(180deg,#8997d675,#435180a3),#3e4c7a9e;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:#c9c6ff}.experience-backdrop{position:absolute;inset:0;z-index:20;display:grid;align-items:end;padding:12px;background:#05091285;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.experience-panel{display:grid;gap:14px;max-height:calc(100dvh - 36px);overflow-y:auto;padding:14px;border:1px solid var(--line-strong);border-radius:18px;background:linear-gradient(180deg,#151f34f7,#0a101efa),var(--app-bg);box-shadow:0 24px 70px #0000006b}.detail-panel{display:grid;gap:14px;max-height:calc(100dvh - 36px);overflow-y:auto;padding:16px;border:1px solid var(--line-strong);border-radius:18px;background:linear-gradient(180deg,#151f34f7,#0a101efa),var(--app-bg);box-shadow:0 24px 70px #0000006b}.detail-panel h2{font-size:1.46rem;line-height:1.16}.detail-panel>p{color:var(--muted);font-size:.94rem;line-height:1.55}.detail-list{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff0e}.detail-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:44px;padding:0 12px;border-bottom:1px solid var(--line)}.detail-list div:last-child{border-bottom:0}.detail-list span{overflow:hidden;color:var(--muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.detail-list strong{color:var(--text);font-size:.84rem}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.75rem;font-weight:720}.panel-lifeform{display:grid;height:190px;place-items:center;overflow:hidden;border-radius:var(--radius);background:#ffffff0b}.panel-lifeform img{width:78%;height:230px;object-fit:contain;transform:translateY(4px)}.experience-panel h2{font-size:1.5rem;line-height:1.16}.experience-panel>p{color:var(--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 var(--line);border-radius:var(--radius);background:#ffffff0e;color:#f5f7fbe0;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.permission-list svg{width:15px;height:15px;color:var(--mint)}@keyframes touch-pulse{0%{opacity:.9;transform:scale(.74)}to{opacity:0;transform:scale(1.45)}}@keyframes halo-breathe{0%,to{opacity:.72;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.08)}}@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) + 16px);--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-report-grid{gap:8px}.trend-report-card{min-height:108px;padding:12px 11px 10px}.trend-report-top{grid-template-columns:30px minmax(0,1fr) 14px;gap:7px}.trend-report-icon{width:30px;height:30px;border-radius:9px}.trend-report-copy small{font-size:.68rem;line-height:1.12}.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) 24px;gap:8px;padding:0 14px 0 16px}.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;--scenario-rail-height: 54px;--scenario-rail-gap: 8px;--home-input-space: calc(var(--home-input-height) + var(--home-control-gap) + var(--scenario-rail-space) + 12px)}.numa-stage:before{top:2%;bottom:1%}.numa-figure{top:5%;width:clamp(230px,78vw,340px);height:74%}.bond-halo{bottom:13%;height:40px}.communication-sheet{right:14px;left:14px}}@media(max-height:620px){:root{--home-safe-top: max(8px, var(--system-safe-top));--home-input-height: 46px;--scenario-rail-height: 52px;--scenario-rail-gap: 7px;--home-input-space: calc(var(--home-input-height) + var(--home-control-gap) + var(--scenario-rail-space) + 8px)}.numa-hero{padding-right:12px;padding-left:12px}.numa-figure{top:3%;width:clamp(210px,74vw,300px);height:76%}.bond-halo{bottom:10%;height:34px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
 
.numa-stage:after{position:absolute;z-index:0;inset:2% -18% 1%;border-radius:32px;background-image:linear-gradient(180deg,rgba(5,7,11,.04),rgba(5,7,11,.24)),var(--numa-static-bg);background-position:center;background-size:cover;box-shadow:inset 0 0 86px #05070b70;content:"";opacity:.9;pointer-events:none;transition:opacity .22s ease}.numa-static-source{opacity:0!important;visibility:hidden}.numa-motion-video{position:fixed;top:0;left:0;z-index:0;width:18px;height:10px;opacity:.01;object-fit:cover;pointer-events:none}.numa-stage canvas.numa-motion-canvas{inset:auto;right:auto;bottom:auto;z-index:2;top:7%;left:50%;width:auto;height:72%;max-width:min(86vw,410px);aspect-ratio:9/16;background:transparent;opacity:.98;transform:translate(-50%) translateY(0);transition:filter .22s ease,transform .22s ease,opacity .22s ease}@media(max-height:700px){.numa-stage:after{inset:0 -22% -1%}.numa-stage canvas.numa-motion-canvas{top:4%;height:76%;max-width:min(78vw,340px)}}@media(max-height:620px){.numa-stage canvas.numa-motion-canvas{top:2%;height:78%;max-width:min(74vw,300px)}}
.numa-stage .bond-halo{display:none!important}

:root{--app-bg:#080817;--app-bg-soft:#111128;--surface:rgba(28,25,49,.72);--surface-strong:rgba(40,34,67,.9);--line:rgba(236,221,190,.16);--line-strong:rgba(246,222,175,.28);--text:#fff8ec;--muted:#c8bdd2;--soft:#8f86a5;--ice:#bfc8ff;--lavender:#a99cff;--warm:#f4ca86;--mint:#83e3c7;--scenario-rail-height:0px;--scenario-rail-gap:0px;--scenario-rail-space:0px;--home-input-space:calc(var(--home-input-height) + var(--home-control-gap) + 22px);--bottom-tab-background:linear-gradient(180deg,rgba(32,34,69,.88),rgba(13,18,42,.98)),rgba(10,13,31,.96);--home-tab-space:calc(var(--bottom-tab-height) + var(--system-safe-bottom))}
html,body,#root{background:radial-gradient(circle at 50% 38%,rgba(122,106,178,.38),transparent 48%),radial-gradient(circle at 50% 78%,rgba(239,180,99,.2),transparent 34%),linear-gradient(180deg,#f2efe7 0,#101326 18%,#080a18 100%)}
.app-shell{min-height:0;background:radial-gradient(circle at 50% 28%,rgba(157,139,217,.28),transparent 42%),radial-gradient(circle at 50% 71%,rgba(242,181,104,.22),transparent 36%),linear-gradient(180deg,#080b18 0,#191936 48%,#080a18 100%);box-shadow:0 28px 92px rgba(31,24,55,.32)}
.app-view[data-view=home]{background:linear-gradient(180deg,rgba(8,10,23,.82) 0,rgba(11,14,32,.1) 18%,rgba(11,14,32,.08) 62%,rgba(8,10,23,.96) 88%)}
.numa-hero{padding-bottom:var(--home-input-space)}
.numa-stage:before{inset:4% -14% 0;border-radius:40%;background:radial-gradient(circle at 50% 38%,rgba(205,188,255,.2),transparent 32%),radial-gradient(circle at 50% 64%,rgba(240,185,100,.2),transparent 43%),radial-gradient(circle at 50% 77%,rgba(91,229,197,.16),transparent 24%);filter:blur(2px)}
.numa-stage:after{inset:-2% -24% -3%;border-radius:0;background-image:linear-gradient(180deg,rgba(11,12,28,.22),rgba(56,45,72,.08) 42%,rgba(208,151,82,.18) 73%,rgba(8,10,23,.18)),var(--numa-static-bg);filter:saturate(1.08) contrast(1.03);opacity:.96}
.numa-figure{top:13%;height:66%;mix-blend-mode:screen;filter:drop-shadow(0 0 22px rgba(202,197,255,.42)) saturate(1.05) brightness(1.08);transform:translate(-50%) translateY(42px)}
.numa-stage canvas.numa-motion-canvas{top:13%;height:66%;max-width:min(82vw,392px);background:transparent!important;mix-blend-mode:screen;filter:drop-shadow(0 0 22px rgba(202,197,255,.42)) saturate(1.08) brightness(1.08);transform:translate(-50%) translateY(42px)}
.home-entry-pill{background:linear-gradient(180deg,rgba(42,42,78,.78),rgba(18,23,48,.92)),rgba(15,18,39,.9);border-color:rgba(239,222,190,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 16px 42px rgba(8,8,20,.42);color:rgba(255,248,236,.76)}
.communication-sheet{bottom:calc(var(--home-control-gap) + var(--system-safe-bottom))}
.bottom-tabs{height:var(--home-tab-space);padding-bottom:calc(var(--bottom-tab-padding-y) + var(--system-safe-bottom));border-top-color:rgba(246,222,175,.12)}
.tab-button.is-active{background:radial-gradient(circle at 50% 18%,rgba(255,244,205,.28),transparent 36%),linear-gradient(180deg,rgba(174,166,232,.75),rgba(87,88,146,.82));box-shadow:inset 0 0 0 1px rgba(255,244,216,.22),0 10px 24px rgba(50,39,88,.46),0 0 24px rgba(194,180,255,.28)}
@media(max-height:700px){:root{--scenario-rail-height:0px;--scenario-rail-gap:0px;--scenario-rail-space:0px;--home-input-space:calc(var(--home-input-height) + var(--home-control-gap) + 12px)}.numa-stage canvas.numa-motion-canvas,.numa-figure{top:10%;height:68%;max-width:min(78vw,340px);transform:translate(-50%) translateY(34px)}}
@media(max-height:620px){:root{--scenario-rail-height:0px;--scenario-rail-gap:0px;--scenario-rail-space:0px;--home-input-space:calc(var(--home-input-height) + var(--home-control-gap) + 8px)}.numa-stage canvas.numa-motion-canvas,.numa-figure{top:8%;height:70%;max-width:min(74vw,300px);transform:translate(-50%) translateY(26px)}}

/* Reference-tint refresh: warmer Huaban-inspired scene, lower character placement. */
:root{
  --app-bg:#05070b;
  --app-bg-soft:#111018;
  --surface:rgba(31,25,34,.72);
  --surface-strong:rgba(42,33,45,.9);
  --surface-soft:rgba(255,244,228,.08);
  --line:rgba(255,224,202,.16);
  --line-strong:rgba(255,224,202,.26);
  --text:#fff7ef;
  --muted:#d3bbb2;
  --soft:#9d857f;
  --ice:#7ee0b8;
  --lavender:#e9859b;
  --warm:#ffd58e;
  --mint:#7ee0b8;
  --shadow:0 28px 86px rgba(5,7,11,.46);
  --bottom-tab-background:linear-gradient(180deg,rgba(42,30,42,.82),rgba(13,13,19,.96)),rgba(10,10,15,.94);
}

html,body,#root{
  background:
    radial-gradient(circle at 52% 40%,rgba(233,133,155,.3),transparent 34%),
    radial-gradient(circle at 46% 68%,rgba(126,224,184,.17),transparent 42%),
    linear-gradient(180deg,#09080d,#15101a 46%,#05070b);
}

.app-shell{
  background:
    radial-gradient(circle at 50% 34%,rgba(233,133,155,.24),transparent 32%),
    radial-gradient(circle at 50% 66%,rgba(126,224,184,.15),transparent 34%),
    linear-gradient(180deg,#09080d 0%,#19101d 45%,#07070c 100%);
}

.numa-stage:before{
  inset:16% -12% 0;
  background:
    radial-gradient(circle at 50% 38%,rgba(255,213,142,.2),transparent 28%),
    radial-gradient(circle at 48% 58%,rgba(233,133,155,.26),transparent 36%),
    radial-gradient(circle at 54% 72%,rgba(126,224,184,.18),transparent 46%);
}

.numa-stage:after{
  inset:8% -18% -4%;
  border-radius:0;
  background-image:
    linear-gradient(180deg,rgba(5,7,11,.14),rgba(5,7,11,.08) 42%,rgba(5,7,11,.32)),
    radial-gradient(circle at 50% 34%,rgba(233,133,155,.22),transparent 35%),
    radial-gradient(circle at 50% 76%,rgba(126,224,184,.18),transparent 42%),
    var(--numa-static-bg);
  box-shadow:inset 0 0 76px rgba(5,7,11,.62);
  opacity:.98;
}

.numa-figure{
  top:15%;
  filter:saturate(1.08) sepia(.06) hue-rotate(-10deg) brightness(1.02);
}

.numa-stage canvas.numa-motion-canvas{
  top:15%;
  filter:saturate(1.08) sepia(.06) hue-rotate(-10deg) brightness(1.02);
}

.home-entry-pill{
  border-color:rgba(255,224,202,.24);
  background:linear-gradient(180deg,rgba(61,43,52,.78),rgba(22,20,28,.88)),rgba(10,10,15,.88);
  color:rgba(255,247,239,.78);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 18px 42px rgba(5,7,11,.46),0 0 28px rgba(233,133,155,.12);
}

.home-entry-pill svg{color:#ffd8ca}

.communication-sheet.is-open{
  border-color:rgba(255,224,202,.18);
  background:linear-gradient(180deg,rgba(55,38,49,.9),rgba(16,15,22,.94)),rgba(10,10,15,.92);
  box-shadow:0 -22px 54px rgba(5,7,11,.6),0 0 32px rgba(233,133,155,.12);
}

.bottom-tabs{
  border-top-color:rgba(255,224,202,.1);
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 -10px 32px rgba(5,7,11,.48);
}

.tab-button{color:rgba(211,187,178,.72)}

.tab-button.is-active{
  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);
  box-shadow:inset 0 0 0 1px rgba(255,224,202,.2),inset 0 -10px 18px rgba(20,14,20,.32),0 10px 22px rgba(5,7,11,.36),0 0 18px rgba(233,133,155,.24);
}

.tab-button.is-active .tab-icon-box svg{color:#ffd8ca}

@media(max-height:700px){
  .numa-stage:after{inset:5% -22% -5%}
  .numa-figure{top:11%}
  .numa-stage canvas.numa-motion-canvas{top:11%}
}

@media(max-height:620px){
  .numa-figure{top:9%}
  .numa-stage canvas.numa-motion-canvas{top:9%}
}

/* Dark base with bright controls/icons. */
:root{
  --app-bg:#050504;
  --app-bg-soft:#11100d;
  --surface:rgba(27,22,18,.76);
  --surface-strong:rgba(38,30,24,.92);
  --surface-soft:rgba(255,246,184,.1);
  --line:rgba(255,238,188,.18);
  --line-strong:rgba(255,238,188,.34);
  --text:#fff8e9;
  --muted:#d5c5ad;
  --soft:#a3917a;
  --ice:#8fffd1;
  --lavender:#ff8aa4;
  --warm:#fff070;
  --mint:#8fffd1;
  --shadow:0 28px 92px rgba(5,5,4,.62);
  --bottom-tab-background:linear-gradient(180deg,rgba(24,20,16,.9),rgba(6,6,5,.98)),rgba(6,6,5,.96);
}

html,body,#root{
  background:
    radial-gradient(circle at 50% 37%,rgba(255,138,164,.18),transparent 32%),
    radial-gradient(circle at 50% 72%,rgba(143,255,209,.13),transparent 34%),
    linear-gradient(180deg,#090806 0%,#15100d 46%,#050504 100%);
}

.app-shell{
  background:
    radial-gradient(circle at 50% 32%,rgba(255,138,164,.2),transparent 32%),
    radial-gradient(circle at 50% 68%,rgba(255,240,112,.13),transparent 32%),
    linear-gradient(180deg,#080706 0%,#17100d 48%,#050504 100%);
}

.app-view[data-view=home]{
  background:linear-gradient(180deg,rgba(5,5,4,.42) 0,rgba(5,5,4,.04) 42%,rgba(5,5,4,.8) 100%);
}

.numa-stage:before{
  background:
    radial-gradient(circle at 48% 38%,rgba(255,240,112,.18),transparent 28%),
    radial-gradient(circle at 50% 56%,rgba(255,138,164,.2),transparent 34%),
    radial-gradient(circle at 52% 76%,rgba(143,255,209,.16),transparent 42%);
}

.numa-stage:after{
  background-image:
    linear-gradient(180deg,rgba(5,5,4,.12),rgba(5,5,4,.03) 42%,rgba(5,5,4,.34)),
    radial-gradient(circle at 50% 34%,rgba(255,138,164,.16),transparent 34%),
    radial-gradient(circle at 50% 74%,rgba(255,240,112,.11),transparent 38%),
    var(--numa-static-bg);
  box-shadow:inset 0 0 86px rgba(5,5,4,.72);
}

.quiet-icon-button,
.icon-send,
.secondary-action,
.metric-action,
.section-title button,
.prompt-chip{
  border:1px solid rgba(255,240,112,.24);
  background:linear-gradient(180deg,rgba(255,240,112,.18),rgba(143,255,209,.1)),rgba(255,255,255,.05);
  color:#fff070;
  box-shadow:0 0 18px rgba(255,240,112,.14);
}

.quiet-icon-button svg,
.icon-send svg,
.secondary-action svg,
.metric-card-main svg,
.settings-row>svg:first-child,
.trend-row-icon svg,
.trend-report-icon svg,
.primary-action svg,
.secondary-action svg{
  color:#fff070;
  filter:drop-shadow(0 0 7px rgba(255,240,112,.42));
}

.icon-send.is-primary,
.primary-action,
.ritual-actions button:last-child{
  background:linear-gradient(180deg,#fff59a,#8fffd1);
  color:#15100d;
  box-shadow:0 10px 26px rgba(143,255,209,.22),0 0 24px rgba(255,240,112,.26);
}

.home-entry-pill{
  border-color:rgba(255,240,112,.32);
  background:linear-gradient(180deg,rgba(36,28,20,.88),rgba(11,10,8,.92)),rgba(5,5,4,.92);
  color:rgba(255,248,233,.84);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 18px 42px rgba(5,5,4,.58),0 0 28px rgba(255,240,112,.12);
}

.home-entry-pill svg{color:#fff070;filter:drop-shadow(0 0 8px rgba(255,240,112,.45))}

.communication-sheet.is-open{
  border-color:rgba(255,240,112,.2);
  background:linear-gradient(180deg,rgba(35,27,21,.94),rgba(9,9,7,.96)),rgba(5,5,4,.94);
  box-shadow:0 -22px 54px rgba(5,5,4,.66),0 0 32px rgba(255,240,112,.12);
}

.sheet-numa-mark,
.trend-row-icon,
.trend-report-icon,
.profile-mark,
.bond-row>span{
  border-color:rgba(255,240,112,.26);
  background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.24),transparent 35%),linear-gradient(180deg,rgba(255,240,112,.24),rgba(143,255,209,.14));
  color:#fff070;
  box-shadow:0 0 20px rgba(255,240,112,.16);
}

.bottom-tabs{
  border-top-color:rgba(255,240,112,.14);
  box-shadow:inset 0 1px rgba(255,255,255,.09),0 -10px 34px rgba(5,5,4,.6);
}

.tab-button{
  color:rgba(255,248,233,.62);
}

.tab-icon-box svg{
  color:#8fffd1;
  filter:drop-shadow(0 0 6px rgba(143,255,209,.32));
}

.tab-button.is-active{
  background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.32),transparent 36%),linear-gradient(180deg,#fff070,#8fffd1);
  color:#15100d;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.34),0 10px 24px rgba(5,5,4,.45),0 0 24px rgba(255,240,112,.34);
}

.tab-button.is-active .tab-icon-box svg{
  color:#15100d;
  filter:none;
}

.balance-ring{
  border-color:rgba(255,240,112,.28);
  background:conic-gradient(from 220deg,#fff070,#8fffd1,#ff8aa4,rgba(255,255,255,.08) 76%),#0b0907;
  box-shadow:inset 0 0 0 10px rgba(5,5,4,.82),0 0 24px rgba(255,240,112,.16);
}

.mini-trend i,
.growth-path i{
  background:linear-gradient(180deg,#fff070,#8fffd1);
}

/* Final home lock: match the softer blue-purple reference frame. */
:root{
  --app-bg:#081120;
  --app-bg-soft:#10182b;
  --surface:rgba(24,32,56,.72);
  --surface-strong:rgba(34,42,70,.9);
  --line:rgba(218,226,255,.16);
  --line-strong:rgba(218,226,255,.26);
  --text:#f7f8ff;
  --muted:#b7bdd2;
  --soft:#828aa4;
  --ice:#9db9ff;
  --lavender:#a99dff;
  --warm:#f2c78b;
  --mint:#7ee0b8;
  --bottom-tab-background:linear-gradient(180deg,rgba(25,34,66,.9),rgba(12,18,40,.98)),rgba(10,15,34,.96);
}

html,body,#root{
  background:linear-gradient(180deg,#eef2f7 0,#11192c 18%,#070d1a 100%);
}

.app-shell{
  background:linear-gradient(180deg,#07101f 0,#151c31 48%,#080e1a 100%);
}

.app-view[data-view=home]{
  background:linear-gradient(180deg,rgba(7,12,25,.8) 0,rgba(7,12,25,.08) 38%,rgba(7,12,25,.92) 90%);
}

.numa-stage:before{
  inset:10% -12% 0;
  background:radial-gradient(circle at 50% 42%,rgba(185,194,255,.18),transparent 32%),radial-gradient(circle at 50% 70%,rgba(245,199,139,.16),transparent 44%);
}

.numa-stage:after{
  inset:4% -20% -5%;
  background-image:linear-gradient(180deg,rgba(8,13,28,.12),rgba(8,13,28,.04) 46%,rgba(8,13,28,.34)),var(--numa-static-bg);
  box-shadow:inset 0 0 76px rgba(8,13,28,.58);
  filter:saturate(1.04) contrast(1.02);
}

.numa-figure{
  top:13%;
  height:66%;
  transform:translate(-50%) translateY(42px);
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 18px rgba(202,210,255,.34)) saturate(1.04) brightness(1.04);
}

.numa-stage canvas.numa-motion-canvas{
  top:13%;
  height:66%;
  transform:translate(-50%) translateY(42px);
  mix-blend-mode:normal;
  filter:drop-shadow(0 0 20px rgba(202,210,255,.4)) saturate(1.08) brightness(1.06);
}

.numa-stage[data-keyer-readback="blocked"] canvas.numa-motion-canvas{
  opacity:0!important;
  visibility:hidden!important;
}

.numa-stage[data-keyer-readback="blocked"] .numa-static-source{
  opacity:.98!important;
  visibility:visible!important;
}

.home-entry-pill{
  border-color:rgba(218,226,255,.22);
  background:linear-gradient(180deg,rgba(37,47,78,.82),rgba(18,24,48,.92)),rgba(12,18,40,.9);
  color:rgba(247,248,255,.76);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 18px 42px rgba(5,9,18,.5);
}

.home-entry-pill svg{
  color:#dbe2ff;
  filter:none;
}

.icon-send{
  border-color:rgba(218,226,255,.22);
  background:rgba(255,255,255,.08);
  color:#dbe2ff;
  box-shadow:none;
}

.icon-send svg{
  color:#dbe2ff;
  filter:none;
}

.bottom-tabs{
  border-top-color:rgba(218,226,255,.1);
  box-shadow:inset 0 1px rgba(255,255,255,.08),0 -10px 32px rgba(5,9,18,.5);
}

.tab-button{
  color:rgba(183,189,210,.74);
}

.tab-icon-box svg{
  color:#98a2c3;
  filter:none;
}

.tab-button.is-active{
  background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.24),transparent 36%),linear-gradient(180deg,#8f9ada,#5966a6),#46548f;
  color:#f7f8ff;
  box-shadow:inset 0 0 0 1px rgba(226,232,255,.24),0 10px 22px rgba(5,9,18,.36),0 0 18px rgba(143,154,218,.28);
}

.tab-button.is-active .tab-icon-box svg{
  color:#d8ddff;
  filter:none;
}

/* Final raised active bottom tab lock. */
:root{
  --bottom-tab-height:78px;
  --bottom-tab-active-width:76px;
  --bottom-tab-active-height:76px;
  --bottom-tab-icon-size:20px;
  --bottom-tab-icon-box-size:24px;
}

.bottom-tabs{
  --active-x:50%;
  height:calc(var(--bottom-tab-height) + var(--system-safe-bottom));
  overflow:visible;
  align-content:end;
  padding:20px var(--bottom-tab-padding-x) calc(var(--bottom-tab-padding-y) + var(--system-safe-bottom));
  border-top:0;
  background:transparent;
  box-shadow:none;
  isolation:isolate;
}

.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:0;
  inset:18px 8px 0;
  border:1px solid rgba(38,195,172,.13);
  border-bottom:0;
  border-radius:30px 30px 0 0;
  background:linear-gradient(180deg,rgba(7,23,22,.94),rgba(4,12,13,.98)),rgba(3,10,11,.96);
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 -10px 34px rgba(0,0,0,.5);
  content:"";
}

.bottom-tabs:after{
  position:absolute;
  z-index:0;
  top:-2px;
  left:var(--active-x);
  width:136px;
  height:48px;
  transform:translateX(-50%);
  border-top:1px solid rgba(38,195,172,.24);
  border-radius:68px 68px 0 0 / 42px 42px 0 0;
  background:linear-gradient(180deg,rgba(9,35,32,.94),rgba(7,23,22,.94));
  box-shadow:0 -8px 18px rgba(38,195,172,.1),inset 0 1px rgba(255,255,255,.04);
  content:"";
  pointer-events:none;
}

.tab-button{
  position:relative;
  z-index:1;
  align-self:end;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease;
}

.tab-button.is-active{
  z-index:2;
  width:76px;
  height:76px;
  min-height:76px;
  grid-template-rows:1fr;
  transform:translateY(-27px) scale(1.02);
  border-radius:999px;
  background:
    radial-gradient(circle at 42% 24%,rgba(255,255,255,.38),transparent 26%),
    linear-gradient(180deg,#26c3ac,#16a994);
  color:#ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.2),
    inset 0 -10px 18px rgba(0,78,69,.28),
    0 14px 28px rgba(0,0,0,.35),
    0 0 28px rgba(38,195,172,.58);
}

.tab-button.is-active .tab-icon-box{
  width:76px;
  height:76px;
  place-items:center;
}

.tab-button.is-active .tab-icon-box svg{
  width:31px;
  height:31px;
  color:#ffffff;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.58));
}

.tab-button.is-active .tab-label{
  display:none;
}

/* Final active tab size adjustment. */
:root{
  --bottom-tab-active-width:64px;
  --bottom-tab-active-height:64px;
}

.tab-button.is-active{
  width:64px;
  height:64px;
  min-height:64px;
  transform:translateY(-17px) scale(1.02);
}

.tab-button.is-active .tab-icon-box{
  width:64px;
  height:64px;
}

/* Raised active bottom tab with curved top rail. */
:root{
  --bottom-tab-height:78px;
  --bottom-tab-active-width:76px;
  --bottom-tab-active-height:76px;
  --bottom-tab-icon-size:20px;
  --bottom-tab-icon-box-size:24px;
}

.bottom-tabs{
  --active-x:50%;
  height:calc(var(--bottom-tab-height) + var(--system-safe-bottom));
  overflow:visible;
  align-content:end;
  padding:20px var(--bottom-tab-padding-x) calc(var(--bottom-tab-padding-y) + var(--system-safe-bottom));
  border-top:0;
  background:transparent;
  box-shadow:none;
  isolation:isolate;
}

.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:0;
  inset:18px 8px 0;
  border:1px solid rgba(38,195,172,.12);
  border-bottom:0;
  border-radius:30px 30px 0 0;
  background:linear-gradient(180deg,rgba(7,23,22,.94),rgba(4,12,13,.98)),rgba(3,10,11,.96);
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 -10px 34px rgba(0,0,0,.5);
  content:"";
}

.bottom-tabs:after{
  position:absolute;
  z-index:0;
  top:-2px;
  left:var(--active-x);
  width:136px;
  height:48px;
  transform:translateX(-50%);
  border-top:1px solid rgba(38,195,172,.2);
  border-radius:68px 68px 0 0 / 42px 42px 0 0;
  background:linear-gradient(180deg,rgba(9,35,32,.94),rgba(7,23,22,.94));
  box-shadow:0 -8px 18px rgba(38,195,172,.09),inset 0 1px rgba(255,255,255,.04);
  content:"";
  pointer-events:none;
}

.tab-button{
  position:relative;
  z-index:1;
  align-self:end;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease;
}

.tab-button.is-active{
  z-index:2;
  width:76px;
  height:76px;
  min-height:76px;
  grid-template-rows:1fr;
  transform:translateY(-27px) scale(1.02);
  border-radius:999px;
  background:
    radial-gradient(circle at 42% 24%,rgba(255,255,255,.38),transparent 26%),
    linear-gradient(180deg,#26c3ac,#16a994);
  color:#ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.2),
    inset 0 -10px 18px rgba(0,78,69,.28),
    0 14px 28px rgba(0,0,0,.35),
    0 0 28px rgba(38,195,172,.58);
}

.tab-button.is-active .tab-icon-box{
  width:76px;
  height:76px;
  place-items:center;
}

.tab-button.is-active .tab-icon-box svg{
  width:31px;
  height:31px;
  color:#ffffff;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.58));
}

.tab-button.is-active .tab-label{
  display:none;
}

@media(max-height:700px){
  .numa-figure,
  .numa-stage canvas.numa-motion-canvas{
    top:10%;
    height:68%;
    transform:translate(-50%) translateY(34px);
  }
}

@media(max-height:620px){
  .numa-figure,
  .numa-stage canvas.numa-motion-canvas{
    top:8%;
    height:70%;
    transform:translate(-50%) translateY(26px);
  }
}

/* Requested cyan-green accent lock. */
:root{
  --mint:#26c3ac;
}

.tab-icon-box svg,
.home-entry-pill svg,
.trend-row-icon svg,
.trend-report-icon svg,
.metric-card-main svg,
.settings-row>svg:first-child{
  color:#26c3ac;
}

.tab-button.is-active .tab-icon-box svg{
  color:#26c3ac;
}

/* Requested blue highlight lock. */
:root{
  --warm:#2a93b9;
}

.quiet-icon-button,
.icon-send,
.secondary-action,
.metric-action,
.section-title button,
.prompt-chip{
  border-color:rgba(42,147,185,.32);
  background:linear-gradient(180deg,rgba(42,147,185,.2),rgba(38,195,172,.1)),rgba(255,255,255,.05);
  color:#2a93b9;
  box-shadow:0 0 18px rgba(42,147,185,.18);
}

.icon-send.is-primary,
.primary-action,
.ritual-actions button:last-child{
  background:linear-gradient(180deg,#2a93b9,#26c3ac);
  color:#061016;
  box-shadow:0 10px 26px rgba(38,195,172,.22),0 0 24px rgba(42,147,185,.28);
}

.home-entry-pill{
  border-color:rgba(42,147,185,.3);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 18px 42px rgba(5,9,18,.5),0 0 26px rgba(42,147,185,.12);
}

.communication-sheet.is-open{
  border-color:rgba(42,147,185,.22);
  box-shadow:0 -22px 54px rgba(5,9,18,.58),0 0 32px rgba(42,147,185,.12);
}

.sheet-numa-mark,
.trend-row-icon,
.trend-report-icon,
.profile-mark,
.bond-row>span{
  border-color:rgba(42,147,185,.28);
  background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.2),transparent 35%),linear-gradient(180deg,rgba(42,147,185,.24),rgba(38,195,172,.14));
  box-shadow:0 0 20px rgba(42,147,185,.16);
}

.bottom-tabs{
  border-top-color:rgba(42,147,185,.16);
}

.tab-button.is-active{
  background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.26),transparent 36%),linear-gradient(180deg,#2a93b9,#26c3ac);
  box-shadow:inset 0 0 0 1px rgba(226,232,255,.24),0 10px 22px rgba(5,9,18,.36),0 0 20px rgba(42,147,185,.28);
}

.balance-ring{
  border-color:rgba(42,147,185,.3);
  background:conic-gradient(from 220deg,#2a93b9,#26c3ac,#ff8aa4,rgba(255,255,255,.08) 76%),#0b1016;
  box-shadow:inset 0 0 0 10px rgba(5,9,18,.78),0 0 24px rgba(42,147,185,.16);
}

.mini-trend i,
.growth-path i{
  background:linear-gradient(180deg,#2a93b9,#26c3ac);
}

/* Final requested reference lock: second screenshot uses blue-purple chrome, not teal. */
:root{
  --warm:#9aa6de;
  --mint:#9db9ff;
}

.tab-icon-box svg,
.home-entry-pill svg,
.trend-row-icon svg,
.trend-report-icon svg,
.metric-card-main svg,
.settings-row>svg:first-child,
.icon-send svg{
  color:#aeb8d8;
  filter:none;
}

.icon-send{
  border-color:rgba(218,226,255,.22);
  background:rgba(255,255,255,.08);
  color:#dbe2ff;
  box-shadow:none;
}

.home-entry-pill{
  border-color:rgba(218,226,255,.22);
  background:linear-gradient(180deg,rgba(37,47,78,.82),rgba(18,24,48,.92)),rgba(12,18,40,.9);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 18px 42px rgba(5,9,18,.5);
}

.bottom-tabs{
  border-top-color:rgba(218,226,255,.1);
}

.tab-button.is-active{
  background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.24),transparent 36%),linear-gradient(180deg,#8f9ada,#5966a6),#46548f;
  color:#f7f8ff;
  box-shadow:inset 0 0 0 1px rgba(226,232,255,.24),0 10px 22px rgba(5,9,18,.36),0 0 18px rgba(143,154,218,.28);
}

.tab-button.is-active .tab-icon-box svg{
  color:#d8ddff;
  filter:none;
}

/* Final raised active bottom tab lock. */
:root{
  --bottom-tab-height:78px;
  --bottom-tab-active-width:76px;
  --bottom-tab-active-height:76px;
  --bottom-tab-icon-size:20px;
  --bottom-tab-icon-box-size:24px;
}

.bottom-tabs{
  --active-x:50%;
  height:calc(var(--bottom-tab-height) + var(--system-safe-bottom));
  overflow:visible;
  align-content:end;
  padding:20px var(--bottom-tab-padding-x) calc(var(--bottom-tab-padding-y) + var(--system-safe-bottom));
  border-top:0;
  background:transparent;
  box-shadow:none;
  isolation:isolate;
}

.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:0;
  inset:18px 8px 0;
  border:1px solid rgba(38,195,172,.13);
  border-bottom:0;
  border-radius:30px 30px 0 0;
  background:linear-gradient(180deg,rgba(7,23,22,.94),rgba(4,12,13,.98)),rgba(3,10,11,.96);
  box-shadow:inset 0 1px rgba(255,255,255,.05),0 -10px 34px rgba(0,0,0,.5);
  content:"";
}

.bottom-tabs:after{
  position:absolute;
  z-index:0;
  top:-2px;
  left:var(--active-x);
  width:136px;
  height:48px;
  transform:translateX(-50%);
  border-top:1px solid rgba(38,195,172,.24);
  border-radius:68px 68px 0 0 / 42px 42px 0 0;
  background:linear-gradient(180deg,rgba(9,35,32,.94),rgba(7,23,22,.94));
  box-shadow:0 -8px 18px rgba(38,195,172,.1),inset 0 1px rgba(255,255,255,.04);
  content:"";
  pointer-events:none;
}

.tab-button{
  position:relative;
  z-index:1;
  align-self:end;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease;
}

.tab-button.is-active{
  z-index:2;
  width:76px;
  height:76px;
  min-height:76px;
  grid-template-rows:1fr;
  transform:translateY(-27px) scale(1.02);
  border-radius:999px;
  background:
    radial-gradient(circle at 42% 24%,rgba(255,255,255,.38),transparent 26%),
    linear-gradient(180deg,#26c3ac,#16a994);
  color:#ffffff;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.2),
    inset 0 -10px 18px rgba(0,78,69,.28),
    0 14px 28px rgba(0,0,0,.35),
    0 0 28px rgba(38,195,172,.58);
}

.tab-button.is-active .tab-icon-box{
  width:76px;
  height:76px;
  place-items:center;
}

.tab-button.is-active .tab-icon-box svg{
  width:31px;
  height:31px;
  color:#ffffff;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.58));
}

.tab-button.is-active .tab-label{
  display:none;
}

/* Final active tab size adjustment. */
:root{
  --bottom-tab-active-width:64px;
  --bottom-tab-active-height:64px;
}

.tab-button.is-active{
  width:64px;
  height:64px;
  min-height:64px;
  transform:translateY(-21px) scale(1.02);
}

.tab-button.is-active .tab-icon-box{
  width:64px;
  height:64px;
}

/* Final active tab lift adjustment. */
.tab-button.is-active{
  transform:translateY(-17px) scale(1.02);
}

/* Final bottom tab curve glow and motion polish. */
.bottom-tabs{
  padding-top:22px;
}

.bottom-tabs:before{
  inset:22px 8px 0;
  border-color:rgba(38,195,172,.12);
  border-radius:34px 34px 0 0;
  background:
    radial-gradient(ellipse at var(--active-x) 0,rgba(38,195,172,.11),transparent 34%),
    linear-gradient(180deg,rgba(7,24,24,.95),rgba(4,12,13,.98)),rgba(3,10,11,.96);
  box-shadow:
    inset 0 1px rgba(255,255,255,.055),
    0 -10px 34px rgba(0,0,0,.5);
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.bottom-tabs:after{
  top:-6px;
  left:var(--active-x);
  width:158px;
  height:58px;
  border-top-color:rgba(38,195,172,.22);
  border-radius:80px 80px 0 0 / 50px 50px 0 0;
  background:
    radial-gradient(ellipse at 50% 18%,rgba(38,195,172,.22),transparent 42%),
    linear-gradient(180deg,rgba(9,36,33,.9),rgba(7,23,22,.94));
  box-shadow:
    0 -6px 18px rgba(38,195,172,.2),
    0 0 34px rgba(38,195,172,.14),
    inset 0 1px rgba(255,255,255,.055);
  transition:left .34s cubic-bezier(.2,.82,.2,1),box-shadow .28s ease,background .28s ease;
}

.tab-button{
  transition:
    transform .24s cubic-bezier(.2,.82,.2,1),
    background .24s ease,
    box-shadow .24s ease,
    color .18s ease,
    opacity .18s ease;
}

.tab-button .tab-icon-box,
.tab-button .tab-icon-box svg{
  transition:transform .2s cubic-bezier(.2,.82,.2,1),filter .2s ease,color .2s ease;
}

.tab-button:active{
  transform:translateY(1px) scale(.9);
}

.tab-button:active .tab-icon-box svg{
  transform:scale(.88);
}

.tab-button.is-active{
  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(-15px) scale(.92);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.2),
    inset 0 -8px 16px rgba(0,78,69,.34),
    0 8px 18px rgba(0,0,0,.32),
    0 0 20px rgba(38,195,172,.42);
}

.tab-button.is-active .tab-icon-box svg{
  transition:transform .2s cubic-bezier(.2,.82,.2,1),filter .2s ease;
}

.tab-button.is-active:active .tab-icon-box svg{
  transform:scale(.84);
  filter:drop-shadow(0 0 5px rgba(255,255,255,.5));
}

/* Final page transition motion. */
.app-view.page-transitioning{
  position:absolute;
  z-index:4;
  inset:0 0 var(--home-tab-space) 0;
  width:100%;
  height:auto;
  pointer-events:none;
  will-change:transform,opacity;
}

.app-view.page-enter-from-right{
  animation:page-enter-from-right .34s cubic-bezier(.16,1,.3,1) both;
}

.app-view.page-enter-from-left{
  animation:page-enter-from-left .34s cubic-bezier(.16,1,.3,1) both;
}

.app-view.page-exit-to-left{
  animation:page-exit-to-left .34s cubic-bezier(.16,1,.3,1) both;
}

.app-view.page-exit-to-right{
  animation:page-exit-to-right .34s cubic-bezier(.16,1,.3,1) both;
}

@keyframes page-enter-from-right{
  from{opacity:.18;transform:translateX(26%)}
  to{opacity:1;transform:translateX(0)}
}

@keyframes page-enter-from-left{
  from{opacity:.18;transform:translateX(-26%)}
  to{opacity:1;transform:translateX(0)}
}

@keyframes page-exit-to-left{
  from{opacity:1;transform:translateX(0)}
  to{opacity:.08;transform:translateX(-20%)}
}

@keyframes page-exit-to-right{
  from{opacity:1;transform:translateX(0)}
  to{opacity:.08;transform:translateX(20%)}
}

@media(prefers-reduced-motion:reduce){
  .app-view.page-enter-from-right,
  .app-view.page-enter-from-left,
  .app-view.page-exit-to-left,
  .app-view.page-exit-to-right{
    animation:none!important;
  }
}

/* Final fitted curve for the 64px active tab. */
.bottom-tabs{
  padding-top:18px;
}

.bottom-tabs:before{
  inset:26px 8px 0;
  border-radius:32px 32px 0 0;
  background:
    radial-gradient(ellipse 74px 38px at var(--active-x) 0,rgba(38,195,172,.16),rgba(38,195,172,.08) 42%,transparent 72%),
    linear-gradient(180deg,rgba(7,24,24,.96),rgba(4,12,13,.98)),rgba(3,10,11,.96);
}

.bottom-tabs:after{
  top:3px;
  width:96px;
  height:36px;
  border-top-color:rgba(38,195,172,.2);
  border-radius:48px 48px 0 0 / 28px 28px 0 0;
  background:
    radial-gradient(ellipse 64px 26px at 50% 18%,rgba(38,195,172,.22),rgba(38,195,172,.08) 54%,transparent 76%),
    linear-gradient(180deg,rgba(8,31,29,.96),rgba(7,24,24,.96));
  box-shadow:
    0 -3px 12px rgba(38,195,172,.16),
    0 0 22px rgba(38,195,172,.12),
    inset 0 1px rgba(255,255,255,.05);
  transition:left .34s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,background .28s ease;
}

/* Final bottom tab click stability. */
.bottom-tabs:before,
.bottom-tabs:after{
  pointer-events:none;
}

.tab-button{
  overflow:visible;
  touch-action:manipulation;
}

.tab-button:not(.is-active):active{
  transform:none;
}

.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:active{
  transform:translateY(-17px) scale(.94);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.22),
    inset 0 -8px 16px rgba(0,78,69,.34),
    0 8px 18px rgba(0,0,0,.32),
    0 0 22px rgba(38,195,172,.44);
}

.tab-button.is-active:active .tab-icon-box{
  transform:scale(.96);
}

.tab-button.is-active:active .tab-icon-box svg{
  transform:scale(.9);
}

/* Keep the tab bar pinned while page views become absolute during transitions. */
.app-view{
  grid-row:1;
}

.bottom-tabs{
  grid-row:2;
}

/* Final pin: tab transitions must not move the bottom bar. */
.bottom-tabs{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:10;
}

/* Remove the dark plate behind the collapsed home input. */
.communication-sheet:not(.is-open){
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

.home-entry-pill{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important;
}

/* Let the scene image continue behind the collapsed input area. */
.numa-stage:after{
  bottom:calc(-1 * (var(--home-input-space) + 12px))!important;
}

/* Final smooth curve hugging the raised active tab. */
.bottom-tabs:before{
  inset:28px 8px 0;
  background:
    radial-gradient(ellipse 104px 44px at var(--active-x) -2px,rgba(38,195,172,.2),rgba(38,195,172,.08) 50%,transparent 76%),
    linear-gradient(180deg,rgba(7,24,24,.96),rgba(4,12,13,.98)),rgba(3,10,11,.96);
}

.bottom-tabs:after{
  top:-31px;
  left:var(--active-x);
  width:154px;
  height:76px;
  transform:translateX(-50%);
  border:0;
  border-radius:0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 154 76'%3E%3Cpath d='M1 66 C 27 66 31 17 77 17 C 123 17 127 66 153 66' fill='none' stroke='rgba(255,255,255,.92)' stroke-width='3.4' stroke-linecap='round'/%3E%3Cpath d='M1 67 C 27 67 31 18 77 18 C 123 18 127 67 153 67' fill='none' stroke='rgba(38,195,172,.34)' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
  box-shadow:none;
  -webkit-mask:none;
  mask:none;
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,.9))
    drop-shadow(0 0 7px rgba(255,255,255,.62))
    drop-shadow(0 0 18px rgba(38,195,172,.48));
  opacity:.98;
  transition:left .34s cubic-bezier(.16,1,.3,1),filter .28s ease,opacity .28s ease;
}

/* Replace the tab bar's straight top edge with the active curved edge. */
.bottom-tabs{
  border-top:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

.bottom-tabs:before{
  inset:18px 8px 0!important;
  border:1px solid rgba(38,195,172,.13);
  border-top:0!important;
  border-radius:34px 34px 0 0;
  background:
    radial-gradient(ellipse 106px 46px at var(--active-x) 0,rgba(38,195,172,.18),rgba(38,195,172,.08) 48%,transparent 76%),
    linear-gradient(180deg,rgba(7,24,24,.95),rgba(4,12,13,.98)),rgba(3,10,11,.96);
  box-shadow:
    inset 0 1px rgba(255,255,255,.035),
    0 -10px 34px rgba(0,0,0,.42);
}

.bottom-tabs:after{
  top:-35px;
  width:178px;
  height:74px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 178 74'%3E%3Cpath d='M1 66 H37 C48 66 55 26 89 24 C123 26 130 66 141 66 H177' fill='none' stroke='rgba(255,255,255,.94)' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1 67 H37 C48 67 55 27 89 25 C123 27 130 67 141 67 H177' fill='none' stroke='rgba(38,195,172,.36)' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

/* Strict top-edge shape: the original straight edge becomes this curve. */
.bottom-tabs{
  border-top:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.bottom-tabs:before{
  top:24px!important;
  right:8px!important;
  bottom:0!important;
  left:8px!important;
  border-top:0!important;
  border-right:1px solid rgba(38,195,172,.12);
  border-bottom:0;
  border-left:1px solid rgba(38,195,172,.12);
  background:
    radial-gradient(ellipse 96px 40px at var(--active-x) 0,rgba(38,195,172,.14),rgba(38,195,172,.06) 52%,transparent 78%),
    linear-gradient(180deg,rgba(7,24,24,.95),rgba(4,12,13,.98)),rgba(3,10,11,.96);
}

.bottom-tabs:after{
  z-index:1;
  top:-36px;
  width:192px;
  height:82px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 82'%3E%3Cpath d='M1 74 H39 C51 74 59 19 96 18 C133 19 141 74 153 74 H191' fill='none' stroke='rgba(247,248,255,.95)' stroke-width='3.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M1 75 H39 C51 75 59 20 96 19 C133 20 141 75 153 75 H191' fill='none' stroke='rgba(38,195,172,.28)' stroke-width='6.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,.72))
    drop-shadow(0 0 8px rgba(38,195,172,.42));
}

/* Temporarily remove the curved top edge. */
.bottom-tabs:after{
  display:none!important;
}
