*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f5f0e8;--color-surface: #faf7f2;--color-text: #3a2f27;--color-text-muted: #8a7e72;--color-primary: #3a2f27;--color-primary-hover: #5a4e42;--color-positive: #5a7a4a;--color-negative: #b05040;--color-neutral: #8a7e72;--color-border: #ddd4c6;--color-input-bg: #faf7f2;--color-banner: #efe8dc;--color-banner-text: #8a7e72;--color-chart-1: #c07050;--color-chart-2: #7a9a6a;--color-chart-3: #5a8ab0;--color-chart-4: #b0a050;--color-chart-5: #9a6a9a;--color-chart-6: #5aaa9a;--color-chart-7: #c08a6a;--color-chart-8: #6a7ab0;--radius: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--max-width: 720px;font-family:Libre Baskerville,Georgia,serif;line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}[data-theme=dark]{--color-bg: #1a1714;--color-surface: #24201b;--color-text: #e0d8c8;--color-text-muted: #9a8e7e;--color-primary: #e0d8c8;--color-primary-hover: #c0b8a8;--color-positive: #7a9a6a;--color-negative: #c86050;--color-neutral: #9a8e7e;--color-border: #3a3428;--color-input-bg: #24201b;--color-banner: #24201b;--color-banner-text: #9a8e7e;--color-chart-1: #d08060;--color-chart-2: #8aaa7a;--color-chart-3: #6a9ac0;--color-chart-4: #c0b060;--color-chart-5: #aa7aaa;--color-chart-6: #6abaaa;--color-chart-7: #d09a7a;--color-chart-8: #7a8ac0;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .3)}body,#root{min-height:100vh}h1{font-size:1.75rem;font-weight:700;margin-bottom:.5rem}h2{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text-muted)}h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}p{color:var(--color-text-muted)}hr{border:none;border-top:1px solid var(--color-border);margin:1.5rem 0}a{color:var(--color-primary);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .15s ease}button:hover{border-color:var(--color-primary);color:var(--color-primary)}button:disabled{opacity:.5;cursor:not-allowed}button[type=submit]{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}button[type=submit]:hover{opacity:.85;color:var(--color-bg)}label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.75rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],select{display:block;width:100%;margin-top:.25rem;padding:.5rem .75rem;font-size:.875rem;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-input-bg);color:var(--color-text);transition:border-color .15s ease}input:focus,select:focus{outline:none;border-color:var(--color-text);box-shadow:none}input[type=checkbox]{display:inline;width:auto;margin-right:.5rem}.error{color:var(--color-negative);font-size:.875rem;margin:.5rem 0}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-layout>nav{display:flex;align-items:center;gap:.25rem;padding:.75rem 1.5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow-x:auto}.nav-logo{display:flex;align-items:center;margin-right:.5rem;padding:0!important}.nav-logo:hover{background:none!important}.app-layout>nav a{padding:.4rem .75rem;border-radius:var(--radius);color:var(--color-text-muted);font-size:.875rem;white-space:nowrap}.app-layout>nav a:hover{background:var(--color-bg);text-decoration:none;color:var(--color-text)}.app-layout>nav a.active{color:var(--color-text);font-weight:600;border-bottom:2px solid var(--color-text);border-radius:0}.nav-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.nav-actions button{font-size:.8rem}.nav-actions button:first-child{font-size:1rem;padding:.3rem .5rem;border:none;background:none}.nav-actions button:first-child:hover{border:none;opacity:.7}.app-layout>main{flex:1;max-width:var(--max-width);width:100%;margin:0 auto;padding:1.5rem}.reminder-banner{padding:.6rem 1.5rem;background:var(--color-banner);color:var(--color-banner-text);font-size:.875rem;text-align:center;font-weight:500}.notification-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.5rem;background:var(--color-banner);color:var(--color-banner-text);font-size:.875rem;font-weight:500}.notification-banner-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.notification-banner-actions button{font-size:.8rem;padding:.3rem .75rem}.notification-banner-actions button:first-child{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text);font-weight:600}.notification-banner-actions button:first-child:hover{opacity:.85;color:var(--color-bg)}.notification-banner-dismiss{background:none;border:none;color:var(--color-text-muted)}.notification-banner-dismiss:hover{color:var(--color-text);border:none}.landing-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;text-align:center;padding:4rem 2rem 2rem}.landing-logo{width:112px;height:112px;margin-bottom:1rem}.landing-hero h1{font-size:2.5rem;margin-bottom:.75rem}.landing-hero p{font-size:1.125rem;color:var(--color-text-muted);margin-bottom:2rem;max-width:400px}.landing-cta-btn{display:inline-block;padding:.75rem 2rem;background:var(--color-text);color:var(--color-bg);border-radius:var(--radius);font-size:1rem;font-weight:600}.landing-cta-btn:hover{opacity:.85;text-decoration:none}.landing-section-wrapper{padding:5rem 2rem}.landing-section-wrapper--alt{background:var(--color-surface)}.landing-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:900px;margin:0 auto}.landing-section--right .landing-section-text{order:2}.landing-section--right .landing-section-illustration{order:1}.landing-section-text h2{font-size:1.75rem;color:var(--color-text);margin-bottom:1rem}.landing-section-text p{font-size:1rem;line-height:1.7;color:var(--color-text-muted)}.landing-section-illustration{display:flex;justify-content:center;align-items:center}.landing-section-illustration svg{width:100%;max-width:320px;height:auto}.landing-cta{text-align:center;padding:5rem 2rem}.landing-cta h2{font-size:1.75rem;color:var(--color-text);margin-bottom:1rem}.landing-cta p{font-size:1.05rem;color:var(--color-text-muted);margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.pwa-install-prompt{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);box-shadow:0 -2px 12px #0000001a;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:1.25rem 1.5rem;z-index:1000;animation:pwa-slide-up .3s ease-out}@keyframes pwa-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-install-prompt-content{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.pwa-install-prompt-icon{border-radius:var(--radius);flex-shrink:0}.pwa-install-prompt-text p{font-size:.9rem;color:var(--color-text);margin:0}.pwa-install-prompt-ios-hint{margin-top:.5rem!important;font-size:.85rem!important;color:var(--color-text-muted)!important}.pwa-install-prompt-actions{display:flex;align-items:center;gap:1rem}.pwa-install-prompt-btn{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text);font-weight:600}.pwa-install-prompt-btn:hover{opacity:.85;color:var(--color-bg)}.pwa-install-prompt-dismiss{background:none;border:none;color:var(--color-text-muted);font-size:.85rem;padding:.5rem}.pwa-install-prompt-dismiss:hover{color:var(--color-text);border:none}.notification-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.notification-toggle span{font-size:.875rem;font-weight:500}.notification-hint{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.25rem}.notification-timezone{font-size:.8rem;color:var(--color-text-muted);margin-bottom:.75rem}.notification-denied{font-size:.875rem;color:var(--color-negative)}@media(max-width:768px){.landing-hero h1{font-size:2rem}.landing-section-wrapper{padding:3rem 1.5rem}.landing-section{grid-template-columns:1fr;gap:2rem;text-align:center}.landing-section--right .landing-section-text,.landing-section--right .landing-section-illustration{order:0}.landing-section-illustration svg{max-width:260px}}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.login-logo{width:88px;height:88px;margin-bottom:.75rem}.login-page h1{font-size:2rem;margin-bottom:.25rem}.login-page>p{margin-bottom:1.5rem}.login-page form{width:100%;max-width:360px;padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-page form button{width:100%;margin-top:.5rem}.login-page form button[type=button]{background:transparent;border:none;color:var(--color-text-muted);font-size:.8rem}.login-page form button[type=button]:hover{color:var(--color-text);border-color:transparent}.login-page hr{width:100%;max-width:360px}.login-buttons{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:360px}.login-buttons button{width:100%}.settings-page{max-width:480px}.settings-page h1{margin-bottom:1.5rem}.settings-card{padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1rem}.settings-card h2{font-size:1rem;margin-bottom:1rem}.settings-card button{margin-top:.5rem}.settings-email{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.daily-entry-form{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.entry-row{padding:1rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.entry-row>label{font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.scale-input{display:flex;align-items:center;gap:.75rem;max-width:360px}.scale-bound{font-size:.8rem;color:var(--color-text-muted);font-weight:500;min-width:1rem;text-align:center}.scale-track{flex:1;position:relative;padding-top:1.5rem}.scale-input input[type=range]{width:100%;height:2px;appearance:none;background:var(--color-border);border-radius:2px;outline:none;cursor:pointer}.scale-input input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-text);cursor:pointer}.scale-input input[type=range]::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--color-text);cursor:pointer}.scale-value{position:absolute;top:0;transform:translate(-50%);font-weight:600;font-size:1rem;white-space:nowrap}.numeric-input{display:flex;align-items:center;gap:.5rem}.numeric-input input{max-width:150px}.unit-label{color:var(--color-text-muted);font-size:.875rem}.boolean-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.boolean-option{padding:.4rem 1.25rem;font-weight:500;font-size:.875rem;border:none;border-radius:0;background:var(--color-surface);color:var(--color-text-muted)}.boolean-option:hover{border:none;color:var(--color-text)}.boolean-option+.boolean-option{border-left:1px solid var(--color-border)}.boolean-option.selected{background:var(--color-text);color:var(--color-bg);font-weight:600}.boolean-option.selected:hover{border:none;color:var(--color-bg)}.metric-chart{margin:1rem 0;padding:1rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.metric-chart h3{margin-bottom:.75rem}.combined-chart{margin:1rem 0;padding:1rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}@media(min-width:800px){.combined-chart{width:90vw;max-width:1200px;margin-left:50%;transform:translate(-50%);padding:1.5rem 2rem}}.metric-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.metric-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.8rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:opacity .15s}.metric-chip:hover{background:var(--color-bg)}.metric-chip--disabled{opacity:.4}.metric-chip--locked{opacity:.25;cursor:not-allowed}.metric-chip-dot{display:inline-block;width:8px;height:8px;border-radius:50%;border:2px solid}.combined-chart-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem .75rem;font-size:.8rem}.combined-chart-tooltip-date{font-weight:600;margin-bottom:.25rem;color:var(--color-text)}.insights-panel{margin:1.5rem 0}.insights-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.insights-header h2{margin-bottom:0;color:var(--color-text)}.insights-grid{display:flex;flex-direction:column;gap:.75rem}.insight-card{padding:1rem;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-left:4px solid var(--color-neutral)}.insight-card.insight-positive{border-left-color:var(--color-positive)}.insight-card.insight-negative{border-left-color:var(--color-negative)}.insight-card h3{margin-bottom:.25rem}.insight-card p{font-size:.875rem;margin:0}.insight-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.insight-type,.insight-confidence,.insight-direction{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:999px;background:var(--color-bg);color:var(--color-text-muted)}.insight-badge-label{font-weight:400;opacity:.7}.insight-direction-positive{color:var(--color-positive)}.insight-direction-negative{color:var(--color-negative)}.insight-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.insight-share-btn{flex-shrink:0;padding:.2rem .4rem;font-size:1rem;line-height:1;background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer}.insight-share-btn:hover{color:var(--color-text);border-color:var(--color-text)}.insight-share-btn:disabled{opacity:.3;cursor:default}.share-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:900;padding:1rem}.share-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:420px;padding:1.5rem;max-height:90vh;overflow-y:auto}.share-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.share-modal-header h2{margin-bottom:0;color:var(--color-text)}.share-modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);padding:.25rem;line-height:1}.share-modal-close:hover{color:var(--color-text);border:none}.share-modal-preview{width:100%;border-radius:var(--radius);margin-bottom:1rem}.share-modal-hint{font-size:.8rem;color:var(--color-text-muted);text-align:center;margin-bottom:.75rem}.share-modal-actions{display:flex;justify-content:center;gap:1rem}.share-modal-actions button{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.75rem 1rem;background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;font-size:.75rem;min-width:4.5rem}.share-modal-actions button:hover{color:var(--color-text);border-color:var(--color-text)}.insight-chart{margin-top:.75rem;width:100%}.insight-card .metric-chart{margin-top:.75rem}.insight-card .metric-chart h3{display:none}.streak-display{display:flex;align-items:center;gap:1rem}.streak-count{display:flex;flex-direction:column;align-items:center;min-width:3.5rem}.streak-number{font-size:1.75rem;font-weight:700;line-height:1;color:var(--color-text)}.streak-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.streak-sparkline{flex:1;min-width:0}.metric-editor{padding:1.25rem;margin:1rem 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.metric-editor>label{margin-bottom:1rem}.metric-editor-row{display:flex;gap:1rem;margin-bottom:1rem}.metric-editor-row label{flex:1;margin-bottom:0}.metric-editor-checkbox{display:flex!important;align-items:center;flex-direction:row;gap:.5rem;margin-bottom:1rem}.metric-editor-checkbox input{margin:0}.metric-editor-actions{display:flex;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.metric-editor-actions button{flex:1}.metrics-page ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.metrics-page li{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.metrics-page li span:first-child{font-weight:600;flex:1}.metrics-page li span:nth-child(2){font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.date-range{display:flex;gap:1rem;margin-bottom:1.5rem}.date-range label{flex:1}.date-nav{display:flex;align-items:center;gap:.5rem}.date-nav h2{margin-bottom:0;min-width:8rem;text-align:center}.date-nav button{font-size:1.25rem;padding:.25rem .6rem;background:none;border:none;color:var(--color-text-muted);line-height:1;cursor:pointer}.date-nav button:hover:not(:disabled){color:var(--color-text);border:none}.date-nav button:disabled{opacity:.3;cursor:default}.today-link{font-size:.8rem;background:none;border:none;color:var(--color-text-muted);padding:0;margin-top:.25rem;cursor:pointer}.today-link:hover{color:var(--color-text);border:none;text-decoration:underline}.overlay-label{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.toast-container{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:.5rem;max-width:var(--max-width);width:calc(100% - 2rem);pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);font-size:.875rem;font-weight:500;pointer-events:auto;animation:toast-in .25s ease-out}.toast-error{background:var(--color-negative);color:var(--color-bg)}.toast-success{background:var(--color-positive);color:var(--color-bg)}.toast-dismiss{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.8;line-height:1}.toast-dismiss:hover{opacity:1;border:none;color:inherit}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.export-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:900;padding:1rem}.export-modal{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:480px;padding:1.5rem;max-height:90vh;overflow-y:auto}.export-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.export-modal-header h2{margin-bottom:0;color:var(--color-text)}.export-modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);padding:.25rem;line-height:1}.export-modal-close:hover{color:var(--color-text);border:none}.export-modal-section{margin-bottom:1.25rem}.export-modal-section h3{font-size:.875rem;margin-bottom:.5rem}.export-format-options{display:flex;flex-direction:column;gap:.5rem}.export-format-card{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem 1rem;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.export-format-card strong{font-size:.875rem}.export-format-card span{font-size:.8rem;color:var(--color-text-muted)}.export-format-card.selected{border-color:var(--color-text);background:var(--color-bg)}.export-presets{display:flex;flex-wrap:wrap;gap:.5rem}.export-preset{font-size:.8rem;padding:.35rem .75rem;border-radius:999px}.export-preset.selected{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.export-custom-dates{display:flex;gap:1rem;margin-top:.75rem}.export-custom-dates label{flex:1}.export-no-data{font-size:.875rem;color:var(--color-text-muted);text-align:center;padding:.5rem 0}.export-download-btn{width:100%;padding:.65rem;background:var(--color-text);color:var(--color-bg);border-color:var(--color-text);font-weight:600;margin-top:.5rem}.export-download-btn:hover{opacity:.85;color:var(--color-bg)}.history-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.history-preset{font-size:.8rem;padding:.35rem .75rem;border-radius:999px}.history-preset.active{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}
