/* Cream lime and cobalt on neutral grey. */
:root{--bg:#efefef;--paper:#ffffff;--ink:#172d36;--muted:#62716d;--green:#213e36;--lime:#e0efad;--line:#e1e7d8;--blue:#3458eb;--blue-ink:#284bc9;--blue-soft:#e5ebff}
body{background:var(--bg);color:var(--ink)}
.month-picker,.goal-row,.check,.panel,.goal-card,.empty,.metric,input,select,dialog{background:var(--paper)}
nav a.active{background:#e7ecff;color:#3458eb}.brandmark{background:#213e36}
.leaf:before{background:#c2df72}.leaf:after{background:#3458eb}
.score-card{background:#e0efad;color:#172d36;box-shadow:none}.score-card:after{border-color:#bbd98a55}
.score-card p,.score-card .caption,.score-value small,.ring-inner small{color:#4d6245}
.ring{background:conic-gradient(#3458eb calc(var(--p)*1%),#bccc8c 0)}.ring-inner{background:#e0efad;color:#172d36}
.date-button{color:#66756d}.date-button.selected{background:#3458eb;color:#fff}.date-dot{background:#3458eb}.date-button.selected .date-dot{background:#dff0ab}
.pill{background:#e8edff;color:#3451c4;font-weight:500}.progress{background:#e5ebde}.progress i{background:#3458eb}
.primary{background:#3458eb;color:#fff}.secondary{background:#e7ecff;color:#2e4bc4}
.checked .check{background:#3458eb;border-color:#3458eb}.panel.tint{background:#eaf1ce}
.avatar{background:#e2e9c9;border-color:var(--paper)}.avatar.other{background:#3458eb;color:#fff}
.category-icon{background:#edf3d6;color:#4e6741}.panel,.goal-row,.goal-card{box-shadow:none}
.eyebrow,.panel-label{color:#64715e}.goal-copy p,.goal-card p{color:#6b786e}.goal-points{color:#718169}
.bar{background:#bac8ff}.bar-group.current .bar{background:#3458eb}.heat{background:#f6f8e9}.heat.done{background:#3458eb;color:#fff}.heat.partial{background:#dce7ae}
@media(max-width:700px){aside{background:#f6f6f6f5}nav a.active{background:transparent;color:#3458eb}}

.header-controls{display:flex;align-items:center;gap:8px}.language-select{width:auto;font-size:calc(14px * var(--font-scale,1));padding:9px 7px;background:#fff;border-color:#dedede}.preset-entry{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:17px 18px;background:#e8edff;border-radius:13px;margin:0 0 23px}.preset-entry strong{font-size:calc(15px * var(--font-scale,1));font-weight:500}.preset-entry p{font-size:calc(13px * var(--font-scale,1));color:#626c83;margin:5px 0 0;line-height:1.7}.preset-entry button{white-space:nowrap;padding:10px 8px;background:#fff;color:#3458eb}.preset-options{display:grid;gap:9px;margin:18px 0}.preset-option{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid #e3e5e0;border-radius:10px;margin:0;background:#fff}.preset-option input{width:18px;height:18px;flex-shrink:0;accent-color:#3458eb}.preset-option strong{font-size:calc(16px * var(--font-scale,1));display:block;font-weight:500}.preset-option small{display:block;font-size:calc(13px * var(--font-scale,1));color:#7c8579;line-height:1.7;margin-top:4px}.preset-filter{display:flex;gap:6px;flex-wrap:wrap}.preset-filter button{border-radius:20px;padding:8px 12px;background:#f1f3eb;font-size:calc(14px * var(--font-scale,1))}.preset-filter button.active{background:#3458eb;color:#fff}.preset-footer{position:sticky;bottom:-28px;background:#fff;padding:15px 0 8px}.preset-footer p{font-size:calc(14px * var(--font-scale,1));color:#7c8579}.preset-footer .primary{width:100%}html[lang=en] h1{font-size:calc(29px * var(--font-scale,1));letter-spacing:-.6px}html[lang=en] .heading{align-items:flex-start}html[lang=en] .leaf{flex-shrink:0}html[lang=en] .weekly-item>div{gap:8px}html[lang=en] .weekly-item span{white-space:nowrap}
@media(max-width:700px){header{gap:8px}.header-controls{gap:5px}.eyebrow{font-size:calc(10px * var(--font-scale,1));letter-spacing:1px}.month-picker{padding:8px}.language-select{font-size:calc(13px * var(--font-scale,1));padding:8px 4px}.preset-entry{padding:14px;gap:8px}.preset-entry strong{font-size:calc(14px * var(--font-scale,1))}.preset-entry button{font-size:calc(13px * var(--font-scale,1))}html[lang=en] .heading .primary{white-space:normal;max-width:100px}html[lang=en] .preset-entry{align-items:flex-start}html[lang=en] .preset-entry button{white-space:normal;min-width:76px}html[lang=en] .goal-copy h3{font-size:calc(16px * var(--font-scale,1))}html[lang=en] .goal-row{gap:9px}html[lang=en] .heading h1{font-size:calc(27px * var(--font-scale,1))}html[lang=en] .summary-grid{grid-template-columns:1fr}html[lang=en] .metric{display:flex;align-items:center;justify-content:space-between}html[lang=en] .metric strong{margin:0}}

.buddy-tabs{display:flex;gap:8px;margin-bottom:23px;flex-wrap:wrap}.buddy-tabs button{padding:11px 16px;border-radius:12px;background:#fff;color:#6a7567;font-size:calc(15px * var(--font-scale,1))}.buddy-tabs button.active{background:#3458eb;color:#fff}.bottle-hero{display:flex;gap:25px;align-items:center;background:#dfe8ff;border-radius:18px;padding:26px;margin-bottom:22px}.bottle-hero h2{font-size:calc(25px * var(--font-scale,1));margin:10px 0}.bottle-hero p{font-size:calc(14px * var(--font-scale,1));color:#637598}.bottle-art{width:110px;min-width:90px;text-align:center;color:#3458eb;position:relative}.bottle-art>span{position:absolute;top:0;right:0;color:#738fcd}.bottle-shape{font-size:calc(37px * var(--font-scale,1));margin:15px auto 4px;width:53px;height:78px;border:3px solid #789ce7;border-radius:12px 12px 19px 19px;background:#ffffff88;transform:rotate(15deg);display:grid;place-items:center}.bottle-art i{font-size:calc(36px * var(--font-scale,1));font-style:normal;line-height:1}textarea{width:100%;resize:vertical;min-height:105px;border:1px solid #dce2d5;border-radius:10px;padding:13px;font:inherit;font-size:calc(15px * var(--font-scale,1));color:var(--ink);background:white;line-height:1.8}.saved-bottle{padding:12px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.saved-bottle small{font-size:calc(13px * var(--font-scale,1));color:var(--muted)}.example-bottle{margin-top:18px;padding:18px;border-radius:12px;background:#edf2ff}.ai-heading{display:flex;gap:12px;align-items:center}.ai-heading h2{margin:0 0 4px}.ai-avatar{background:#3458eb;color:#e0efad;border-radius:15px;width:48px;height:48px;display:grid;place-items:center;font-size:calc(32px * var(--font-scale,1))}.chat-log{display:flex;flex-direction:column;gap:13px;padding:25px 0;max-height:440px;overflow:auto}.chat-message{padding:13px 16px;font-size:calc(15px * var(--font-scale,1));line-height:1.9;border-radius:14px;max-width:85%;overflow-wrap:anywhere}.chat-message.assistant{background:#eef3df;align-self:flex-start}.chat-message.user{background:#e7edff;align-self:flex-end}.chat-prompts{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 18px}.chat-prompts button{padding:9px 12px;font-size:calc(13px * var(--font-scale,1));border-radius:20px;background:#f1f3eb;color:#526446}.chat-form{display:flex;gap:8px}.chat-form input{flex:1}.chat-form button{white-space:nowrap}
@media(max-width:700px){.bottle-hero{padding:20px;gap:14px}.bottle-hero h2{font-size:calc(21px * var(--font-scale,1))}.bottle-hero .eyebrow{font-size:calc(7px * var(--font-scale,1))}.buddy-tabs button{font-size:calc(14px * var(--font-scale,1));padding:11px 12px}.chat-message{max-width:94%}.chat-form button{padding:10px 13px}}

/* Readable type and room for bilingual labels. */
.goal-copy{min-width:0}.goal-copy h3{line-height:1.55}.goal-copy p{line-height:1.8}.weekly-item>div{gap:12px;align-items:flex-start}.weekly-item span{white-space:nowrap}.card-actions,.toolbar{flex-wrap:wrap}.heading>div:first-child{min-width:0}.goal-row{align-items:flex-start}.check{margin-top:3px}.preset-option strong{line-height:1.6}.preset-option small{line-height:1.8}input,select,textarea{font-size:calc(16px * var(--font-scale,1))}.notice{line-height:1.9}header{flex-wrap:wrap;gap:12px}.header-controls{margin-left:auto}.date-control input{max-width:150px}
@media(max-width:700px){.preset-entry{align-items:flex-start;flex-wrap:wrap}.preset-entry button{margin-left:auto}.goal-points{padding-top:5px}.date-button{min-height:78px}.date-button strong{font-size:calc(19px * var(--font-scale,1))}.ring-inner small{font-size:calc(11px * var(--font-scale,1))}.score-card .caption{font-size:calc(13px * var(--font-scale,1))}.goal-copy h3{font-size:calc(17px * var(--font-scale,1))}html[lang=en] .goal-copy h3{font-size:calc(17px * var(--font-scale,1))}.panel p,.goal-copy p,.goal-card p{font-size:calc(14px * var(--font-scale,1))}.preset-option small{font-size:calc(14px * var(--font-scale,1))}.heading{flex-wrap:wrap}.heading .leaf{margin-left:auto}nav a{font-size:calc(13px * var(--font-scale,1))}.language-select,.month-picker{font-size:calc(14px * var(--font-scale,1))}.date-control input{font-size:calc(13px * var(--font-scale,1));max-width:145px}.section-head{gap:12px;flex-wrap:wrap}.chat-form{flex-wrap:wrap}.chat-form input{min-width:180px}}

/* User-selected text size; standard is a step below the previous large text. */
:root{--font-scale:.90}html[data-text-size=small]{--font-scale:.82}html[data-text-size=standard]{--font-scale:.90}html[data-text-size=large]{--font-scale:1.08}
.font-setting{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:calc(12px * var(--font-scale))}.font-setting select{width:auto;padding:8px 5px;border-radius:8px;background:white}.header-controls{flex-wrap:wrap;justify-content:flex-end}.font-setting select,.language-select,.month-picker{font-size:calc(13px * var(--font-scale))}.home-progress{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;margin:0 0 23px}.home-progress-row+.home-progress-row{margin-top:18px}.home-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:calc(14px * var(--font-scale));margin-bottom:10px}.home-progress-label strong{font-weight:500}.home-progress-label span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.home-progress-track{height:9px;background:#edf0e8;border-radius:20px;overflow:hidden}.home-progress-track i{display:block;height:100%;border-radius:20px;background:#3458eb;transition:width .25s}.month-track i{background:#8bac56}.home-progress p{font-size:calc(12px * var(--font-scale));line-height:1.8;color:var(--muted);margin:14px 0 0}input,textarea{font-size:max(16px,calc(16px * var(--font-scale)))}
@media(max-width:700px){header>.eyebrow{display:none}.header-controls{width:100%;justify-content:space-between;gap:7px}.font-setting{gap:4px}.font-setting select,.language-select,.month-picker{font-size:calc(13px * var(--font-scale));padding:8px 5px}.home-progress{padding:18px}.date-button{min-height:68px}.goal-copy h3,html[lang=en] .goal-copy h3{font-size:calc(17px * var(--font-scale))}}

/* A single compact home summary: points, two progress bars, weekly context. */
.score-card.compact-score{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px 22px;padding:19px 22px 12px;margin-bottom:18px}.compact-score:after{pointer-events:none}.compact-points{align-self:center}.compact-score .compact-points p{font-size:calc(13px * var(--font-scale));margin:0 0 5px}.compact-score .score-value{font-size:calc(38px * var(--font-scale));line-height:1.1}.compact-unit{display:block;font-size:calc(11px * var(--font-scale));color:#4d6245;margin-top:5px}.compact-bars{min-width:0;align-self:center}.compact-bars .home-progress-row+.home-progress-row{margin-top:15px}.compact-bars .home-progress-label{font-size:calc(13px * var(--font-scale));margin-bottom:6px;gap:6px}.compact-bars .home-progress-label span{color:#4d6245;font-size:calc(12px * var(--font-scale))}.compact-bars .home-progress-track{height:6px;background:#cbdca1}.compact-bars .month-track i{background:#6c8846}.compact-score-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px;border-top:1px solid #bdcf934f;padding-top:8px;font-size:calc(11px * var(--font-scale));color:#4d6245}.compact-score-footer strong{font-weight:600;color:#243b32}
@media(max-width:700px){.score-card.compact-score{grid-template-columns:72px minmax(0,1fr);gap:11px 14px;padding:17px 17px 11px}.compact-score .score-value{font-size:calc(35px * var(--font-scale))}.compact-score .compact-points p{font-size:calc(12px * var(--font-scale))}.compact-score-footer{font-size:calc(10px * var(--font-scale))}html[lang=en] .compact-bars .home-progress-label{font-size:calc(12px * var(--font-scale))}html[lang=en] .compact-bars .home-progress-label strong{max-width:95px}html[lang=en] .compact-score-footer{flex-wrap:wrap}html[data-text-size=large] .compact-score{grid-template-columns:80px minmax(0,1fr)}}

/* Daily check-ins share the same card as points and progress. */
.score-card.compact-score:has(.integrated-checkin){padding-bottom:0;gap:12px 22px}.integrated-checkin{grid-column:1/-1;background:#fafbf7;margin:0 -22px;padding:19px 22px 12px;color:var(--ink)}.integrated-checkin .section-head{margin:0 0 12px}.integrated-checkin .section-head h2{font-size:calc(18px * var(--font-scale))}.integrated-checkin .date-strip{margin-bottom:13px}.integrated-checkin .date-button{min-height:58px;padding:7px 2px}.integrated-checkin .date-button strong{font-size:calc(17px * var(--font-scale))}.integrated-checkin .goal-row{border-radius:10px;padding:12px;margin-bottom:8px}.integrated-checkin .goal-row:last-child{margin-bottom:0}.integrated-checkin p.integrated-note{font-size:calc(11px * var(--font-scale));color:var(--muted);margin:12px 0 0;line-height:1.6}.compact-score-footer{padding-bottom:2px}.integrated-checkin .date-control input{background:#fff}
@media(max-width:700px){.score-card.compact-score:has(.integrated-checkin){gap:11px 14px}.integrated-checkin{margin:0 -17px;padding:16px 13px 12px}.integrated-checkin .goal-copy p{font-size:calc(13px * var(--font-scale));line-height:1.65}.integrated-checkin .goal-copy h3{font-size:calc(16px * var(--font-scale))}.integrated-checkin .date-strip{gap:3px}.integrated-checkin .section-head{gap:7px}}

.custom-goal-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0 0 15px;padding:11px 14px;background:#e8edff;border:1px solid #dce3fc;border-radius:10px;color:#3458eb;font-size:calc(14px * var(--font-scale));font-weight:600}.custom-goal-cta>span:last-child{margin-left:auto}.custom-goal-cta>span:first-child{margin-right:auto}.custom-goal-cta:hover{background:#dfe7ff}.goal-entry-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.goal-entry-actions .text-button{font-size:calc(13px * var(--font-scale))}@media(max-width:700px){.custom-goal-cta{font-size:calc(14px * var(--font-scale));padding:11px 10px}.goal-entry-actions{width:100%;justify-content:space-between}.preset-entry .goal-entry-actions button{margin-left:0}}

.score-card.compact-score{grid-template-columns:1fr}.compact-points{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.compact-score .compact-points p{margin:0}.compact-points .compact-unit{margin:0 0 0 auto}.rail-overview{padding:2px 0 20px;border-bottom:1px solid var(--line);margin-bottom:18px}.rail-overview .compact-bars{width:100%}.rail-overview .home-progress-label span{color:var(--muted)}.rail-overview .home-progress-track{background:#edf0e8}.rail-overview .month-track i{background:#8bac56}@media(max-width:700px){.score-card.compact-score,html[data-text-size=large] .score-card.compact-score{grid-template-columns:1fr}}
