:root{--font-body:Manrope,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif;--font-heading:Nunito,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",sans-serif}
@font-face{font-family:Nunito;src:url('./fonts/nunito-semibold.ttf');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Manrope;src:url('./fonts/manrope-regular.ttf');font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box} :root{--ink:#39284e;--muted:#786989;--purple:#80609d;--lavender:#eee5f8;--paper:#faf7fd;--lime:#e8f29c;--line:#dfd4e9}body{margin:0;background:#eae2f3;color:var(--ink);font:14px var(--font-body)}button,input,select,a{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8a68a7;outline-offset:3px}button:disabled{opacity:.5}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,strong,.wordmark,.primary,.secondary{font-family:var(--font-heading)}h1{font-size:30px;line-height:1.15;letter-spacing:-1px;margin:14px 0 12px}h2{font-size:23px}.studio{max-width:1080px;min-height:100svh;margin:auto;display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center;padding:38px 30px}.guide{align-self:stretch;display:flex;flex-direction:column;padding:28px 0 15px}.wordmark{font-size:34px;font-weight:600;letter-spacing:-2px;line-height:1}.wordmark span{color:#9977b5}.guide>.wordmark{font-size:48px;margin-bottom:65px}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:700;line-height:1.6}.guide h1{font-size:65px;line-height:1.04;letter-spacing:-3px;margin:25px 0}.guide h1 em{font-style:normal;color:#8968a6}.guide>p{font-size:17px;color:var(--muted);line-height:1.9}.demo-controls{margin-top:35px;padding:24px 0;border-top:1px solid #d4c5e0;max-width:315px}.demo-controls p{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:18px}.demo-controls button{display:flex;justify-content:space-between;background:transparent;border-bottom:1px solid #d9cce3;width:100%;min-height:42px;font-size:12px;padding:8px 0}.demo-controls button:hover{color:#69468a}.demo-controls small{display:block;font-size:10px;line-height:1.8;color:var(--muted);margin-top:20px}.edition{margin-top:auto;font-size:9px;letter-spacing:2px;color:var(--muted)}.device-area{width:100%}.device{height:844px;max-height:calc(100svh - 84px);min-height:640px;background:var(--paper);border:7px solid #fff;border-radius:48px;box-shadow:0 22px 60px #45295e18;overflow:hidden;display:flex;flex-direction:column;position:relative}.status{height:41px;flex-shrink:0;display:flex;justify-content:space-between;padding:12px 25px 4px;font-size:12px;font-weight:700}.screen{flex:1;min-height:0;overflow:auto;padding:17px 24px 12px;scrollbar-width:none}.screen::-webkit-scrollbar{display:none}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}header .wordmark{font-size:28px}.tiny-tag{font-size:7px;letter-spacing:1px;color:var(--muted)}.sub{font-size:12px;line-height:1.75;color:var(--muted);margin:0 0 20px}.steps{display:flex;gap:5px;margin:0 0 12px}.steps i{height:3px;flex:1;background:#e6ddef;border-radius:8px}.steps .on{background:#9170ad}.mascot{width:155px;height:310px;background-image:url('./assets/loop-welcome.png');background-size:300% 100%;background-repeat:no-repeat;background-position:0 0;margin:auto;flex-shrink:0}.mascot.low{background-position:50% 0}.mascot.happy{background-position:100% 0}.intro-mascot{width:116px;height:232px}.mini{width:46px;height:92px;margin:0}.speech{background:#eee5f6;border-radius:16px 16px 16px 4px;padding:13px 15px;font:13px var(--font-heading);line-height:1.4}.fields{display:grid;grid-template-columns:90px 1fr;gap:18px;margin:27px 0}label{display:block;font-size:12px;font-weight:600}input,select{display:block;width:100%;border:1px solid #d7c7e4;border-radius:14px;background:transparent;color:var(--ink);padding:14px 10px;min-height:50px;margin-top:9px;font-size:12px}input{font-size:15px}input[type=number]{appearance:textfield}.primary,.secondary{min-height:53px;width:100%;border-radius:20px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;background:var(--lime);color:var(--ink);margin-top:11px;text-align:left}.primary>svg{background:#39284e0c;border-radius:50%;padding:4px;width:28px;height:28px}.primary:hover{background:#deed87}.secondary{background:transparent;border:1px solid #d7c8e2}.secondary:hover{background:#eee5f6}.dark{background:var(--ink);color:var(--paper)}.dark:hover{background:#52386f}.footnote{text-align:center;font-size:9px;line-height:1.7;color:var(--muted);margin:16px 0 4px}.text-button{min-height:42px;background:transparent;font-size:11px;padding:12px 0}.error{font-size:11px;color:#a33b54;line-height:1.5}.error:empty{display:none}.companion-line{display:flex;align-items:center;gap:15px;margin:0 0 8px}.companion-line .speech{flex:1}.goals{display:grid;gap:8px}.goal{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--line);border-radius:17px;padding:12px;text-align:left;min-height:66px;width:100%}.goal.selected{background:#eee5f8;border-color:#9976b6}.goal-icon{width:33px;height:33px;border-radius:11px;background:#eee5f8;display:grid;place-items:center}.goal-icon svg{width:19px;height:19px}.goal>span:nth-child(2){flex:1}.goal strong{font-size:12px;display:block;line-height:1.4}.goal small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.goal i{font-style:normal;font-size:14px;color:#80609d}.priority{margin:17px 0}.priority select{min-height:42px;padding:10px}.result{text-align:center}.result-mascot{width:112px;height:224px;margin-top:-15px}.result h1{font-size:30px}.target-number{font-family:var(--font-heading);font-size:77px;line-height:1;letter-spacing:-4px;margin:17px 0 14px}.target-number span{font-family:Manrope;font-size:13px;letter-spacing:0;display:block;margin-top:8px;color:var(--muted)}.plan-note{display:flex;align-items:flex-start;gap:12px;text-align:left;padding:16px;background:#eee5f6;border-radius:18px;margin:18px 0}.plan-note>svg{margin-top:2px}.plan-note strong{font-size:12px}.plan-note p{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0 0}.home-heading{text-align:center}.home-heading .eyebrow{font-size:8px;color:var(--muted)}.home-heading h1{font-size:26px;margin:9px 0}.home-heading .sub{font-size:11px;margin-bottom:0}.hero{position:relative;margin:0 -10px;text-align:center}.hero .mascot{width:123px;height:246px;margin-top:-8px}.mood-label{display:inline-block;position:relative;margin-top:-6px;top:-8px;background:#eee5f6;border-radius:14px;padding:6px 10px;font-size:7px;letter-spacing:1px;color:#785991}.progress-section{margin:9px 0 17px}.progress-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px}.progress-heading strong{font-size:23px;line-height:1}.progress-heading>span:last-child{color:var(--muted);font-size:11px}.progress-heading strong{color:var(--ink)}.progress-track{height:8px;background:#e7dfed;border-radius:12px;margin-top:11px;overflow:hidden}.progress-track i{display:block;background:#9a7ab3;height:100%;border-radius:12px;transition:width .3s}.progress-section p{font-size:9px;color:var(--muted);margin:8px 0 0}.time-card{border-top:1px solid var(--line);padding:16px 0 4px;display:flex;gap:12px;align-items:center}.time-card>svg{width:26px;height:26px;color:#8b6da3}.time-card .eyebrow{font-size:6px;letter-spacing:1px}.time-card strong{display:block;font-size:12px;margin:4px 0}.time-card strong span{font-family:Manrope;font-size:9px;font-weight:400;margin-left:5px;color:var(--muted)}.time-card p{font-size:9px;line-height:1.5;color:var(--muted);margin:0 0 4px}.home-footnote{font-size:8px;margin-top:12px}#nav{display:flex;flex-shrink:0;border-top:1px solid #e5ddec;min-height:61px;padding:6px 17px 0;gap:10px;background:var(--paper)}#nav[hidden]{display:none}#nav button{flex:1;background:transparent;color:#9887a5;font-size:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;border-radius:14px}#nav button.active{color:#62437e;background:#eee5f6}#nav svg{width:20px;height:20px}.home-indicator{width:105px;height:4px;background:#39284e;border-radius:10px;margin:9px auto 7px;flex-shrink:0}.preview-label{text-align:center;font-size:8px;letter-spacing:1.3px;color:#897298;margin:15px 0 0}.preview-label span{color:#a190b0;padding:0 7px}.live-session{display:flex;align-items:center;gap:8px;min-height:61px;font-size:11px;border-top:1px solid var(--line)}.live-session time{margin-left:auto;font:25px var(--font-heading);font-variant-numeric:tabular-nums}.live-dot{height:7px;width:7px;background:#8d6da8;border-radius:50%}.demo-time{display:block;margin:auto}.back{padding-top:0}.location-scene{position:relative;text-align:center;padding-bottom:18px}.location-scene .mascot{width:125px;height:250px}.location-badge{display:flex;gap:8px;align-items:center;justify-content:center;font-size:11px}.location-badge svg{width:17px}.location-strip{display:flex;align-items:center;gap:7px;background:#eee5f6;border-radius:13px;font-size:10px;padding:12px;margin:22px 0}.location-strip svg{width:16px}.location-strip span{margin-left:auto;font-size:7px;letter-spacing:1px}.list-label{color:var(--muted);margin-bottom:10px;font-size:8px}.place-row{display:flex;align-items:center;text-align:left;width:100%;background:transparent;padding:19px 0;border-bottom:1px solid var(--line);gap:12px}.place-art{width:65px;height:77px;border-radius:15px;background:#e2d7ee;display:grid;place-items:center}.place-art svg{width:30px;height:30px;color:#856598}.art-1{background:#e7eccb}.art-1 svg{color:#818955}.art-2{background:#dddcd0}.place-row>span:nth-child(2){flex:1}.place-row small{font-size:8px;color:var(--muted)}.place-row strong{display:block;font-size:13px;margin:5px 0}.place-row>span>span{font-size:9px;color:var(--muted)}.place-row>svg{width:17px}.route-art{height:180px;background:#e7dfed;border-radius:24px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;margin:4px 0 23px}.route-art>svg{width:77px;height:77px;color:#9b85ad;z-index:1}.route-art>span{position:absolute;bottom:14px;left:17px;font-size:10px;z-index:1}.route-line{position:absolute;width:270px;height:120px;border:16px solid #f5f0dd;border-radius:50%;transform:rotate(-28deg);top:70px;left:85px}.route-stats{display:flex;gap:24px;padding:20px 0;border-block:1px solid var(--line)}.route-stats strong,.route-stats small{display:block}.route-stats strong{font-size:17px}.route-stats small{font-size:9px;color:var(--muted);margin-top:6px}.route-note{font-size:11px;color:var(--muted);line-height:1.8;margin:22px 0}.journal-total{padding:23px;background:#eee5f6;border-radius:22px;margin:25px 0}.journal-total>strong{display:block;font-size:44px;line-height:1;margin-top:10px}.journal-total small{font-size:12px;color:var(--muted)}.entry{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:22px 0}.entry div{flex:1}.entry strong{font-size:12px}.entry small{display:block;font-size:9px;margin-top:5px;color:var(--muted)}.entry>span{font-size:11px}.empty-state{text-align:center}.empty-state p{font-size:12px;color:var(--muted)}.profile-orbit .mascot{width:95px;height:190px}dl{margin:0 0 24px}dl>div{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:17px 0}dl>div,.language-setting{font-size:11px;font-weight:400;line-height:normal}
dt,.language-setting>span{color:var(--muted)}dd{margin:0;text-align:right;max-width:65%}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:white;box-shadow:0 5px 25px #39284e22;border-radius:16px;padding:14px 22px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10;max-width:90vw;width:max-content}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:721px) and (max-height:850px){.device{max-height:none;height:800px}.studio{padding-block:24px}.hero .mascot{width:108px;height:216px}.intro-mascot{width:98px;height:196px}.result-mascot{width:90px;height:180px}}
@media(max-width:720px){body{background:var(--paper)}.studio{display:block;padding:0;min-height:100svh}.guide{display:none}.device-area{width:100%}.device{width:100%;height:100svh;min-height:0;max-height:none;border:0;border-radius:0;box-shadow:none}.status{height:36px;padding:10px 25px 3px}.screen{padding:16px 25px 12px}.preview-label{display:none}.home-indicator{margin-bottom:max(7px,env(safe-area-inset-bottom))}header{margin-bottom:22px}.hero .mascot{width:130px;height:260px}.intro-mascot{width:122px;height:244px}.result-mascot{width:120px;height:240px}#nav{min-height:64px}.primary,.secondary{min-height:53px}}
@media(max-width:720px) and (max-height:760px){.hero .mascot{width:92px;height:184px}.home-heading h1{font-size:24px}.screen{padding-top:10px}.home-heading .sub{font-size:10px}header{margin-bottom:16px}.progress-section{margin:6px 0 11px}.time-card{padding-top:12px}.primary,.secondary{min-height:49px;padding-block:10px}.intro-mascot{width:89px;height:178px}.result-mascot{width:84px;height:168px}.mini{width:38px;height:76px}.goal{min-height:60px;padding:10px}.sub{margin-bottom:16px}.home-footnote{margin-top:8px}.mood-label{top:-4px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* A dedicated full pose avoids clipping the waving hand at a sprite boundary. */
.mascot.welcome{background-image:url('./assets/loop-welcome.png');background-size:contain;background-position:center;width:220px}.mascot.welcome.mini{width:65px}.hero .mascot.welcome{width:220px}.profile-orbit .mascot.welcome{width:170px}
.mascot.low{background-image:url('./assets/loop-low.png')}.mascot.happy{background-image:url('./assets/loop-happy.png')}.mascot.low,.mascot.happy{width:220px;background-size:contain;background-position:center}.hero .mascot{width:220px;height:220px}.result .result-mascot{width:175px;height:175px}.result .plan-note{margin:12px 0}.result .footnote{margin-top:12px}.result .sub{margin-bottom:12px}
@media(max-width:720px) and (max-height:760px){.hero .mascot{width:165px;height:165px}.result .result-mascot{width:140px;height:140px}}
@media(max-width:720px) and (max-height:700px){.hero .mascot{width:110px;height:110px}.home-heading h1{font-size:22px;margin:7px 0}.progress-section{margin:3px 0 9px}.time-card{padding-top:9px}.home-footnote{font-size:7px;margin-top:6px}}
/* Revision 2: white surfaces, purple accents, clear product hierarchy. */
:root{--ink:#302a3a;--muted:#85808d;--paper:#fff;--line:#eeebf1;--lavender:#f6f2fa;--lime:#e8f29c}body{background:#f5f5f3}.device{border-color:#fff;box-shadow:0 15px 60px #24202b0c}.guide h1 em{color:#9573b4}.guide>.wordmark{margin-bottom:100px}.edition{color:#aaa5af}.screen{padding-top:18px}header{margin-bottom:22px}.tiny-tag{color:#aaa2b2}.speech{background:#f6f2fa}.steps i{background:#f1edf5}.steps .on{background:#b899cd}.goal{border-color:#e9e5ee;background:white}.goal.selected{background:#faf7fd;border-color:#b899cd}.goal-icon{background:#f7f4fa;color:#9474af}.goal small{color:#8b8592}.primary{background:#82609e;color:#fff;border-radius:17px}.primary:hover{background:#71518d}.primary>svg{background:#ffffff16}.dark{background:#382e44}.dark:hover{background:#493858}.secondary{border-color:#e7e0ec;border-radius:17px}.companion-line{margin:16px 0 12px}.companion-line .mini{height:78px}.onboarding-heading{margin-top:20px}.sub{color:#8a8491}.result{text-align:left;padding:12px 0}.result>h1{font-size:29px;margin:8px 0}.result>.sub{margin-bottom:16px}.target-scene{height:265px;position:relative;display:flex;align-items:center;justify-content:flex-start;margin:22px 0 24px}.target-disc{height:215px;width:215px;border:1px solid #ede5f4;border-radius:50%;background:#fcfaff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;flex-shrink:0}.target-disc>span{font-size:8px;letter-spacing:1.5px;color:#9d88ae}.target-disc strong{font:72px var(--font-heading);letter-spacing:-4px;line-height:1}.target-disc small{font:17px var(--font-body);letter-spacing:0;margin-left:6px;color:#8e7a9e}.result .result-mascot{position:absolute;right:-8px;bottom:0;width:140px;height:170px;margin:0;z-index:1}.plan-explanation{padding:22px 0;border-top:1px solid var(--line);margin-bottom:12px;position:relative}.section-icon{color:#9572b0}.plan-explanation>.section-icon{position:absolute;right:0;top:24px}.plan-explanation h2{font-size:18px;margin:0 35px 7px 0}.time-window{font-size:11px;color:#997aaf}.plan-explanation p{font-size:12px;line-height:1.85;color:#817b89;margin:15px 0 0}.result>.text-button{display:block;margin:4px auto}.conditions{padding:0 0 18px;border-bottom:1px solid var(--line)}.city-line{display:flex;gap:6px;align-items:center;font-size:11px;margin-bottom:17px}.city-line svg{width:14px;height:14px;color:#9c7ab6}.city-line strong{font-size:12px}.city-line>span{margin-left:auto;font-size:10px;color:var(--muted)}.conditions-grid{display:grid;grid-template-columns:1.1fr .9fr 1.1fr;gap:8px}.conditions-grid>div{display:flex;align-items:center;gap:6px}.conditions-grid svg{width:18px;height:18px;color:#a68abd}.conditions-grid>div>span{font-size:8px;color:var(--muted)}.conditions-grid strong{display:block;font-size:11px;color:#55495e;margin-top:5px;font-weight:400;white-space:nowrap}.conditions-grid small{font-size:8px;margin-left:3px;color:#918498}.home-heading h1{font-size:23px;margin:22px 0 0}.hero{margin:0;text-align:center}.hero .mascot{height:195px;width:195px;margin:4px auto 5px}.progress-section{margin:8px 0 20px}.progress-heading{font-size:11px}.progress-heading strong{font-size:25px}.progress-track{height:6px;background:#f1ecf5;margin-top:12px}.progress-track i{background:#a78abc}.home-actions{margin-bottom:13px}.home-actions .primary{margin-top:0}.nearby-link{display:flex;align-items:center;justify-content:center;gap:8px;background:none;min-height:46px;width:100%;font-size:11px;color:#85708f}.nearby-link svg{width:15px;height:15px}.nearby-link svg:last-child{margin-left:3px}.walk-window{display:flex;gap:12px;background:#faf9fb;border:1px solid #f0ecf3;border-radius:17px;padding:15px}.walk-window>.section-icon{padding-top:3px}.walk-window .eyebrow{font-size:7px;color:#a08bad;letter-spacing:1px}.walk-window h2{font-size:13px;margin:5px 0 7px}.walk-window h2 span{display:block;font:10px var(--font-body);color:#8d7b9b;margin-top:4px}.walk-window p{font-size:10px;color:#8a8291;line-height:1.7;margin:0}.live-session{border:0;min-height:42px;padding-bottom:10px}.location-strip{background:none;border-bottom:1px solid var(--line);border-radius:0;padding:14px 0;color:#8d739f}.explore-welcome{text-align:center;padding:18px 0 25px}.explore-welcome .mascot{height:240px}.explore-welcome h2{font-size:22px;margin:10px 0}.explore-welcome p{font-size:12px;color:var(--muted)}.places-heading{display:flex;align-items:center;justify-content:space-between;margin-top:25px}.places-heading h2{font-size:15px}.places-heading .text-button{font-size:10px;color:#9675ae}.place-row{padding:22px 0}.place-art{width:66px;height:72px;background:#f3eef7}.art-1{background:#f4f5ed}.art-2{background:#f0f3ee}.place-row strong{font-size:14px}.place-row small{font-size:10px}.place-row>svg{color:#ac96bc}#nav{background:#fff;border-top-color:#f0edf2;padding-top:7px}#nav button{color:#a49aac}#nav button.active{background:#faf7fc;color:#8d68aa}.week-heading{display:flex;align-items:center;justify-content:space-between;margin-top:30px}.week-heading h2{font-size:15px}.week-heading>span{font-size:10px;color:var(--muted)}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:14px -4px 25px}.day-cell{background:white;padding:8px 0;border-radius:16px;min-width:0;border:1px solid transparent}.day-cell.chosen{border-color:#ddd0e7;background:#fcfaff}.day-cell>span{font-size:8px;color:#a097a8}.day-stamp{height:48px;display:grid;place-items:center;margin-top:8px}.day-stamp b{font:15px var(--font-heading);color:#94879e}.day-stamp img{width:42px;height:46px;object-fit:contain}.day-summary{display:flex;align-items:center;justify-content:space-between;padding:19px 0;border-block:1px solid var(--line);font-size:11px}.day-summary strong{font:27px var(--font-heading);color:#87639f}.day-summary small{font:11px var(--font-body);color:#a18eaf}.record-heading{font-size:15px;margin:29px 0 4px}.entry>svg{color:#a58bb6}.entry strong{font-size:12px}.entry>span{font-size:10px;color:#8a7e92}.empty-records{padding:35px 0;color:#a09aa6;font-size:12px}.home-indicator{background:#3a3341}#map-sheet{position:fixed;inset:auto;left:var(--sheet-left);top:var(--sheet-top);width:var(--sheet-width);max-width:100vw;margin:0;border:1px solid #eee9f2;border-radius:28px 28px 0 0;padding:13px 26px 25px;background:white;color:var(--ink);box-shadow:0 -10px 40px #2f263316}#map-sheet::backdrop{background:#29213138}.sheet-handle{width:34px;height:4px;border-radius:9px;background:#ddd6e2;margin:0 auto 22px}.sheet-close{position:absolute;right:18px;top:20px;width:34px;height:34px;border-radius:50%;background:#f7f4f9;font-size:22px;color:#9682a5}#map-sheet h2{font-size:21px;margin:8px 30px 5px 0}#map-sheet>p{font-size:12px;color:var(--muted);margin:5px 0 12px}.map-option{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);min-height:57px;font-size:13px}.map-option>svg{margin-left:auto;width:18px;color:#9e86b0}.map-logo{width:32px;height:32px;background:#f1f5f2;color:#528768;border-radius:10px;display:grid;place-items:center;font:bold 18px var(--font-heading)}.map-logo.amap{color:#4c85c5;background:#edf4fd}.guide .edition{margin-top:auto}.goal .goal-icon{flex-shrink:0}
@media(max-width:720px){.target-scene{height:260px}.result .result-mascot{width:140px;height:170px;right:0}.target-disc{width:210px;height:210px}.hero .mascot{height:200px;width:200px}.screen{padding-top:14px}.result>h1{margin-top:14px}}
@media(max-height:760px){.hero .mascot{height:140px;width:140px}.conditions{padding-bottom:12px}.conditions-grid strong{font-size:10px}.city-line{margin-bottom:12px}.home-heading h1{margin-top:14px;font-size:22px}.progress-section{margin:3px 0 16px}.walk-window{padding:11px}.walk-window p{font-size:9px}.target-scene{height:190px;margin:12px 0 20px}.target-disc{width:175px;height:175px}.target-disc strong{font-size:60px}.result .result-mascot{height:145px;width:125px}.plan-explanation{padding:17px 0}.plan-explanation p{font-size:11px}.result>h1{font-size:27px}.home-actions{margin-bottom:7px}.nearby-link{min-height:40px}}
@media(max-width:720px) and (max-height:700px){.hero .mascot{height:120px;width:120px}.home-heading h1{margin-top:12px}.conditions{padding-bottom:10px}.home-actions .primary{min-height:47px}.walk-window p{font-size:9px;line-height:1.55}.walk-window h2 span{display:inline;margin-left:7px}.walk-window .section-icon{display:none}.walk-window h2{margin-bottom:5px}.walk-window{padding:10px 12px}}
.conditions-grid>div>span{font-size:9px}.conditions-grid strong{font-size:12px}.conditions-grid small{font-size:8px}#map-sheet{height:310px;max-height:90svh}.day-stamp img{width:44px;height:48px}
/* Revision 3: warmer daylight accents and a more relaxed onboarding rhythm. */
:root{--sunwash:#faf4df;--sunink:#9b824c}.basics-intro{text-align:center;padding:20px 0 0}.basics-intro .mascot.welcome{width:170px;height:185px;margin:0 auto 14px}.companion-greeting{display:block;font-size:11px;color:#9a879f;margin-bottom:24px}.basics-intro h1{font-size:27px;margin:0 0 13px}.basics-intro>.sub{font-size:12px;margin:0}#basics .fields{margin:39px 0 33px;gap:23px;grid-template-columns:repeat(2,minmax(0,1fr))}#basics input,#basics select{background:#fdfcfe;border-color:#e9e2ee;border-radius:14px;margin-top:13px;min-height:54px}#basics .primary{margin-top:0}#basics{padding-bottom:22px}.steps{gap:7px}.steps i{height:2px}.result{padding-top:27px}.plan-kicker{color:#a38b58;letter-spacing:1.6px}.result>h1{font-size:27px;margin:12px 0 12px}.result>.sub{font-size:12px;line-height:1.7;margin:0}.target-scene{height:228px;margin:31px 0 29px;border-radius:27px;background:var(--sunwash);display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}.target-scene:after{content:'';position:absolute;width:200px;height:200px;border:1px solid #e7d89e;border-radius:50%;right:-100px;top:-110px;z-index:-1}.target-disc{width:155px;height:auto;border:0;border-radius:0;background:transparent;gap:0;align-items:flex-start;padding:0 0 0 7px;flex-shrink:0;z-index:1}.target-disc>span{font-size:8px;letter-spacing:1.5px;color:#a28a56;margin:0 0 14px}.target-disc strong{font:78px var(--font-heading);letter-spacing:-5px;line-height:.95;color:#53443b}.target-disc>small{font:12px var(--font-body);letter-spacing:0;color:#9a8862;margin-top:14px}.result .result-mascot{position:relative;right:auto;bottom:auto;flex-shrink:0;width:165px;height:194px;margin:25px 0 0 -37px;z-index:2}.plan-explanation{border:0;padding:0 0 23px;margin-bottom:2px}.plan-explanation .time-window{display:block;font-size:10px;color:#aa8d4d;margin:0 30px 11px 0}.plan-explanation h2{font-size:18px;line-height:1.4;margin:0 20px 11px 0}.plan-explanation p{font-size:12px;line-height:1.85;margin:0;color:#8d8593}.plan-explanation>.section-icon{color:#b69a55;top:-2px}.result>.primary{margin-top:8px}.result>.text-button{margin-top:9px}.conditions{padding:7px 0 21px}.city-line{margin-bottom:22px}.conditions-grid{gap:13px}.conditions-grid svg{color:#b5a06b}.conditions-grid>div{gap:8px}.home-heading h1{font-size:23px;margin:26px 0 0}.hero .mascot{width:170px;height:170px;margin:17px auto 16px}.progress-section{margin:0 0 26px}.home-actions{margin-bottom:22px}.nearby-link{min-height:47px;margin-top:7px}.walk-window{background:#fdfbf5;border-color:#f3eddd;padding:19px 17px;gap:13px;border-radius:19px}.walk-window .section-icon{color:#b49b60}.walk-window .eyebrow{color:#ab9664}.walk-window h2{margin:8px 0 11px}.walk-window h2 span{display:inline;margin-left:8px;color:#a08e65}.walk-window p{line-height:1.85}.screen{padding-bottom:24px}.result .text-button{font-size:11px}
@media(max-height:800px){.basics-intro{padding-top:12px}.basics-intro .mascot.welcome{height:150px;width:155px;margin-bottom:10px}.companion-greeting{margin-bottom:21px}#basics .fields{margin:30px 0}.result{padding-top:20px}.target-scene{height:196px;margin:25px 0}.result .result-mascot{width:145px;height:174px;margin-left:-27px}.target-disc{width:145px}.target-disc strong{font-size:69px}.plan-explanation h2{font-size:17px}.plan-explanation p{font-size:11px}.conditions{padding:4px 0 18px}.city-line{margin-bottom:18px}.home-heading h1{margin-top:21px}.hero .mascot{height:135px;width:135px;margin:14px auto}.progress-section{margin-bottom:22px}.home-actions{margin-bottom:17px}.walk-window{padding:16px}}
@media(max-width:720px) and (max-height:700px){.basics-intro .mascot.welcome{height:130px;width:140px}.basics-intro h1{font-size:25px}.companion-greeting{font-size:10px;margin-bottom:19px}#basics .fields{margin:27px 0}.target-scene{height:165px;margin:22px 0}.result .result-mascot{height:155px;width:140px;margin-top:12px}.target-disc strong{font-size:61px}.target-disc>span{margin-bottom:9px}.target-disc>small{margin-top:9px}.result>h1{font-size:25px}.result{padding-top:13px}.plan-explanation{padding-bottom:13px}.plan-explanation p{line-height:1.75}.hero .mascot{height:112px;width:112px;margin:12px auto}.home-heading h1{margin-top:18px}.conditions{padding-bottom:14px}.home-actions{margin-bottom:15px}.nearby-link{margin-top:3px;min-height:40px}.walk-window{padding:14px}.walk-window p{line-height:1.7}.conditions-grid{gap:8px}}

.coordinates{display:block;font-size:11px;font-weight:400;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.location-status{font-size:12px;line-height:1.5;color:#655b75;margin:8px 0}.location-status:empty{display:none}.sample-weather{font-size:11px;line-height:1.5;color:#766a82;margin:6px 0 12px}.maps-attribution{font-size:12px;color:#655b75;margin:12px 0}button:disabled{opacity:.6;cursor:wait}.place-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.location-strip>span{margin-left:0;font-size:14px;letter-spacing:0;color:var(--ink);min-width:0}.location-strip svg{flex-shrink:0}.conditions .location-strip{margin:0 0 4px}
/* Daily check-in: inherited Louie palette, generous touch targets. */
.today-vibe{background:#f6f0fa;border-radius:18px;padding:18px;margin:0 0 22px}.vibe-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.vibe-heading>span{font-size:12px;color:#705782}.vibe-heading .text-button{padding:8px;margin:-8px 0;color:#705782}.today-vibe h2{font-size:23px;margin:12px 0 8px}.today-vibe p{font-size:13px;line-height:1.7;color:#695773;margin:0 0 18px}.vibe-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.vibe-numbers>span{font-size:10px;color:#705782}.vibe-numbers strong{display:block;font-size:25px;color:#39284e;margin-top:5px;font-variant-numeric:tabular-nums}.vibe-numbers small{font:11px var(--font-body);margin-left:3px}.vibe-share{display:block;background:none;color:#64477b;padding:14px 0 0;font-size:12px}.checkin-invite{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:#faf4df;padding:18px;border-radius:16px;margin-bottom:22px;gap:14px}.checkin-invite strong{font-size:17px;display:block}.checkin-invite small{display:block;margin-top:7px;font-size:11px;color:#76633c}.checkin-invite>span:last-child{font-size:26px}#checkin-sheet{position:fixed;margin:0;border:0;border-radius:28px;padding:30px 26px 22px;background:#fff;color:var(--ink);overflow:auto;box-shadow:0 18px 65px #39284e30;max-width:100vw}#checkin-sheet::backdrop{background:#2d21374d}#checkin-sheet h2{font-size:31px;line-height:1.13;letter-spacing:-.6px;margin:8px 30px 10px 0}.checkin-sub{font-size:12px;line-height:1.7;color:#705f7c;margin-bottom:22px}#checkin-form fieldset{padding:0;border:0;margin:0 0 20px}#checkin-form legend{font:17px var(--font-heading);margin-bottom:10px}.score-options{display:flex;gap:8px}.score-options label{flex:1;position:relative}.score-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.score-options span{display:grid;place-items:center;min-height:46px;background:#f7f3fa;border:1px solid #e6dcec;border-radius:12px;font:20px var(--font-heading)}.score-options input:checked+span{background:#82609e;color:#fff;border-color:#82609e}.score-options input:focus-visible+span{outline:3px solid #39284e;outline-offset:2px}.score-options label:hover span{border-color:#82609e}.score-caption{font-size:12px;line-height:1.5;color:#705f7c;min-height:18px;margin:8px 0 0}.sleep-label{font:17px var(--font-heading)}.sleep-label small{display:block;font:12px var(--font-body);margin-top:5px;color:#705f7c}.sleep-input{display:flex;align-items:center;gap:12px;margin-top:10px}.sleep-input input{width:120px;min-height:48px;margin:0;font-size:20px}.sleep-input>span{font-size:13px;color:#705f7c}.checkin-error{font-size:12px;line-height:1.6;color:#a13848}.checkin-error:empty{margin:12px 0}.checkin-skip{display:block;margin:8px auto 0;min-height:40px;color:#705f7c}.vibe-response{text-align:center}.vibe-response h2{margin-right:0!important}.vibe-response img{display:block;width:220px;height:230px;object-fit:contain;margin:12px auto}.vibe-response>p:not(.checkin-sub){font-size:15px;line-height:1.8;color:#695773}.vibe-response .vibe-numbers{background:#faf4df;border-radius:15px;padding:18px 12px;text-align:left;margin:22px 0}.share-preview{display:block;width:100%;border-radius:16px}.share-actions{display:flex;gap:10px;margin-top:18px}.share-actions .primary{display:flex;align-items:center;justify-content:center;flex:1;text-align:center;font-size:13px}.vibe-history{padding-bottom:26px;margin-bottom:28px;border-bottom:1px solid var(--line)}.vibe-history h2{font-size:20px;margin:0}.range-buttons{display:flex;gap:3px;flex-shrink:0}.range-buttons button{background:#f7f3fa;border-radius:9px;min-height:36px;padding:8px;font-size:11px}.range-buttons button[aria-pressed=true]{background:#82609e;color:#fff}.vibe-note,.vibe-empty{font-size:12px;line-height:1.8;color:#705f7c}.vibe-empty{padding:25px 0}.vibe-empty button{display:block}.vibe-storage{font-size:10px;color:#705f7c;margin:24px 0 0;line-height:1.7}.trend-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:18px}.trend-label span,.trend-dates{font-size:10px;color:#705f7c}.vibe-chart{width:100%;height:auto;display:block}.trend-dates{display:flex;justify-content:space-between}.vibe-date{display:block;margin:22px 0 16px;font-size:12px}.vibe-date input{margin-top:8px;max-width:100%}#checkin-sheet ::selection{background:#e2d2ef}#checkin-sheet input{caret-color:#82609e}#checkin-sheet{scrollbar-color:#c0accf #f6f0fa;scrollbar-width:thin}
@media(max-width:720px){#checkin-sheet{border-radius:24px;padding:26px 22px 18px}.vibe-response img{height:210px}.today-vibe h2{font-size:22px}}
/* Revision 6: compact city conditions and a four-question conversation. */
.conditions{padding:0 0 17px}.conditions-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.conditions-city{display:flex;align-items:center;gap:6px;font:14px var(--font-heading);min-width:0;overflow-wrap:anywhere}.conditions-city svg{width:15px;height:15px;color:#9979ad}.conditions-top .text-button{padding:8px 0;white-space:nowrap;font-size:10px;color:#735386;min-height:36px}.weather-inline{display:flex;align-items:center;gap:8px;margin:2px 0 14px;font-size:11px;color:#73657c}.weather-source{margin-left:auto;font-size:9px;color:#73657c}.location-hint{font-size:10px;line-height:1.4;color:#b03f50;margin:0 0 7px}.conditions-grid{gap:8px}.conditions-grid small{margin-left:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#checkin-sheet{padding:26px 22px 20px;border-radius:24px;max-width:calc(100vw - 24px)}#checkin-sheet.question-sheet{background:#fcfaf6}#checkin-sheet .sheet-close{top:15px;right:14px;background:#f0eaf5;color:#74578a}.checkin-intro{font:13px var(--font-heading);color:#735e7e;padding:0 35px 0 0}.question-progress{display:flex;gap:12px;margin:24px 0 0}.question-progress span{font-size:10px;color:#796981;flex:1;border-bottom:2px solid #e6dfea;padding-bottom:7px}.question-progress span.current{border-color:#82609e;color:#59396e}.question-progress span.done{border-color:#bda7cc}.question-mascot{height:160px;display:grid;place-items:center;margin:6px 0 0}.question-mascot img{width:164px;height:160px;object-fit:contain}#checkin-sheet.question-sheet h2{font-size:27px;text-align:center;margin:0;letter-spacing:-.6px;line-height:1.2}.question-answer{font:15px var(--font-heading);text-align:center;color:#725781;min-height:40px;margin:12px 0 19px;line-height:1.4;display:grid;place-items:center}#checkin-form fieldset{margin:0 0 20px}.question-sheet .score-options{gap:9px}.question-sheet .score-options span{min-height:49px;border-radius:50%;background:#fff;border:1px solid #ded2e5;font-size:21px}.score-endpoints{display:flex;justify-content:space-between;gap:30px;margin-top:12px;font-size:10px;line-height:1.6;color:#725781}.score-endpoints>span{max-width:43%}.score-endpoints>span:last-child{text-align:right}.question-footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px;gap:12px;font-size:10px;color:#725781}.question-footer .text-button{min-height:34px;padding:8px 0;color:#725781;font-size:11px}.question-sheet .sleep-input{justify-content:center;margin:0 0 26px}.question-sheet .sleep-input input{font:42px var(--font-heading);width:135px;border:0;border-bottom:1px solid #bda7cc;border-radius:0;background:transparent;min-height:66px;padding:6px;text-align:center}.question-sheet .sleep-input input::placeholder{color:#9e8eaa}.question-sheet .primary{font-size:12px;min-height:48px;border-radius:14px}.question-sheet .checkin-error:empty{margin:0}.share-layouts{display:flex;gap:6px;margin:14px 0}.share-layouts button{flex:1;padding:10px 5px;min-height:40px;background:#f4eef8;border-radius:10px;font-size:11px;color:#705782}.share-layouts button[aria-pressed=true]{background:#82609e;color:#fff}#checkin-sheet.share-sheet h2{font:30px var(--font-heading);margin:4px 30px 6px 0}.share-sheet .checkin-sub{font-size:11px;margin-bottom:14px}.share-sheet .share-preview{border-radius:2px}.share-sheet .share-actions{margin-top:14px}.share-sheet .share-actions .primary{min-height:44px}.share-sheet .share-actions .secondary{font-size:12px;min-height:44px}.question-sheet .score-options input:checked+span{background:#82609e;color:#fff}
@media(max-height:740px){.question-mascot{height:124px}.question-mascot img{width:126px;height:124px}.question-progress{margin-top:17px}.question-answer{margin:9px 0 14px}.question-sheet .score-endpoints{margin-top:9px}#checkin-sheet.question-sheet h2{font-size:25px}}
.share-sheet .share-preview{aspect-ratio:4/5;object-fit:contain}
.share-sheet .share-actions>*{flex:1;width:0;min-width:0;white-space:nowrap;padding:12px 8px;font-size:12px}.share-sheet .share-actions .primary{font-size:12px}
/* Revision 7: companion-first Today; Journal reveals details on request. */
.loop-message{text-align:center;max-width:310px;margin:0 auto 22px}.loop-message p{font:15px var(--font-heading);line-height:1.65;color:#705782;margin:0}.loop-message .text-button{font-size:11px;color:#735386;padding:10px 0 0}.hero .mascot{margin:12px auto 8px}.home-heading h1{margin-top:22px}.journal-disclosure{border-bottom:1px solid var(--line);padding:0;margin:0}.journal-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:57px;cursor:pointer;list-style:none;font:14px var(--font-heading);color:#4c3a57}.journal-disclosure>summary::-webkit-details-marker{display:none}.journal-disclosure>summary:after{content:'＋';font:19px var(--font-heading);color:#9677ab;flex-shrink:0}.journal-disclosure[open]>summary:after{content:'−'}.journal-disclosure summary small{display:block;font:11px var(--font-body);color:#786585;margin-top:4px}.journal-disclosure summary:focus-visible{outline:3px solid #82609e;outline-offset:2px}.journal-disclosure .vibe-numbers{padding:8px 0 18px}.journal-disclosure .vibe-history{padding:8px 0 20px;margin:0;border:0}.journal-vibe{background:#f6f0fa;border-radius:18px;padding:16px 18px;margin:20px 0 12px}.journal-vibe-top{display:flex;gap:14px;align-items:center;justify-content:space-between}.journal-vibe-top img{width:72px;height:85px;object-fit:contain;flex-shrink:0}.vibe-label{font-size:11px;color:#705782}.journal-vibe h2{font-size:21px;line-height:1.2;margin:8px 0}.journal-vibe-actions{display:flex;justify-content:space-between;gap:14px}.journal-vibe-actions .text-button{font-size:11px;color:#725184;min-height:36px;padding:5px 0}.journal-vibe .journal-disclosure{border:0;border-top:1px solid #e4d9ec;margin-top:9px}.journal-vibe .journal-disclosure>summary{min-height:40px;font-size:11px;color:#725184}.journal-checkin{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;text-align:left;padding:19px;background:#faf4df;border-radius:16px;margin:20px 0 12px}.journal-checkin strong{font-size:17px}.journal-checkin small{display:block;font-size:11px;color:#78643f;margin-top:8px}.journal-checkin>span:last-child{font-size:24px}.record-count{margin-left:auto;font:12px var(--font-body);color:#786585}.home-window>summary{font-size:11px;min-height:42px;color:#786585}.home-window .walk-window{margin:0 0 14px}.week-heading{margin-top:24px}.week-grid{margin-bottom:16px}.day-summary{padding:14px 0;border-bottom:0}.day-summary strong{font-size:24px}.journal-disclosure .empty-records{padding:14px 0 24px}.journal-disclosure .entry{padding:16px 0}.journal-disclosure .entry:last-child{border-bottom:0}
#checkin-sheet{border-radius:28px 28px 0 0;max-width:100vw;padding-bottom:max(24px,env(safe-area-inset-bottom));background:#fcfaf6}.checkin-handle{width:38px;height:4px;background:#d7cadf;border-radius:8px;margin:-10px auto 19px}#checkin-sheet .sheet-close{top:24px}#checkin-sheet.question-sheet .checkin-intro{text-align:center;padding:0 30px}.question-mascot{height:134px}.question-mascot img{height:134px;width:138px}#checkin-sheet[open]{animation:checkin-rise .24s cubic-bezier(.16,1,.3,1)}@keyframes checkin-rise{from{transform:translateY(28px)}to{transform:translateY(0)}}
@media(max-height:740px){.loop-message{margin-bottom:16px}.loop-message p{font-size:13px}.question-mascot{height:108px}.question-mascot img{height:108px;width:112px}.checkin-handle{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){#checkin-sheet[open]{animation:none}}
.journal-vibe{padding:13px 16px}.journal-vibe-top img{width:54px;height:62px}.journal-vibe h2{font-size:19px}.journal-vibe-actions .text-button{min-height:32px}.journal-vibe .journal-disclosure>summary{min-height:36px}.week-grid .day-stamp{height:34px}.week-grid .day-stamp img{height:34px;width:31px}
/* Revision 8: opt-in check-in, a small sheet and one date-led journal. */
.quiet-checkin{border-top:1px solid var(--line);margin-top:15px;padding:17px 0 4px;font-size:11px;color:#7a6886;display:flex;justify-content:space-between;align-items:center;gap:12px}.quiet-checkin button{background:none;color:#725783;padding:8px 0;font-size:11px}.quiet-checkin>button{display:flex;width:100%;justify-content:space-between;align-items:center;text-align:left;font:14px var(--font-heading)}.quiet-checkin small{display:block;font:10px var(--font-body);color:#867b8e;margin-top:6px}.quiet-checkin>div{display:flex;gap:18px}
/* White space leads; purple identifies the chosen answer and next action. */
#checkin-sheet.question-sheet{padding:26px 28px 15px;background:#fff;color:#392f43;border-radius:22px;box-shadow:0 12px 36px #39284e18}
#checkin-sheet::backdrop{background:#30233d24}
#checkin-sheet.question-sheet::backdrop{background:#30233d22}
.question-sheet .checkin-handle{display:none}
#checkin-sheet.question-sheet .checkin-intro{text-align:left;padding:0 36px 0 0;font:10px/1.5 var(--font-body);color:#796b83;display:flex;align-items:center;justify-content:space-between;gap:14px}
.question-sheet .checkin-intro span{font-size:10px;margin:0;color:#796b83;font-variant-numeric:tabular-nums}
#checkin-sheet.question-sheet .sheet-close{height:36px;width:36px;font:22px var(--font-body);top:15px;right:13px;background:transparent;color:#796b83}
.question-sheet .sheet-close:hover{background:#f5f1f8}
.question-sheet .question-heading{display:block;margin:24px 0 0}
#checkin-sheet.question-sheet h2{font:600 27px/1.35 var(--font-heading);text-align:left;letter-spacing:-.25px;color:#392f43;margin:0;max-width:290px}
.question-sheet .question-answer{font:12px/1.6 var(--font-body);text-align:left;display:block;min-height:20px;margin:10px 0 22px;color:#796b83}
.question-sheet .score-options{gap:16px;background:none;padding:0;border-radius:0}
.question-sheet .score-options span{height:52px;min-height:52px;border:1px solid #e4daeb;border-radius:14px;font:20px var(--font-heading);background:#f8f5fb;color:#725d82;padding:0}
.question-sheet .score-options label:hover span{background:#f8f5fb;border-color:#aa8cbd}
.question-sheet .score-options input:checked+span{background:#75518c;color:#fff;border:2px solid #75518c;box-shadow:0 3px 0 #ded0e7}
.question-sheet .score-options input:focus-visible+span{outline:2px solid #9573ad;outline-offset:3px}
.question-sheet .score-endpoints{font-size:10px;line-height:1.6;margin:10px 0 0;color:#796b83}
.question-sheet #checkin-form fieldset{margin:0 0 23px}
.question-sheet .primary{min-height:44px;border-radius:10px;font:12px var(--font-body);padding:11px 15px;margin:0;background:#f4eef8;color:#69497f;border:1px solid #e8dced}
.question-sheet .primary:hover{background:#eae0f1}
.question-sheet .primary>span{display:block;width:auto;height:auto;border-radius:0;background:none;font-size:16px;line-height:1}
.question-sheet .question-footer{margin-top:8px;min-height:32px;justify-content:space-between}
.question-sheet .question-footer .text-button{font-size:10px;min-height:32px;padding:6px 0;color:#796b83}
.question-sheet .sleep-input{justify-content:flex-start;gap:15px;margin:0 0 26px}
.question-sheet .sleep-input input{font:30px var(--font-body);min-height:56px;width:102px;border:0;border-bottom:1px solid #aa8cbd;background:transparent;color:#392f43;border-radius:0;padding:4px 10px;text-align:center;caret-color:#392f43}
.question-sheet .sleep-input input::-webkit-inner-spin-button,.question-sheet .sleep-input input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.question-sheet .sleep-input input::placeholder{color:#8a7697}
.question-sheet .sleep-input>span{font-size:12px;color:#796b83}
#checkin-sheet.question-sheet :focus-visible{outline-color:#9573ad}
#checkin-sheet.question-sheet ::selection{background:#eee5f5}
.question-sheet .checkin-error{margin:8px 0;font-size:11px}
.question-sheet .checkin-error:empty{margin:0}

@media(prefers-reduced-motion:no-preference){
 #checkin-sheet.question-sheet[open]{animation:question-arrive .48s cubic-bezier(.16,1,.3,1)}
 #checkin-sheet.question-sheet[open]::backdrop{animation:question-dim .48s ease-out}
 .question-sheet .score-options span{transition:background-color .18s ease,color .18s ease,border-color .18s ease}
 @keyframes question-arrive{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}
 @keyframes question-dim{from{background-color:transparent}to{background-color:#30233d22}}
}
@media(prefers-reduced-motion:reduce){#checkin-sheet.question-sheet[open],#checkin-sheet.question-sheet[open]::backdrop{animation:none}}

.journal-title{display:flex;justify-content:space-between;align-items:center;margin:20px 0 20px}.journal-title h1{font:24px var(--font-heading);letter-spacing:-.5px;margin:0}.journal-date-label{font:10px var(--font-body);color:#7a6886;text-align:right}.journal-date-label input{display:block;font-size:10px;margin:4px 0 0;padding:4px 0;border:0;background:none;min-height:24px;max-width:112px;color:#74627f}.journal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding-bottom:21px;border-bottom:1px solid var(--line)}.journal-week button{padding:9px 0 6px;background:none;border-radius:12px;display:flex;align-items:center;flex-direction:column;gap:7px}.journal-week button.chosen{background:#f5eff9}.journal-week span{font-size:9px;color:#8a7e94}.journal-week strong{font-size:14px;font-weight:400}.journal-week i{height:3px;width:3px;border-radius:50%;background:transparent}.journal-week i.complete{background:#9573ab}.journal-day-label{font-size:11px;color:#8a7e94;margin:25px 0 19px}.day-feeling{display:flex;gap:13px;align-items:center;margin:0 0 25px}.day-feeling img{width:44px;height:56px;object-fit:contain}.day-feeling h2{font:17px var(--font-heading);margin:0 0 7px}.day-feeling p{font-size:11px;line-height:1.8;color:#7d6e87;margin:0}.day-unrecorded{font-size:12px;color:#8a7e94;line-height:1.7;margin:0 0 24px}.journal-outdoors{display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:17px 0;border-top:1px solid var(--line)}.journal-outdoors strong{font:19px var(--font-heading);color:#76568d}.journal-outdoors small{font:10px var(--font-body)}.journal-empty{font-size:11px;color:#8a7e94;margin:0 0 25px}.journal-page .journal-disclosure>summary{min-height:38px;font-size:11px}.journal-page .entry strong,.journal-page .entry>span{font-size:11px}.journal-trends{border-top:1px solid var(--line);margin-top:22px;padding-top:8px}.journal-trends summary{display:flex;justify-content:space-between;align-items:center;list-style:none;min-height:42px;font-size:11px;color:#80688f;cursor:pointer}.journal-trends summary::-webkit-details-marker{display:none}.journal-trends summary:focus-visible{outline:2px solid #82609e}.trend-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:15px 0}.trend-controls select{font-size:11px;min-height:34px;max-width:140px;margin:0;padding:6px;border:1px solid #e7deee;border-radius:8px}.trend-controls .range-buttons button{font-size:10px;min-height:32px}.journal-trends .trend-label{font-size:10px}
/* Revision 9: readable weekly reflection; controls stay outside the product. */
.week-reflection{padding:2px 0 20px;border-bottom:1px solid var(--line);margin-bottom:24px}.week-reflection h2{font:19px var(--font-heading);margin:0 0 11px}.week-reflection p{font-size:13px;line-height:1.85;color:#75637e;margin:0 0 9px;max-width:38ch}.week-reflection strong{font:inherit;font-weight:600;color:#604573}.week-reflection small{font-size:10px;line-height:1.7;color:#8b7b94}.walking-list h3{font-size:11px;font-weight:400;color:#8b7b94;margin:4px 0 0}.walking-list .entry{padding:13px 0}.walking-list .entry:last-child{border-bottom:0}.journal-title{margin-top:0}.simulation-panel{max-width:330px;margin:24px 0 30px;padding-top:22px;border-top:1px solid #dfd4e9}.simulation-panel h2{font-size:17px;margin:0 0 9px}.simulation-panel p{font-size:12px;line-height:1.7;margin:6px 0 12px;color:#75637e}.simulation-panel label{font-size:11px;color:#75637e}.simulation-panel select,.simulation-panel input{font-size:12px;min-height:36px;padding:8px;margin-top:7px;border:1px solid #dfd4e9;border-radius:8px;background:white;width:100%}.simulation-minutes{display:flex;gap:10px;align-items:center;font-size:11px;margin-top:8px}.simulation-minutes input{width:85px;margin:0}.simulation-minutes button{margin-left:auto;background:#82609e;color:white;padding:10px 24px;border-radius:8px;font-size:12px}.simulation-reset{background:transparent;color:#806390;text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:11px}.guide>.wordmark{margin-bottom:36px}.guide h1{font-size:54px}.guide>p{margin-bottom:0}.guide .edition{font-size:8px}
/* Revision 10: visual weekly rhythm, shared with daily navigation. */
.week-glance{margin:0 0 24px;padding:0 0 18px;border-bottom:1px solid var(--line)}.glance-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px}.glance-heading h2{font:19px var(--font-heading);margin:0}.glance-heading>span{font-size:10px;color:#85738f}.glance-totals{display:flex;gap:28px;margin:0 0 22px}.glance-totals>div{flex:1}.glance-totals strong{font:25px var(--font-heading);line-height:1.1;color:#67477d;display:block;font-variant-numeric:tabular-nums}.glance-totals strong small{font:10px var(--font-body);color:#85738f}.glance-totals>div>span{font-size:10px;color:#85738f;display:block;margin-top:6px}.week-marks{display:grid;grid-template-columns:43px repeat(7,minmax(0,1fr));gap:3px}.week-row-labels,.week-mark{display:grid;grid-template-rows:35px 30px 30px;gap:5px;align-items:center;justify-items:center}.week-row-labels{justify-items:start;font-size:8px;color:#85738f}.week-mark{background:transparent;border-radius:10px;padding:5px 0;border:1px solid transparent;min-width:0}.week-mark.chosen{border-color:#e7dcec;background:#fcf9fe}.week-mark-date{font-size:9px;color:#85738f;text-align:center;line-height:1.3}.week-mark-date small{display:block;font:11px var(--font-heading);color:#675172;margin-top:3px}.week-token{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f7f5f8}.week-token.walked{background:#eee4f5;color:#8961a1}.week-token.checked-in{background:#f8efce;color:#9b7d2d}.week-token svg{width:17px;height:17px}.week-token i{width:3px;height:3px;background:#d5cbdc;border-radius:50%}.glance-note{font-size:10px;color:#85738f;margin:12px 0 0}.simulation-panel select{padding-right:24px}.simulation-minutes button{padding-inline:15px;white-space:nowrap}

.conditions-grid strong{overflow-wrap:anywhere;font-size:12px;line-height:1.35}.conditions-details{margin-top:9px;color:var(--muted,#81798b);font-size:10px;line-height:1.5}.conditions-details summary{cursor:pointer;list-style:none}.conditions-details summary::after{content:' +';}.conditions-details[open] summary::after{content:' −';}.conditions-details p{margin:6px 0}.conditions-details .text-button{font-size:11px}
.location-choice{display:flex;align-items:center;gap:6px;min-width:0;max-width:62%;padding:7px 0;background:none;color:var(--ink);font:14px var(--font-heading);text-align:left}.location-choice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-choice svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:#826397;stroke-width:1.7}.conditions-top>.text-button{flex-shrink:0}.explore-location{gap:8px}.location-choice:focus-visible,.location-result:focus-visible,.location-device:focus-visible{outline:2px solid #826397;outline-offset:3px}#location-sheet{position:fixed;inset:auto;margin:0;padding:12px;border:1px solid #e4dce9;border-radius:14px;background:#fff;color:var(--ink);height:auto;max-width:calc(100vw - 32px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;box-shadow:0 8px 24px #30233d14}#location-sheet::backdrop{background:transparent;pointer-events:none}.location-search-field{display:flex;border:1px solid #d9cfdf;border-radius:12px;overflow:hidden}.location-search-field:focus-within{outline:2px solid #9575ad;outline-offset:2px}.location-search-field input{min-width:0;flex:1;border:0;background:transparent;font:12px var(--font-body);padding:12px;outline:0}.location-search-field input::placeholder{color:#756a7e}.location-search-field button{width:44px;background:#f4eff8;color:#72528b;display:grid;place-items:center}.location-search-field svg,.location-device svg,.location-result svg{width:17px;height:17px}.location-device{display:flex;align-items:center;gap:8px;min-height:46px;background:none;font:12px var(--font-body);color:#72528b}#location-search-status{font:10px var(--font-body);color:#756a7e;margin:8px 0}.location-result{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 0;text-align:left;background:none;border-bottom:1px solid #eee8f1;color:var(--ink)}.location-result span{min-width:0}.location-result strong{display:block;font:13px var(--font-heading)}.location-result small{display:block;font:10px var(--font-body);color:#74667d;margin-top:4px;line-height:1.5}.location-result svg{flex-shrink:0;color:#826397}.location-provider{font:10px var(--font-body);color:#74667d;margin:14px 0 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* The preview shell never scrolls; each content surface owns its scroll. */
html,body{height:100%;overflow:hidden;overscroll-behavior:none}.studio{height:100dvh;min-height:0;overflow:hidden}.guide{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.device-area{min-height:0}.device{height:min(844px,calc(100dvh - 76px));min-height:0;max-height:none}.screen{overscroll-behavior:contain}.location-picker-open .screen{overflow:hidden}.location-search-field input{min-height:36px;margin:0;padding:8px 10px;font-size:12px}.location-search-field button{width:34px}.location-device{min-height:36px;font-size:11px}.location-result{padding:9px 0}.location-result strong{font-size:12px}.location-result small{font-size:10px}.location-provider{margin:9px 0 0;font-size:9px}#location-search-status{margin:5px 0;font-size:10px}@media(max-width:720px){.studio{height:100dvh}.device{height:100dvh;max-height:100dvh}.location-search-field input{font-size:16px}}

/* Keep the review controls compact enough for ordinary laptop windows. */
.simulation-panel #simulation-walk{margin-top:14px}.simulation-panel #simulation-status:empty{display:none}.guide{padding-top:8px;padding-bottom:8px}.guide>.wordmark{margin-bottom:24px}.guide h1{margin:18px 0}.simulation-panel{margin-bottom:16px;padding-top:16px}@media(min-width:721px) and (max-height:800px){.guide>.wordmark{font-size:38px;margin-bottom:16px}.guide h1{font-size:44px;margin:12px 0}.guide>p{font-size:14px;line-height:1.6;margin-top:8px}.simulation-panel{margin-top:16px;padding-top:12px}.simulation-panel>p{font-size:11px;margin-bottom:8px}.simulation-panel h2{font-size:16px;margin-bottom:6px}.guide .edition{font-size:7px;letter-spacing:1px}}

/* A quiet daily invitation and a keepsake with room to breathe. */
.result.ritual-result{padding-top:24px;text-align:center}
.result.ritual-result>h1{font:600 32px/1.3 var(--font-heading);letter-spacing:-.4px;margin:0}
.ritual-scene{height:180px;display:grid;place-items:center;margin:16px 0 10px}
.ritual-scene .mascot.ritual-mascot{position:static;width:180px;height:180px;margin:0;background-size:contain}
.ritual-target{margin:0 0 26px;font:600 38px/1.3 var(--font-heading);color:var(--ink)}
.ritual-target strong{font:inherit;color:#78548f;white-space:nowrap}
.ritual-target .target-unit{font:400 18px/1.3 var(--font-body);margin-left:6px}
.ritual-target span{display:block;margin-top:6px;font:12px/1.6 var(--font-body);color:#776980}
.ritual-window{display:flex;align-items:center;text-align:left;gap:14px;padding:18px 0;border-block:1px solid #eae3ee}
.ritual-window>svg{color:#846892;width:23px;height:23px}
.ritual-window>div{flex:1}
.ritual-window strong{display:flex;justify-content:space-between;align-items:center;gap:10px;font:13px var(--font-heading)}
.ritual-window strong span{font:11px var(--font-body);color:#74637f}
.ritual-window p{font:11px/1.6 var(--font-body);color:#74637f;margin:6px 0 0}
.result.ritual-result>.primary{margin:0}
.result.ritual-result>.text-button{margin:4px 0 0;min-height:40px;color:#74637f}
#checkin-sheet.share-sheet{background:#f8f5fa;padding:20px 22px 18px;border-radius:24px 24px 0 0;overflow:auto}
#checkin-sheet.share-sheet .checkin-handle{width:28px;height:3px;margin:-9px auto 14px;background:#d8cddd}
#checkin-sheet.share-sheet h2{font:25px/1.15 var(--font-heading);letter-spacing:-.3px;margin:0 32px 6px 0}
#checkin-sheet.share-sheet .sheet-close{width:32px;height:32px;top:18px;right:16px;background:transparent;color:#74637f;font-size:23px}
.share-sheet .checkin-sub{font:11px/1.5 var(--font-body);color:#74637f;margin:0 0 18px}
#checkin-sheet.share-sheet .share-preview{width:auto;height:auto;max-width:100%;max-height:var(--gift-image-height,420px);aspect-ratio:4/5;object-fit:contain;margin:0 auto;border-radius:3px;box-shadow:0 8px 22px #39284e14}
.gift-options{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 0}
.share-sheet .share-layouts{display:flex;gap:2px;margin:0}
.share-sheet .share-layouts button{flex:none;background:transparent;min-height:36px;border-radius:6px;padding:7px;font-size:10px;color:#74637f}
.share-sheet .share-layouts button[aria-pressed=true]{background:#e9e0ef;color:#543862}
.gift-another{padding:7px 0;min-height:36px;background:none;font-size:10px;color:#684b7a;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.share-sheet .share-actions{margin:20px 0 0;gap:10px}
.share-sheet .share-actions .primary,.share-sheet .share-actions .secondary{display:flex;justify-content:center;align-items:center;margin-top:0;min-height:46px;border-radius:12px;font:12px var(--font-heading);gap:12px}
.share-sheet .share-actions .primary{background:#80609d;color:white}
.share-sheet .share-actions .primary:hover{background:#6a4b85}
.share-sheet .share-actions svg{background:none;border-radius:0;width:18px;height:18px;padding:0}
.share-sheet .share-actions .secondary{border-color:#d8cddd}
.share-sheet .checkin-error{font-size:11px;line-height:1.5;margin:10px 0 0}
.share-sheet .checkin-error:empty{display:none}
@media(max-height:740px){.result.ritual-result{padding-top:16px}.result.ritual-result>h1{font-size:28px}.ritual-scene{height:140px;margin:10px 0}.ritual-scene .mascot.ritual-mascot{width:140px;height:140px}.ritual-target{margin-bottom:18px;font-size:34px}.ritual-window{padding:14px 0}.ritual-details{margin-bottom:8px}}
@media(prefers-reduced-motion:no-preference){#checkin-sheet.share-sheet .share-preview{animation:gift-arrives .4s cubic-bezier(.16,1,.3,1)}@keyframes gift-arrives{from{transform:translateY(8px);box-shadow:0 2px 8px #39284e08}to{transform:translateY(0);box-shadow:0 8px 22px #39284e14}}}

.result.ritual-result>.text-button{display:block;width:100%;text-align:center}
@media(max-height:700px){.ritual-scene{height:100px;margin:6px 0}.ritual-scene .mascot.ritual-mascot{width:100px;height:100px}.ritual-target{margin-bottom:12px}}

/* Five genuinely different card compositions, with every choice visible. */
.share-sheet .gift-options{flex-direction:column;gap:0;margin-top:9px}
.share-sheet .share-layouts{width:100%;justify-content:space-between;gap:2px}
.share-sheet .share-layouts button{flex:1;padding-inline:4px;font-size:10px;white-space:nowrap}
.share-sheet .gift-another{min-height:29px;padding:5px 0;margin-bottom:3px}

/* Daily gifts: one typeface, quiet surfaces, a persistent image slot. */
#checkin-sheet.share-sheet{background:#fff;font-family:var(--font-body)}
#checkin-sheet.share-sheet h2{font:400 20px/1.4 var(--font-body);letter-spacing:-.5px}
#checkin-sheet.share-sheet .checkin-handle{display:none}
.share-sheet .checkin-sub{margin-bottom:20px}
.gift-stage{position:relative;width:min(100%,calc(var(--gift-image-height,420px) * .8));aspect-ratio:4/5;margin:0 auto;background:#f6f1f9;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px #49394f24,0 6px 18px #49394f14}
#checkin-sheet.share-sheet .gift-stage .share-preview{display:block;width:100%;height:100%;max-height:none;box-shadow:none;margin:0;animation:none}
#checkin-sheet.share-sheet .gift-stage .share-preview[hidden]{display:none}
.gift-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f6f1f9ed;color:#766180;font:11px/1.6 var(--font-body);gap:12px}
.gift-loading[hidden]{display:none}
.gift-stage[aria-busy=true] .gift-loading::before{content:'';width:8px;height:8px;border-radius:50%;background:#aa8cbd;animation:gift-breathe 1.2s ease-in-out infinite alternate}
@keyframes gift-breathe{to{opacity:.3;transform:scale(.7)}}
.share-sheet .share-actions .primary,.share-sheet .share-actions .secondary{font:400 11px var(--font-body)}
.share-sheet .share-actions .secondary{border:0;background:#f3edf7;color:#684b7a}
.share-sheet .share-actions [aria-disabled=true],.share-sheet .share-actions :disabled{opacity:.45;pointer-events:none}
.share-sheet .gift-another{text-decoration:none;color:#80658e}
@media(prefers-reduced-motion:reduce){.gift-stage[aria-busy=true] .gift-loading::before{animation:none}}

/* Shared product surface; native-only Health Connect entry. */

#health-panel{position:fixed;inset:0;margin:auto;width:min(100%,460px);height:100dvh;max-height:100dvh;max-width:100%;padding:24px;border:0;border-radius:0;background:#fff;color:#30283b;overflow:auto;overscroll-behavior:contain;box-sizing:border-box}#health-panel::backdrop{background:#30283b55}.health-heading,.health-actions{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.health-heading{margin-bottom:18px}.health-actions .primary{width:100%}.health-note{font-size:12px;line-height:1.65;color:#786f83;margin:14px 0}.health-notice{font-size:13px;color:#855071;line-height:1.6}.health-types{display:grid;gap:10px;margin-top:20px}.health-types button,.health-records button{background:#f8f6fb;border:0;border-radius:16px;padding:16px;text-align:left;color:inherit;min-height:64px}.health-types strong,.health-types small,.health-records strong,.health-records span,.health-records small{display:block}.health-types small,.health-records small{font-size:12px;color:#786f83;margin-top:6px;overflow-wrap:anywhere}.health-types button:disabled{opacity:.55}.health-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.health-dates label,.health-source{font-size:12px;display:block}.health-dates input,.health-source select{width:100%;min-width:0;box-sizing:border-box;min-height:44px;border:1px solid #e9e3ef;border-radius:12px;background:white;padding:8px;color:inherit;font:inherit;margin-top:6px}.health-source{margin-top:20px}.health-records{display:grid;gap:10px}.health-records span{font-size:12px;line-height:1.6;margin-top:6px}.health-empty{padding:24px 0;font-size:15px}.health-empty p{font-size:13px;color:#786f83;line-height:1.6}.health-details>div{padding:12px 0;overflow-wrap:anywhere}.health-details strong,.health-details span{display:block;font-size:13px;line-height:1.6}.health-details span{color:#756b82;white-space:pre-wrap}.native-android .guide,.native-android .status,.native-android .home-indicator{display:none!important}.native-android .studio,.native-android .device-area{display:block!important;width:100%;height:100dvh;padding:0;margin:0}.native-android .device{width:100%;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none}.native-android .screen{min-height:0}.native-android #health-panel{width:100%;max-width:none}

/* Android's native container owns system insets; these are comfortable content margins. */
.native-android .screen{padding:26px 24px 24px}
.native-android #nav{padding:10px 14px 16px;min-height:80px;flex-shrink:0}
.native-android #health-panel{padding:24px 24px 32px}
[data-app-control][hidden]{display:none!important}
.app-control{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;margin-top:9px;padding:14px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;font-size:14px;color:var(--ink)}
.app-control span{min-width:0;overflow-wrap:anywhere}.app-control svg{width:18px;height:18px}
.journal-date-label .app-control{min-height:44px;margin:0;padding:4px 0;border:0;font-size:11px;white-space:nowrap}.trend-controls .app-control{max-width:170px;margin:0;font-size:12px}
.app-picker{position:fixed;top:auto;bottom:16px;margin:0;border:0;border-radius:24px;padding:24px;background:#fff;color:var(--ink);overflow:auto;box-shadow:0 16px 48px #30283b29;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c0accf #f6f0fa}
.app-picker::backdrop{background:#30283b66}.picker-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.picker-heading h2{font-size:23px;margin:0}.picker-heading>button{display:grid;place-items:center;width:44px;height:44px;background:#f8f5fb;border-radius:50%;flex-shrink:0}.picker-options{display:grid;gap:8px}.picker-options>button{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;width:100%;padding:14px 16px;border-radius:14px;text-align:left;background:#faf8fc;font-size:15px}.picker-options>button[aria-pressed=true]{background:#eee5f6;color:#64447f}.picker-check{width:24px;text-align:center}.picker-message{font-size:15px;line-height:1.7;margin:0 0 24px}
.calendar-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.calendar-month button{background:transparent;min-width:44px;min-height:44px;font-family:var(--font-heading);font-size:18px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;align-items:center;text-align:center}.calendar-grid>span{font-size:12px;color:#786989;line-height:36px}.calendar-grid button{min-height:44px;background:transparent;border-radius:12px;font-size:14px;padding:0}.calendar-grid button[aria-pressed=true],.calendar-years button[aria-pressed=true]{background:#82609e;color:white}.calendar-grid button:disabled{opacity:.3}.calendar-today{display:block;margin:16px auto 0}.calendar-years{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:320px;overflow:auto}.calendar-years button{min-height:44px;background:#faf8fc;border-radius:12px}
.health-heading{align-items:center;margin-bottom:16px;flex-wrap:nowrap}.health-heading .text-button{min-height:44px;padding:8px 0;font-size:13px}#health-panel h1{font-size:30px;letter-spacing:-.7px;margin:8px 0 18px}.health-notice:empty{display:none}.health-connected{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#71637e;margin-bottom:16px}.health-connected>span{display:flex;align-items:center;gap:8px;line-height:1.6}.health-connected i{width:6px;height:6px;border-radius:50%;background:#7d9168;flex-shrink:0}.health-connected .text-button{font-size:12px;min-height:44px;padding:8px 0}.health-types{gap:0;margin-top:4px}.health-types>button{background:transparent;border-radius:0;border-bottom:1px solid var(--line);padding:20px 0;min-height:90px}.health-metric-name{display:flex;justify-content:space-between;align-items:center;gap:20px}.health-metric-name strong{font-size:17px}.health-metric-name svg{width:18px;height:18px;color:#8c749d}.health-types .health-metric-state{display:block;font-size:12px;color:#786989;margin-top:8px}.health-types .health-metric-state.record{color:#80609d}.health-metric-value{display:block;font-family:var(--font-heading);font-size:23px;margin-top:6px;color:#4c365f}.health-types small{font-size:11px;line-height:1.65;margin-top:6px}.health-footer{margin-top:24px}.health-filters{margin:0 0 24px;border-block:1px solid var(--line);padding:4px 0}.health-filters>summary,.health-help>summary{font-size:13px;cursor:pointer;min-height:48px;padding:15px 0;color:#725589}.health-filters form{padding-bottom:8px}.health-filters .health-source{margin-bottom:18px}.health-record-latest{color:#80609d!important;font-size:11px!important;margin:0 0 10px!important}.health-records strong{font-size:20px}.health-records button{padding:20px}.connection-options{margin:24px 0}.connection-options>button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;padding:18px 0;background:transparent;border-bottom:1px solid var(--line);width:100%;text-align:left}.connection-options strong{font-size:16px;display:block}.connection-options small{font-size:12px;line-height:1.6;color:#786989;display:block;margin-top:6px}.connection-options svg{width:18px;height:18px;color:#80609d}.health-help{border-bottom:1px solid var(--line)}.health-help p,.health-prose p{font-size:14px;line-height:1.8;color:#786989}.health-help .text-button{min-height:44px;font-size:13px}.health-help p:last-child{margin-bottom:20px}

/* Keep Android answer captions stable across one- and two-line states. */
.question-sheet .question-answer{min-height:3.2em}

/* Android authentication uses the existing white/lavender product surface. */
.auth-screen{max-width:380px;margin:0 auto;padding:18px 8px 32px;min-height:100%;display:flex;flex-direction:column;justify-content:center}
.auth-screen .wordmark{font-size:27px;align-self:flex-start;text-decoration:none;margin-bottom:32px}
.auth-mascot{width:138px;height:132px;object-fit:contain;align-self:center;margin:0 0 28px}
.auth-screen h1{font-size:30px;line-height:1.2;margin:0 0 16px;letter-spacing:-.6px}
.auth-screen .sub{font-size:13px;line-height:1.8;margin:0 0 32px;color:#786989;overflow-wrap:anywhere}
.auth-screen .sub strong{font-weight:400;color:#51425e}
.auth-screen label{display:block;font-size:12px;margin-bottom:10px;color:#766c83}
.auth-screen input{display:block;width:100%;box-sizing:border-box;background:#faf8fc;border:1px solid #e3d9ec;border-radius:14px;padding:16px;font:inherit;font-size:16px;color:#392a47;min-height:54px;caret-color:#75518c}
.auth-screen input:focus{outline:2px solid #ab8dc5;outline-offset:2px}
.auth-screen .primary{width:100%;min-height:52px;justify-content:center;margin-top:24px}
.auth-screen .error{font-size:12px;line-height:1.6;margin:12px 0 0}
.auth-screen .error:empty{display:none}
.auth-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}
.auth-actions button{min-height:44px;font-size:12px}
.auth-screen button:disabled{opacity:.5;cursor:default}
.account-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;padding:14px 0 4px;border-top:1px solid var(--line);color:#786989}
.account-summary>span{font-size:11px;overflow-wrap:anywhere;min-width:0}
.account-summary .text-button{font-size:11px;min-height:44px;white-space:nowrap;padding:8px 0;color:#725184}
.health-glance{padding:0 0 24px;margin:0 0 28px;border-bottom:1px solid var(--line)}
.health-glance .glance-heading{margin-bottom:16px;gap:12px}
.health-glance .text-button{font-size:11px;min-height:44px;padding:8px 0;color:#725184}
.health-glance-note{font-size:12px;line-height:1.8;color:#786989;margin:0;max-width:34ch}
.auth-logout{border:0;border-radius:20px;padding:28px;color:#392a47;font:inherit}
@media(max-height:650px){.auth-mascot{height:82px;margin:0 0 8px}.auth-screen{justify-content:flex-start}.auth-screen h1{font-size:29px}.auth-screen .sub{margin-bottom:14px}.auth-screen .wordmark{margin-bottom:18px}.auth-mascot{margin-bottom:18px}}

/* Equal form controls, quieter daily rhythm, and navigation above secondary views. */
#basics .fields{gap:16px;align-items:start}
#basics .fields>label{min-width:0}
#basics input,#basics select,#basics .app-control{width:100%;height:54px;min-height:54px;margin-top:12px;padding:12px;font-size:14px;border:1px solid #e3d9ec;border-radius:14px;background:#faf8fc}
#basics .app-control{gap:6px}
#basics .app-control>span{white-space:nowrap;font-size:12px;overflow:hidden;text-overflow:ellipsis}
#basics .app-control svg{width:14px;height:14px;flex-shrink:0}
#basics input[aria-invalid=true]{border-color:#a34b68;background:#fff8fa}
#basics .error{margin:-18px 0 20px;font-size:12px;line-height:1.6}
#basics .error:empty{display:none}
.walk-suggestion{display:flex;align-items:center;gap:7px;font-size:10px;color:#786989;margin:0 0 12px}
.walk-suggestion svg{width:15px;height:15px;color:#a58b54;flex-shrink:0}
.walk-suggestion strong{font-weight:400;margin-left:auto;white-space:nowrap;color:#675370}
.home-actions{margin-bottom:8px}
.home-actions .nearby-link{font-size:11px;min-height:40px;margin-top:6px}
.daily-checkin{border-top:1px solid var(--line);padding:16px 0 0;margin:8px 0 0}
.daily-checkin>div{display:flex;align-items:center;justify-content:space-between;color:#786989;font-size:10px}
.daily-checkin button{background:transparent;text-align:left;padding:0;color:#725783}
.daily-checkin>div button{font-size:10px;min-height:32px;padding:4px 0}
.daily-checkin .checkin-link{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:48px;font:17px var(--font-heading);color:#51415e}
.daily-checkin small{display:block;font:11px/1.7 var(--font-body);color:#786989;margin-top:3px}
.daily-checkin svg{width:20px;height:20px;flex-shrink:0;color:#9677ab}
.health-glance .glance-heading{margin-bottom:4px}
.health-glance-records>button{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:16px 0;text-align:left;background:transparent;border-bottom:1px solid #f0ebf3}
.health-glance-records>button:last-child{border-bottom:0;padding-bottom:4px}
.health-glance-label{font:14px var(--font-heading);color:#51415e;min-width:0}
.health-glance-label small{display:block;font:10px/1.6 var(--font-body);color:#786989;margin-top:4px;white-space:normal}
.health-glance-value{margin-left:auto;text-align:right;font:26px/1.2 var(--font-heading);color:#72518a;overflow-wrap:anywhere;max-width:55%}
.health-glance-value small{font:11px var(--font-body);color:#786989;white-space:nowrap}
.health-glance-records svg{width:14px;height:14px;color:#aa96b7;flex-shrink:0}
.surface-shade{position:fixed;z-index:101;background:#30233d24}
.surface-shade[hidden]{display:none}
.app-surface{overscroll-behavior:contain;overflow:auto}
#nav{position:relative;z-index:120}
#health-panel.app-surface{border-radius:0;box-shadow:none}
#checkin-sheet.app-surface{border-radius:22px}
#map-sheet.app-surface{border-radius:22px}

.daily-checkin{display:flex;align-items:center;gap:20px}
.daily-checkin .checkin-link{flex:1;min-width:0}
.daily-checkin .checkin-edit{font-size:11px;min-height:44px;flex-shrink:0}
.hero .mascot{width:150px;height:150px;margin-top:32px}
.loop-message{margin-bottom:16px}
.progress-section{margin-bottom:18px}
#basics input[type=number]{appearance:textfield}
#basics input::-webkit-inner-spin-button,#basics input::-webkit-outer-spin-button{appearance:none;margin:0}
@media(min-width:721px){.hero .mascot{width:120px;height:120px}}
@media(max-width:720px) and (max-height:740px){.hero .mascot{width:112px;height:112px}}

/* Browser safe areas are owned by CSS; Android uses native window insets. */
@media(max-width:700px){html:not(.native-android) .device{height:100dvh;min-height:0;max-height:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}html:not(.native-android) .status,html:not(.native-android) .home-indicator{display:none}html:not(.native-android) .screen{padding-top:26px}html:not(.native-android) #nav{min-height:80px;padding-bottom:16px}html:not(.native-android) input,html:not(.native-android) #basics input{font-size:16px}}

/* Broad walking-time suggestion alongside nearby places. */
.home-actions .walk-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.home-actions .walk-links button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;margin:0;padding:8px 0;width:100%;background:transparent;color:#786989;font-size:11px;line-height:1.5;text-align:left}
.walk-links button>span:not(.walk-info){min-width:0}
.walk-links svg{width:15px;height:15px;flex-shrink:0}
.walk-links .walk-info{display:grid;place-items:center;border:0;border-radius:50%;width:18px;height:18px;flex-shrink:0;background:#f2ecf7;color:#9277a7;font:11px/1 var(--font-heading)}
#walk-explanation{border:0;border-radius:24px;background:#fff;color:var(--ink);padding:28px 24px;overflow:auto}
#walk-explanation .sheet-close{position:absolute;right:16px;top:16px;width:32px;height:32px;background:transparent;color:#786989;border:0;border-radius:50%;font-size:24px}
#walk-explanation .eyebrow{display:block;padding-right:32px;color:var(--muted)}
#walk-explanation h2{font-size:25px;line-height:1.3;margin:18px 28px 18px 0}
#walk-explanation p{font-size:14px;line-height:1.85;margin:16px 0}
#walk-explanation .walk-goal{font-size:12px;color:var(--muted)}
#walk-explanation .walk-goal strong{font-weight:400}
#walk-explanation .walk-flexibility{border-top:1px solid var(--line);padding-top:18px;color:#786989;margin-bottom:0;font-size:13px}

/* Give the companion, outing controls and daily surprise distinct breathing room. */
.loop-message{margin-bottom:30px}
.home-actions .walk-links{margin-top:12px}
.daily-checkin{margin-top:12px;padding-top:16px;padding-bottom:12px}
.daily-checkin .checkin-link{min-height:56px}
.daily-checkin small{margin-top:6px}
#checkin-sheet .gift-edit{display:block;margin:8px auto 0;min-height:44px;padding:10px 12px;font-size:11px;color:var(--muted);text-align:center}

/* Distinct text actions, separated without a shared card surface. */
.home-actions .walk-links{gap:0}
.home-actions .walk-links button{position:relative}
.home-actions .walk-links button+button::before{content:"";position:absolute;left:0;top:15px;bottom:15px;width:1px;background:#dfd3e9}

/* Use the supplied brand artwork consistently, preserving its original ratio. */
.wordmark{display:inline-flex;align-items:center;line-height:1}
.wordmark img{display:block;width:104px;height:auto;max-width:100%}
.guide>.wordmark img{width:170px}
.auth-screen .wordmark img{width:104px}

/* Place names and consistently wrapped addresses. */
.place-row{padding:21px 0;gap:20px;align-items:center}
.place-row .place-copy{flex:1;min-width:0}
.place-row .place-copy strong{font-size:16px;line-height:1.45;margin:0 0 7px;overflow-wrap:anywhere}
.place-row .place-address{display:block;font-size:12px;line-height:1.7;color:var(--muted);white-space:normal;overflow-wrap:anywhere;margin:0}
.place-row>svg{width:16px;height:16px;color:#9980ac;flex-shrink:0}

/* Quiet, varied nature illustrations give each place a visual anchor. */
.place-row{gap:15px}
.place-row .place-art{width:62px;height:68px;flex:0 0 62px;border-radius:15px;overflow:hidden;background:#f6edda}
.place-row .place-art svg{width:100%;height:100%;margin:0}
.place-row .art-1{background:#edf2e4}
.place-row .art-2{background:#eaf1f6}
.place-row .art-3{background:#f3e9ed}
#app>header{margin-bottom:35px}
.auth-screen .wordmark{margin-bottom:44px}

.sync-summary{margin:24px 0;padding:16px;border:1px solid #e5deeb;border-radius:18px;text-align:left}.sync-summary p{margin:0 0 8px;font-size:14px}.sync-summary small{display:block;margin-top:10px;color:#655c70;line-height:1.5}.sync-summary button{display:block;margin-top:6px}

/* Hide prototype profile controls in the product UI. */
.simulation-panel{display:none}

/* Language is a device preference, available before login and in You only. */
.language-setting,.auth-screen .language-setting{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;color:var(--ink)}
.language-setting>span{flex-shrink:0}
.language-setting select,.language-setting .app-control{width:auto;max-width:65%;min-height:44px;margin:0;padding:10px 0 10px 12px;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit}
.language-setting .app-control{gap:8px}
.language-setting select:focus-visible,.language-setting .app-control:focus-visible{outline:2px solid var(--purple);outline-offset:4px;border-radius:6px}
html:lang(zh-CN) h1,html:lang(zh-CN) h2,html:lang(zh-CN) .guide h1{letter-spacing:0;line-height:1.4}
html:lang(zh-CN) .tiny-tag,html:lang(zh-CN) .eyebrow,html:lang(zh-CN) .edition{letter-spacing:.06em}
html:lang(zh-CN) .guide h1{font-size:clamp(40px,4vw,62px)}
html:lang(zh-CN) .question-answer,html:lang(zh-CN) .sub{line-height:1.7}
html:lang(zh-CN) .score-endpoints{gap:16px}
html:lang(zh-CN) .score-endpoints span:last-child{text-align:right}

.share-actions [hidden]{display:none!important}.share-sheet .share-preview{-webkit-touch-callout:default}.share-sheet .image-save-hint{margin:12px 0 0;line-height:1.6}

/* Keep plan editing beside its title; language uses the shared field/picker style. */
.profile-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 12px}
.profile-plan-heading h1{margin:0;font-size:27px;line-height:1.25;letter-spacing:-.5px}
.profile-edit{display:flex;align-items:center;gap:6px;flex-shrink:0;min-height:44px;padding:8px 0;background:transparent;color:var(--purple);font-size:12px}
.profile-edit svg{width:15px;height:15px}
.profile-settings{margin-top:8px;padding-top:0}
.profile-settings .language-setting{margin-top:0}
.ritual-target .target-label{margin:0 auto 12px;max-width:290px;font-size:14px;line-height:1.7;color:var(--ink)}


/* Locale spacing also applies to component titles with their own selectors. */
html:lang(zh-CN) .result.ritual-result>h1,html:lang(zh-CN) #checkin-sheet.question-sheet h2,html:lang(zh-CN) #checkin-sheet.share-sheet h2,html:lang(zh-CN) .profile-plan-heading h1{letter-spacing:0;line-height:1.4}

/* A personal daylight invitation, with a clear action followed by its reason. */
.result.ritual-result>h1{font-size:28px}
.ritual-overview{display:flex;flex-direction:column;align-items:center;text-align:center;margin:20px 0 30px}
.ritual-overview .ritual-scene{height:168px;margin:0 0 16px}
.ritual-overview .ritual-mascot.mascot{width:180px;height:168px}
.ritual-overview .ritual-target{margin:0;font-size:46px;line-height:1.2}
.ritual-overview .target-label{margin:0 0 12px;font-size:14px;line-height:1.6;color:#74637f}
.ritual-target .target-daily,.ritual-target .target-unit{font:400 18px/1.4 var(--font-body);margin:0 6px;color:#74637f}
.ritual-overview .ritual-target>span:last-child{font-size:12px;line-height:1.7;margin-top:12px}
.ritual-window{display:flex;align-items:flex-start;gap:12px;padding:22px 0 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;text-align:left}
.ritual-window>svg{margin-top:2px;flex-shrink:0;width:21px;height:21px}
.ritual-window strong{display:block;font:600 17px/1.5 var(--font-heading);color:var(--ink)}
.ritual-time{display:block;margin-top:5px;font:14px/1.5 var(--font-body);color:#78548f;font-variant-numeric:tabular-nums}
.ritual-window p{margin:12px 0 0;font-size:12px;line-height:1.8;color:#74637f}
.ritual-info{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;background:transparent;color:#74637f;font:12px var(--font-body);margin:4px 0 12px}
.ritual-info svg{width:15px;height:15px}
.ritual-info:hover{color:var(--purple)}
.ritual-info:focus-visible{outline:2px solid var(--purple);outline-offset:2px;border-radius:8px}
#plan-explanation{border:0;border-radius:24px;background:#fff;color:var(--ink);padding:28px 24px;overflow:auto}
#plan-explanation .sheet-close{position:absolute;right:12px;top:12px;width:44px;height:44px;background:transparent;color:#74637f;border:0;border-radius:50%;font-size:24px}
#plan-explanation h2{font:600 23px/1.4 var(--font-heading);margin:4px 32px 24px 0}
#plan-explanation p{font-size:14px;line-height:1.85;margin:0 0 20px}
#plan-explanation .plan-note{border-top:1px solid var(--line);padding-top:20px;margin-bottom:0;font-size:12px;color:#74637f}
@media(max-height:740px){.ritual-overview{margin:16px 0 24px}.ritual-overview .ritual-scene,.ritual-overview .ritual-mascot.mascot{height:140px}.ritual-window{padding-top:18px}}

/* Daily check-in: a gentle invitation, direct answers, and keyboard-free sleep. */
#checkin-sheet.welcome-sheet{padding:28px;background:#fff;border-radius:22px;color:#392f43}
.welcome-sheet .checkin-handle{display:none}
.welcome-sheet .sheet-close{background:transparent;color:#796b83}
.checkin-welcome-art{display:block;width:148px;height:148px;object-fit:contain;margin:0 auto 18px}
#checkin-sheet.welcome-sheet h2{font:600 26px/1.4 var(--font-heading);margin:0 0 12px;text-align:center}
.welcome-copy{font:15px/1.8 var(--font-body);text-align:center;margin:0 auto 16px;max-width:29em;color:#594765}
.welcome-detail{font:12px/1.8 var(--font-body);text-align:center;margin:0 0 24px;color:#796b83}
.welcome-sheet .primary{font:14px var(--font-body);min-height:48px;margin-top:0;border-radius:12px}
.welcome-later{display:block;margin:8px auto 0;min-height:44px;color:#796b83}
.welcome-sheet .checkin-error:empty{display:none}
.sleep-picker{margin:12px 0 26px}
.sleep-value-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.sleep-value-row output{font:500 30px/1.5 var(--font-body);font-variant-numeric:tabular-nums;color:#594169}
.sleep-adjust{flex:none;width:44px;height:44px;border:1px solid #e4daeb;border-radius:50%;background:#f8f5fb;color:#725d82;font:24px var(--font-body)}
.sleep-adjust:hover{background:#eee5f5}
.sleep-adjust:disabled{opacity:.35;cursor:default}
#sleep-hours{display:block;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer;accent-color:#80609d}
#sleep-hours::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#e7ddec}
#sleep-hours::-moz-range-track{height:6px;border-radius:3px;background:#e7ddec}
#sleep-hours::-webkit-slider-thumb{appearance:none;width:28px;height:28px;border-radius:50%;background:#80609d;border:4px solid #fff;box-shadow:0 2px 8px #39284e30;margin-top:-11px}
#sleep-hours::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#80609d;border:4px solid #fff;box-shadow:0 2px 8px #39284e30}
.sleep-scale{display:flex;justify-content:space-between;color:#796b83;font:11px var(--font-body);font-variant-numeric:tabular-nums}
.share-sheet .image-save-hint{font:13px/1.6 var(--font-body);color:#69497f;text-align:center;padding:12px 8px;margin:14px 0 0;background:#f7f3fa;border-radius:10px}
.share-sheet .share-actions[hidden]{display:none}
.question-sheet .question-footer .text-button{min-height:44px;font-size:12px}
@media(max-height:670px){.checkin-welcome-art{width:100px;height:100px;margin-bottom:12px}.welcome-detail{margin-bottom:16px}#checkin-sheet.welcome-sheet{padding:22px}}

/* Quiet check-in choices; data remains on the existing five-point scale. */
.question-sheet .score-options{gap:7px;grid-template-columns:repeat(5,minmax(0,1fr))}
.question-sheet .score-options label{min-width:0}
.question-sheet .score-options span{height:52px;min-height:52px;display:flex;justify-content:center;border-radius:12px;background:#fff;border:1px solid #e8e1ed;color:#695774}
.question-sheet .score-options b{font:400 12px/1.3 var(--font-body);max-width:100%}
.question-sheet .score-options label:hover span{background:#faf7fc;border-color:#c3afcf}
.question-sheet .score-options input:checked+span{border:1px solid #aa8cbd;background:#f0e8f5;color:#593b6c;box-shadow:none}
.question-sheet .primary{min-height:52px;padding:13px 18px;font:500 15px/1.4 var(--font-body);background:#806094;color:#fff;border-color:#806094;border-radius:14px}
.question-sheet .primary:hover{background:#705180}
.question-sheet .question-footer .text-button{min-height:44px;font-size:12px}
.sleep-picker{margin:30px 0 32px}
.sleep-value-row{margin-bottom:24px}
.sleep-value-row output{font:400 14px/1.5 var(--font-body);color:#796b83;white-space:nowrap}
.sleep-value-row output strong{font:400 38px/1.3 var(--font-body);color:#594169;vertical-align:baseline}
.sleep-adjust{border:0;background:transparent;font:300 24px var(--font-body);color:#796286}
.sleep-adjust:hover{background:#f8f5fa}
#sleep-hours{border:0;border-radius:0;padding:0;box-shadow:none}
#sleep-hours::-webkit-slider-runnable-track{height:3px;background:linear-gradient(to right,#a68ab8 var(--sleep-progress,31.25%),#eee8f2 var(--sleep-progress,31.25%))}
#sleep-hours::-moz-range-track{height:3px;background:linear-gradient(to right,#a68ab8 var(--sleep-progress,31.25%),#eee8f2 var(--sleep-progress,31.25%))}
#sleep-hours::-webkit-slider-thumb{width:18px;height:18px;border:0;background:#806094;box-shadow:0 2px 5px #5941691a;margin-top:-7.5px}
#sleep-hours::-moz-range-thumb{width:18px;height:18px;border:0;background:#806094;box-shadow:0 2px 5px #5941691a}
.sleep-scale{font-size:10px;color:#81718c}
@media(max-width:370px){
 #checkin-sheet.question-sheet{padding-left:18px;padding-right:18px}
 .question-sheet .score-options{gap:5px}
 .sleep-value-row{gap:8px}
 .sleep-value-row output strong{font-size:34px}
}

/* A single, quiet reveal when unwrapping a newly completed check-in. */
@media(prefers-reduced-motion:no-preference){
 #checkin-sheet.share-sheet .gift-stage .gift-reveal{
  transform-origin:50% 100%;
  animation:gift-unfold .65s cubic-bezier(.16,1,.3,1) both;
 }
 @keyframes gift-unfold{
  from{opacity:.25;transform:perspective(900px) rotateX(7deg) translateY(14px) scale(.97)}
  to{opacity:1;transform:perspective(900px) rotateX(0) translateY(0) scale(1)}
 }
}
.share-sheet [data-checkin="save-image"]:disabled{opacity:.55;cursor:wait}

.share-sheet .share-actions{grid-template-columns:1fr}
.share-sheet .share-actions>.primary{width:100%}

.checkin-context{display:grid;gap:10px;margin:20px 0;text-align:left}.checkin-context select,.checkin-context textarea{width:100%;box-sizing:border-box;font:inherit;padding:10px;border:1px solid #ddd1e5;border-radius:12px;background:#fff;color:#4c3c57}.checkin-context small{line-height:1.5;color:#776780}

/* Three positive daylight states, independent of check-in mood. */
.hero .daylight-louie{width:210px;height:210px;margin:16px auto 0;position:relative;flex-shrink:0}
.daylight-louie img{width:100%;height:100%;object-fit:contain;display:block}
.daylight-louie.welcome img{animation:louie-hello 5s ease-in-out infinite}
.daylight-louie.working img{animation:louie-focus 3.5s ease-in-out infinite}
.daylight-louie.sunshine img{animation:louie-relax 6s ease-in-out infinite}
@keyframes louie-hello{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-4px)}}
@keyframes louie-focus{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes louie-relax{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}
@media(max-height:740px){.hero .daylight-louie{width:160px;height:160px;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.daylight-louie img{animation:none}}

/* Use the original fully posed scenes: consistent clay lighting and grounded limbs. */
.hero .daylight-louie{width:min(100%,360px);height:220px;margin:6px auto 0;overflow:hidden}
.daylight-louie img{object-fit:cover;object-position:center top;animation:none!important}
.daylight-louie.sunshine img{object-fit:contain}
@media(max-height:740px){.hero .daylight-louie{height:180px;width:min(100%,320px)}}

.app-brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.app-product-name{font-family:var(--font-body);font-size:14px;line-height:1.4;letter-spacing:.15px;color:#80609d}.auth-screen .wordmark:has(+.auth-product-name){margin-bottom:6px}.auth-product-name{align-self:flex-start;color:#80609d;font-size:15px;margin:0 0 24px;letter-spacing:.15px}

.hero .daylight-louie.welcome{width:180px;height:220px}.daylight-louie.welcome img{object-fit:contain;object-position:center}@media(max-height:740px){.hero .daylight-louie.welcome{width:150px;height:180px}}

/* Desktop preview: 440 × 956 content viewport, scaled uniformly to fit laptops. */
@media(min-width:721px){
 html:not(.native-android){--phone-preview-scale:min(1,calc((100dvh - 76px)/970px))}
 html:not(.native-android) .studio{grid-template-columns:minmax(0,1fr) calc(454px * var(--phone-preview-scale))}
 html:not(.native-android) .device-area{width:calc(454px * var(--phone-preview-scale));height:calc(970px * var(--phone-preview-scale));justify-self:center}
 html:not(.native-android) .device{width:454px;height:970px;min-height:970px;max-height:none;zoom:var(--phone-preview-scale)}
}
