:root{--ink:#253738;--muted:#526366;--teal:#168e99;--teal-dark:#107985;--wash:#eff8f7;--line:#edf0ef;--page:#fff;--serif:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);font-synthesis:none;background:#f7f8f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:8px;display:inline-flex}button:disabled{opacity:.45;cursor:default}a{color:var(--teal);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--teal);outline-offset:4px}input,textarea,select{border:1px solid var(--border,#dce5e3);background:var(--surface-raised,#fff);color:var(--ink);border-radius:8px;min-width:0;padding:11px 12px}input[type=checkbox]{accent-color:var(--teal);width:17px;height:17px}label{gap:8px;font-size:13px;font-weight:600;display:grid}h1,h2,h3,p{margin-top:0}small{color:var(--muted);font-size:12px;line-height:1.6}.app-shell{background:var(--surface-page,#fff);grid-template-columns:258px minmax(0,1fr);max-width:1440px;min-height:100dvh;margin:auto;display:grid}.desktop-sidebar{border-right:1px solid var(--line);background:var(--surface-nav,#e4e8e9);flex-direction:column;height:100dvh;padding:42px 26px;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.6px;align-items:center;gap:12px;font-size:22px;font-weight:700;display:flex}.brand strong{font-weight:700}.brand img{border-radius:10px}.sidebar-label{color:var(--text-secondary,#526366);margin:18px 0 32px;font-size:14px}.desktop-sidebar nav{gap:10px;display:grid}.nav-item{color:var(--text-secondary,#445559);border-radius:9px;justify-content:flex-start;gap:14px;padding:14px 16px;font-size:16px;font-weight:600}.nav-item.active{background:var(--surface-selected,#e8f4f2);color:var(--teal-dark);font-weight:600}.sidebar-new{background:var(--teal);color:#fff;border-radius:9px;margin-top:36px;padding:13px;font-size:16px;font-weight:600}.sidebar-new:hover,.primary-button:hover,.new-entry-button:hover{background:var(--teal-dark)}.sidebar-bottom{color:var(--text-secondary,#445559);gap:23px;margin-top:auto;font-size:14px;display:grid}.sidebar-bottom button{justify-content:flex-start;padding-left:15px}.sidebar-bottom>span{align-items:center;gap:8px;padding-left:19px;display:flex}.connection-dot{background:#72b6a3;border-radius:50%;width:6px;height:6px;display:inline-block}.connection-dot.offline{background:#c19e66}.main-panel{width:100%;min-width:0;max-width:none;min-height:100dvh;margin:auto;padding:0 64px 80px;position:relative}.topbar{background:var(--surface-header,#303b40);color:#fff;border-bottom:0;justify-content:flex-end;align-items:center;height:48px;margin-inline:-64px;padding-inline:64px;display:flex}.top-actions{color:#fff;gap:8px;display:flex}.top-actions button{min-width:44px;min-height:44px}.page-heading{background:var(--surface-header,#303b40);color:#fff;justify-content:space-between;align-items:center;margin:0 -64px 12px;padding:16px 64px 18px;display:flex;position:relative}.eyebrow{color:var(--text-secondary,#42565b);letter-spacing:0;text-transform:none;margin:0 0 12px;font-size:16px;font-weight:600}.page-heading .eyebrow{color:var(--text-secondary,#e1e7e9)}.page-heading h1,.settings-page>h1{font-family:var(--serif);letter-spacing:-1.6px;margin:0;font-size:42px;font-weight:700}.new-entry-button{background:var(--teal);color:#fff;border-radius:50%;width:44px;height:44px;box-shadow:0 4px 10px #168e9919}.new-entry-button span{display:none}.filterbar{border-bottom:1px solid var(--line);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding-bottom:12px;display:flex}.filterbar>div{gap:8px;display:flex}.filter{border:1px solid var(--border,#e6ece9);color:var(--text-secondary,#42565b);white-space:nowrap;border-radius:7px;min-height:44px;padding:8px 10px;font-size:16px;font-weight:600}.filter.active{color:var(--teal);background:var(--wash);border-color:var(--border,#c7e3dc)}.filter span{color:var(--text-secondary,#42565b)}.date-jump{color:var(--text-secondary,#42565b);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;min-height:44px;padding:7px 0;font-size:16px;font-weight:600;display:flex;position:relative}.calendar-picker{border:1px solid var(--line);width:min(340px,100vw - 16px);max-height:calc(100dvh - 16px);color:var(--ink);border-radius:12px;margin:0;padding:12px;position:fixed;overflow:auto;box-shadow:0 8px 32px #162c3f26}.calendar-picker::backdrop{background:0 0}.calendar-controls{grid-template-columns:32px 1fr 78px 32px;align-items:center;gap:4px;display:grid}.calendar-controls select,.calendar-controls input{width:100%;min-width:0;height:44px;padding:6px 2px;font-size:16px}.calendar-controls button,.calendar-days button{border-radius:6px;place-items:center;min-height:44px;display:grid}.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);grid-auto-rows:44px;align-items:stretch;display:grid}.calendar-days span{color:var(--text-secondary,#60706b);align-self:center;font-size:13px}.calendar-days button{font-size:16px}.calendar-days button:hover,.calendar-controls button:hover{background:var(--surface-selected,#edf3ed)}.calendar-days button[aria-pressed=true]{background:var(--calendar-selected,#39634c);color:#fff}.date-picker-actions{justify-content:space-between;align-items:center;display:flex}.date-picker-actions button{min-height:44px;font-size:16px}@media (max-width:400px){.filterbar .filter{padding-inline:6px}.filterbar svg{display:none}}.month-label{color:var(--text-secondary,#42565b);margin:12px 0 2px;font-size:17px;font-weight:700}.timeline-entry{text-align:left;border-bottom:1px solid var(--line);justify-content:flex-start;align-items:flex-start;gap:21px;width:100%;padding:16px 0;display:flex}.timeline-entry:hover .summary-title{color:var(--teal-dark)}.date-stamp{text-align:center;flex-shrink:0;gap:4px;width:38px;display:grid}.date-stamp strong{font-family:var(--serif);font-size:34px;font-weight:600;line-height:1}.date-stamp>span{color:var(--text-secondary,#526366);font-size:14px}.entry-summary{flex:1;min-width:0;padding-top:1px}.summary-title{letter-spacing:-.4px;align-items:center;gap:8px;margin-bottom:5px;font-size:20px;font-weight:600;display:flex}.summary-title svg{color:var(--text-danger,#d68a84);flex-shrink:0}.summary-title>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.lesson-row .summary-title>span{white-space:normal;overflow-wrap:anywhere;overflow:visible}.excerpt{font-family:var(--serif);color:var(--text-secondary,#52605c);-webkit-line-clamp:2;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:18px;line-height:1.65;display:-webkit-box;overflow:hidden}.dream-row .excerpt{-webkit-line-clamp:3;color:var(--text-primary,#303b40)}.summary-meta .heart{color:var(--text-danger,#d68a84);display:inline-flex}.summary-meta{white-space:nowrap;color:var(--text-secondary,#526366);flex-wrap:nowrap;align-items:center;gap:5px;margin-top:7px;font-size:14px;line-height:1.5;display:flex}.summary-time,.summary-meta svg{flex-shrink:0}.summary-location{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.summary-draft{text-overflow:ellipsis;min-width:0;overflow:hidden}.summary-tags{white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary,#526366);font-size:14px;line-height:1.5;display:block;overflow:hidden}.summary-tag+.summary-tag{margin-left:10px}.journal-image{background:var(--surface-raised,#f2f6f3);border-radius:10px;min-height:150px;position:relative;overflow:hidden}.journal-image img{object-fit:cover;width:100%;height:100%;display:block}.timeline-thumb{border-radius:7px;flex-shrink:0;width:87px;height:87px;min-height:87px}.image-placeholder{min-height:inherit;color:var(--text-secondary,#9ab0a8);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:11px;display:flex}.timeline-thumb .image-placeholder span{display:none}.photo-status{background:var(--surface-raised,#ffffffe6);color:var(--text-secondary,#658279);border-radius:5px;padding:5px 8px;font-size:10px;position:absolute;bottom:10px;left:10px}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:25px;display:grid}.photo-grid .journal-image{aspect-ratio:1;cursor:pointer;border-radius:6px;min-height:0}.empty-state{text-align:center;color:var(--text-secondary,#a5bbb2);flex-direction:column;align-items:center;padding:85px 20px 55px;display:flex}.empty-state>svg{stroke-width:1.2px;margin-bottom:26px}.empty-state h2{color:var(--text-secondary,#546e63);font-family:var(--serif);letter-spacing:-.5px;margin-bottom:14px;font-size:25px;font-weight:400}.empty-state p{color:var(--text-secondary,#91a298);max-width:305px;font-size:13px;line-height:1.8}.primary-button,.secondary-button{background:var(--teal);color:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:12px 18px;font-size:13px;font-weight:600;display:inline-flex}.secondary-button{background:var(--surface-raised,#fff);color:var(--teal);border-color:var(--border,#d5e6df)}.empty-state .primary-button{margin-top:14px}.search-row{border:1px solid var(--border,#dce8e2);color:var(--text-secondary,#90a39a);background:var(--surface-raised,#fcfefd);border-radius:9px;align-items:center;gap:11px;margin-bottom:20px;padding:0 13px;display:flex}.search-row input{background:0 0;border:0;outline:none;flex:1;padding:14px 0}.search-row input:focus-visible{outline:none}.filter-panel{background:var(--surface-raised,#f9fcfa);border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 1fr;gap:15px;margin-top:14px;padding:18px;display:grid}.tag-options{flex-wrap:wrap;grid-column:1/-1;gap:7px;display:flex}.text-button{color:var(--teal);padding:6px 0;font-size:13px}.filter-panel>.text-button{justify-self:start}.order-label{grid-column:1/-1;margin-bottom:-7px;font-size:13px;font-weight:600}.order{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.order .filter{justify-content:center}.memory-navigation{color:var(--text-secondary,#42565b);background:var(--surface-raised,#f2f8f4);border-radius:10px;justify-content:center;align-items:center;gap:12px;margin-bottom:16px;padding:8px;display:flex}.memory-navigation button{min-width:44px;min-height:44px}.memory-navigation input{background:var(--surface-raised,#ffffffa0);border:1px solid var(--border,#e1ece5);width:160px;min-width:0;padding:7px;font-size:16px}.memories{touch-action:pan-y pinch-zoom;min-height:100px}.memory-entry{border-bottom:1px solid var(--line);padding:24px 0}.memory-year{color:var(--text-secondary,#42565b);margin:0 0 24px;font-size:22px}.memory-meta{color:var(--text-secondary,#526366);margin:34px 0 30px;font-size:16px;line-height:1.5}.memory-meta .dot{color:var(--text-secondary,#9ab0a8)}.memory-place{overflow-wrap:anywhere;display:inline}.memory-place svg{vertical-align:-2px}.sentiment button{justify-content:flex-start;gap:0;padding:0}.sentiment button:disabled{opacity:1}.sentiment{border-top:1px solid var(--line);color:var(--muted);margin:27px 0 -6px;padding:12px 0 0;font-size:15px;line-height:1.5}.sentiment .head{align-items:center;gap:10px;min-height:32px;display:flex}.sentiment .label{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-secondary,#91a798);font-size:12px;font-weight:600}.sentiment.collapsed{padding-bottom:2px}.sentiment .rated{color:var(--teal);font-size:15px;font-weight:600}.sentiment .text-button{color:var(--teal);padding:6px 0;font-size:13px}.sentiment .head .text-button{align-items:center;min-height:44px;margin-left:auto;font-size:15px;font-weight:600;display:inline-flex}.sentiment .text-button[disabled]{color:var(--text-secondary,#9ab0a8);cursor:default}.sentiment .ratings{margin:2px 0 0;padding:0;list-style:none}.sentiment .ratings li{border-top:1px solid var(--border,#f3f6f5)}.sentiment .ratings li:first-child{border-top:0}.sentiment .rating{text-align:left;align-items:center;gap:10px;width:100%;min-height:44px;padding:4px 0;display:flex}.sentiment .rating[disabled]{cursor:default}.sentiment .rating .area{width:108px;color:var(--text-secondary,#42565b);flex-shrink:0;font-weight:600}.sentiment .rating .val{color:var(--text-secondary,#42565b);font-variant-numeric:tabular-nums;flex-shrink:0;width:30px;font-weight:700}.sentiment .rating .word{color:var(--muted);flex:1;min-width:0}.sentiment .rating .chev{color:var(--text-secondary,#b4c1b6);flex-shrink:0}.sentiment .rating[disabled] .chev{visibility:hidden}.sentiment .rating.you .val,.sentiment .rating.you .area{color:var(--teal)}.sentiment .rating .was{color:var(--text-secondary,#91a798);white-space:nowrap;margin-left:auto;font-size:13px}.sentiment .rating.gone .word,.sentiment .rating.gone .area{color:var(--text-secondary,#91a798);text-decoration:line-through}.sentiment .add{color:var(--teal);align-items:center;gap:6px;min-height:44px;padding:1px 6px;font-size:15px;font-weight:600;display:inline-flex}.sentiment .note{color:var(--text-secondary,#91a798);margin:2px 0 0;font-size:13px}.sentiment .flash{color:var(--teal);margin-left:8px;font-size:13px;font-weight:600}.sentiment .row-failed{color:var(--text-danger,#9b4a44);align-items:center;gap:12px;padding:0 0 8px;font-size:13px;display:flex}.sentiment .row-failed .text-button{font-size:14px;font-weight:600}.sentiment .adjust{padding:6px 0 10px}.sentiment .adjust .scale-label{color:var(--muted);margin:4px 0 6px;font-size:13px;font-weight:600}.sentiment .scale{grid-template-columns:repeat(11,1fr);gap:3px;display:grid}.sentiment .scale button{background:var(--surface-raised,#f5f9f5);min-height:40px;color:var(--text-secondary,#42565b);font-variant-numeric:tabular-nums;border-radius:7px;justify-content:center;padding:0;font-size:14px;font-weight:600}.sentiment .scale button[aria-pressed=true]{background:var(--teal);color:var(--page)}.sentiment .scale button.scorer{box-shadow:inset 0 0 0 2px #c7e3dc}.sentiment .scale-ends{color:var(--text-secondary,#91a798);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.sentiment .chips{flex-wrap:wrap;gap:8px;margin:6px 0 2px;display:flex}.sentiment .chip{background:var(--surface-raised,#fff);border:1px solid var(--border,#dfe6e3);color:var(--muted);border-radius:999px;align-items:center;gap:5px;min-height:36px;padding:7px 12px;font-size:14px;font-weight:600;display:inline-flex}.sentiment .chip[aria-pressed=true]{background:var(--wash);color:var(--teal);border-color:#c7e3dc}.sentiment .adjust-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:10px;display:flex}.sentiment .adjust-actions .text-button{align-items:center;min-height:44px;font-size:15px;font-weight:600;display:inline-flex}@media (min-width:701px){.sentiment .rating .area{width:140px}}.entry-weather{overflow-wrap:anywhere;white-space:normal;min-width:0}.notice{background:var(--surface-warning,#fff7e9);border:1px solid var(--border,#f1e2c5);color:var(--text-warning,#806b4a);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:15px 0;padding:11px 13px;font-size:12px;line-height:1.6;display:flex}.notice button{color:inherit;flex-shrink:0;font-size:11px}.notice.memory-status{flex-direction:column;align-items:flex-start;font-size:14px}.notice.memory-status button{border:1px solid;border-radius:8px;min-height:44px;padding:8px 12px;font-size:14px}.recovery{background:var(--surface-selected,#eef8f6);color:var(--text-secondary,#46796d);border-color:var(--border,#d2e8df)}.offline-hint{color:var(--text-secondary,#9a977f);align-items:center;gap:7px;margin:16px 0;font-size:11px;display:flex}.entry-actions{justify-content:space-between;align-items:center;margin:18px 0 24px;display:flex}.entry-action-right{color:var(--text-secondary,#90a49a);align-items:center;gap:18px;display:flex}.favorite-active{color:var(--text-danger,#d28a82)}.entry-content{padding:0 8px}.entry-date{color:var(--text-secondary,#42565b);flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-bottom:20px;padding:0;font-size:18px;font-weight:600;line-height:1.7;display:flex}.entry-date span{color:var(--text-secondary,#526366)}.entry-title,.entry-prose h1{letter-spacing:-1px;color:var(--text-primary,#344b3e);resize:none;field-sizing:content;background:0 0;border:0;border-radius:0;outline:none;width:100%;min-height:40px;margin:0 0 18px;padding:0;font:700 36px/1.25 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}.entry-title:focus-visible{outline:none}.entry-title::placeholder{color:var(--text-secondary,#c2ccc5)}.tiptap,.entry-prose{font-family:var(--serif);color:var(--text-primary,#303b40);white-space:pre-wrap;overflow-wrap:anywhere;font-size:20px;line-height:1.65}.tiptap{outline:none;min-height:260px}.tiptap:focus-visible{outline:none}.tiptap p,.entry-prose p{min-height:1em;margin:0 0 20px}.tiptap p:first-child:last-child:empty:before{content:attr(data-placeholder);content:"What would you like to remember?";color:var(--text-secondary,#b4c1b6);float:left;pointer-events:none;height:0}.tiptap ul,.tiptap ol,.entry-prose ul,.entry-prose ol{padding-left:24px}.tiptap li p{margin:0}.entry-prose figure{margin:26px 0}.entry-prose figcaption{text-align:center;color:var(--text-secondary,#9bac9e);margin:9px 0;font:12px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.entry-prose .journal-image{max-height:650px}.entry-prose img{object-fit:contain}.editor-toolbar{border:1px solid var(--border,#e1e9e2);background:var(--surface-toolbar,#fffffff2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:3;width:fit-content;color:var(--text-secondary,#789281);border-radius:11px;align-items:center;gap:5px;margin:35px auto 20px;padding:5px 8px;display:flex;position:sticky;bottom:12px;box-shadow:0 3px 20px #334b3710}.editor-toolbar button{border-radius:6px;width:36px;height:36px}.editor-toolbar button:last-of-type{width:auto;color:var(--teal);padding:7px 11px}.editor-toolbar button span{font-size:12px}.editor-toolbar button[aria-pressed=true]{background:var(--surface-toolbar,#e6f3ed);color:var(--teal)}.toolbar-divider{background:var(--line);width:1px;height:21px;margin:0 5px}.editor-photo{border-radius:10px;margin:25px 0;position:relative}.editor-photo.ProseMirror-selectednode{outline:2px solid var(--border,#6ba998);outline-offset:4px}.editor-photo .journal-image{max-height:600px}.editor-photo img{object-fit:contain}.photo-controls{background:var(--surface-raised,#ffffffe8);border-radius:6px;gap:3px;padding:2px;display:flex;position:absolute;top:8px;right:8px}.photo-controls button{color:var(--text-secondary,#749382);padding:6px}.photo-caption{text-align:center;width:100%;color:var(--text-secondary,#899f8c);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;line-height:1.5;background:0 0!important;border:0!important}.photo-caption::placeholder{color:var(--text-secondary,#b0bfb0)}.entry-metadata{color:var(--text-secondary,#91a798);flex-wrap:wrap;gap:8px;margin:34px 0 30px;font-size:16px;display:flex}.entry-metadata button{background:var(--surface-raised,#f5f9f5);border-radius:6px;padding:7px 10px;font-size:11px}.save-status{color:var(--text-secondary,#8ca493);align-items:center;gap:7px;margin:20px auto;font-size:14px;display:flex}.action-menu{background:var(--surface-raised,white);z-index:6;border:1px solid var(--line);border-radius:10px;min-width:235px;padding:8px;display:grid;position:absolute;top:167px;right:64px;box-shadow:0 6px 35px #24432625}.action-menu button{color:var(--text-secondary,#6a8875);justify-content:flex-start;padding:12px;font-size:12px}.action-menu button:hover{background:var(--wash)}.inline-form{gap:12px;display:flex}.inline-form input{flex:1}.load-more{color:var(--teal);border:1px solid var(--border,#d8e9df);border-radius:8px;margin:35px auto;padding:10px 20px;font-size:12px;display:flex}.loading{color:var(--text-secondary,#8eaa95);justify-content:center;align-items:center;gap:9px;padding:35px;font-size:12px;display:flex}.mobile-nav{display:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dialog{border:1px solid var(--border,#e6ece5);width:calc(100% - 32px);max-width:560px;max-height:85dvh;color:var(--ink);border-radius:18px;padding:0;box-shadow:0 20px 90px #162c3f30}.dialog::backdrop{background:var(--surface-raised,#183e3a60);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 26px 18px;display:flex}.dialog h2{font-family:var(--serif);letter-spacing:-.4px;margin:0;font-size:24px;font-weight:400}.dialog>header button{color:var(--text-secondary,#87a28d)}.dialog-body{padding:26px;overflow:auto}.details-form{gap:22px;display:grid}.tag-picker{border:0;min-width:0;margin:0;padding:0}.tag-picker legend{margin-bottom:12px;font-size:16px;font-weight:500}.tag-selection{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.tag-selection button{background:var(--wash);border-radius:9px;max-width:100%;min-height:44px}.tag-selection span{overflow-wrap:anywhere}.tag-selection svg{flex-shrink:0}.tag-list-heading{color:var(--muted);justify-content:space-between;margin-top:20px;font-size:12px;display:flex}.tag-picker .tag-options>button{border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:44px;padding:10px 0}.tag-check{border:1px solid var(--border,#dce5e3);border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.tag-picker .tag-options [aria-pressed=true] .tag-check{background:var(--teal-dark);color:#fff;border-color:var(--teal-dark)}.tag-name{overflow-wrap:anywhere;flex:1}.tag-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.tag-create{background:var(--wash);overflow-wrap:anywhere;border-radius:9px;width:100%;min-height:44px;margin-top:10px}.tag-create svg{flex-shrink:0}.tag-picker>small{margin-top:12px;display:block}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.muted{color:var(--text-secondary,#899f8e);font-size:13px;line-height:1.8}.checkbox{align-items:center;gap:10px;margin:15px 0;font-size:12px;font-weight:400;line-height:1.7;display:flex}.checkbox small{display:block}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.capture-preview{height:180px;margin:20px 0}.capture-preview .journal-image{height:100%}.capture-preview img{object-fit:contain}.revision{border-bottom:1px solid var(--line);padding:18px 0;font-size:13px}.revision>div{justify-content:space-between;gap:10px;margin-bottom:15px;display:flex}.revision summary{color:var(--teal);cursor:pointer;font-size:12px}.revision .entry-prose{margin-top:22px;font-size:15px}.revision .entry-prose h1{font-size:22px}.conflict-panel{background:var(--surface-warning,#fcf6e9);border:1px solid var(--border,#efdfb9);border-radius:12px;margin:0 0 26px;padding:20px}.conflict-panel h2{font-family:var(--serif);color:var(--text-warning,#8d7644);font-size:22px;font-weight:400}.conflict-panel p{color:var(--text-warning,#958660);font-size:12px;line-height:1.7}.conflict-versions{grid-template-columns:1fr 1fr;gap:15px;display:grid}.conflict-versions summary{cursor:pointer;color:var(--text-warning,#8c7438);font-size:12px}.conflict-versions .entry-prose{margin-top:20px;font-size:14px}.conflict-versions .entry-prose h1{font-size:19px}.settings-page{padding:45px 0}.settings-page section{border-bottom:1px solid var(--line);padding:32px 0}.settings-page h2{letter-spacing:-.3px;margin-bottom:14px;font-size:17px;font-weight:600}.setting-line{color:var(--text-secondary,#8a9e8c);justify-content:space-between;padding:12px 0;font-size:12px;display:flex}.setting-line strong{color:var(--text-secondary,#607b67);text-transform:capitalize;font-weight:500}.settings-link{width:100%;color:var(--teal);justify-content:flex-start;padding:13px 0;font-size:12px;display:flex}.settings-link svg:last-child:not(:first-child){margin-left:auto}.token-form{gap:15px;margin-top:25px;display:grid}.token-form>button{justify-self:start}.scope-options{flex-wrap:wrap;gap:12px;display:flex}.scope-options .checkbox{margin:0}.token-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-top:20px;padding-top:18px;font-size:12px;display:flex}.token-row small{margin-top:7px;display:block}.token-secret{background:var(--surface-warning,#f7f3e5);border-radius:9px;margin-top:20px;padding:16px;font-size:12px}.token-secret textarea{width:100%;height:85px;font-family:monospace;font-size:11px}.token-secret button{color:var(--teal)}.login-screen,.welcome{background:var(--surface-raised,#fcfefd);justify-content:center;align-items:center;min-height:100dvh;padding:32px;display:flex}.welcome{color:var(--text-secondary,#8fa397);flex-direction:column;gap:22px;font-size:13px}.login-screen{background:radial-gradient(ellipse at 45% 25%, var(--surface-raised,#e6f5ef) 0%, var(--surface-raised,#fbfdfb) 60%)}.login-card{text-align:center;width:100%;max-width:360px}.login-card>img{border-radius:19px;margin-bottom:34px;box-shadow:0 12px 35px #148c8a1b}.login-card h1{font-family:var(--serif);letter-spacing:-1.6px;margin:16px 0;font-size:43px;font-weight:400}.login-card>p:not(.eyebrow):not(.form-error){font-family:var(--serif);color:var(--text-secondary,#869c8b);margin:20px 0 32px;font-size:18px;line-height:1.7}.login-card form{gap:20px;margin-top:25px;display:grid}.login-card label{text-align:left;color:var(--text-secondary,#79947f);font-size:12px}.login-card input{padding:13px}.login-card>small{letter-spacing:.3px;color:var(--text-secondary,#a3b4a4);margin-top:35px;font-size:10px;display:block}.form-error{color:var(--text-danger,#b36e55);margin-top:20px;font-size:12px}.lightbox{z-index:50;background:#101f1bf5;justify-content:center;align-items:center;padding:70px 40px 100px;display:flex;position:fixed;inset:0}.lightbox>.journal-image{background:0 0;border-radius:0;width:100%;max-width:1250px;height:100%}.lightbox img{object-fit:contain}.lightbox-close{right:20px;top:max(18px, env(safe-area-inset-top));color:#fff;z-index:1;position:absolute}.lightbox-actions{bottom:max(22px, env(safe-area-inset-bottom));color:#fff;justify-content:center;align-items:center;gap:25px;font-size:12px;display:flex;position:absolute;left:0;right:0}.archived-original{color:#d6e0db;border:1px solid #ffffff38;border-radius:6px;padding:8px 11px}.lightbox .image-placeholder{color:#bfcec1}.lightbox .journal-image{justify-content:center;align-items:center;display:flex}@media (min-width:1450px){.app-shell{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media (max-width:1050px){.topbar,.page-heading{margin-inline:-38px;padding-inline:38px}.app-shell{grid-template-columns:215px minmax(0,1fr)}.desktop-sidebar{padding:35px 18px}.main-panel{padding:0 38px 70px}.brand img{width:34px;height:34px}.action-menu{right:38px}.timeline-entry{gap:15px}.timeline-thumb{width:75px;height:75px;min-height:75px}}@media (max-width:700px){input,textarea,select,.photo-caption,.token-secret textarea{font-size:16px}:root{background:#fff}.app-shell{min-height:100dvh;display:block}.desktop-sidebar{display:none}.main-panel{padding:0 23px calc(108px + env(safe-area-inset-bottom));width:100%;min-height:100dvh}.topbar{height:calc(48px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background:var(--surface-header,#303b40);color:#fff;border-bottom:0;margin-inline:-23px;padding-inline:23px}.top-actions{color:#fff;gap:3px}.top-actions button{padding:7px}.top-actions button svg{width:19px}.page-heading{padding:calc(16px + env(safe-area-inset-top)) 23px 18px;background:var(--surface-header,#303b40);color:#fff;margin:0 -23px 12px}.page-heading h1{font-size:34px;font-weight:700}.page-heading .eyebrow{color:var(--text-secondary,#d6dfe0)}.eyebrow{margin-bottom:9px}.new-entry-button{width:40px;height:40px}.filter,.date-jump{gap:5px}.date-jump svg{width:14px}.month-label{background:var(--surface-raised,#f2f4f4);padding:10px}.timeline-entry{gap:14px}.date-stamp{gap:6px}.summary-title{letter-spacing:-.3px}.excerpt{font-size:18px;line-height:1.6}.timeline-thumb{border-radius:6px;width:66px;height:74px;min-height:74px}.mobile-nav{background:var(--surface-nav,#ffffffed);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border,#eef2ed);padding:7px 0 calc(9px + env(safe-area-inset-bottom));z-index:10;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-nav nav{justify-content:space-around;align-items:center;display:flex}.mobile-nav .nav-item{white-space:nowrap;color:var(--text-secondary,#526366);background:0 0;border-radius:0;flex-direction:column;flex:1;gap:5px;min-width:0;padding:7px 0;font-size:13px;font-weight:400;display:flex}.mobile-nav .nav-item.active{color:var(--teal);font-weight:600}.mobile-nav .nav-item svg{stroke-width:1.7px;width:21px;height:21px}.empty-state{padding:72px 10px 30px}.empty-state h2{font-size:24px}.empty-state p{font-size:12px}.empty-state .primary-button{padding:12px 15px;font-size:12px}.entry-panel{padding:0 23px 40px}.entry-action-right{gap:18px}.entry-content{padding:0 2px}.entry-date{gap:8px}.entry-title,.entry-prose h1{margin-bottom:18px;font-size:36px;line-height:1.25}.tiptap,.entry-prose{font-size:20px;line-height:1.65}.tiptap{min-height:310px}.editor-toolbar{bottom:calc(12px + env(safe-area-inset-bottom));gap:3px;margin-top:30px;padding:5px}.editor-toolbar button{width:34px}.toolbar-divider{margin:0 3px}.editor-toolbar button:last-of-type{padding:6px 8px}.editor-toolbar button span{font-size:11px}.entry-metadata{margin-top:27px}.action-menu{top:128px;right:23px}.save-status{margin-top:25px}.memory-intro{gap:8px;margin-bottom:22px;padding:12px}.memory-intro p{font-size:12px;line-height:1.5}.memory-intro>svg{flex-shrink:0;width:17px}.search-row{margin-bottom:15px}.search-row input{font-size:16px}.photo-grid{gap:5px;margin-top:22px}.photo-grid .journal-image{border-radius:4px}.photo-grid .photo-status{padding:4px;font-size:8px;bottom:4px;left:4px}.dialog{border-radius:16px;width:calc(100% - 24px);max-height:90dvh}.dialog>header{padding:21px 22px 17px}.dialog-body{padding:23px 22px}.dialog h2{font-size:23px}.details-form{gap:20px}.dialog-actions{gap:8px}.dialog-actions button{padding:11px 13px;font-size:11px}.notice{gap:6px;padding:10px;font-size:11px}.notice button{font-size:10px}.recovery{flex-wrap:wrap}.conflict-versions{grid-template-columns:1fr}.conflict-panel h2{font-size:22px}.conflict-panel{padding:17px}.settings-page{padding-top:24px}.settings-page>h1{font-size:36px}.settings-page section{padding:28px 0}.settings-page .muted{font-size:12px}.scope-options{gap:10px}.lightbox{padding:65px 10px 110px}.lightbox-actions{gap:12px;font-size:11px}.lightbox-actions button{padding:7px}.filter-panel{gap:12px;padding:14px}.filter-panel label,.filter-panel .order-label{font-size:11px}.filter-panel input{padding:9px 8px;font-size:16px}.form-row input{width:100%}}@media (prefers-reduced-motion:reduce){.spin{animation:none}*{scroll-behavior:auto!important}}.entry-actions .text-button{min-height:44px;font-size:18px;font-weight:600}.entry-prose.editable-prose [data-edit-target]{cursor:text}.entry-metadata button{min-height:44px;color:var(--text-secondary,#42565b);font-size:16px}.time-field{border:0;min-width:0;margin:0;padding:0}.time-field legend{margin-bottom:8px;font-size:16px;font-weight:600}.time-controls{gap:5px;display:flex}.time-controls select{flex:1;padding:11px 5px}.details-form label,.details-form input,.details-form select{font-size:16px}.location-status{color:var(--text-secondary,#42565b);margin:0;font-size:15px;line-height:1.5}@media (max-width:700px){.details-form .form-row{grid-template-columns:1fr}.page-heading h1{letter-spacing:-1px;font-size:clamp(28px,8vw,34px)}.new-entry-button{flex-shrink:0;width:44px;height:44px}}.heading-top-actions{color:#fff;background:0 0;flex-shrink:0;align-items:center;gap:8px;margin:0;padding:0;display:flex}.page-heading .heading-title{flex:1;min-width:0}.page-heading{gap:12px}.page-heading .eyebrow{margin-bottom:6px}.page-heading .new-entry-button{flex-shrink:0;width:44px;height:44px}@media (max-width:700px){.page-heading{padding-top:calc(8px + env(safe-area-inset-top));flex-wrap:wrap;gap:0;padding-bottom:12px}.heading-top-actions{order:-1;justify-content:flex-end;width:100%}.page-heading .heading-title{flex:0 0 100%}}.session-recovery{border:1px solid var(--border,#f1e2c5);background:var(--surface-warning,#fff7e9);color:var(--ink);border-radius:10px;margin:16px 0 20px;padding:16px}.session-recovery h2{margin:0 0 6px;font-size:18px}.session-recovery p{margin:0 0 14px;font-size:16px;line-height:1.5}.session-recovery button,.session-recovery a{min-height:44px;font-size:16px}.session-recovery a{align-items:center;margin-left:16px;text-decoration:underline;display:inline-flex}@media (max-width:640px){.session-recovery .primary-button{width:100%}.session-recovery a{margin-left:0}}.page-heading .new-entry-button{z-index:15;color:#fff;background:#3679c9;width:56px;height:56px;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 13px #0003}.page-heading .new-entry-button:hover{background:#2866ad}@media (max-width:700px){.page-heading .new-entry-button{right:calc(max(8px,10vw - 32px) + 4px);bottom:calc(100px + env(safe-area-inset-bottom))}.timeline{padding-bottom:80px}}.welcome .opening-failure{color:var(--text-primary,#253738);text-align:center;max-width:285px;line-height:1.5}.lesson-card{background:var(--surface-raised,#f9fcfa);border:1px solid var(--line);border-radius:9px;margin:14px 0 6px;padding:16px}.lesson-eyebrow{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.lesson-card h2{letter-spacing:-.4px;color:var(--text-primary,#344b3e);margin:0 0 10px;font-size:22px;font-weight:700;line-height:1.25}.lesson-body{color:var(--text-primary,#303b40);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;font-size:18px;line-height:1.6}.lesson-body.clamp{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.lesson-reads{color:var(--muted);margin:0 0 14px;font-size:15px;line-height:1.5}.lesson-actions .lesson-reads{margin-bottom:0}.lesson-from{margin-top:14px}.chip-label{color:var(--muted);margin:10px 0 6px;font-size:13px;font-weight:600}.lesson-chips{flex-wrap:wrap;gap:8px;margin:0 0 4px;display:flex}.lesson-chip{background:var(--wash);border:1px solid var(--border,#c7e3dc);color:var(--teal);border-radius:999px;align-items:center;min-height:36px;padding:7px 12px;font-size:14px;font-weight:600}.lesson-write{min-height:44px;padding:10px 16px;font-size:16px}.lesson-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:12px;display:flex}.lesson-actions .text-button{font-size:15px;font-weight:600}.lesson-writing{color:var(--text-secondary,#42565b);align-items:center;gap:10px;margin:6px 0 8px;font-size:17px;display:flex}.lesson-failed{color:var(--text-danger,#9b4a44);margin:0 0 10px;font-size:17px;line-height:1.5}.lesson-actions+.lesson-failed{margin-top:12px}.lesson-refused{margin:12px 0 0}.lesson-cost{color:var(--text-secondary,#90a39a);margin:10px 0 0;font-size:13px}.lesson-list-head{color:var(--muted);letter-spacing:.4px;text-transform:uppercase;margin:22px 0 0;font-size:14px;font-weight:600}.lesson-reader .entry-date{cursor:default}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--surface-page:#1f1f1f;--surface-raised:#272727;--surface-nav:#191919;--surface-header:#242b2e;--surface-selected:#263c3d;--surface-warning:#3a3022;--surface-toolbar:#272727f2;--calendar-selected:#39634c;--text-primary:#f1f2f4;--text-secondary:#b5bfc1;--text-danger:#e8a4a0;--text-warning:#e9c98f;--border:#454c4f;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f1f2f4;--muted:#b5bfc1;--teal:#7fd5d8;--teal-dark:#9be1e2;--wash:#263c3d;--line:#3a3f42;--page:#1f1f1f;background:#1f1f1f}:root[data-theme=dark] .app-shell{background:#1f1f1f}:root[data-theme=dark] .filter{border-color:#454c4f}@media (max-width:700px){:root[data-theme=dark] .month-label{background:#272727}}:root[data-theme=dark] .desktop-sidebar{background:#191919}:root[data-theme=dark] :is(.sidebar-label,.nav-item,.sidebar-bottom,.filter,.date-jump,.month-label,.date-stamp,.date-stamp strong,.date-stamp span,.summary-meta,.summary-tags,.summary-tag,.entry-date,.entry-date span,.muted,.setting-line,.setting-line strong,.save-status,.entry-metadata,.entry-action-right){color:var(--muted)}:root[data-theme=dark] :is(.topbar,.page-heading){color:#f1f2f4;background:#242b2e}:root[data-theme=dark] .page-heading .eyebrow{color:#c4ced0}:root[data-theme=dark] :is(.summary-title,.entry-title,.entry-prose h1){color:#f1f2f4}:root[data-theme=dark] :is(.excerpt,.entry-prose,.tiptap){color:#d4dcde}:root[data-theme=dark] .nav-item.active{color:var(--teal);background:#263c3d}:root[data-theme=dark] :is(input,select,textarea,.dialog,.action-menu){color:var(--ink);background:#272727;border-color:#454c4f}:root[data-theme=dark] :is(.sidebar-new,.primary-button){color:#142a2c;background:#7fd5d8}:root[data-theme=dark] .mobile-nav{border-color:var(--line);background:#191919}:root[data-theme=dark] .mobile-nav .nav-item.active{color:var(--teal);background:0 0}:root[data-theme=dark] .editor-toolbar{color:#b5bfc1;background:#272727f2;border-color:#454c4f}:root[data-theme=dark] .editor-toolbar button[aria-pressed=true]{background:var(--wash)}:root[data-theme=dark] .favorite-active{color:#e8a4a0}:root[data-theme=dark] .entry-metadata button{color:var(--muted);background:#272727}:root[data-theme=dark] ::selection{color:#f1f2f4;background:#3b6368}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#a0abad}:root[data-theme=dark] .tag-picker .tag-options [aria-pressed=true] .tag-check{color:#142a2c}:root[data-theme=dark] .primary-button:hover,:root[data-theme=dark] .sidebar-new:hover{background:#9be1e2}:root[data-theme=dark] .secondary-button{color:var(--teal);background:#272727}.appearance-button{min-height:44px;color:var(--teal);justify-content:flex-start;padding:8px 0;font-size:16px;display:flex}.appearance-note{margin:8px 0 0}
