@font-face{font-family:SteveSans;src:url('/assets/fonts/SteveSans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:SteveSans;src:url('/assets/fonts/SteveSans-Italic.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
:root{--journal-accent:#53bff0;--journal-accent-rgb:83,191,240;--journal-sidebar:#111315;--journal-sidebar-soft:#1a1d20;--journal-sidebar-text:#f5f7f8;--journal-sidebar-muted:#9ea5aa;--journal-bottom-height:4.65rem;--journal-mobile-header:4.25rem;--journal-toolbar-height:4.5rem;--journal-footer-height:3.6rem}
html{height:100%;background:#111315}html[data-bs-theme="dark"]{color-scheme:dark}body{font-family:SteveSans,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100%;margin:0}button,input,textarea{font:inherit}.journal-body{overflow:hidden;background:var(--bs-body-bg)}
.journal-app{height:100dvh;display:flex;min-width:0}.journal-sidebar{width:19rem;flex:0 0 19rem;min-height:0;flex-direction:column;background:linear-gradient(180deg,#111315 0%,#0d0f10 100%);color:var(--journal-sidebar-text);border-right:1px solid rgba(255,255,255,.07);padding:1.25rem .9rem .8rem}.journal-brand{display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;font-size:1.35rem;font-weight:800;letter-spacing:-.02em}.journal-brand img{border-radius:.35rem}.journal-sidebar>.journal-brand{padding:.1rem .45rem 1.25rem}.journal-primary-nav{display:grid;gap:.3rem}.journal-primary-nav a{display:flex;align-items:center;gap:.75rem;color:#e6eaed;text-decoration:none;border-radius:.55rem;padding:.72rem .8rem;font-weight:650}.journal-primary-nav a i{font-size:1.05rem;width:1.15rem;text-align:center}.journal-primary-nav a.active{color:var(--journal-accent);background:rgba(var(--journal-accent-rgb),.12)}
.journal-search-wrap{position:relative;margin:.95rem .45rem .55rem}.journal-search-wrap i{position:absolute;left:.78rem;top:50%;transform:translateY(-50%);color:var(--journal-sidebar-muted);pointer-events:none}.journal-search-wrap input{width:100%;height:2.55rem;border-radius:.55rem;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.035);color:#fff;padding:.5rem .75rem .5rem 2.3rem;outline:none}.journal-search-wrap input::placeholder{color:#92999e}.journal-search-wrap input:focus{border-color:rgba(var(--journal-accent-rgb),.75);box-shadow:0 0 0 .18rem rgba(var(--journal-accent-rgb),.12)}
.history-list{flex:1;min-height:0;overflow:auto;padding:.1rem .15rem 1rem;scrollbar-width:thin;scrollbar-color:#42474b transparent}.history-month{padding:.72rem .7rem .34rem;color:#8e969b;font-size:.72rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.history-entry{display:block;width:100%;border:0;text-align:left;color:#f2f4f5;background:transparent;border-radius:.55rem;padding:.65rem .7rem;margin:0 0 .14rem;cursor:pointer}.history-entry:hover,.history-entry:focus-visible{background:rgba(255,255,255,.055)}.history-entry.active{background:rgba(255,255,255,.075)}.history-entry.active .history-entry-date{color:var(--journal-accent)}.history-entry-date{display:block;font-size:.93rem;font-weight:760}.history-entry-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#aab0b4;font-size:.84rem;line-height:1.35;margin-top:.18rem}.history-more{margin:.2rem .45rem .75rem;color:#cfd4d7;border:1px solid rgba(255,255,255,.14)}.history-more:hover{color:#fff;border-color:rgba(255,255,255,.3)}.history-empty{color:#92999e;font-size:.9rem;text-align:center;padding:1.5rem .75rem}
.journal-menu-wrap{margin-top:auto;padding:.55rem .45rem 0;border-top:1px solid rgba(255,255,255,.08)}.journal-menu-button{width:100%;display:flex;align-items:center;gap:.75rem;border:0;border-radius:.55rem;background:transparent;color:#e3e7e9;padding:.7rem .75rem;text-align:left}.journal-menu-button:hover,.journal-menu-button[aria-expanded="true"]{background:rgba(255,255,255,.06)}.journal-account-menu{width:18rem;padding:.55rem;background:#1c1f22;color:#fff;border-color:rgba(255,255,255,.12);box-shadow:0 .6rem 2rem rgba(0,0,0,.35)}.journal-account-summary{display:grid;padding:.45rem .65rem .55rem}.journal-account-summary span{color:#aeb5b9;font-size:.83rem;overflow-wrap:anywhere}.journal-account-menu .dropdown-divider{border-color:rgba(255,255,255,.12)}.journal-account-menu .dropdown-item{white-space:normal;color:#f2f4f5;border-radius:.4rem;font-size:.9rem;line-height:1.35;padding:.65rem}.journal-account-menu .dropdown-item:hover{background:rgba(255,255,255,.07)}.journal-account-menu .dropdown-item i{margin-right:.55rem}
.journal-workspace{flex:1;min-width:0;min-height:0;position:relative;background:var(--bs-body-bg)}.journal-editor-view{height:100%;display:grid;grid-template-rows:var(--journal-toolbar-height) minmax(0,1fr) var(--journal-footer-height)}.journal-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,3vw,2.25rem);border-bottom:1px solid var(--bs-border-color);background:color-mix(in srgb,var(--bs-body-bg) 96%,var(--bs-tertiary-bg));z-index:4}.journal-toolbar-date{display:flex;align-items:center;gap:.72rem;font-size:.98rem;font-weight:650}.journal-toolbar-date i{color:var(--bs-secondary-color)}.journal-toolbar-actions{display:flex;align-items:center;gap:.38rem}.journal-toolbar-actions button,.theme-menu-trigger,.history-back{border:0;background:transparent;color:var(--bs-body-color);width:2.45rem;height:2.45rem;border-radius:50%;display:grid;place-items:center;font-size:1.15rem}.journal-toolbar-actions button:hover:not(:disabled),.theme-menu-trigger:hover,.history-back:hover{background:var(--bs-tertiary-bg)}.journal-toolbar-actions button:disabled{opacity:.28}.journal-toolbar-actions .vr{height:1.5rem;margin:0 .35rem}.theme-dropdown{min-width:10.5rem}.theme-dropdown .dropdown-item{display:flex;align-items:center;gap:.6rem}.theme-dropdown .dropdown-item.active{background:rgba(var(--journal-accent-rgb),.15);color:var(--bs-body-color)}
.journal-editor-scroll{overflow:auto}.journal-entry{width:min(100%,52rem);margin:0 auto;padding:clamp(1.8rem,5vw,3.25rem) clamp(1.25rem,5vw,3rem) 3rem;min-height:100%}.journal-entry h1{font-size:clamp(1.65rem,3vw,2.2rem);font-weight:800;letter-spacing:-.035em;margin:0}.journal-heading-rule{height:1px;background:var(--bs-border-color);margin:1.15rem 0 1.35rem}.journal-entry textarea{display:block;width:100%;min-height:calc(100dvh - var(--journal-toolbar-height) - var(--journal-footer-height) - 10rem);resize:none;overflow:hidden;border:0;outline:0;background:transparent;color:var(--bs-body-color);font-size:clamp(1.08rem,1.6vw,1.28rem);line-height:1.72;padding:0;caret-color:var(--journal-accent)}.journal-entry textarea::placeholder{color:var(--bs-secondary-color);opacity:.6}.journal-entry textarea:disabled{opacity:.55}.journal-editor-footer{border-top:1px solid var(--bs-border-color);display:flex;align-items:center;padding:0 clamp(1.25rem,4vw,2.5rem);background:color-mix(in srgb,var(--bs-body-bg) 96%,var(--bs-tertiary-bg));color:var(--bs-secondary-color);font-size:.83rem}.journal-save-meta{display:flex;align-items:center;gap:.55rem}.meta-separator{opacity:.6}.save-error{color:var(--bs-danger)}.save-offline{color:#c18b00}.save-saved{color:var(--bs-secondary-color)}
.journal-mobile-header{height:calc(var(--journal-mobile-header) + env(safe-area-inset-top));align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 1rem 0;background:var(--journal-sidebar);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.journal-mobile-header .journal-brand{font-size:1.05rem}.journal-mobile-header .theme-menu-trigger{color:#fff}.mobile-history-panel{height:calc(100dvh - var(--journal-mobile-header) - var(--journal-bottom-height));overflow:auto;padding:1.2rem 1rem 2rem;background:var(--bs-body-bg)}.mobile-history-heading{display:flex;align-items:end;justify-content:space-between}.mobile-history-heading h1{font-size:2rem;font-weight:800;letter-spacing:-.035em;margin:.15rem 0 0}.journal-kicker{color:var(--journal-accent);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.mobile-search{margin:.95rem 0}.mobile-search input{color:var(--bs-body-color);background:var(--bs-tertiary-bg);border-color:var(--bs-border-color)}.mobile-search input::placeholder{color:var(--bs-secondary-color)}.mobile-history-list{overflow:visible;padding:0}.mobile-history-list .history-month{color:var(--bs-secondary-color);padding-left:.15rem}.mobile-history-list .history-entry{color:var(--bs-body-color);border-bottom:1px solid var(--bs-border-color);border-radius:0;padding:.85rem .15rem;margin:0}.mobile-history-list .history-entry:hover,.mobile-history-list .history-entry:focus-visible,.mobile-history-list .history-entry.active{background:transparent}.mobile-history-list .history-entry-excerpt{color:var(--bs-secondary-color)}.mobile-history-list .history-entry.active .history-entry-date{color:var(--journal-accent)}
.journal-bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--journal-bottom-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(3,1fr);background:var(--journal-sidebar);border-top:1px solid rgba(255,255,255,.09);z-index:1040}.journal-bottom-nav a,.journal-bottom-nav button{border:0;background:transparent;text-decoration:none;color:#aab1b5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;font-size:.76rem}.journal-bottom-nav i{font-size:1.2rem}.journal-bottom-nav .active{color:var(--journal-accent);font-weight:750}.journal-mobile-menu{height:auto!important;max-height:75dvh;border-radius:1.15rem 1.15rem 0 0}.journal-mobile-menu .offcanvas-header{align-items:flex-start;padding:1.2rem 1.25rem}.journal-mobile-menu .offcanvas-title{font-weight:800}.journal-mobile-menu .offcanvas-body{padding:0 1rem calc(1rem + env(safe-area-inset-bottom))}.mobile-logout{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--bs-body-color);border:1px solid var(--bs-border-color);border-radius:.75rem;padding:.9rem 1rem;line-height:1.35}.mobile-logout i{font-size:1.15rem}.history-back{margin-left:-.55rem;margin-right:.15rem}
.auth-body{display:grid;place-items:center;padding:1rem;background:linear-gradient(180deg,#171a1d,#0b0d0e);min-height:100dvh}.auth-card{width:min(100%,28rem);border-color:rgba(255,255,255,.08);box-shadow:0 1.25rem 4rem rgba(0,0,0,.28)!important}.auth-brand{display:flex;align-items:center;gap:.7rem;font-size:1.4rem;font-weight:800;margin-bottom:2rem}.auth-brand img{border-radius:.4rem}.btn-primary{--bs-btn-bg:var(--journal-accent);--bs-btn-border-color:var(--journal-accent);--bs-btn-hover-bg:#35afe7;--bs-btn-hover-border-color:#35afe7;--bs-btn-color:#071116;--bs-btn-hover-color:#071116;font-weight:750}
@media(max-width:767.98px){html,.journal-body{height:100%;background:var(--journal-sidebar)}.journal-body{overflow:hidden}.journal-app{display:block;height:100dvh;padding:0;overflow:hidden}.journal-workspace{height:calc(100dvh - var(--journal-bottom-height) - env(safe-area-inset-bottom));display:flex;flex-direction:column}.journal-mobile-header{display:flex;flex:0 0 calc(var(--journal-mobile-header) + env(safe-area-inset-top));height:calc(var(--journal-mobile-header) + env(safe-area-inset-top))}.mobile-history-panel{flex:1 1 auto;min-height:0;height:auto}.journal-editor-view{flex:1 1 auto;min-height:0;height:auto;grid-template-rows:3.7rem minmax(0,1fr) 3.35rem}.journal-editor-toolbar{padding:0 .65rem}.journal-toolbar-date{gap:.55rem;font-size:.9rem;min-width:0}.journal-toolbar-date span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-toolbar-actions{gap:.05rem}.journal-toolbar-actions button{width:2.25rem;height:2.25rem}.journal-entry{padding:1.55rem 1.25rem 2.5rem}.journal-entry h1{font-size:1.7rem}.journal-heading-rule{margin:.95rem 0 1.15rem}.journal-entry textarea{font-size:1.06rem;line-height:1.65;min-height:calc(100dvh - 16rem)}.journal-editor-footer{padding:0 1rem;white-space:nowrap;overflow:hidden}.journal-save-meta{gap:.42rem}.journal-editor-footer{font-size:.76rem}}
@media(min-width:768px) and (max-width:1100px){.journal-sidebar{width:17rem;flex-basis:17rem}.journal-entry{width:min(100%,48rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Daily mood strip and top save state */
.journal-editor-view{grid-template-rows:var(--journal-toolbar-height) auto minmax(0,1fr) var(--journal-footer-height)}
.journal-mobile-header-actions{display:flex;align-items:center;gap:.2rem}
.journal-save-indicator{width:2.45rem;height:2.45rem;border-radius:50%;display:grid;place-items:center;font-size:1.2rem;transition:color .16s ease,background-color .16s ease}
.journal-save-indicator.save-indicator-loading,.journal-save-indicator.save-indicator-saving{color:var(--bs-secondary-color)}
.journal-save-indicator.save-indicator-saved{color:var(--bs-success)}
.journal-save-indicator.save-indicator-warning{color:var(--bs-warning)}
.journal-mobile-header .journal-save-indicator{color:#9ea5aa}.journal-mobile-header .journal-save-indicator.save-indicator-saved{color:#55c779}.journal-mobile-header .journal-save-indicator.save-indicator-warning{color:#e6b34c}
.journal-mood-strip{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--bs-border-color);background:color-mix(in srgb,var(--bs-body-bg) 97%,var(--bs-tertiary-bg));min-height:4.65rem}
.mood-period{position:relative;display:grid;grid-template-rows:1.25rem 1fr;padding:.38rem .55rem .45rem}.mood-period-today::before{content:"";position:absolute;left:0;top:.55rem;bottom:.55rem;width:1px;background:var(--bs-border-color)}
.mood-period-label{text-align:center;color:var(--bs-secondary-color);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;line-height:1.2}
.mood-period-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.38rem;min-width:0}
.mood-button{border:1px solid var(--bs-border-color);background:transparent;color:var(--bs-secondary-color);border-radius:.55rem;min-width:0;min-height:2.25rem;display:flex;align-items:center;justify-content:center;gap:.38rem;padding:.25rem .45rem;font-weight:800;font-size:1rem;touch-action:manipulation}
.mood-button:hover,.mood-button:focus-visible{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}.mood-button.has-value{color:var(--bs-body-color);border-color:color-mix(in srgb,var(--journal-accent) 45%,var(--bs-border-color))}.mood-button i{font-size:1rem;color:var(--journal-accent)}.mood-value{font-variant-numeric:tabular-nums;font-size:.95rem}
.journal-entry{padding-top:1.45rem}.journal-entry textarea{min-height:calc(100dvh - var(--journal-toolbar-height) - var(--journal-footer-height) - 10.5rem)}
.mood-modal .modal-dialog{width:min(calc(100% - 2rem),30rem)}.mood-modal .modal-content{border-radius:1rem}.mood-modal .modal-header{padding:1rem 1.1rem .65rem}.mood-modal .modal-body{padding:.45rem 1.35rem 1.35rem}.mood-slider-value{text-align:center;font-size:3.65rem;line-height:1;font-weight:850;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:.35rem 0 1.15rem;color:var(--journal-accent)}
.mood-slider{height:2.7rem;margin:0}.mood-slider::-webkit-slider-runnable-track{height:.72rem;border-radius:999px;background:color-mix(in srgb,var(--journal-accent) 32%,var(--bs-tertiary-bg))}.mood-slider::-webkit-slider-thumb{width:2.25rem;height:2.25rem;margin-top:-.765rem;border:4px solid var(--bs-body-bg);box-shadow:0 0 0 2px var(--journal-accent);background:var(--journal-accent)}.mood-slider::-moz-range-track{height:.72rem;border-radius:999px;background:color-mix(in srgb,var(--journal-accent) 32%,var(--bs-tertiary-bg))}.mood-slider::-moz-range-thumb{width:2.25rem;height:2.25rem;border:4px solid var(--bs-body-bg);box-shadow:0 0 0 2px var(--journal-accent);background:var(--journal-accent)}
.mood-slider-scale{display:flex;justify-content:space-between;color:var(--bs-secondary-color);font-size:.78rem;font-weight:750;margin-top:.1rem}.mood-slider-help{text-align:center;color:var(--bs-secondary-color);font-size:.78rem;margin-top:.55rem}
@media(max-width:767.98px){.journal-editor-view{grid-template-rows:3.7rem auto minmax(0,1fr) 3.35rem}.journal-mood-strip{min-height:4.35rem}.mood-period{padding:.32rem .38rem .38rem;grid-template-rows:1.18rem 1fr}.mood-period-buttons{gap:.28rem}.mood-button{min-height:2.1rem;border-radius:.48rem;padding:.2rem .25rem;gap:.3rem}.journal-entry{padding:1.35rem 1.25rem 2.5rem}.journal-entry textarea{min-height:calc(100dvh - 19rem)}.journal-save-indicator{width:2.25rem;height:2.25rem}.mood-modal .modal-dialog{align-items:flex-end;min-height:calc(100% - .5rem);margin:.25rem auto}.mood-modal .modal-content{border-radius:1rem 1rem .7rem .7rem;margin-bottom:calc(env(safe-area-inset-bottom) + .35rem)}.mood-slider-value{font-size:4rem;margin-top:.55rem}}


/* Mobile editor keyboard stability */
@media(max-width:767.98px){
html,.journal-body{width:100%;max-width:100%;overflow:hidden}
.journal-body{position:fixed;inset:0}
.journal-app{position:fixed;inset:0;height:100dvh;max-height:100dvh}
.journal-workspace{height:calc(100dvh - var(--journal-bottom-height) - env(safe-area-inset-bottom))}
.journal-body.journal-keyboard-open .journal-app{height:var(--journal-visual-height,100dvh);max-height:var(--journal-visual-height,100dvh)}
.journal-body.journal-keyboard-open .journal-workspace{height:var(--journal-visual-height,100dvh)}
.journal-body.journal-keyboard-open .journal-bottom-nav{visibility:hidden;pointer-events:none}
.journal-body.journal-keyboard-open .journal-editor-scroll{overscroll-behavior:contain}
}


/* Drink tracking */
.journal-drink-toggle{margin-right:.6rem;color:var(--bs-secondary-color)!important;opacity:.35;transition:opacity .15s ease,color .15s ease,background-color .15s ease}
.journal-drink-toggle:hover,.journal-drink-toggle:focus-visible{opacity:.75}
.journal-drink-toggle.active{opacity:1;color:var(--journal-accent)!important;background:rgba(var(--journal-accent-rgb),.11)!important}
.journal-martini-icon{width:1.28rem;height:1.28rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.history-entry-date-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem}
.history-drink-icon{width:.95rem;height:.95rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--journal-sidebar-muted);opacity:.42}
.mobile-history-list .history-drink-icon{color:var(--bs-secondary-color);opacity:.45}

/* Reports */
.journal-report-view{height:100%;display:flex;flex-direction:column;background:var(--bs-body-bg)}
.journal-report-toolbar{min-height:var(--journal-toolbar-height);display:flex;align-items:center;justify-content:space-between;padding:.9rem clamp(1.25rem,4vw,2.5rem);border-bottom:1px solid var(--bs-border-color);background:color-mix(in srgb,var(--bs-body-bg) 96%,var(--bs-tertiary-bg));flex:0 0 auto}
.journal-report-toolbar h1{font-size:1.55rem;font-weight:820;letter-spacing:-.03em;margin:.08rem 0 0}
.journal-report-scroll{overflow:auto;min-height:0;flex:1}
.journal-report-content{width:min(100%,70rem);margin:0 auto;padding:clamp(1.25rem,4vw,2.75rem)}
.report-card{border:1px solid var(--bs-border-color);border-radius:1rem;background:color-mix(in srgb,var(--bs-body-bg) 98%,var(--bs-tertiary-bg));padding:clamp(1rem,3vw,1.6rem);margin-bottom:1.25rem}
.report-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.report-card-heading h2{font-size:1.12rem;font-weight:820;letter-spacing:-.02em;margin:0}
.report-card-heading p{color:var(--bs-secondary-color);font-size:.8rem;margin:.2rem 0 0}
.report-legend{display:flex;gap:.85rem;flex-wrap:wrap;color:var(--bs-secondary-color);font-size:.78rem;font-weight:700}
.report-legend span{display:flex;align-items:center;gap:.38rem}
.report-legend-dot{width:.62rem;height:.62rem;border-radius:50%;display:inline-block}
.report-legend-dot.emotional{background:#d96d9d}
.report-legend-dot.physical{background:var(--journal-accent)}
.report-chart-wrap{position:relative;min-height:18rem}
.report-chart{display:block;width:100%;height:auto;min-height:18rem;overflow:visible}
.report-grid-line{stroke:var(--bs-border-color);stroke-width:1}
.report-axis-line{stroke:var(--bs-secondary-color);stroke-width:1;opacity:.55}
.report-axis-label{fill:var(--bs-secondary-color);font:750 22px SteveSans,system-ui,sans-serif}
.report-series{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.report-series.emotional{stroke:#d96d9d}
.report-series.physical{stroke:var(--journal-accent)}
.report-point{stroke:var(--bs-body-bg);stroke-width:2.4}
.report-point.emotional{fill:#d96d9d}
.report-point.physical{fill:var(--journal-accent)}
.report-chart-empty{min-height:18rem;display:grid;place-items:center;color:var(--bs-secondary-color);font-size:.9rem}
.report-note{margin:.65rem 0 0;color:var(--bs-secondary-color);font-size:.76rem;line-height:1.4}
.report-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.report-stat{border:1px solid var(--bs-border-color);border-radius:.8rem;padding:1rem;background:var(--bs-tertiary-bg);display:grid;gap:.3rem}
.report-stat-value{font-size:1.65rem;font-weight:850;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.report-stat-label{font-size:.78rem;color:var(--bs-secondary-color);line-height:1.3}
.mobile-menu-link{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--bs-body-color);border:1px solid var(--bs-border-color);border-radius:.75rem;padding:.9rem 1rem;line-height:1.35;margin-bottom:.65rem}
.mobile-menu-link i{font-size:1.15rem}
.mobile-menu-link:hover,.mobile-menu-link:focus-visible{background:var(--bs-tertiary-bg);color:var(--bs-body-color)}

@media(max-width:767.98px){
.journal-drink-toggle{margin-right:.35rem!important}
.journal-martini-icon{width:1.18rem;height:1.18rem}
.journal-report-view{flex:1 1 auto;min-height:0;height:auto}
.journal-report-toolbar{min-height:3.7rem;padding:.6rem 1rem}
.journal-report-toolbar h1{font-size:1.35rem}
.journal-report-content{padding:1rem}
.report-card{padding:1rem;border-radius:.8rem}
.report-card-heading{display:grid;gap:.55rem}
.report-legend{gap:.7rem}
.report-chart-wrap,.report-chart,.report-chart-empty{min-height:14rem}
.report-stat-grid{grid-template-columns:1fr}
.report-stat{grid-template-columns:auto 1fr;align-items:baseline;gap:.7rem}
.report-stat-value{font-size:1.45rem}
}

/* Let iOS move the caret naturally when the keyboard opens. The application
   still shrinks to the visual viewport, but no JavaScript forces page scroll. */
@media(max-width:767.98px){
.journal-body.journal-keyboard-open .journal-editor-scroll{scroll-behavior:auto;overscroll-behavior:contain}
}
