/* AI Life UI V3.1 polish — life hub continuity and navigation geometry */
.life-shell{width:min(100vw,430px);max-width:430px;min-height:100dvh;margin:0 auto;padding:16px 14px 92px;background:radial-gradient(circle at 75% 8%,rgba(85,37,83,.30),transparent 30%),radial-gradient(circle at 10% 54%,rgba(24,63,111,.20),transparent 30%),linear-gradient(180deg,#090a12,#05060b 72%);box-shadow:0 0 0 1px rgba(255,255,255,.04),0 24px 100px rgba(0,0,0,.55);overflow:hidden}
.life-shell .ambient{opacity:.22;filter:blur(84px)}
.life-head{align-items:center;gap:8px}
.life-head>div:first-child{min-width:112px}
.life-head b{font:500 19px/1 Georgia,"Songti SC","Noto Serif SC",serif;letter-spacing:.18em}
.life-head small{margin-top:4px;font-size:7.5px;letter-spacing:.09em;color:#9f949b}
.life-shell .resource-bar{gap:4px;flex-wrap:nowrap}
.life-shell .resource-bar span{padding:5px 6px;border-radius:999px;font-size:8px;background:rgba(7,9,14,.72);border-color:rgba(255,255,255,.13);box-shadow:0 7px 20px rgba(0,0,0,.15)}
.life-hero{display:block;position:relative;height:490px;margin-top:18px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.11);box-shadow:0 28px 80px rgba(0,0,0,.44)}
.life-avatar-card{position:absolute;inset:0;min-height:0;border:0;border-radius:0;padding:16px;background-position:center top!important;box-shadow:none}
.life-avatar-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,7,12,.06) 0%,rgba(6,7,12,.04) 42%,rgba(6,7,12,.80) 78%,#07080e 100%);pointer-events:none}
.life-avatar-card>*{position:relative;z-index:2}
.life-avatar-card .companion-switch{align-self:flex-end;padding:3px;background:rgba(6,7,12,.64);backdrop-filter:blur(12px)}
.life-avatar-card .companion-switch button{padding:6px 10px;font-size:8px}
.life-avatar-card .companion-switch .active{background:linear-gradient(135deg,#cb427f,#8f3267);box-shadow:0 0 15px rgba(255,87,158,.18)}
.life-avatar-card>div:last-child{max-width:78%;padding-bottom:8px}
.life-avatar-card>div:last-child>span{font-size:8px;color:#f2b7cf;letter-spacing:.04em}
.life-avatar-card h2{margin:5px 0 5px;font:500 29px/1.05 Georgia,"Songti SC","Noto Serif SC",serif;letter-spacing:.05em}
.life-avatar-card p{margin:0 0 10px;font:400 10.5px/1.6 Georgia,"Songti SC","Noto Serif SC",serif;color:#e2d6dc}
.life-avatar-card .ghost{padding:7px 12px;font-size:8px;background:rgba(31,22,34,.58);backdrop-filter:blur(12px)}
.hero-copy{position:absolute;z-index:5;left:16px;top:18px;padding:0;width:205px;text-shadow:0 3px 18px rgba(0,0,0,.72);pointer-events:none}
.hero-copy .eyebrow{font-size:6.5px;letter-spacing:.16em;color:#e3b1c8}
.hero-copy h1{margin:8px 0 7px;font:500 27px/1.08 Georgia,"Songti SC","Noto Serif SC",serif;letter-spacing:.03em}
.hero-copy p{display:none}
.hero-copy button{pointer-events:auto;margin-top:4px;padding:8px 11px;border-radius:10px;font-size:8px;background:linear-gradient(135deg,rgba(191,54,117,.9),rgba(100,43,96,.88));box-shadow:0 10px 28px rgba(213,55,132,.18)}
.today{margin-top:15px}
.section-title{align-items:end}
.section-title small{font-size:7px;letter-spacing:.05em}
.section-title h3{margin:3px 0 9px;font:500 16px Georgia,"Songti SC","Noto Serif SC",serif;letter-spacing:.03em}
.life-grid{grid-template-columns:1fr 1fr;gap:7px}
.life-grid article{min-height:72px;grid-template-columns:25px 1fr 10px;gap:8px;padding:10px 9px;border-radius:11px;background:linear-gradient(135deg,rgba(31,24,40,.64),rgba(13,14,21,.72));border-color:rgba(255,255,255,.105);backdrop-filter:blur(14px)}
.life-grid article>span:first-child{font-size:19px}
.life-grid article b{font-size:9px;font-weight:500}
.life-grid article p{margin:4px 0 0;font-size:7px;line-height:1.4;color:#958d95}
.life-grid article>span:last-child{font-size:14px;color:#766e76}
.memory-strip{margin:9px 0 0;padding:11px 12px;gap:10px;border-radius:11px;background:linear-gradient(90deg,rgba(93,48,91,.30),rgba(34,43,75,.20));border-color:rgba(255,255,255,.10)}
.memory-strip>span{font-size:18px;color:#cab4ff}
.memory-strip small{font-size:7px}
.memory-strip b{font-size:8.5px;font-weight:500;line-height:1.45}
.life-shell .bottom-nav{height:76px;background:linear-gradient(180deg,rgba(6,7,12,.32),rgba(5,6,10,.96) 27%,#05060a);border-top-color:rgba(255,255,255,.07)}
.life-shell .bottom-nav button{font-size:8px;gap:4px}
.life-shell .bottom-nav button>span:first-child{font-size:21px}

/* correct active-nav geometry: raised diamond sits behind an upright icon */
.v3-bottom .active i{position:relative;z-index:2;width:auto;height:auto;margin-top:0;background:none;border:0;box-shadow:none;transform:none!important}
.v3-bottom .active i::first-letter{transform:none!important}
.v3-bottom .active:before{content:"";position:absolute;top:5px;width:37px;height:37px;border-radius:11px;background:linear-gradient(145deg,rgba(255,126,173,.18),rgba(246,202,151,.07));border:1px solid rgba(255,206,183,.20);box-shadow:0 0 21px rgba(255,85,157,.15);transform:rotate(45deg);z-index:0}
.v3-bottom .active span{position:relative;z-index:2}

/* keep secondary text readable without turning into dashboard typography */
.v3-secondary p{line-height:1.55}
.v3-secondary button{min-height:32px}
.v3-section-title h2,.v3-secondary-head h1,.v3-hero-card h2{font-weight:500}

@media(max-width:399px){
  .life-shell{padding:13px 10px 86px}.life-head b{font-size:17px}.life-head small{font-size:6.8px}.life-shell .resource-bar{transform:scale(.9);transform-origin:right center}
  .life-hero{height:455px;margin-top:14px}.hero-copy{left:13px;top:16px;width:190px}.hero-copy h1{font-size:24px}.life-avatar-card{padding:13px}.life-avatar-card h2{font-size:26px}
  .life-grid article{min-height:68px;padding:9px 8px}.memory-strip{padding:10px}
}
@media(min-width:540px){.life-shell{border-left:1px solid rgba(255,255,255,.05);border-right:1px solid rgba(255,255,255,.05)}}
