:root{--background:#fafafa;--foreground:#171717;--muted:#737373;--link-color:#2563eb;--error:#b91c1c;--ok:#15803d;--journal-entry-date-color:#b84a1a;--journal-accent-blue:#3b82f6;--journal-entry-date-rule-color:var(--journal-accent-blue);--diff-added-bg:#15803d3d;--diff-added-fg:inherit;--diff-removed-bg:#b91c1c38;--diff-removed-fg:inherit;--diff-removed-strike:#b91c1ca6;--entry-badge-bg:#c47a0033;--entry-badge-fg:#9a5f00}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed;--muted:#a3a3a3;--link-color:#60a5fa;--error:#fca5a5;--ok:#86efac;--journal-entry-date-color:#e8956a;--journal-accent-blue:#3b82f6;--journal-entry-date-rule-color:var(--journal-accent-blue);--diff-added-bg:#25633c;--diff-added-fg:#dcfce7;--diff-removed-bg:#693333;--diff-removed-fg:#fee2e2;--diff-removed-strike:#fca5a5;--entry-badge-bg:#4c330a;--entry-badge-fg:#fcd34d}}html,body{min-height:100%}body{color:var(--foreground);background:var(--background);margin:0;font-family:system-ui,-apple-system,sans-serif}main{max-width:32rem;margin:0 auto;padding:3rem 1.5rem}h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}p{margin:0 0 1rem;line-height:1.5}.muted{color:var(--muted);font-size:.875rem}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .75rem;font-size:.875rem;font-weight:600}.checklist{margin-top:1.5rem}.checklist ul{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);border-radius:.5rem;margin:0;padding:0;list-style:none;overflow:hidden}.check{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);grid-template-columns:1fr auto;align-items:start;gap:1rem;padding:.75rem 1rem;font-size:.875rem;display:grid}.check:first-child{border-top:none}.check span{text-align:right;word-break:break-word}.check--ok span{color:var(--ok)}.check--missing span,.check--error span{color:var(--error)}.check--skipped span{color:var(--muted)}code{font-family:ui-monospace,monospace;font-size:.875em}.brand-logo{width:auto;height:auto;display:block}.brand-logo--horizontal{max-width:min(10rem,42vw);max-height:2rem}.brand-logo--stacked{max-width:min(13.75rem,72vw);max-height:9.5rem}.auth-shell{flex-direction:column;align-items:center;gap:1.5rem;width:100%;display:flex}.auth-shell__logo{flex-shrink:0}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.auth-page main,main.auth-page{width:100%;max-width:24rem;min-height:calc(100vh - 4.5rem);margin:0 auto;padding:0}.auth-card{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);border-radius:.75rem;padding:1.5rem}.auth-header{margin-bottom:1.5rem}.auth-header h1{margin-bottom:.25rem}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-field{flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}.auth-field input,.auth-field textarea{font:inherit;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:var(--background);color:var(--foreground);border-radius:.375rem;padding:.625rem .75rem}.auth-field textarea{resize:vertical;min-height:6rem;line-height:1.5}.auth-field input:focus,.auth-field textarea:focus{outline:2px solid color-mix(in srgb, var(--foreground) 30%, transparent);outline-offset:1px}.vertex-ask__response{margin-top:1.5rem}.vertex-ask__meta{margin-bottom:.75rem}.vertex-ask__answer{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);border-radius:.5rem;padding:1rem;font-size:.875rem;line-height:1.6}.vertex-ask__answer>:first-child{margin-top:0}.vertex-ask__answer>:last-child{margin-bottom:0}.vertex-ask__answer p{margin:0 0 .75rem;line-height:1.6}.vertex-ask__answer h1{color:var(--foreground);text-transform:none;letter-spacing:normal;margin:1.5rem 0 .5rem;font-size:1.375rem;font-weight:600}.vertex-ask__answer h2{color:var(--foreground);text-transform:none;letter-spacing:normal;margin:1.25rem 0 .5rem;font-size:1.125rem;font-weight:600}.vertex-ask__answer h3,.vertex-ask__answer h4{color:var(--foreground);text-transform:none;letter-spacing:normal;margin:1rem 0 .5rem;font-size:1rem;font-weight:600}.vertex-ask__answer ul,.vertex-ask__answer ol{margin:0 0 .75rem;padding-left:1.25rem}.vertex-ask__answer li+li{margin-top:.25rem}.vertex-ask__answer ul.contains-task-list{padding-left:0;list-style:none}.vertex-ask__answer li.task-list-item{align-items:flex-start;gap:.5rem;display:flex}.vertex-ask__answer li.task-list-item input[type=checkbox]{flex-shrink:0;margin-top:.2rem}.vertex-ask__answer blockquote{border-left:3px solid color-mix(in srgb, var(--foreground) 25%, transparent);color:color-mix(in srgb, var(--foreground) 80%, transparent);margin:0 0 .75rem;padding-left:1rem}.vertex-ask__answer code{background:color-mix(in srgb, var(--foreground) 8%, transparent);border-radius:.25rem;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875em}.vertex-ask__answer pre{background:color-mix(in srgb, var(--foreground) 8%, transparent);border-radius:.375rem;margin:0 0 .75rem;padding:.75rem 1rem;overflow-x:auto}.vertex-ask__answer pre code{background:0 0;padding:0}.vertex-ask__answer a{color:var(--foreground);text-underline-offset:.15em;text-decoration:underline}.vertex-ask__answer hr{border:none;border-top:2px solid color-mix(in srgb, var(--foreground) 18%, transparent);margin:1.25rem 0}.vertex-ask__answer table{border-collapse:collapse;width:100%;margin:0 0 .75rem;font-size:.8125rem}.vertex-ask__answer th,.vertex-ask__answer td{border:1px solid color-mix(in srgb, var(--foreground) 18%, transparent);text-align:left;vertical-align:top;padding:.5rem .625rem}.vertex-ask__answer th{background:color-mix(in srgb, var(--foreground) 6%, transparent);font-weight:600}.vertex-ask__answer strong{font-weight:600}.auth-button{font:inherit;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);color:var(--foreground);cursor:pointer;background:0 0;border-radius:.375rem;width:100%;padding:.625rem 1rem;font-size:.875rem;font-weight:500}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-button--primary{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.auth-button--google{margin-bottom:0}.auth-divider{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:1rem;margin:1.25rem 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:color-mix(in srgb, var(--foreground) 15%, transparent);flex:1;height:1px}.auth-error{color:var(--error);margin:0;font-size:.875rem}.auth-message{color:var(--ok);margin:0;font-size:.875rem}.auth-footer{text-align:center;margin:1.25rem 0 0;font-size:.875rem}.auth-link{color:var(--foreground);font-weight:500}.auth-actions{gap:1rem;margin-top:1.5rem;font-size:.875rem;display:flex}.auth-actions a{color:var(--foreground)}.user-panel{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);border-radius:.5rem;margin-top:1.5rem;padding:1rem;font-size:.875rem}.user-panel p{margin-bottom:.75rem}.sign-out-form{margin:0}.app-header{border-bottom:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:var(--background);z-index:10;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 1.5rem;display:flex;position:sticky;top:0}.app-header__brand{flex-shrink:1;align-items:center;min-width:0;line-height:0;text-decoration:none;display:flex}.app-header__brand .brand-logo--horizontal{object-fit:contain;object-position:left center;width:auto;max-width:min(9rem,44vw);height:auto;max-height:1.875rem}@media (min-width:768px){.app-header__brand .brand-logo--horizontal{max-width:11.5rem;max-height:2.25rem}}@media (min-width:1024px){.app-header{padding-block:.625rem}.app-header__brand .brand-logo--horizontal{max-width:14rem;max-height:2.75rem}}.app-header__auth{gap:1rem;font-size:.875rem;display:flex}.app-header__nav{align-items:center;gap:1rem;font-size:.875rem;display:flex}.app-header__nav>a:not(.app-header__icon-button){color:var(--foreground);text-decoration:none}.app-header__icon-button{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);width:2.25rem;height:2.25rem;color:var(--foreground);background:0 0;border-radius:.375rem;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.app-header__icon-button:hover{background:color-mix(in srgb, var(--foreground) 6%, transparent)}.app-header__auth a{color:var(--foreground);text-decoration:none}.app-content main{max-width:32rem;margin:0 auto;padding:2rem 1.5rem 3rem}.app-content>main.auth-page{max-width:24rem;padding:2rem 1.5rem}.user-menu{position:relative}.user-menu__trigger{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);color:var(--foreground);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.625rem;padding:.25rem .5rem .25rem .25rem;font-size:.875rem;display:inline-flex}.user-menu__trigger:hover{background:color-mix(in srgb, var(--foreground) 5%, transparent)}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;overflow:hidden}@media (max-width:767px){.user-menu__trigger{border:none;border-radius:999px;padding:0}.user-menu__name{display:none}}.user-menu__panel{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);background:var(--background);width:min(18rem,100vw - 2rem);box-shadow:0 8px 24px color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:.75rem;flex-direction:column;gap:.875rem;padding:1rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.user-menu__profile{align-items:center;gap:.75rem;display:flex}.user-menu__profile-name{margin:0;font-size:.9375rem;font-weight:600}.user-menu__profile-email{margin:.125rem 0 0;font-size:.8125rem}.user-menu__avatar-upload{display:flex}.user-menu__file-input{display:none}.user-menu__sign-out{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);margin:0;padding-top:.25rem}.user-avatar{background:color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.user-avatar--sm{width:2rem;height:2rem;font-size:.6875rem}.user-avatar--md{width:3rem;height:3rem;font-size:.875rem}.user-avatar__image{object-fit:cover;width:100%;height:100%}.user-avatar__initials{letter-spacing:.02em;font-weight:600}.avatar-crop-modal{z-index:100;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.avatar-crop-modal__backdrop{background:color-mix(in srgb, var(--foreground) 40%, transparent);cursor:pointer;border:none;position:absolute;inset:0}.avatar-crop-modal__backdrop:disabled{cursor:not-allowed}.avatar-crop-modal__panel{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);background:var(--background);width:min(28rem,100%);box-shadow:0 12px 32px color-mix(in srgb, var(--foreground) 18%, transparent);border-radius:.75rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex;position:relative}.avatar-crop-modal__header h2{text-transform:none;letter-spacing:normal;color:var(--foreground);margin:0 0 .375rem;font-size:1rem;font-weight:600}.avatar-crop-modal__header p{margin:0}.avatar-crop-modal__panel--wide{width:min(36rem,100%)}.avatar-crop-modal__crop-area{background:color-mix(in srgb, var(--foreground) 8%, transparent);border-radius:.5rem;width:100%;min-height:min(16rem,50vh);position:relative;overflow:auto}.image-crop-modal__crop-area{justify-content:center;align-items:center;padding:.5rem;display:flex}.image-crop-modal__react-crop{max-width:100%}.image-crop-modal__image{width:auto;max-width:100%;height:auto;max-height:min(20rem,55vh);display:block}.image-crop-modal__crop-area .ReactCrop__crop-selection{border:2px solid var(--foreground);box-shadow:0 0 0 9999px color-mix(in srgb, var(--foreground) 45%, transparent)}.image-crop-modal__crop-area .ReactCrop__drag-handle{background:var(--foreground);border:2px solid var(--background);border-radius:1px;width:.625rem;height:.625rem}.image-crop-modal__crop-area .ReactCrop__drag-handle.ord-n,.image-crop-modal__crop-area .ReactCrop__drag-handle.ord-s{border-radius:2px;width:1.5rem;height:.5rem}.image-crop-modal__crop-area .ReactCrop__drag-handle.ord-e,.image-crop-modal__crop-area .ReactCrop__drag-handle.ord-w{border-radius:2px;width:.5rem;height:1.5rem}.image-crop-modal__crop-area .ReactCrop__rule-of-thirds-hz:before,.image-crop-modal__crop-area .ReactCrop__rule-of-thirds-hz:after,.image-crop-modal__crop-area .ReactCrop__rule-of-thirds-vt:before,.image-crop-modal__crop-area .ReactCrop__rule-of-thirds-vt:after{background-color:color-mix(in srgb, var(--foreground) 35%, transparent)}.avatar-crop-modal__actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.avatar-crop-modal__actions .auth-button{width:auto}.app-content main.journal-page{max-width:42rem}.app-content main.journal-page--scans{max-width:52rem}.journal-page__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.journal-page__header h1{margin-bottom:.25rem}.journal-page__date{color:var(--muted);margin:0 0 .375rem;font-size:.875rem}.journal-page__journal-link{margin:0 0 1rem;font-size:.875rem}.journal-page__journal-link a{color:inherit}.journal-page__footer{border-top:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);flex-wrap:wrap;gap:.75rem;margin-top:2rem;padding-top:1.5rem;display:flex}.journal-button{font:inherit;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);color:var(--foreground);cursor:pointer;background:0 0;border-radius:.375rem;justify-content:center;align-items:center;padding:.5rem .875rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.journal-button:disabled{opacity:.6;cursor:not-allowed}.journal-button--primary{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.journal-button--secondary{background:0 0}.journal-button--danger{color:var(--error);border-color:color-mix(in srgb, var(--error) 40%, transparent)}.journal-list__items{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.journal-card{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);border-radius:.75rem;flex-direction:column;gap:1rem;padding:1rem;display:flex}.journal-card__link{width:100%;color:inherit;text-decoration:none;display:block}.journal-entry-date{--journal-entry-date-knockout:.12em;z-index:1;font-family:var(--font-journal-entry-date), "Reenie Beanie", "Segoe Script", cursive;font-weight:400;font-size:inherit;letter-spacing:.02em;color:var(--journal-entry-date-color);paint-order:stroke fill;-webkit-text-stroke:var(--journal-entry-date-knockout) var(--background);text-shadow:0 0 var(--journal-entry-date-knockout) var(--background), 0 0 calc(2 * var(--journal-entry-date-knockout)) var(--background), .05em 0 var(--background), -.05em 0 var(--background), 0 .05em var(--background), 0 -.05em var(--background);text-wrap:balance;margin:0;line-height:1;display:block;position:relative}.journal-entry-date-group{box-sizing:border-box;width:100%;max-width:100%;display:block;position:relative}.journal-entry-date-group--card{margin-bottom:.5rem;font-size:1.75rem}.journal-entry-date-group--detail{margin-bottom:.625rem;font-size:clamp(2rem,6vw,3rem)}.journal-entry-date__rule{z-index:0;border:none;border-top:2px solid var(--journal-entry-date-rule-color);height:0;margin:-.21em -.23em 0;padding:0;display:block;position:relative}.journal-card__title{margin:0 0 .25rem;font-size:1.0625rem;font-weight:600}.journal-card__preview{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}.journal-card__actions{flex-wrap:wrap;gap:.5rem;display:flex}.journal-empty{text-align:center;border:1px dashed color-mix(in srgb, var(--foreground) 20%, transparent);border-radius:.75rem;padding:2rem 1rem}.journal-empty h2{text-transform:none;letter-spacing:normal;color:var(--foreground);margin:0 0 .5rem;font-size:1rem;font-weight:600}.journal-form{flex-direction:column;gap:1.25rem;display:flex}.journal-form__field{flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}.journal-form__field input{font:inherit;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:var(--background);color:var(--foreground);border-radius:.375rem;padding:.625rem .75rem}.journal-form__field input:focus{outline:2px solid color-mix(in srgb, var(--foreground) 30%, transparent);outline-offset:1px}.journal-form__field-hint{margin:0;font-size:.8125rem}.journal-form__color-field{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.journal-form__color-field input[type=text]{min-width:6rem;font:inherit;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:var(--background);color:var(--foreground);border-radius:.375rem;flex:1;padding:.625rem .75rem}.journal-form__color-input{border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:var(--background);cursor:pointer;border-radius:.375rem;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;padding:.125rem}.journal-form__textarea{font:inherit;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:var(--background);color:var(--foreground);resize:vertical;border-radius:.375rem;min-height:5rem;padding:.625rem .75rem}.journal-form__textarea:focus{outline:2px solid color-mix(in srgb, var(--foreground) 30%, transparent);outline-offset:1px}.journal-form__select{font:inherit;font-size:inherit;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background-color:var(--background);color:var(--foreground);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:.75rem;border-radius:.375rem;width:100%;max-width:100%;height:auto;min-height:0;padding:.1875rem 1.75rem .1875rem .5rem;line-height:1.25}.journal-form__select:focus{outline:2px solid color-mix(in srgb, var(--foreground) 30%, transparent);outline-offset:1px}.journal-picker{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.journal-picker__select{flex:14rem;width:auto;min-width:0}.journal-picker__manage-link{color:var(--muted);text-underline-offset:2px;font-size:.8125rem;text-decoration:underline}.journal-picker__manage-link:hover{color:var(--foreground)}.source-journal-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.source-journal-list__item{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:.5rem;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.source-journal-list__cover{object-fit:cover;border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--foreground) 6%, transparent);border-radius:.25rem;flex:0 0 3.5rem;width:3.5rem;height:4.75rem}.source-journal-list__cover--placeholder{display:block}.source-journal-list__main{flex:1;min-width:0}.source-journal-list__title{color:var(--foreground);font-size:1rem;font-weight:600;text-decoration:none}.source-journal-list__title:hover{text-decoration:underline}.source-journal-list__meta{margin:.25rem 0 0;font-size:.8125rem}.source-journal-list__description{color:color-mix(in srgb, var(--foreground) 80%, transparent);margin:.5rem 0 0;font-size:.875rem}.journal-cover-field__hint{margin:0;font-size:.875rem}.journal-cover-field__preview-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.journal-cover-field__preview{object-fit:cover;border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:.375rem;width:7rem;height:auto;max-height:10rem;display:block}.journal-cover-field__actions{flex-wrap:wrap;gap:.5rem;display:flex}.journal-cover-field__upload{align-self:flex-start}.journal-cover-field__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.journal-form__datetime-field{border:none;min-width:0;margin:0;padding:0}.journal-form__datetime-field legend{margin-bottom:.375rem;padding:0}.journal-form__datetime{flex-wrap:wrap;gap:.5rem;display:flex}.journal-form__datetime input[type=date]{flex:10rem;min-width:0}.journal-form__datetime input[type=time]{flex:0 8rem;min-width:0}.journal-form__actions{flex-wrap:wrap;gap:.75rem;display:flex}.journal-form__error{color:var(--error);margin:0;font-size:.875rem}.journal-form__autosave-status{color:var(--muted);margin:0;font-size:.875rem}@keyframes thinking-indicator-spin{to{transform:rotate(360deg)}}.thinking-indicator{align-items:center;gap:.5rem;display:inline-flex}.thinking-indicator__spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:.875rem;height:.875rem;animation:.75s linear infinite thinking-indicator-spin}.journal-editor{border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);border-radius:.5rem;overflow:hidden}.journal-editor--uploading .journal-editor__content{opacity:.85}.journal-editor__error{color:var(--error);margin:0;padding:.5rem 1rem .75rem;font-size:.75rem}.journal-toolbar{border-bottom:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--foreground) 3%, transparent);flex-wrap:wrap;gap:.375rem;padding:.5rem;display:flex}.journal-toolbar__button{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);background:var(--background);width:2rem;height:2rem;color:var(--foreground);cursor:pointer;border-radius:.375rem;justify-content:center;align-items:center;padding:0;display:inline-flex}.journal-toolbar__divider{background:color-mix(in srgb, var(--foreground) 18%, transparent);align-self:center;width:1px;height:1.25rem;margin:0 .125rem}.journal-toolbar__button--active{background:color-mix(in srgb, var(--foreground) 10%, transparent)}.journal-toolbar__button:disabled{opacity:.6;cursor:not-allowed}.journal-toolbar__mobile-actions{display:none}.journal-toolbar__spacer{flex:1;min-width:.5rem}@media (max-width:767px){.journal-toolbar__mobile-actions{flex:100%;align-items:center;gap:.375rem;min-width:0;display:flex}}.journal-editor-fullscreen{z-index:50;background:var(--background);flex-direction:column;display:flex;position:fixed;overflow:hidden}.journal-editor--fullscreen{border:none;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.journal-editor--fullscreen .journal-toolbar{flex-shrink:0}.journal-editor--fullscreen .journal-editor__content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;max-height:none;overflow:hidden auto}.journal-editor--fullscreen .journal-editor__error{flex-shrink:0}.journal-editor--fullscreen .journal-editor__content .tiptap{box-sizing:border-box;min-height:100%}.journal-editor--inline-placeholder{min-height:8rem;color:var(--muted);text-align:center;place-items:center;padding:1rem;font-size:.875rem;display:grid}.journal-toolbar__upload{align-items:center;gap:.5rem;display:flex}.journal-toolbar__file-input{display:none}.journal-toolbar__error{color:var(--error);margin:0;font-size:.75rem}.journal-editor__content{max-height:min(65vh,32rem);overflow-y:auto}.journal-editor__content .tiptap{outline:none;min-height:16rem;padding:1rem}.journal-editor__content .tiptap p,.journal-viewer .tiptap p{margin:0 0 .75rem;line-height:1.6}.journal-editor__content .tiptap h1,.journal-viewer .tiptap h1{color:var(--foreground);text-transform:none;letter-spacing:normal;margin:1.5rem 0 .5rem;font-size:1.5rem;font-weight:600}.journal-editor__content .tiptap h2,.journal-viewer .tiptap h2{color:var(--foreground);text-transform:none;letter-spacing:normal;margin:1.25rem 0 .5rem;font-size:1.25rem;font-weight:600}.journal-editor__content .tiptap h3,.journal-viewer .tiptap h3{color:var(--foreground);text-transform:none;letter-spacing:normal;margin:1rem 0 .5rem;font-size:1.0625rem;font-weight:600}.journal-editor__content .tiptap ul,.journal-editor__content .tiptap ol,.journal-viewer .tiptap ul,.journal-viewer .tiptap ol{margin:0 0 .75rem;padding-left:1.25rem}.journal-editor__content .tiptap img,.journal-viewer .tiptap img{border-radius:.375rem;max-width:100%;height:auto;margin:1rem 0;display:block}.journal-entry:not(.journal-entry--editing) .journal-viewer .tiptap img,.journal-entry:not(.journal-entry--editing) .journal-entry-title__image{cursor:zoom-in}.journal-editor__content .tiptap blockquote,.journal-viewer .tiptap blockquote{border-left:3px solid color-mix(in srgb, var(--foreground) 25%, transparent);color:color-mix(in srgb, var(--foreground) 80%, transparent);margin:0 0 .75rem;padding-left:1rem}.journal-editor__content .tiptap code,.journal-viewer .tiptap code{background:color-mix(in srgb, var(--foreground) 8%, transparent);border-radius:.25rem;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.875em}.journal-editor__content .tiptap pre,.journal-viewer .tiptap pre{background:color-mix(in srgb, var(--foreground) 8%, transparent);border-radius:.375rem;margin:0 0 .75rem;padding:.75rem 1rem;overflow-x:auto}.journal-editor__content .tiptap pre code,.journal-viewer .tiptap pre code{background:0 0;padding:0}.journal-editor__content .tiptap a,.journal-viewer .tiptap a{color:var(--foreground);text-underline-offset:.15em;text-decoration:underline}.journal-editor__content .tiptap ul[data-type=taskList],.journal-viewer .tiptap ul[data-type=taskList]{padding-left:0;list-style:none}.journal-editor__content .tiptap ul[data-type=taskList] li,.journal-viewer .tiptap ul[data-type=taskList] li{align-items:flex-start;gap:.5rem;display:flex}.journal-editor__content .tiptap ul[data-type=taskList] li>label,.journal-viewer .tiptap ul[data-type=taskList] li>label{flex-shrink:0;margin-top:.2rem}.journal-editor__content .tiptap ul[data-type=taskList] li>div,.journal-viewer .tiptap ul[data-type=taskList] li>div{flex:1}.journal-editor__content .tiptap s,.journal-viewer .tiptap s{text-decoration:line-through}.journal-editor__content .tiptap hr,.journal-viewer .tiptap hr{border:none;border-top:2px solid color-mix(in srgb, var(--foreground) 18%, transparent);margin:1.25rem 0}.journal-viewer .tiptap{outline:none;padding:0}.journal-delete{flex-direction:column;gap:.375rem;display:flex}.journal-page__header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.journal-list-with-search{flex-direction:column;gap:1rem;display:flex}.journal-search{flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}.journal-search__label{font-weight:500}.journal-search__input{font:inherit;border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:var(--background);color:var(--foreground);border-radius:.375rem;padding:.625rem .75rem}.journal-search__input:focus{outline:2px solid color-mix(in srgb, var(--foreground) 30%, transparent);outline-offset:1px}.journal-search__meta{margin:0;font-size:.8125rem}.app-content main.journal-page--timeline{padding-right:5rem;position:relative}.journal-timeline{flex-direction:column;gap:1rem;min-height:calc(100vh - 10rem);display:flex}.journal-timeline__controls{flex-direction:column;gap:1rem;display:flex}.journal-timeline__body{flex:1;min-height:28rem;position:relative}.journal-timeline__scroll{scroll-behavior:smooth}html.journal-timeline-page{scrollbar-width:none}html.journal-timeline-page::-webkit-scrollbar{display:none}.journal-timeline__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.journal-timeline__scroll>.journal-empty,.journal-timeline__scroll>.journal-timeline__status,.journal-timeline__scroll>.journal-form__error{width:100%}.journal-timeline__item{flex-direction:column;display:flex}.journal-timeline__divider{border:none;border-top:4px solid color-mix(in srgb, var(--foreground) 18%, transparent);margin:2.5rem 0}.journal-entry__header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.journal-entry__heading{flex:1;width:100%;min-width:0;max-width:100%}.journal-entry__date-row{align-items:flex-start;gap:.875rem;min-width:0;display:flex}.journal-entry__date-row .journal-entry-date-group{flex:1;min-width:0}.journal-entry__journal-cover{object-fit:cover;border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--foreground) 6%, transparent);border-radius:.25rem;flex:0 0 3.25rem;width:3.25rem;height:4.25rem}.journal-entry__title{color:var(--foreground);text-transform:none;letter-spacing:normal;margin:0;font-size:1.5rem;font-weight:600}.journal-entry-title--image{flex-direction:column;align-items:flex-start;gap:0;display:flex}.journal-entry-title__image{object-fit:contain;width:auto;max-width:min(100%,28rem);height:auto;max-height:12rem;display:block}.journal-entry-title__caption{font-size:inherit;font-weight:inherit;color:inherit;margin:.375rem 0 0}.journal-card__title .journal-entry-title__image{max-height:6rem}.journal-card__title .journal-entry-title__caption{font-size:1.0625rem}.journal-form__title-input{align-items:stretch;gap:0;display:flex}.journal-form__title-input input[type=text]{border-top-right-radius:0;border-bottom-right-radius:0;flex:1;min-width:0}.journal-form__title-camera{border:1px solid color-mix(in srgb, var(--foreground) 20%, transparent);background:color-mix(in srgb, var(--foreground) 6%, transparent);width:2.75rem;color:var(--foreground);cursor:pointer;border-left:none;border-radius:0 .375rem .375rem 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.journal-form__title-camera:hover:not(:disabled){background:color-mix(in srgb, var(--foreground) 10%, transparent)}.journal-form__title-camera:disabled{opacity:.6;cursor:not-allowed}.journal-form__title-image-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.journal-form__title-image-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-top:.75rem;display:flex}.journal-form__title-image-actions{flex-wrap:wrap;gap:.5rem;display:flex}.journal-form__title-image-preview{object-fit:contain;border-radius:.375rem;width:auto;max-width:min(100%,16rem);height:auto;max-height:6rem;display:block}.journal-form__title-image-remove{flex-shrink:0}.journal-entry__header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.journal-entry__inline-action{font:inherit;color:var(--foreground);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:500}.journal-entry__inline-action:hover{text-decoration:underline}.journal-entry--editing{padding-top:.25rem}.journal-form--inline{gap:1rem}.journal-form--inline .journal-form__actions{margin-top:.25rem}.journal-timeline__status{margin:0 0 1rem;font-size:.875rem}.journal-timeline__sentinel{height:1px}.journal-scrubber{z-index:5;pointer-events:none;width:5.5rem;height:100vh;position:fixed;top:0;right:0}.journal-scrubber__backdrop{background:linear-gradient(to left, var(--background) 0%, color-mix(in srgb, var(--background) 90%, transparent) 30%, color-mix(in srgb, var(--background) 50%, transparent) 58%, transparent 100%);pointer-events:none;opacity:0;transition:opacity .22s;position:absolute;inset:0}.journal-scrubber__backdrop--visible{opacity:1}.journal-scrubber__panel{pointer-events:none;position:absolute;inset:5.5rem 0 2rem}.journal-date-range{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--foreground) 2%, transparent);border-radius:.625rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.journal-date-range__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.journal-date-range__label{font-size:.875rem;font-weight:500}.journal-date-range__values{font-size:.8125rem}.journal-date-range__track-wrap{height:2rem;position:relative}.journal-date-range__active-track{background:color-mix(in srgb, var(--foreground) 35%, transparent);pointer-events:none;border-radius:999px;height:.25rem;position:absolute;top:50%;transform:translateY(-50%)}.journal-date-range__input{pointer-events:none;appearance:none;background:0 0;width:100%;margin:0;position:absolute;inset:0}.journal-date-range__input::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:999px;height:.25rem}.journal-date-range__input::-webkit-slider-thumb{appearance:none;border:2px solid var(--background);background:var(--foreground);pointer-events:auto;cursor:pointer;border-radius:999px;width:1rem;height:1rem;margin-top:-.375rem}.journal-date-range__input::-moz-range-track{background:color-mix(in srgb, var(--foreground) 12%, transparent);border-radius:999px;height:.25rem}.journal-date-range__input::-moz-range-thumb{border:2px solid var(--background);background:var(--foreground);pointer-events:auto;cursor:pointer;border-radius:999px;width:1rem;height:1rem}.journal-date-range__input--end{z-index:2}.journal-date-range__bounds{justify-content:space-between;font-size:.75rem;display:flex}.journal-scrubber__track{cursor:grab;touch-action:none;pointer-events:auto;width:2.75rem;position:absolute;top:0;bottom:0;right:.75rem}.journal-scrubber__track--active,.journal-scrubber__track:active{cursor:grabbing}.journal-scrubber__thumb{background:color-mix(in srgb, var(--foreground) 45%, transparent);pointer-events:none;border-radius:999px;width:.375rem;height:.375rem;margin-top:-.1875rem;transition:transform .12s,background .12s;position:absolute;right:.35rem}.journal-scrubber__thumb--active{background:var(--journal-accent-blue);transform:scale(1.6)}.journal-scrubber__thumb-grip{display:none}.journal-scrubber__preview{white-space:nowrap;pointer-events:none;transition:opacity .12s;position:absolute;right:2.25rem;transform:translateY(-50%)}.journal-scrubber__preview span{border-bottom:2px solid #0000;padding-bottom:.125rem;font-size:.8125rem;font-weight:500;display:inline-block}.journal-scrubber__preview--active{opacity:1}.journal-scrubber__preview--active span{border-bottom-color:var(--journal-accent-blue)}.journal-scrubber__marker{pointer-events:none;align-items:center;gap:.375rem;display:flex;position:absolute;right:0;transform:translateY(-50%)}.journal-scrubber__dot{background:color-mix(in srgb, var(--foreground) 35%, transparent);border-radius:999px;width:.25rem;height:.25rem}.journal-scrubber__dot--minor{background:color-mix(in srgb, var(--foreground) 22%, transparent);width:.1875rem;height:.1875rem}.journal-scrubber__marker-label{color:color-mix(in srgb, var(--foreground) 55%, transparent);font-size:.6875rem}.journal-scrubber__marker-label--minor{color:color-mix(in srgb, var(--foreground) 40%, transparent);font-size:.625rem}@media (max-width:720px){.app-content main.journal-page{max-width:none}.app-content main.journal-page--timeline{padding-right:1.5rem}.journal-scrubber{width:3.25rem}.journal-scrubber__panel{pointer-events:none;width:100%;height:min(70vh,32rem);inset:50% 0 auto;transform:translateY(-50%)}.journal-scrubber__track{cursor:default;touch-action:auto;pointer-events:none;width:100%;height:100%;margin:0;position:relative;right:0}.journal-scrubber__preview{right:2.75rem}.journal-scrubber__thumb{background:color-mix(in srgb, var(--foreground) 14%, var(--background));border:1px solid color-mix(in srgb, var(--foreground) 16%, transparent);width:1.625rem;height:3.25rem;box-shadow:-2px 0 8px color-mix(in srgb, var(--foreground) 8%, transparent);opacity:0;pointer-events:auto;cursor:grab;touch-action:none;border-right:none;border-radius:1.625rem 0 0 1.625rem;margin-top:0;transition:opacity .12s,transform .12s,background .12s,border-color .12s;right:0;transform:translateY(-50%)}.journal-scrubber__thumb--active{background:var(--journal-accent-blue);border-color:color-mix(in srgb, var(--journal-accent-blue) 70%, transparent);cursor:grabbing;transform:translateY(-50%)}.journal-scrubber__thumb-grip{pointer-events:none;justify-content:center;align-items:center;gap:.3125rem;height:100%;padding-right:.125rem;display:flex}.journal-scrubber__thumb-grip span{background:color-mix(in srgb, var(--foreground) 42%, transparent);border-radius:999px;width:.125rem;height:1.125rem;display:block}.journal-scrubber__thumb--active .journal-scrubber__thumb-grip span{background:color-mix(in srgb, var(--background) 88%, transparent)}.journal-scrubber__thumb--visible{opacity:1}.journal-scrubber__marker-label,.journal-scrubber__dot{opacity:0;transition:opacity .12s}.journal-scrubber--dragging .journal-scrubber__marker-label,.journal-scrubber--dragging .journal-scrubber__dot{opacity:1}}.journal-entry__meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.journal-entry-badge{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.journal-entry-badge--unsaved{background:var(--entry-badge-bg);color:var(--entry-badge-fg)}.journal-entry-badge--current{color:#1a7f37;background:#1a7f3729}.journal-unsaved-banner{background:#c47a0014;border:1px solid #c47a0047;border-radius:.75rem;gap:.75rem;margin-bottom:1.25rem;padding:1rem 1.125rem;display:grid}.journal-unsaved-banner__text{margin:0}.journal-unsaved-banner__actions{flex-wrap:wrap;gap:.5rem;display:flex}.journal-button--small{min-height:2rem;padding:.375rem .75rem;font-size:.8125rem}.journal-scan-entry-form__upload-actions{flex-wrap:wrap;gap:.5rem;display:flex}.journal-scan-entry-form__upload-actions .journal-button{gap:.375rem}.journal-scan-entry-form__hint{margin:0;font-size:.8125rem}.journal-scan-entry-form__entry{border-top:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);margin-top:2rem;padding-top:2rem}.journal-rich-text-static__end{height:0;overflow:hidden}.journal-scan-entry-form__entry--transcribing .journal-viewer{min-height:8rem}.journal-scan-entry-form__entry--transcribing .journal-viewer .tiptap{transition:none}.journal-scan-entry-form__prompt{flex-direction:column;gap:.75rem;display:flex}.journal-scan-entry-form__prompt-summary{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.ingestion-prompt-version{font-size:.8125rem;font-weight:400}.ingestion-prompt-version--warning{color:var(--warning,#b45309)}.journal-scan-entry-form__prompt-input{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--foreground) 3%, transparent);width:100%;min-height:12rem;color:var(--foreground);resize:vertical;border-radius:.5rem;padding:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;line-height:1.5}.journal-scan-entry-form__instructions-input{min-height:6rem;font-family:inherit}.journal-scan-entry-form__prompt-input:disabled{opacity:.6}.journal-scan-gallery{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.journal-scan-gallery__item{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:color-mix(in srgb, var(--foreground) 3%, transparent);border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.journal-scan-gallery__item--dragging{opacity:.55}.journal-scan-gallery__item--drag-over{border-color:color-mix(in srgb, var(--foreground) 35%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--foreground) 20%, transparent)}.journal-scan-gallery__header{align-items:center;gap:.375rem;display:flex}.journal-scan-gallery__drag-handle{color:color-mix(in srgb, var(--foreground) 65%, transparent);cursor:grab;background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.125rem;display:inline-flex}.journal-scan-gallery__drag-handle:disabled{opacity:.5;cursor:not-allowed}.journal-scan-gallery__drag-handle:not(:disabled):hover{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 8%, transparent)}.journal-scan-gallery__page-label{flex:1;font-size:.8125rem;font-weight:600}.journal-scan-gallery__reorder{gap:.125rem;display:inline-flex}.journal-scan-gallery__reorder-button{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);width:1.75rem;height:1.75rem;color:var(--foreground);cursor:pointer;background:0 0;border-radius:.25rem;justify-content:center;align-items:center;padding:0;display:inline-flex}.journal-scan-gallery__reorder-button:disabled{opacity:.35;cursor:not-allowed}.journal-scan-gallery__reorder-button:not(:disabled):hover{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.journal-scan-gallery__image{aspect-ratio:3/4;object-fit:cover;border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);background:color-mix(in srgb, var(--foreground) 5%, transparent);border-radius:.375rem;width:100%;display:block}.journal-scan-gallery__actions{flex-direction:column;gap:.375rem;display:flex}.journal-scan-gallery__actions .journal-button{width:100%}.entry-source-scans{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);margin-top:1.5rem;padding-top:1.25rem}.entry-source-scans--edit{border-top:none;margin-top:0;margin-bottom:1.5rem;padding-top:0}.entry-source-scans__upload-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.entry-source-scans__upload-actions .journal-button{align-items:center;gap:.375rem;display:inline-flex}.entry-source-scans__empty{margin:0;font-size:.875rem}.entry-source-scans__header{margin-bottom:.75rem}.entry-source-scans__title{margin:0 0 .25rem;font-size:1rem;font-weight:600}.entry-source-scans__hint{margin:0;font-size:.875rem}.entry-source-scans__gallery{margin-top:.5rem}.entry-source-scans__item{cursor:default}.entry-source-scans__image-button{cursor:zoom-in;background:0 0;border:none;border-radius:.375rem;width:100%;padding:0;display:block}.entry-source-scans__image-button:hover .journal-scan-gallery__image,.entry-source-scans__image-button:focus-visible .journal-scan-gallery__image{border-color:color-mix(in srgb, var(--foreground) 30%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--foreground) 12%, transparent)}.entry-source-scans__image-button:focus-visible{outline:none}.entry-locations{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);margin-top:1.5rem;padding-top:1.25rem}.entry-locations--edit{border-top:none;margin-top:0;margin-bottom:1.5rem;padding-top:0}.entry-locations__header{margin-bottom:.75rem}.entry-locations__title{margin:0 0 .25rem;font-size:1rem;font-weight:600}.entry-locations__hint,.entry-locations__empty{margin:0;font-size:.875rem}.entry-locations__list{gap:.625rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.entry-locations__item{align-items:flex-start;gap:.625rem;display:flex}.entry-locations__icon{color:color-mix(in srgb, var(--foreground) 65%, transparent);flex:none;margin-top:.125rem}.entry-locations__content{flex:1;min-width:0}.entry-locations__link{color:inherit;font-weight:500;text-decoration:none}.entry-locations__link:hover,.entry-locations__link:focus-visible{text-decoration:underline}.entry-locations__address{margin:.125rem 0 0;font-size:.8125rem}.entry-locations__add-button{align-items:center;gap:.375rem;display:inline-flex}.entry-locations-dialog__header{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;display:flex}.entry-locations-dialog__header h2{margin:0;font-size:1.125rem}.entry-locations-dialog__body{padding:1rem 1.25rem 1.25rem}.entry-locations-dialog__results{gap:.375rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.entry-locations-dialog__result{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:.5rem;gap:.125rem;padding:.75rem .875rem;display:grid}.entry-locations-dialog__result:hover:not(:disabled),.entry-locations-dialog__result:focus-visible:not(:disabled){border-color:color-mix(in srgb, var(--foreground) 24%, transparent);background:color-mix(in srgb, var(--foreground) 4%, transparent)}.entry-locations-dialog__result:disabled{cursor:wait;opacity:.7}.entry-locations-dialog__result-primary{font-weight:500}.entry-locations-dialog__result-secondary,.entry-locations-dialog__result-status,.entry-locations-dialog__empty{font-size:.875rem}.camera-capture-modal{z-index:100;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.camera-capture-modal__backdrop{background:color-mix(in srgb, var(--foreground) 40%, transparent);cursor:pointer;border:none;position:absolute;inset:0}.camera-capture-modal__backdrop:disabled{cursor:not-allowed}.camera-capture-modal__panel{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent);background:var(--background);width:min(32rem,100%);box-shadow:0 12px 32px color-mix(in srgb, var(--foreground) 18%, transparent);border-radius:.75rem;flex-direction:column;gap:1rem;padding:1.25rem;display:flex;position:relative}.camera-capture-modal__header h2{text-transform:none;letter-spacing:normal;color:var(--foreground);margin:0 0 .375rem;font-size:1rem;font-weight:600}.camera-capture-modal__header p{margin:0}.camera-capture-modal__preview{background:#000;border-radius:.5rem;width:100%;min-height:min(18rem,55vh);position:relative;overflow:hidden}.camera-capture-modal__video{object-fit:contain;background:#000;width:100%;max-height:min(28rem,60vh);display:block}.camera-capture-modal__status{color:#fff;background:#00000073;place-items:center;margin:0;font-size:.875rem;display:grid;position:absolute;inset:0}.camera-capture-modal__device-controls{flex-wrap:wrap;gap:.5rem;display:flex}.camera-capture-modal__switch{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.camera-capture-modal__actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.camera-capture-modal__capture{gap:.375rem}.journal-modal-backdrop{z-index:50;background:#00000073;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.journal-modal{background:var(--background);border-radius:.875rem;width:min(100%,48rem);max-height:min(90vh,40rem);overflow:auto;box-shadow:0 24px 48px #0000002e}.journal-diff-modal__header,.journal-diff-modal__footer{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.journal-diff-modal__footer{border-bottom:none;border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}.journal-diff-modal__header h2{margin:0;font-size:1.125rem}.journal-diff-content,.journal-diff-modal__body{white-space:pre-wrap;word-break:break-word;margin:0;font-size:.9375rem;line-height:1.65}.journal-diff-modal__body{padding:1rem 1.25rem;overflow:auto}.journal-unsaved-diff{border:1px solid color-mix(in srgb, var(--entry-badge-fg) 25%, transparent);background:color-mix(in srgb, var(--entry-badge-bg) 25%, transparent);border-radius:.625rem;margin-top:.75rem;padding:.875rem 1rem}.journal-diff-segment--added{background:var(--diff-added-bg);color:var(--diff-added-fg);border-radius:.125rem}.journal-diff-segment--removed{background:var(--diff-removed-bg);color:var(--diff-removed-fg);text-decoration:line-through;-webkit-text-decoration-color:var(--diff-removed-strike);text-decoration-color:var(--diff-removed-strike);border-radius:.125rem}.journal-revision-history{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);margin-top:2rem;padding-top:1.5rem}.journal-revision-history__list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.journal-revision-history__item{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.journal-revision-history__actions{flex-wrap:wrap;gap:.5rem;display:flex}.journal-image-lightbox{z-index:60;justify-content:center;align-items:stretch;padding:1rem;display:flex;position:fixed;inset:0}.journal-image-lightbox__backdrop{cursor:zoom-out;background:#000000d1;border:none;position:absolute;inset:0}.journal-image-lightbox__panel{z-index:1;background:color-mix(in srgb, var(--background) 92%, black);border-radius:.875rem;flex-direction:column;width:min(100%,72rem);max-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #00000059}.journal-image-lightbox__toolbar{border-bottom:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.journal-image-lightbox__zoom-controls{align-items:center;gap:.375rem;display:flex}.journal-image-lightbox__zoom-label{font-variant-numeric:tabular-nums;text-align:center;min-width:3.5rem;color:color-mix(in srgb, var(--foreground) 75%, transparent);font-size:.875rem}.journal-image-lightbox__icon-button{border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent);background:color-mix(in srgb, var(--foreground) 4%, transparent);width:2.25rem;height:2.25rem;color:var(--foreground);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;display:inline-flex}.journal-image-lightbox__icon-button:hover:not(:disabled){background:color-mix(in srgb, var(--foreground) 10%, transparent)}.journal-image-lightbox__icon-button:disabled{opacity:.45;cursor:not-allowed}.journal-image-lightbox__close{margin-left:auto}.journal-image-lightbox__viewport{flex:1;justify-content:center;align-items:center;min-height:0;padding:1rem;display:flex;overflow:auto}.journal-image-lightbox__image{-webkit-user-select:none;user-select:none;border-radius:.375rem;max-width:none;height:auto;display:block}@media (max-width:767px){.journal-image-lightbox{padding:0}.journal-image-lightbox__panel{width:100%;height:100%;max-height:none;box-shadow:none;border-radius:0}.journal-image-lightbox__viewport{padding:0}.journal-image-lightbox__image{border-radius:0}}.person-list{gap:1rem;display:grid}.person-list__controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.person-list__archived-toggle{align-items:center;gap:.375rem;font-size:.875rem;display:inline-flex}.person-list__items{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.person-list__item{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:.75rem;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.person-list__avatar{object-fit:cover;border-radius:999px;flex-shrink:0;width:3.5rem;height:3.5rem}.person-list__avatar--placeholder{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.person-list__main{flex:1;min-width:0}.person-list__title{color:var(--foreground);font-weight:600;text-decoration:none}.person-list__title:hover{text-decoration:underline}.person-chip{background:color-mix(in srgb, var(--foreground) 8%, transparent);border-radius:999px;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.875rem;display:inline-flex}.person-chip__link{color:inherit;text-decoration:none}.person-chip__link:hover{text-decoration:underline}.person-chip__remove{color:color-mix(in srgb, var(--foreground) 70%, transparent);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.person-form__section{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);margin-top:2rem;padding-top:1.5rem}.person-form__nickname-input{gap:.5rem;display:flex}.person-form__nickname-list{flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.person-form__relationship-editor,.person-form__relationship-actions{gap:.75rem;margin-top:1rem;display:grid}.person-form__primary-toggle{align-items:center;gap:.375rem;margin-bottom:.75rem;font-size:.875rem;display:inline-flex}.person-relationship-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.person-relationship-list__item{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);border-radius:.75rem;justify-content:space-between;gap:1rem;padding:.875rem 1rem;display:flex}.person-relationship-list__type{margin:0;font-weight:600}.person-relationship-list__dates,.person-relationship-list__notes{margin:.25rem 0 0}.person-relationship-list__actions{flex-wrap:wrap;gap:.5rem;display:flex}.person-image-gallery__upload{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.person-image-gallery__file-input{display:none}.person-image-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.person-image-gallery__item{gap:.5rem;display:grid}.person-image-gallery__image-button{cursor:zoom-in;background:0 0;border:none;border-radius:.5rem;width:100%;padding:0;display:block}.person-image-gallery__image{aspect-ratio:1;object-fit:cover;border-radius:.5rem;width:100%}.person-image-gallery__placeholder{aspect-ratio:1;background:color-mix(in srgb, var(--foreground) 8%, transparent);border-radius:.5rem;place-items:center;display:grid}.person-image-gallery__badge{font-size:.75rem;font-weight:600;display:inline-block}.person-image-gallery__actions{flex-wrap:wrap;gap:.5rem;display:flex}.person-detail{max-width:40rem}.person-detail__toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.person-detail__back{color:var(--muted);font-size:.875rem;text-decoration:none}.person-detail__back:hover{color:var(--foreground);text-decoration:underline}.person-detail__profile{align-items:center;gap:1.25rem;margin-bottom:2rem;display:flex}.person-detail__avatar{object-fit:cover;border-radius:999px;flex-shrink:0;width:5rem;height:5rem}.person-detail__avatar--placeholder{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.person-detail__identity{min-width:0}.person-detail__identity h1{margin:0;font-size:1.5rem;line-height:1.2}.person-detail__subtitle{margin:.25rem 0 0;font-size:.9375rem}.person-detail__badge{text-transform:uppercase;letter-spacing:.04em;margin:.375rem 0 0;font-size:.8125rem}.person-detail__details,.person-detail__images,.person-detail__entries{border-top:1px solid color-mix(in srgb, var(--foreground) 8%, transparent);margin-top:2rem;padding-top:2rem}.person-detail__label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 1rem;font-size:.8125rem;font-weight:600}.person-detail__meta{grid-template-columns:minmax(5rem,auto) 1fr;gap:.625rem 1.25rem;margin:0;display:grid}.person-detail__meta dt{color:var(--muted);margin:0;font-size:.875rem}.person-detail__meta dd{margin:0;font-size:.9375rem}.person-detail__notes{white-space:pre-wrap;line-height:1.5}.person-detail__relationships{margin-top:1.5rem}.person-detail__entries .journal-list,.person-detail__entries .journal-empty{margin-top:0}.person-picker-dialog__header,.entry-people__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.person-picker-dialog__header h2,.entry-people__title{margin:0;font-size:1rem}.person-picker-dialog__body{padding:1rem 1.25rem 1.25rem}.person-picker-dialog__results{gap:.5rem;max-height:18rem;margin:1rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.person-picker-dialog__result{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);width:100%;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:.625rem;align-items:center;padding:.625rem .75rem;display:flex}.person-picker-dialog__result:hover:not(:disabled),.person-picker-dialog__result:focus-visible:not(:disabled){background:color-mix(in srgb, var(--foreground) 6%, transparent)}.person-picker-dialog__result-primary{font-weight:500}.person-picker-dialog__result-secondary,.person-picker-dialog__status{font-size:.875rem}.entry-people,.entry-people--edit{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent);margin-top:1.5rem;padding-top:1.5rem}.entry-people__hint,.entry-people__empty{margin:.375rem 0 0;font-size:.875rem}.entry-people__chips{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.entry-people__add-button{margin-top:.75rem}.person-mention{color:var(--link-color);font-weight:500}.person-mention--interactive{color:var(--link-color);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;text-decoration:none;display:inline}.person-mention--interactive:hover,.person-mention--interactive:focus-visible{text-underline-offset:.15em;text-decoration:underline}.person-mention-node{display:inline}.journal-editor__content .tiptap .person-mention,.journal-viewer .tiptap .person-mention{color:var(--link-color)}.person-preview-card__backdrop{z-index:70;background:0 0;position:fixed;inset:0}.person-preview-card{z-index:75;border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:var(--background);width:min(18rem,100vw - 1.5rem);color:var(--foreground);border-radius:.75rem;padding:1rem;position:fixed;box-shadow:0 12px 32px #0000002e}.person-preview-card__status{margin:0}.person-preview-card__header{align-items:center;gap:.75rem;display:flex}.person-preview-card__avatar{object-fit:cover;border-radius:999px;flex-shrink:0;width:3rem;height:3rem}.person-preview-card__avatar--placeholder{background:color-mix(in srgb, var(--foreground) 10%, transparent);display:block}.person-preview-card__heading{min-width:0}.person-preview-card__name{margin:0;font-weight:600}.person-preview-card__full-name,.person-preview-card__relationship,.person-preview-card__meta{margin:.125rem 0 0;font-size:.875rem}.person-preview-card__notes{white-space:pre-wrap;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:.75rem 0 0;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.person-preview-card__footer{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.person-mention-suggestion{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent);background:var(--background);min-width:14rem;max-width:22rem;color:var(--foreground);border-radius:.625rem;padding:.5rem;box-shadow:0 8px 24px #0000001f}.person-mention-suggestion__list{max-height:16rem;margin:0;padding:0;list-style:none;overflow-y:auto}.person-mention-suggestion__item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;padding:.5rem .625rem;display:flex}.person-mention-suggestion__item--active,.person-mention-suggestion__item:hover{background:color-mix(in srgb, var(--foreground) 8%, transparent)}.person-suggestion-row{align-items:center;gap:.625rem;min-width:0;display:flex}.person-suggestion-row__avatar{object-fit:cover;border-radius:999px;flex-shrink:0;width:2rem;height:2rem}.person-suggestion-row__avatar--placeholder{background:color-mix(in srgb, var(--foreground) 10%, transparent);display:block}.person-suggestion-row__name{color:var(--foreground);font-weight:500}.person-suggestion-row__relationship{font-size:.8125rem}
