.life-spaces *{box-sizing:border-box}
.life-spaces button,.life-spaces input,.life-spaces textarea,.life-spaces select{font:inherit;color:inherit}
.life-spaces button,.life-spaces a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.life-spaces button{cursor:pointer;background:none;border:0;padding:0}
.life-spaces a{color:inherit}
.life-spaces button:focus-visible,.life-spaces a:focus-visible{outline:2px solid #607eab;outline-offset:5px}
.life-spaces h1,.life-spaces h2,.life-spaces h3,.life-spaces p,.life-spaces figure{margin:0}
.life-spaces h1,.life-spaces h2,.life-spaces h3{font-weight:400}
.life-spaces input,.life-spaces textarea,.life-spaces select{width:100%;border:1px solid var(--line);background:#ffffffa8;border-radius:12px;padding:12px;outline-offset:3px}
.life-spaces textarea{resize:vertical}
.life-spaces img{max-width:100%;display:block}
.life-spaces [hidden]{display:none!important}
.life-spaces .icon{width:38px;height:38px;display:grid;place-items:center;font-family:system-ui}
.life-spaces .icon svg{width:23px;height:23px}
.life-spaces .heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}
.life-spaces .heading h1{font-size:32px;letter-spacing:1px}
.life-spaces .heading small{font:12px system-ui;color:var(--muted)}
.life-spaces .soft-add{border:1px solid #8da8c943;border-radius:50%;background:#ffffff6b;width:40px;height:40px;font:25px system-ui}
.life-spaces .sample-note{color:var(--muted);font-size:12px}
.life-spaces .collection-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:25px 0 12px}
.life-spaces .cover{position:relative;isolation:isolate;background:var(--paper);box-shadow:0 12px 26px #59718912;transform:rotate(-1deg);text-align:left;width:100%;border-radius:3px 18px 3px 3px;overflow:hidden}
.life-spaces .cover:after{content:"";position:absolute;right:0;top:0;width:23px;height:23px;background:linear-gradient(45deg,#dce7f4 49%,#eff5fb 51%);border-radius:0 0 0 4px}
.life-spaces .cover img{width:100%;height:185px;object-fit:cover}
.life-spaces .cover-copy{padding:20px 23px 22px}
.life-spaces .cover h2{font-size:23px;line-height:1.5}
.life-spaces .cover p{font-size:15px;line-height:1.85;margin:9px 0 16px;color:#50647d}
.life-spaces .note-meta{font:11px/1.6 system-ui;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:12px}
.life-spaces .small-note{width:100%;text-align:left;display:grid;grid-template-columns:5px 1fr 20px;gap:15px;padding:23px 0;border-bottom:1px solid var(--line)}
.life-spaces .note-stripe{background:#afa4c466;width:3px;border-radius:3px;align-self:stretch}
.life-spaces .small-note h2{font-size:18px;margin-bottom:5px}
.life-spaces .small-note p{font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.life-spaces .small-note time{font-size:11px;color:var(--muted)}
.life-spaces .empty{padding:50px 5px;color:var(--muted);text-align:center}
.life-spaces .backline{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.life-spaces .back{font-size:14px;min-height:42px}
.life-spaces .detail-photo{width:100%;max-height:270px;object-fit:cover;border-radius:4px}
.life-spaces .detail h1{font-size:29px;margin:23px 0 17px}
.life-spaces .detail .body{white-space:pre-wrap;line-height:1.95;font-size:18px}
.life-spaces .detail time{font-size:12px;color:var(--muted)}
.life-spaces .continuation{margin-top:28px;padding:0 0 0 17px;border-left:2px solid #b0bdd3}
.life-spaces .continuation p{white-space:pre-wrap;margin-top:8px}
.life-spaces .continue{margin-top:30px;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:15px 0;font-size:15px;color:var(--muted)}
.life-spaces .periods{display:flex;gap:4px;background:#d9e5f15c;padding:3px;border-radius:20px}
.life-spaces .periods button{font:12px system-ui;padding:6px 13px;border-radius:16px}
.life-spaces .periods .active{background:#fff;box-shadow:0 1px 4px #3452}
.life-spaces .health-summary{display:flex;justify-content:space-between;align-items:center}
.life-spaces .health-summary h2{font-size:19px}
.life-spaces .weight{font:42px/1.3 system-ui;letter-spacing:-1.8px;margin:13px 0 2px}
.life-spaces .weight small{font-size:15px;letter-spacing:0;color:var(--muted);margin-left:6px}
.life-spaces .trend{margin:10px -5px 5px}
.life-spaces .trend svg{display:block;width:100%;height:auto;overflow:visible}
.life-spaces .trend text{font:11px system-ui;fill:#63758b}
.life-spaces .trend circle{stroke:#f3f8fd;stroke-width:3}
.life-spaces .health-caption{font-size:12px;color:var(--muted);margin-bottom:26px}
.life-spaces .section-title{display:flex;justify-content:space-between;align-items:center;margin:29px 0 18px}
.life-spaces .section-title h2{font-size:21px}
.life-spaces .health-log{border-top:1px solid var(--line);padding-top:22px}
.life-spaces .log-row{display:grid;grid-template-columns:40px 26px 1fr;gap:10px;margin-bottom:25px}
.life-spaces .log-row time{font:12px/26px system-ui;color:var(--muted)}
.life-spaces .log-row svg{width:21px;height:21px;margin-top:3px;color:#789b8d}
.life-spaces .log-row h3{font-size:17px}
.life-spaces .log-row p{font-size:13px;margin-top:4px;color:var(--muted)}
.life-spaces .log-row .remove{float:right;padding:0 7px;font-size:18px;color:#7e8da1}
.life-spaces .mode-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px}
.life-spaces .mode-tabs button{font-size:14px;padding:0 0 9px;color:var(--muted)}
.life-spaces .mode-tabs .active{color:#34455d;border-bottom:2px solid #879db9}
.life-spaces .small-print{font-size:11px;color:var(--muted);margin-top:12px}
.life-spaces dialog{width:min(94vw,430px);border:1px solid #fff;border-radius:23px;background:#f2f7fd;padding:25px;color:inherit;max-height:87dvh;overflow:auto;box-shadow:0 30px 90px #263b6150}
.life-spaces dialog::backdrop{background:#3a50654a;backdrop-filter:blur(7px)}
.life-spaces .sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.life-spaces .sheet-head h2{font-size:25px}
.life-spaces label{display:block;font-size:14px;margin:16px 0 6px}
.life-spaces .primary{background:#506887;color:white;width:100%;border-radius:24px;padding:11px;margin-top:24px}
.life-spaces .photo-preview{max-height:140px;margin-top:10px;border-radius:9px}
.life-spaces .file-label{cursor:pointer;display:flex;align-items:center;gap:8px;padding:11px;border:1px dashed #859ab566;border-radius:10px}
.life-spaces .file-label input{padding:0;font-size:12px;border:0;background:transparent}
.life-spaces .notice{font-size:13px;color:var(--muted);line-height:1.8}
.life-spaces .danger{color:#9b646f;font-size:13px;padding:10px}
.life-spaces #toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:#34455de8;color:white;border-radius:12px;padding:10px 18px;z-index:30;font-size:13px;max-width:85vw}
.life-spaces #toast:empty{display:none}
.life-spaces .fade{animation:arrive .45s ease both}
@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.life-spaces *,.life-spaces *:before,.life-spaces *:after{animation:none!important;transition:none!important}}
@media(max-width:360px){.life-spaces .heading h1{font-size:28px}
.life-spaces .cover img{height:160px}}
.life-spaces{--muted:#64758a;--line:#6684a328;--paper:#fbfdff;color:#34455d}
.life-spaces .space-home{margin-bottom:14px;color:#64758a}
.life-spaces #view{padding-bottom:20px}
.life-spaces .heading{margin-top:0}
.life-spaces #toast{bottom:95px}
.life-spaces input[type=checkbox]{width:auto;margin-right:8px}
.life-spaces .cover-copy p:empty{display:none}
.life-spaces .trend svg{stroke:none;fill:none;stroke-width:0}
.life-spaces .trend text{stroke:none}
.life-spaces .edit{color:#526d90}
.life-spaces .edit-health{font-size:12px}
.life-spaces #toast button{color:white;text-decoration:underline;margin-left:14px}
.life-spaces .health-consent{font-size:12px;line-height:1.7}
.life-spaces .health-consent input{width:16px;height:16px;vertical-align:middle}
/* Ideas as a field of small thoughts, independent from the Journal timeline. */
.life-spaces .idea-tools{display:flex;justify-content:space-between;color:#677b94;font-size:12px;margin-top:20px}.life-spaces .idea-tools button{padding:0 3px;text-decoration:underline;text-underline-offset:5px}.life-spaces .idea-sky{position:relative;height:340px;margin:13px -9px 0;isolation:isolate}.life-spaces .sky-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 43% 42%,#ffffffb8 0%,#deecfb50 40%,transparent 68%);filter:blur(14px);z-index:-1}.life-spaces .idea-star{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-20%);width:116px;min-height:85px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.life-spaces .star-orb{position:relative;display:grid;place-items:center;width:37px;height:37px;border:1px solid #ffffffbd;border-radius:50%;background:radial-gradient(circle at 35% 30%,white,#d1e4f6a8 50%,#a7bbd954);box-shadow:0 0 23px 7px #f5faffbb,0 0 50px #b7d1f189;transition:transform .4s ease,box-shadow .4s ease}.life-spaces .first-star .star-orb{width:62px;height:62px}.life-spaces .star-orb img{width:100%;height:100%;object-fit:cover;border-radius:50%;opacity:.68}.life-spaces .star-orb i{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 12px 3px white}.life-spaces .star-title{font-size:15px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 10px #fff;max-width:116px}.life-spaces .idea-star:hover .star-orb,.life-spaces .idea-star:focus-visible .star-orb{transform:scale(1.12);box-shadow:0 0 30px 12px white}.life-spaces .satellite{position:absolute;width:7px;height:7px;border-radius:50%;background:#bac7e1;right:-12px;top:-6px;border:1px solid white}.life-spaces .first-spark{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;font-size:15px;color:#657c98}.life-spaces .first-spark span{font-size:60px;color:#96aecb;text-shadow:0 0 25px white}.life-spaces .idea-foot{display:flex;align-items:center;justify-content:space-between;padding:24px 0 14px;border-top:1px solid #748ead20;font-size:14px;color:#677e97}.life-spaces .idea-foot button{font:24px system-ui;width:36px;height:36px}.life-spaces .idea-pagination{display:flex;gap:20px;align-items:center;justify-content:center;font:12px system-ui;margin-bottom:12px}.life-spaces .idea-pagination button{font-size:22px;width:35px;height:35px}
/* Separate measurements from meals and movement. */
.life-spaces .body-metrics{display:flex;gap:40px;margin:22px 0 16px}.life-spaces .body-metrics>div{flex:1}.life-spaces .metric-label{font-size:13px;display:flex;align-items:center;gap:7px}.life-spaces .metric-label:before{content:"";display:inline-block;width:14px;height:1px;background:#7799ba}.life-spaces .fat-label:before{height:0;border-top:1px dashed #ad93b5;background:none}.life-spaces .body-metrics p{font:300 32px/1.4 system-ui;letter-spacing:-1px;margin:5px 0}.life-spaces .body-metrics small{font:13px system-ui;letter-spacing:0;margin-left:6px;color:#667b94}.life-spaces .body-metrics time{font-size:11px;color:#708197}.life-spaces .trend{margin-top:0}.life-spaces .trend text{font-size:10px}.life-spaces .measurement-history{font-size:12px;color:#62768e;margin-bottom:30px}.life-spaces .measurement-history summary{cursor:pointer;padding:8px 0}.life-spaces .measure-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #6b85a21c}.life-spaces .measure-row button{font-size:11px;padding:4px 7px}.life-spaces .daily-care{border-top:1px solid #748ead30;padding-top:23px}.life-spaces .care-tabs{display:flex;align-items:center;gap:24px;margin-bottom:9px}.life-spaces .care-tabs button{font-size:19px;color:#8695a7;padding-bottom:9px}.life-spaces .care-tabs button.active{color:#34455d;border-bottom:1px solid #7e95b1}.life-spaces .care-tabs>span{margin-left:auto;font-size:12px;color:#71849a}.life-spaces .care-log article{padding:22px 0;border-bottom:1px solid #6b85a21c}.life-spaces .care-date{display:flex;align-items:center;gap:7px;font-size:12px;color:#6b7f96;margin-bottom:12px}.life-spaces .care-date time{margin-right:auto}.life-spaces .care-date button{font-size:12px;padding:5px}.life-spaces .care-log h3{font-size:19px;line-height:1.75}.life-spaces .care-log p{font:13px system-ui;margin-top:9px;color:#687f95}.life-spaces .care-empty{padding:30px 0;font-size:14px;color:#657d96}.life-spaces .health-caption{font-size:11px;margin-bottom:8px}

/* Each saved idea becomes a star in one continuous, quiet night. */
body[data-page="ideas"]{background:#101c34}
body[data-page="ideas"] .scene{opacity:1;background:radial-gradient(ellipse at 73% 36%,#3e527e55,transparent 52%),radial-gradient(ellipse at 20% 78%,#39628340,transparent 58%),linear-gradient(155deg,#101c34,#1b2e4d 58%,#122239)}
body[data-page="ideas"] .mobile-shell{background:transparent;border-color:#c2d9ed0c;box-shadow:none}
body[data-page="ideas"] .topbar{color:#e0edfa}
body[data-page="ideas"] .settings-icon{color:#b0c9e1}
body[data-page="ideas"] .settings-icon circle{fill:#203651}
body[data-page="ideas"] .bottom-nav{background:#14253aeb;border-top-color:#aac6e51c;box-shadow:none}
body[data-page="ideas"] .nav-item{color:#a5bcd2}
body[data-page="ideas"] .nav-item[aria-current="page"]{color:#f0f7ff}
body[data-page="ideas"] .life-spaces{--muted:#b0c3da;--line:#aecbe226;color:#e7f0fa}
body[data-page="ideas"] .life-spaces .space-home,body[data-page="ideas"] .idea-tools,body[data-page="ideas"] .idea-foot{color:#b0c3da}
body[data-page="ideas"] .life-spaces .heading{margin-bottom:20px}
body[data-page="ideas"] .life-spaces .heading h1{font-size:29px}
body[data-page="ideas"] .life-spaces .soft-add{background:#d9ebff0a;border-color:#aecbe233;color:#d8e8f6}
body[data-page="ideas"] .life-spaces .mode-tabs .active{color:#f0f7ff;border-color:#c2d8ef}
body[data-page="ideas"] .life-spaces .idea-tools button{min-height:36px;text-decoration:none}
body[data-page="ideas"] .life-spaces .idea-tools{align-items:center;margin-top:0}
body[data-page="ideas"] .life-spaces .idea-sky{height:clamp(330px,47dvh,440px);margin-top:3px}
body[data-page="ideas"] .life-spaces .sky-halo{inset:-9% -3%;background:radial-gradient(ellipse 62% 30% at 47% 36%,#87a0cd25,transparent 78%),radial-gradient(ellipse 45% 50% at 67% 67%,#6895b320,transparent 75%);filter:blur(20px)}
.sky-dust{position:absolute;inset:0;pointer-events:none}
.sky-dust i{position:absolute;width:var(--size);height:var(--size);border-radius:50%;background:#d9ebff;opacity:.3;box-shadow:0 0 4px #c7e6ff66;animation:sky-distance 9s ease-in-out var(--delay) infinite}
body[data-page="ideas"] .life-spaces .idea-star{gap:13px;padding:10px 0;min-height:94px;width:114px}
body[data-page="ideas"] .life-spaces .star-orb,body[data-page="ideas"] .life-spaces .first-star .star-orb{width:28px;height:28px;border:0;border-radius:50%;background:none;box-shadow:none;animation:idea-twinkle var(--twinkle,6s) ease-in-out var(--delay,0s) infinite}
body[data-page="ideas"] .life-spaces .star-orb:before,body[data-page="ideas"] .life-spaces .star-orb:after{content:"";position:absolute;left:50%;top:50%;width:2px;height:27px;transform:translate(-50%,-50%);background:linear-gradient(transparent,#e8f6ff,transparent);border-radius:50%;filter:drop-shadow(0 0 4px #a8d1ff)}
body[data-page="ideas"] .life-spaces .star-orb:after{width:24px;height:2px}
body[data-page="ideas"] .life-spaces .star-orb i{width:5px;height:5px;background:#fff;box-shadow:0 0 6px 3px #e5f5ffcc,0 0 22px 8px #9ac7fa66,0 0 55px 17px #91bae51c}
body[data-page="ideas"] .life-spaces .star-title{font-size:14px;line-height:1.7;color:#dce9f6;text-shadow:0 1px 8px #0b152b;max-width:114px}
body[data-page="ideas"] .life-spaces .satellite{width:3px;height:3px;right:-9px;top:1px;border:0;background:#c7dcf6;box-shadow:0 0 5px #d3edff}
body[data-page="ideas"] .life-spaces .idea-star:hover .star-orb,body[data-page="ideas"] .life-spaces .idea-star:focus-visible .star-orb{animation-play-state:paused;filter:brightness(1.4);transform:scale(1.15);box-shadow:none}
body[data-page="ideas"] .life-spaces .idea-star:active{transform:translate(-50%,-20%) scale(.96)}
body[data-page="ideas"] .life-spaces .idea-foot{border-color:#aecbe226}
body[data-page="ideas"] .life-spaces .first-spark{color:#c2d5e9}
body[data-page="ideas"] .life-spaces .first-spark span{color:#f0f8ff;text-shadow:0 0 28px #aacfff;animation:idea-twinkle 7s ease-in-out infinite}
body[data-page="ideas"] .life-spaces .detail{padding:12px 0 25px}
body[data-page="ideas"] .life-spaces .detail h1{font-size:25px}
body[data-page="ideas"] .life-spaces .edit{color:#c8dcef}
body[data-page="ideas"] .life-spaces .danger{color:#e6bdc7}
body[data-page="ideas"] .life-spaces .note-stripe{background:#b7cdeb55}
body[data-page="ideas"] .life-spaces dialog{color:#30425f;--muted:#64758a;--line:#6684a328}
body[data-page="ideas"] .life-spaces dialog .danger{color:#925c68}
body[data-page="ideas"] .life-spaces button:focus-visible{outline-color:#cbe6ff}
@keyframes idea-twinkle{0%,100%{opacity:.55;filter:brightness(.85);transform:scale(.88)}48%{opacity:1;filter:brightness(1.2);transform:scale(1.06)}}
@keyframes sky-distance{0%,100%{opacity:.15}50%{opacity:.48}}
body.motion-paused .sky-dust i,body.motion-paused .star-orb,body.motion-paused .first-spark span{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.sky-dust i,body[data-page="ideas"] .life-spaces .star-orb,body[data-page="ideas"] .life-spaces .first-spark span{animation:none!important}}

/* One thought, one field. Optional media stays in the quiet action row. */
.life-spaces .quick-idea-sheet .sheet-head{margin-bottom:12px}
.life-spaces .quick-idea-sheet .sheet-head h2{font-size:20px}
.life-spaces textarea.quick-idea-text{border:0;background:transparent;padding:4px 0;min-height:130px;max-height:38dvh;resize:none;font-size:17px;line-height:1.8;box-shadow:none;outline:none}
.life-spaces .quick-idea-actions{display:flex;align-items:center;justify-content:space-between;margin-top:14px;gap:16px}
.life-spaces .quick-idea-photo{position:relative;display:grid;place-items:center;width:44px;height:44px;margin:0;color:#6e86a2;cursor:pointer}
.life-spaces .quick-idea-photo svg{width:22px;height:22px}
.life-spaces .quick-idea-photo input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0}
.life-spaces .quick-idea-photo:focus-within{outline:1px solid #6e86a2;outline-offset:2px;border-radius:10px}
.life-spaces .quick-idea-save{margin-left:auto;background:#4c6487;color:#fff;padding:9px 22px;border-radius:22px;min-height:44px;font-size:14px}
.life-spaces .quick-idea-save:disabled{opacity:.5}
