/* Reference board 02: one alpine world, clear paper interiors. */
:root{--ink:#153455;--muted:#64809d;--paper:#faf9f6;--line:#b3c5d536;--editorial:"Iowan Old Style","Songti SC","STSong",serif}
body{background:#edf2f5}.scene{background:linear-gradient(150deg,#e1ebf3,#faf9f6 65%)}
.mobile-shell,body[data-page] .mobile-shell{max-width:480px;min-height:100dvh;margin:0 auto;background:#faf9f6;box-shadow:0 0 80px #4062800c;overflow:hidden}
.topbar{height:64px;padding:14px 22px;background:transparent}.wordmark{font-size:21px;color:var(--ink)}.space-owner{font-weight:400}.settings-icon{width:21px;height:21px;opacity:.65}
#screen{padding:0 22px 110px}.page-heading{padding:12px 0 20px;margin:0;align-items:center}.page-heading h1{font-size:28px;line-height:1.2;margin:0}.page-heading small{display:block;font-size:12px;color:var(--muted);margin-top:6px}
.bottom-nav,body[data-page] .bottom-nav,.u-dock{max-width:480px;width:100%;min-height:68px;padding:9px 12px max(10px,env(safe-area-inset-bottom));background:#ffffffea;border-top:1px solid #d5e0e944;color:#153455}.nav-item{gap:5px;min-height:46px}.nav-item svg{width:21px;height:21px}.nav-item span{font-size:10px}.nav-item[aria-current]{color:#173f6a}
/* The landscape is full bleed, including behind the planet. */
body[data-page="universe"] .mobile-shell{position:relative;background:url('media/world-alpine-v2.png') center top / 100% auto no-repeat #e9f2f8;max-width:480px}
body[data-page="universe"] .topbar{height:44px;position:absolute;top:9px;right:6px;z-index:3;padding:0 12px;width:44px;min-height:0}
body[data-page="universe"] .topbar .wordmark,body[data-page="universe"] #headerMoment{display:none}
body[data-page="universe"] #screen{padding:0 24px 112px}.universe{max-width:none;min-height:0;padding:0;overflow:visible;color:#153455;--u-ink:#153455;--u-muted:#64809d}
.universe::before,.universe::after,.u-galaxy,.u-heading::before{display:none}.u-heading{display:block;position:relative;min-height:450px;padding:47px 0 0;margin:0;isolation:auto}
.u-dateline{max-width:100%;z-index:2;position:relative;pointer-events:none}.u-dateline h1{font:500 29px/1.35 var(--editorial);letter-spacing:.015em;margin:0}.u-dateline p{font:13px/1.65 var(--ui);color:#355b7e;margin:5px 0 0}
.u-dateline .u-welcome{font:14px/1.9 var(--editorial);margin-top:20px;max-width:230px}.u-light-count{pointer-events:auto;position:absolute;top:306px;right:0;font:10px var(--ui);color:#375f82;background:#ffffff88;padding:5px 9px;border-radius:20px}
.u-world{width:292px;height:292px;position:absolute;top:167px;left:50%;right:auto;transform:translateX(-50%);filter:drop-shadow(0 18px 24px #608fb439)}
.u-world::before,.u-world::after{display:none}.u-planet,.u-big-planet{border:0!important;box-shadow:none!important;outline:0;border-radius:0}
.u-stats{position:relative;z-index:2;margin:-2px -10px 20px;gap:0;padding:10px 0;background:linear-gradient(90deg,#ffffff00,#fff9,#ffffff00)}.u-stats button{background:none;border:0;padding:4px 8px;color:#173b63}.u-stats button+button{border-left:1px solid #748fac33}.u-stats strong{font:29px/1.3 var(--editorial);letter-spacing:-.03em}.u-stats span{font:11px/1.5 var(--ui);color:#3e6285;display:block;margin-top:3px}
.u-moment{display:block;position:relative;width:100%;padding:14px 18px 14px 20px;margin:12px 0;background:#fffc;border:1px solid #fff;border-radius:13px;box-shadow:0 7px 22px #42688b09}.u-moment>span{font:11px var(--ui);color:#557b9d}.u-moment blockquote{font:15px/1.7 var(--editorial);margin:5px 25px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.u-moment small{position:absolute;right:10px;top:45%;font-size:0}.u-moment svg{width:14px}
.u-life-content{background:none;margin:18px 0 0;padding:0;border-radius:0}.home-links{display:grid;grid-template-columns:1fr 1fr;gap:9px}.home-links button{border:1px solid #fff9;background:#fff9;border-radius:11px;text-align:left;padding:13px 15px;color:#335b7c;font-size:12px;backdrop-filter:blur(7px)}.home-links span{float:right;color:#7e9bb4}.u-dock{display:none!important}body[data-page="universe"] .bottom-nav{display:flex!important}
/* Login retains the same world and a transparent form. */
.arrival-gate{background:#e4eef7;max-width:480px;left:50%;right:auto;width:100%;transform:translateX(-50%);padding:190px 28px 30px;align-items:flex-start;justify-content:flex-start;min-height:100dvh;overflow-x:hidden}
.arrival-scene{background:url('media/world-alpine-v2.png') center center / cover no-repeat!important}.arrival-galaxy{opacity:.07}.arrival-scene::before,.arrival-scene::after{display:none!important}
.arrival-gate .arrival-planet-holder{width:440px;height:440px;right:-235px;top:45px;left:auto;transform:none;opacity:1;filter:drop-shadow(0 0 22px #fff9)}
.arrival-gate .account-entry{position:relative;z-index:3;width:100%;max-width:100%;padding:0;margin:0;background:none;border:0;box-shadow:none;backdrop-filter:none}
.arrival-gate .account-brand{font:52px/1.08 var(--editorial);color:#102f51;margin:0 0 12px}.arrival-gate .account-entry h1{font:20px/1.5 var(--editorial);margin:0 0 22px;color:#17395c}.arrival-gate .account-intro{display:block;font:14px/1.8 var(--editorial);margin:0 0 35px;color:#315473}
.arrival-gate #accountForm>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.arrival-gate #accountUsername,.arrival-gate #accountPassword{height:48px;background:#fff9;border:1px solid #a4bad366;border-radius:11px;color:#16395d;font:14px var(--ui);padding:12px 15px;margin:0}
.arrival-gate #accountUsername{margin-bottom:12px}.arrival-gate #accountPassword{padding-right:45px}.arrival-gate .password-toggle{color:#305d86}
.arrival-gate .account-entry .primary{min-height:48px;border-radius:18px;background:linear-gradient(145deg,#88a6be,#517fa4);color:#fff;font:17px var(--editorial);letter-spacing:.04em;margin-top:8px;box-shadow:inset 0 1px #ffffff60,0 8px 22px #567c9930}
.arrival-gate #accountError{font:12px/1.5 var(--ui);margin:7px 0;color:#a44c55}.arrival-gate #accountError:empty{display:none}.arrival-gate .account-entry>.text-link{font:12px var(--ui);margin:22px 15px 0 0;color:#355d7f}.arrival-gate .account-footnote{font:10px var(--ui);letter-spacing:.24em;margin:36px 0 0;color:#345b7c}
/* Flat editorial interiors. */
.period-tabs,.time-periods,.review-periods{display:flex;width:100%;background:#e7edf180;border-radius:24px;padding:4px;margin:0 0 24px}.period-tabs button,.time-periods button,.review-periods button{flex:1;min-height:35px;border:0;border-radius:20px;color:#627f9d;background:none;font-size:13px}.period-tabs button[aria-pressed=true],.time-periods button[aria-pressed=true],.review-periods button[aria-pressed=true]{background:#fff;color:#15385f;box-shadow:0 2px 7px #56758c0d}
.task-date{font-size:13px;font-weight:600;margin:26px 0 8px}.task-list{list-style:none;padding:0;margin:0}.task-row{min-height:91px;border-color:#b9cad52a;padding:19px 0;gap:13px}.task-copy{font:16px/1.55 var(--editorial);text-align:left}.task-copy small{font:10px var(--ui);display:table;padding:3px 6px;border-radius:4px;color:var(--category);background:color-mix(in srgb,var(--category) 10%,white);margin-top:8px}.task-check{width:23px;height:23px;flex:0 0 23px;border:1px solid #6183a5}.task-focus{padding:0;min-width:35px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column}.timer-play{width:30px;height:30px;fill:none;stroke:#214e78;stroke-width:1.2}.timer-play path{stroke-linejoin:round}.focus-clock{font:9px var(--ui)}.task-focus.is-running .timer-play{color:#587faa;background:#e3edf4;border-radius:50%}
body[data-page="time"] .mobile-time{margin:0;padding:0;border:0}.mobile-time-heading{flex-wrap:wrap;gap:12px}.mobile-time-heading h2{display:none}.mobile-time-heading .time-periods{display:flex;margin:0 0 8px}.time-range{font:14px var(--editorial);justify-content:space-between}.time-orbit{width:310px;max-width:100%;margin:0 auto}.time-orbit .time-total{font:29px var(--editorial);fill:#14375d}.time-orbit .time-total-label{fill:#587899;font-size:10px}.time-allocation{display:block;padding:0}.time-categories{display:grid;grid-template-columns:1fr;margin:0 7px;gap:0}.time-categories button{display:grid;grid-template-columns:20px 1fr 55px 35px;gap:10px;border:0;padding:7px 0;min-height:36px}.time-categories i{height:15px;width:15px;background:var(--time-accent);opacity:.55;box-shadow:inset 0 0 0 4px #fff6;border-radius:50%}.time-categories span{font:13px var(--editorial)}.time-categories small{font:10px var(--ui);color:#6f8baa;text-align:right}.time-coverage{font-size:10px;margin:0 0 12px}.time-log{margin-top:32px}.mt-log-heading h3{font:18px var(--editorial)}
.goal-expand{background:#fff9;margin:0 0 12px;padding:14px 12px;border:1px solid #e6ebef;border-radius:13px}.goal-expand summary{position:relative;display:block;padding-left:87px;min-height:87px;padding-right:9px}.goal-expand summary::after{content:'›';position:absolute;right:0;top:15px;color:#8da5b9}.goal-thumbnail{width:72px;height:86px;object-fit:cover;object-position:70% 80%;border-radius:10px;position:absolute;left:0;top:0}.goal-expand:nth-of-type(2n) .goal-thumbnail{object-position:10% 90%}.goal-title{font:16px/1.5 var(--editorial)}.real-goal-period,.goal-status{font:10px/1.6 var(--ui);color:#6382a0}.goal-progress{gap:6px;font-size:11px}.progress-track{height:5px;border-radius:4px}.progress-track i{border-radius:4px}.goal-inside{padding-top:18px;font-size:13px}
.journal-feed{display:grid;gap:20px}.journal-feed-card{display:block;text-align:left;width:100%;background:#fff;border:1px solid #e0e8ef80;border-radius:14px;padding:0;overflow:hidden;color:#244b70;box-shadow:0 5px 16px #476b8c05}.journal-feed-card>img{width:100%;height:205px;object-fit:cover;display:block}.journal-feed-copy{display:block;padding:13px 16px 16px}.journal-feed-copy time{font:11px var(--ui);color:#7891a9;display:block;margin-bottom:7px}.journal-feed-copy strong{font:600 18px/1.5 var(--editorial);display:block;margin-bottom:5px}.journal-feed-copy>span{font:14px/1.8 var(--editorial);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.journal-feed-copy small{font:10px var(--ui);color:#7d96ad;display:block;margin-top:13px}.journal-feed-copy i{float:right;font-style:normal}
/* Mira remains the user's deer spirit, within the same alpine world. */
body[data-page="chat"] .mobile-shell{background:linear-gradient(#f3f7f9bb,#faf9f6e8),url('media/world-alpine-v2.png') center top / 100% auto no-repeat #faf9f6}
body[data-page="chat"] #screen{padding-top:150px;background:url('media/mira-deer-v5.png') right 20px top 0 / 165px auto no-repeat;min-height:calc(100dvh - 140px)}
body[data-page="chat"] .topbar{background:#f9fbfdc9;backdrop-filter:blur(8px);height:76px}.wordmark.is-companion{font:23px var(--editorial)}.wordmark.is-companion .companion-avatar{width:44px;height:44px}.message{max-width:86%;margin-bottom:16px;padding:14px 16px}.message-text{font:15px/1.8 var(--editorial)}.message.partner{background:#ffffffd9!important;border:1px solid #ffffff9e;border-radius:12px 12px 12px 3px}.message.user{background:#dcebf6e8!important;border-radius:12px 12px 3px 12px}.composer{max-width:480px;background:linear-gradient(transparent,#faf9f6 24%);padding:12px 16px}.composer-row{min-height:52px;border:1px solid #dae4ed;border-radius:25px;background:#fff}.mira-presence{display:none}.conversation-date{font-size:10px;color:#819bb0}
/* Ideas are a darker pocket of the same landscape. */
body[data-page="ideas"] .mobile-shell{background:linear-gradient(#23496e88,#31597c44 55%,#dfeaf177),url('media/world-alpine-v2.png') center bottom / cover fixed;color:#fff}
body[data-page="ideas"] .topbar,body[data-page="ideas"] .wordmark,body[data-page="ideas"] .life-spaces,body[data-page="ideas"] .life-spaces .space-home,body[data-page="ideas"] .idea-tools,body[data-page="ideas"] .life-spaces .star-title{color:#fff;--ink:#fff;--muted:#d6e5f1;--line:#ffffff40}.life-spaces .heading h1{font:28px var(--editorial)}body[data-page="ideas"] .settings-icon{color:#fff}.life-spaces .heading small{display:none}body[data-page="ideas"] .life-spaces .star-title{text-shadow:0 1px 8px #173658;font:14px var(--editorial);max-width:105px}body[data-page="ideas"] .life-spaces .star-orb i{width:38px;height:38px;border:1px solid #fff;background:radial-gradient(circle at 30% 25%,#fbf6de,#a4c4de70 45%,#365e8866 75%);box-shadow:0 0 16px 3px #fdf6d377,inset -4px -4px 9px #1f527377}.idea-sky{min-height:430px}body[data-page="ideas"] .life-spaces .mode-tabs button{color:#e6f1fc}body[data-page="ideas"] .life-spaces .mode-tabs .active{color:#173c64;background:#fff}.life-spaces .space-home{font:12px var(--ui)}body[data-page="ideas"] .life-spaces .small-note{background:#eff6fbe8;color:#234b72}body[data-page="ideas"] .life-spaces .detail{background:#f8fafbe8;border-radius:14px;padding:18px;color:#234b72;--ink:#234b72;--muted:#6885a0}.life-spaces .mode-tabs{margin-bottom:20px;font-size:11px}
body[data-page="health"] .body-metrics{background:none;border:0;padding:22px 0}.body-metrics p{font:38px var(--editorial);color:#173d68;letter-spacing:-.04em}.body-metrics small{font-size:17px}.body-metrics time{font-size:10px}.body-metrics>div+div p{font-size:29px}.life-spaces .trend{background:none;padding:0;margin:18px -10px}.life-spaces .trend path{stroke-width:1.2}.life-spaces .daily-care{background:#fff;border-radius:14px;padding:16px;margin-top:25px;box-shadow:0 7px 22px #66839b08}.life-spaces .care-tabs{border:0;margin-bottom:12px}.life-spaces .care-tabs button{font:15px var(--editorial);border-radius:20px;padding:8px 18px}.life-spaces .care-tabs button.active{background:#e4eff6}.life-spaces .care-log h3{font:15px var(--editorial)}.life-spaces .health-summary h2{font:17px var(--editorial)}.health-caption,.life-spaces .small-print{font-size:10px}
.review-document{padding:0}.review-document h2{font:24px var(--editorial)}.v1-review-photo{height:200px;max-height:none;margin:20px 0 10px;border-radius:14px}.review-letter{font:16px/1.85 var(--editorial)}.v1-review-stats{padding:10px 0;margin:18px 0;gap:12px}.v1-review-stats strong{font:27px var(--editorial)}
#systemSettingsDialog{border-radius:20px 20px 0 0;max-width:480px;background:linear-gradient(#edf3f8,#faf9f6 240px)}#systemSettingsDialog .info-content{padding:28px 25px}#systemSettingsDialog h2{font:24px var(--editorial)}.v1-settings-planet{width:108px;height:108px;margin:12px auto 0}.system-account-line{justify-content:center;text-align:center;flex-direction:column;gap:5px;margin-bottom:25px}#systemUsername{font:27px var(--editorial)}#systemSyncStatus{font-size:10px;color:#7992a9}.settings-list button{font:14px var(--editorial);min-height:51px;padding:12px 7px;text-align:left}.settings-list button::after{content:'›';float:right;color:#8da6ba}.v1-settings-brand{text-align:center;font:13px var(--editorial);letter-spacing:.13em}
@media(min-width:720px){.mobile-shell,body[data-page] .mobile-shell{margin:20px auto;min-height:calc(100dvh - 40px);border-radius:23px;box-shadow:0 18px 70px #375b8120}.arrival-gate{top:20px;bottom:20px;min-height:0;border-radius:23px;box-shadow:0 18px 70px #375b8120}.bottom-nav,body[data-page] .bottom-nav{bottom:20px;border-radius:0 0 23px 23px}.composer{bottom:88px}.u-heading{padding-top:48px}}
@media(max-width:360px){.u-heading{min-height:415px}.u-world{width:265px;height:265px;top:154px}.u-dateline h1{font-size:26px}.arrival-gate{padding:155px 24px 24px}.arrival-gate .account-intro{margin-bottom:26px}.arrival-gate .account-brand{font-size:45px}.u-light-count{top:280px}}
@media(prefers-reduced-motion:reduce){.star-orb,.u-world{animation:none!important}}
body[data-page="universe"] .bottom-nav{display:grid!important;grid-template-columns:repeat(5,1fr)}
#systemSettingsDialog .account-identity{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:5px;margin:5px 0 25px}#systemSettingsTitle{text-align:center;font-size:13px!important;color:#64809d!important;margin:0}
.composer{width:100%}

.goal-title::after,.real-goals .goal-title::after{display:none}.goal-thumbnail{background:url('media/world-alpine-v2.png') 70% 80% / cover}.review-scenery{height:180px;border-radius:14px;margin:18px 0;background:url('media/world-alpine-v2.png') center 80% / cover}.account-gate .arrival-planet{background-color:transparent}

/* Warm atmospheric edge and a fine orbit add depth without a heavy white rim. */
.u-world{filter:drop-shadow(0 12px 18px #44678535)}.u-world::after{content:'';display:block;position:absolute;left:-5%;top:37%;width:110%;height:26%;border:1px solid #fff8;border-top-color:#fff1;border-radius:50%;transform:rotate(-24deg);box-shadow:0 2px 10px #ffebc050;pointer-events:none}.u-planet{position:relative;z-index:1}.u-surface-lights{z-index:2}.task-focus .timer-play{width:30px;height:30px;flex:none}.universe .u-light-count{min-height:25px}.u-stats{backdrop-filter:blur(7px);border-radius:13px;background:#ffffff80}.u-moment{backdrop-filter:blur(14px)}
body[data-page="universe"] .mobile-shell{background-size:auto 100%;background-position:center center;background-attachment:scroll}.u-heading{min-height:415px}.u-world{top:143px;width:280px;height:280px}.u-dateline .u-welcome{margin-top:16px}.u-light-count{top:285px}.u-heading .u-dateline{padding-top:0}
.time-orbit{filter:drop-shadow(0 10px 25px #bdcede28)}.time-orbit circle{stroke-linecap:round}.time-allocation{background:radial-gradient(ellipse at 50% 35%,#f4f7fc,transparent 67%)}
body[data-page="health"] #screen,body[data-page="goals"] #screen,body[data-page="tasks"] #screen,body[data-page="time"] #screen,body[data-page="review"] #screen{background:linear-gradient(#ffffffb0,#faf9f6 210px),url('media/world-alpine-v2.png') center top / 100% auto no-repeat}.goal-expand{box-shadow:0 4px 14px #799bb109}.goal-expand summary{padding-top:5px;padding-bottom:5px}

body[data-page="chat"] .mobile-shell{background:#faf9f6}body[data-page="chat"] #screen{position:relative;isolation:isolate;padding-top:220px;background:none;min-height:calc(100dvh - 140px)}.mira-scene-art{position:absolute;inset:0 0 auto;height:620px;z-index:-1;background:linear-gradient(transparent 32%,#faf9f600 47%,#faf9f6 98%),url('media/mira-alpine-v2.png') center top / 100% auto no-repeat;pointer-events:none}.message.partner{backdrop-filter:blur(10px);background:#ffffffe8!important;box-shadow:0 4px 16px #7894ab0b}.message.user{background:#d9eaf6ed!important;box-shadow:0 4px 16px #7894ab0b}.message.partner .message-text,.message.user .message-text{font:15px/1.8 var(--editorial);background:none;padding:0}.message.partner{margin-right:35px}.message.user{margin-left:auto}.mira-scene-art+.mira-presence{display:block;min-height:340px;visibility:hidden}.wordmark.is-companion{gap:10px}.wordmark.is-companion::after{content:'陪你看见更多可能';display:block;position:absolute;left:74px;top:53px;font:10px var(--ui);color:#7293ad}.wordmark.is-companion{position:relative}.wordmark.is-companion::after{left:54px;top:38px;white-space:nowrap}.conversation-date{position:relative}.arrival-gate .arrival-planet-holder{right:-220px;top:30px;width:450px;height:450px}
.time-orbit{height:auto!important;aspect-ratio:1/1;min-height:260px}.time-orbit text{stroke:none}.time-orbit .time-total-label{letter-spacing:.04em}.goal-expand>summary>.goal-thumbnail{display:block;opacity:1;visibility:visible}.goal-expand>summary{min-height:90px}.arrival-planet{display:block;width:100%;height:100%;background-size:91% 91%;background-repeat:no-repeat;background-position:center}
body:not([data-page="chat"]):not([data-page="universe"]) .topbar{height:40px;padding-top:6px;padding-bottom:0}body:not([data-page="chat"]):not([data-page="universe"]) .topbar .wordmark{visibility:hidden}.page-heading{padding-top:0;padding-bottom:18px}.journal-tabs{margin-bottom:20px}.journal-feed .empty{min-height:360px;border-radius:16px;background:linear-gradient(#fff7,#fffc),url('media/world-alpine-v2.png') center 80% / cover;padding:36px 22px}.journal-feed .empty p{font:19px/1.8 var(--editorial);margin-bottom:24px}
.mira-scene-art{position:fixed;top:76px;left:50%;right:auto;transform:translateX(-50%);width:min(100%,480px);height:calc(100dvh - 135px);background-size:100% auto;background-position:center top}
@media(min-width:720px){.mira-scene-art{top:96px}}

body[data-page="ideas"] .mobile-shell{background:url('media/ideas-alpine-v2.png') center / cover fixed #547695}.idea-sky{min-height:450px}body[data-page="ideas"] .life-spaces .star-orb i{background:url('media/world-planet-v2.png') center / 120% no-repeat;border:1px solid #fff9;box-shadow:0 0 15px 2px #f7e3af77}.life-spaces .idea-star:nth-child(2n) .star-orb i{width:48px;height:48px;filter:hue-rotate(25deg)}.life-spaces .idea-star:nth-child(3n) .star-orb i{width:32px;height:32px;filter:hue-rotate(-25deg)}body[data-page="ideas"] .life-spaces .star-title{max-width:110px;font-size:14px;text-shadow:0 2px 6px #15385380}.idea-sky .sky-halo{opacity:.2}
