/* Midnight / mint visual system. Layout and responsive rules live in style.css. */
@font-face{font-family:'Russo One';src:url('/vendor/RussoOne-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--bg:#0a0d15;--paper:#111720;--ink:#e7f3ef;--muted:#9aabb4;--green:#71f2b5;--lime:#c3fb79;--border:#26343b;--soft:#18282a;--radius:16px}
body{background:radial-gradient(ellipse at 80% 0%,#0f5a4026,transparent 40%),radial-gradient(ellipse at 8% 40%,#1f3f6920,transparent 55%),radial-gradient(#6ac2a00b .8px,transparent .8px),var(--bg);background-size:auto,auto,20px 20px,auto}
h1,h2,h3,.brand,.stat-value,.analytics-stats strong{font-family:'Russo One','Segoe UI',sans-serif;font-weight:400;letter-spacing:0}
h1{font-size:32px}h2{line-height:1.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:#8af7c7}
.eyebrow,.tiny-label{color:#7edbb4;letter-spacing:1.8px}.brand{color:#d3ffeb}.brand-dot{color:#70f6b6}.brand-mark i{background:linear-gradient(#b6ffde,#32d898);box-shadow:0 0 16px #3bf0a929}.brand{letter-spacing:-.5px}
.btn.primary{background:linear-gradient(115deg,#acffd5,#53e99d);color:#071b17;border:1px solid #8bf6c0;font-weight:700;box-shadow:0 4px 22px #46ed9f10}.btn.primary:hover{background:linear-gradient(115deg,#c5ffe5,#73f6b3);box-shadow:0 5px 25px #46ed9f28;transform:translateY(-1px)}
.btn.secondary{background:#151d2b;border-color:#36465b;color:#c8d6ec}.btn.secondary:hover{background:#202d40;border-color:#6b84ae}.link,.text-button{color:#8bf0c1}.link:hover,.text-button:hover{color:#c4ffe3}.icon-button{color:#a9c0c2}.icon-button:hover{background:#213332;color:#b1ffdb}.bordered{background:#162323;border-color:#2d4c42}.date-chip{background:#111d24;border-color:#315047;color:#c4dfd2}.date-chip .icon{color:#7ce6b0}
.sidebar{background:linear-gradient(180deg,#111c22,#0d121d 70%);border-color:#25333c}.nav-label{color:#789793}.nav-item{color:#9eafb8}.nav-item:hover{background:#192a2c;color:#b2f8d5}.nav-item.active{background:linear-gradient(100deg,#1b4234,#17332c);color:#a3ffcf;box-shadow:inset 3px 0 #7bf5b6}.nav-item small{background:#234b3d;color:#b2ffda}
.pace-card{background:linear-gradient(135deg,#172a29,#131c28);border-color:#2b403e}.pace-card>.icon,.pace-card>span{color:#8ce4b6}.pace-card strong{color:#d5e4e1}.pace-card p{color:#9bafb5}.local-status,.user-profile small{color:#8ba1a8}.status-dot{background:#75f2b5;box-shadow:0 0 8px #65efac50}.avatar,.top-avatar,.profile-avatar{background:#1f4036;color:#b7ffd9}.user-row .icon{color:#a1b7bb}
.topbar{background:#0c121ac9;border-color:#26363a;backdrop-filter:blur(16px)}.breadcrumb,.desktop-hint{color:#8fa6ad}.breadcrumb strong{color:#d9e7e5}.breadcrumb>span{color:#557078}.demo-badge{background:#30331f;color:#d7ed92;border-color:#4b5835}.workspace{min-width:0}
.page-heading p,.hero-banner p,.stat-label,.stat-caption,.section-heading p,.habit-info>div,.habit-info>p,.list-foot,.checkin-card>p,.scale-labels,.mood-score,.gentle-card p,.template-card p,.microcopy,.auth-note,.auth-card>.muted,.local-note,.auth-top,.field-hint,.insight-footnote,.insight-empty p,.privacy-card p,.journal-note p,.modal-title p,.empty p{color:var(--muted)}
.page-heading .eyebrow{color:#6fdba9}.greeting-sun{color:#c9f17c}.page-heading h1{color:#e8fbf2}
.hero-banner{background:radial-gradient(ellipse at 88% 40%,#28775c38,transparent 50%),linear-gradient(110deg,#122722,#101923 75%);border:1px solid #335c4d;min-height:238px;box-shadow:inset 0 1px 0 #88ffc311,0 10px 45px #0002}.hero-banner:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#87eaba08 1px,transparent 1px),linear-gradient(90deg,#87eaba08 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero-banner h2{color:#ebfff4;font-size:32px;line-height:1.35;letter-spacing:0}.hero-banner em,.auth-copy h1 em{font-family:inherit;font-style:normal;font-weight:400;color:#96f9bd;background:linear-gradient(90deg,#cdffe6,#64f2a4);background-clip:text;-webkit-text-fill-color:transparent}.hero-banner .eyebrow{color:#94bfa8;font-size:9px;letter-spacing:1.6px}.hero-banner p{font-size:13px;max-width:430px}.hero-banner .text-button{font-size:13px}.rhythm-art{filter:drop-shadow(0 0 14px #53f9aa26);height:270px;width:330px;right:20px;bottom:-10px}
.stat-card,.card,.template-card{background:linear-gradient(145deg,#141c26,#10161f);border-color:var(--border);box-shadow:0 8px 28px #0000000c}.stat-card{border-top-color:#3e574f}.stat-value{color:#ebfbf4;font-size:32px}.stat-value>span,.analytics-stats strong small{color:#93aca9}.stat-bottom>span{color:#94c3ad}.mini-progress{background:#243332}.mini-progress i{background:linear-gradient(90deg,#3cbf8b,#96f7ba)}
.green,.habit-icon.movement{background:#1c392e;color:#93ecad}.peach,.habit-icon.nutrition{background:#352d27;color:#eac594}.lavender,.habit-icon.sleep{background:#2a2940;color:#b7adff}.sand,.habit-icon.care{background:#303721;color:#d6e887}.habit-icon.mind{background:#1b3340;color:#8ed3ee}.category-dot.movement{background:#8bf6b9}.category-dot.nutrition{background:#e8b77f}.category-dot.sleep{background:#b6a5fb}.category-dot.mind{background:#84cce6}.category-dot.care{background:#d6e887}
.section-heading h2 .icon{color:#91e9be}.count-badge{background:#1a3029;border-color:#315343;color:#a3ecc1}.day>span{color:#9eb2b1}.day.today:not(.selected){border-color:#36664e}.day.selected{background:linear-gradient(135deg,#9dffd0,#59e6a2);color:#10231c;box-shadow:0 0 18px #52ed9b15}.day.selected>span{color:#234e39}.day.selected>i.partial,.day.selected>i.full{background:#164d34}.day>i.full{background:#7df6af}.day>i.partial{background:#b2d676}.day:hover:not(:disabled):not(.selected){background:#203d33}
.habit-row{border-color:#26323a}.habit-info>strong{color:#e0ebe9}.is-done .habit-info>strong{color:#92b7a7}.dot-sep{color:#596d73}.check-button{background:#141f26;border-color:#526c68;width:26px;height:26px}.check-button:hover{background:#224839;border-color:#86efb2}.check-button.checked{background:#83efb1;border-color:#83efb1;color:#103523}.streak{color:#d5dc90}.day-edit{width:32px;height:36px}.day-edit .icon{width:16px}.habit-info>p{font-size:11px;line-height:1.6;margin-top:5px}
.section-icon{background:#23372a;color:#b7ee8d}.mood-face{background:#26392a;color:#d3ee8b;box-shadow:0 0 28px #b4dc4810}.mood-score strong{color:#d3ee8b}.mood-scale button{background:#1a252d;border-color:#32434b;color:#bad0cc}.mood-scale button:hover{border-color:#9beaaf;background:#254236}.mood-scale button.chosen{background:#a2f1b0;border-color:#a2f1b0;color:#142b20}
.gentle-card{background:radial-gradient(ellipse at top right,#85861e22,transparent 75%),#1a211d;border-color:#3c4834}.gentle-card .tiny-label{color:#bfc687}.gentle-card>.icon{color:#b8d17c}.gentle-card h3{font-family:'Russo One',sans-serif;font-size:21px;color:#d7e998}.quote-line{background:#bbd889}.app-footer,.app-footer>span:first-child>span{color:#7f979f}.app-footer>span:first-child{color:#b3d3c4}
.filter,.segmented{background:#111b24;border-color:#2b3c45;color:#acc1c3}.filter.active,.segmented button.active{background:#224333;border-color:#466c4c;color:#c4ffce}.filter:hover{border-color:#648a76}.segmented button{color:#99b2b6}.template-card:hover{border-color:#60c18f;box-shadow:0 8px 28px #40e79a0d}.template-add{color:#95ecba}.archive-list,summary{color:#9db5ba}
.journal-metrics>div,.journal-note{background:#17232c}.journal-metrics .icon{color:#8ad9b4}.journal-metrics span,.journal-metrics small,.history-item div>span,.history-mood small,.measure-row{color:#9db2b8}.history-item.active{background:#1e382f}.history-mood,.measure-row strong{color:#b8f4cb}.journal-habits .section-heading{margin-bottom:5px}.journal-habits .section-heading h3{margin-bottom:0}.journal-note .eyebrow{color:#95c6ae}
th{background:#192630}.heat-0{background:#1c252f;color:#728890}.heat-1{background:#2a3a35;color:#b3c7bd}.heat-2{background:#30634b;color:#ceedd9}.heat-3{background:#4eab79;color:#071e17}.heat-4{background:#a4f5b3;color:#102a20}.heat-cell:hover{outline-color:#b9ffca}.heat-legend,.habit-performance strong{color:#98b3b7}.habit-performance .icon{color:#93dab1}.insight-empty,.insight-result{background:#17252a;border-color:#30453e}.insight-empty>.icon{color:#91cfac}.insight-result span{color:#a0b3b7}.insight-result b{color:#a4efc2}
label,legend{color:#c0d1d0}input,select,textarea{background:#0d151f;border-color:#35454c;color:#e8f6f0}input::placeholder,textarea::placeholder{color:#728993}input:hover,select:hover,textarea:hover{border-color:#658e7d}input:focus,select:focus,textarea:focus{border-color:#8df2bc;box-shadow:0 0 0 3px #7fffc312}.weekday-picker span{color:#9eb3b8;background:#13202a}.weekday-picker input:checked+span{background:#244634;border-color:#628569;color:#d0ffcb}.weekday-picker input:focus-visible+span{outline-color:#a1ffc9}.day-field[hidden]{display:none}.form-error{color:#ffb2a2}.text-danger{color:#edac9a}.text-danger:hover{color:#ffd1bd}.empty>.icon{color:#93bea8}
dialog{background:#121c26;border-color:#416251;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#03070cc4;backdrop-filter:blur(7px)}.modal-title .eyebrow{color:#8bdfb5}.modal-close{color:#a3c1bb}.modal-title h2{font-size:24px;letter-spacing:0}#toast{background:#19382b;color:#d4ffe5;border-color:#4b8966;box-shadow:0 10px 35px #0007}.boot{color:#a2ffcb}.boot span{color:#91afa7}
.auth-page{background:transparent}.auth-story{background:radial-gradient(ellipse at 30% 10%,#24694a45,transparent 58%),radial-gradient(ellipse at 75% 85%,#18436350,transparent 45%),#0c151b;border-right:1px solid #294136}.auth-story:before{border-color:#86ffb713;background:radial-gradient(#9affc416 .8px,transparent .8px);background-size:20px 20px}.auth-story>.brand{color:#d0ffe4}.auth-story .brand-mark i{background:#96f4bd}.auth-story .brand-dot{color:#81f3af}.eyebrow.light{color:#a7d6bc}.auth-copy h1{font-weight:400;line-height:1.35;letter-spacing:0;font-size:clamp(34px,3.4vw,54px)}.auth-copy>p{color:#a3bdb9;font-size:14px}.auth-copy .rhythm-art{right:0;width:330px;height:260px;bottom:0}.story-tags{color:#b5dfc6}.auth-foot{color:#8aac9d}.auth-card h2{letter-spacing:0;font-size:29px}.auth-card .tiny-label{color:#91dfa9}.divider{color:#889da7}
.past-day-notice{display:flex;align-items:center;gap:14px;background:linear-gradient(110deg,#192b36,#152722);border:1px solid #386252;border-radius:12px;padding:16px 20px;margin:0 0 22px}.past-day-notice>.icon{color:#b2f9c3}.past-day-notice>div{flex:1}.past-day-notice strong{color:#d9f9e5;font-size:13px;font-weight:600}.past-day-notice p{font-size:12px;color:#9eb9bc;margin-top:4px}.past-day-notice .link{white-space:nowrap}
@media(min-width:1600px){.hero-banner h2{font-size:38px}.hero-banner .rhythm-art{right:50px;width:370px;height:290px}}
@media(max-width:1200px){.hero-banner h2{font-size:29px}.hero-banner .rhythm-art{width:280px;height:250px;right:-10px}}
@media(max-width:760px){.topbar{background:#0c131bee}.sidebar{box-shadow:15px 0 40px #0007}.hero-banner h2{font-size:26px}.hero-banner .eyebrow{font-size:8px}.hero-banner p{font-size:12px;max-width:260px}.hero-banner .text-button{font-size:12px}.hero-banner .rhythm-art{opacity:.4;right:-90px}.hero-banner>div{max-width:100%}.page-heading h1{font-size:28px}.auth-copy h1{font-size:30px;max-width:85%}.auth-copy .rhythm-art{height:210px;width:220px;right:-60px;bottom:-55px;opacity:.5}.auth-copy>p{font-size:12px}.auth-card h2{font-size:27px}.past-day-notice{flex-wrap:wrap;padding:15px;gap:10px}.past-day-notice .link{margin-left:31px}.stat-value{font-size:30px}.habit-info>strong{font-size:13px}.habit-info>div{font-size:11px}.habit-info>p{font-size:11px}.day-edit{width:30px}.day{min-height:66px}.microcopy{font-size:11px}.local-note{font-size:11px;line-height:1.6}.template-card p{font-size:12px}}
@media(max-width:450px){.hero-banner h2{font-size:24px}.hero-banner p{max-width:240px}.section-heading h2{font-size:16px}.habit-row{gap:9px}.habit-row .streak{display:none}.habit-info>div{gap:4px}.check-button{width:28px;height:28px}.template-card h3{font-size:14px}.template-add{font-size:11px}.auth-copy h1{font-size:28px}.auth-story{min-height:325px}.form-grid{grid-template-columns:1fr}.modal-actions{gap:8px}.modal-actions .btn{font-size:12px}.stat-caption{font-size:11px}.page-heading p{font-size:13px}.section-heading p{font-size:12px}}
.motivation-banner{min-height:275px;padding:28px 32px}
.motivation-banner .motivation-content{max-width:calc(100% - 230px);width:100%}
.quote-stack{display:grid;position:relative;margin:16px 0 14px}
.motivation-quote{grid-area:1/1;margin:0;visibility:hidden;align-self:center}
.motivation-quote.is-current{visibility:visible;animation:quote-arrive .35s ease-out}
.motivation-banner .motivation-quote p{font-family:'Russo One','Segoe UI',sans-serif;font-size:clamp(23px,2.15vw,32px);font-weight:400;line-height:1.4;letter-spacing:0;color:#d8ffe9;margin:0;max-width:none;overflow-wrap:break-word}
.quote-source{font-size:11px;color:#9ebdb0}
.motivation-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px}
.quote-controls{display:flex;align-items:center;gap:7px}
.quote-controls .icon-button{width:34px;height:36px}
.quote-counter{min-width:52px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:#c3f6d9;white-space:nowrap}
.quote-counter>span{color:#839d9f}
.quote-pause{border:1px solid transparent;background:none;color:#b6d4c8;font-size:11px;min-height:36px;padding:5px 9px;border-radius:8px}
.quote-pause:hover,.quote-pause[aria-pressed=true]{background:#213b30;border-color:#426752;color:#d7ffe7}
.motivation-banner .rhythm-art{width:250px;height:230px;right:0;bottom:20px;opacity:.65;pointer-events:none}
.motivation-banner .text-button{font-size:12px}
@keyframes quote-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){.motivation-banner .motivation-content{max-width:calc(100% - 160px)}.motivation-banner .rhythm-art{width:200px;right:-30px;opacity:.4}.motivation-banner .motivation-quote p{font-size:25px}}
@media(max-width:760px){.motivation-banner{padding:23px;min-height:300px}.motivation-banner .motivation-content{max-width:100%}.motivation-banner .eyebrow{max-width:none;font-size:8px;line-height:1.6}.motivation-banner .motivation-quote p{font-size:24px}.motivation-banner .rhythm-art{opacity:.12;right:-80px;bottom:25px}.motivation-footer{gap:18px;margin-top:22px}.quote-source{font-size:11px}.quote-controls .icon-button,.quote-pause{min-height:40px}.quote-controls .icon-button{width:38px}}
@media(max-width:390px){.motivation-banner .motivation-quote p{font-size:22px}.quote-controls{gap:5px}.quote-pause{padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.motivation-quote.is-current{animation:none}}
