:root{--float-gap: max(16px, calc(env(safe-area-inset-bottom, 0px) - 14px) );--surface: #f4f2ec;--surface-raised: #fbfaf5;--surface-sunken: #e9e6dd;--ink: #232320;--ink-muted: #6c6960;--ink-faint: #97948a;--accent: #5a6b52;--accent-ink: #fbfaf5;--stamp: #a9662f;--line: #d6d2c6;--focus: #5a6b52;--font-display: Georgia, "Times New Roman", serif;--font-body: system-ui, -apple-system, sans-serif;--font-ui: system-ui, -apple-system, sans-serif;--font-meta: ui-monospace, "Cascadia Mono", Consolas, monospace;--style-display: normal;--w-display: 600;--w-body: 400;--w-strong: 600;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--leading-body: 1.7;--tracking-meta: .12em;--ui-text-sm: .875rem;--ui-text-base: 1rem;--ui-leading: 1.6;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 12px;--border-w: 1px;--shadow-1: none;--shadow-2: 0 2px 10px rgba(0, 0, 0, .07);--texture: none;--dur-quick: .12s;--dur-base: .22s;--ease: cubic-bezier(.2, 0, 0, 1);--icon-weight: regular;--icon-size-sm: 18px;--icon-size-base: 22px;--icon-size-lg: 28px}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden;overscroll-behavior-x:none;width:100%}body{background:var(--surface);background-image:var(--texture);color:var(--ink);font-family:var(--font-ui);font-weight:var(--w-body);font-size:var(--ui-text-base);line-height:var(--ui-leading);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}a{color:var(--accent)}.btn-accent{background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-4);font-weight:var(--w-strong);cursor:pointer;min-height:40px;transition:filter var(--dur-quick) var(--ease)}.btn-accent:hover{filter:brightness(1.08)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-loading{min-height:100vh;display:grid;place-items:center}.app-loading__word{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-2xl);color:var(--ink-muted)}.app{min-height:100vh}.app__main{max-width:760px;margin:0 auto;padding:var(--sp-6) var(--sp-4) calc(var(--sp-8) + env(safe-area-inset-bottom,0px));min-width:0}.app--chrome-dense .app__main{padding-top:var(--sp-4)}.app--nav-adaptive{display:grid;grid-template-columns:220px minmax(0,1fr)}.app--nav-adaptive .app__main{grid-column:2}.nav--adaptive{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);border-right:var(--border-w) solid var(--line)}.nav__brand{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-xl);color:var(--ink);text-decoration:none;margin-bottom:var(--sp-4)}.nav__items{display:flex;flex-direction:column;gap:var(--sp-1);flex:1}.nav-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--ink-muted);text-decoration:none;font-size:var(--ui-text-sm);min-height:40px}.nav-item:hover{color:var(--ink);background:var(--surface-raised)}.nav-item--active{color:var(--ink);background:var(--surface-raised);box-shadow:var(--shadow-1)}.nav-icon{width:var(--icon-size-base);height:var(--icon-size-base);flex:none}.nav__footer{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:auto}.nav__lab-link{display:flex;align-items:center;gap:var(--sp-2);color:var(--ink-faint);font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);text-decoration:none;padding:var(--sp-1) var(--sp-3)}.nav__lab-link .nav-icon{width:var(--icon-size-sm);height:var(--icon-size-sm)}.nav-fab{display:flex;align-items:center;justify-content:center;gap:var(--sp-2);background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-4);font-weight:var(--w-strong);cursor:pointer;min-height:44px;transition:filter var(--dur-quick) var(--ease)}.nav-fab:hover{filter:brightness(1.08)}.nav-compose{display:none}.nav--command-bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-4);background:var(--surface-raised);border-bottom:var(--border-w) solid var(--line)}.nav--command-bar .nav__brand{margin:0;font-size:var(--text-lg)}.nav__palette-trigger{display:flex;align-items:center;gap:var(--sp-2);flex:1;max-width:420px;text-align:left;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);color:var(--ink-muted);cursor:pointer;min-height:40px}.nav__palette-trigger .nav-icon{width:var(--icon-size-sm);height:var(--icon-size-sm)}.nav__palette-trigger kbd{margin-left:auto;font-family:var(--font-meta);font-size:var(--text-xs);color:var(--ink-faint)}.palette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0006;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}.palette__panel{width:min(480px,92vw);background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden}.palette__input{width:100%;border:none;border-bottom:var(--border-w) solid var(--line);background:transparent;color:var(--ink);padding:var(--sp-4);font-size:var(--text-lg)}.palette__input:focus{outline:none}.palette__list{list-style:none;margin:0;padding:var(--sp-2)}.palette__option{display:block;width:100%;text-align:left;background:none;border:none;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;min-height:40px}.palette__option:hover{background:var(--surface);color:var(--accent)}.sync-pill{position:fixed;bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px));left:var(--sp-4);z-index:50;background:var(--stamp);color:var(--accent-ink);font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);padding:var(--sp-1) var(--sp-3);border-radius:999px;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}@media(max-width:767px){.app--nav-adaptive .sync-pill{bottom:calc(80px + env(safe-area-inset-bottom,0px))}.app--nav-hidden.app--nav-adaptive .sync-pill{bottom:calc(var(--sp-4) + env(safe-area-inset-bottom,0px))}}.sync-pill--signin{border:none;cursor:pointer;background:var(--accent);color:var(--accent-ink);font-weight:700}.storage-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);background:var(--stamp);color:var(--accent-ink);font-size:var(--ui-text-sm);font-weight:600;line-height:1.35}.storage-banner__action{flex:none;min-height:40px;padding:0 var(--sp-4);border:none;border-radius:999px;background:var(--surface-raised);color:var(--ink);font-family:var(--font-ui);font-weight:700;cursor:pointer}.update-toast{position:fixed;top:var(--sp-4);left:50%;transform:translate(-50%);z-index:80;background:var(--accent);color:var(--accent-ink);border:none;border-radius:999px;padding:var(--sp-2) var(--sp-5);cursor:pointer;box-shadow:var(--shadow-2);min-height:44px;width:max-content;max-width:min(92vw,420px)}@media(max-width:767px){.app--nav-adaptive{grid-template-columns:minmax(0,1fr)}.app--nav-adaptive .app__main{grid-column:1;padding-left:var(--sp-5);padding-right:var(--sp-5);padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));margin:0}.nav--adaptive{position:fixed;bottom:0;top:auto;left:0;right:0;height:auto;flex-direction:row;align-items:center;padding:6px var(--sp-3) env(safe-area-inset-bottom,0px);border-right:none;border-top:var(--border-w) solid var(--line);background:color-mix(in srgb,var(--surface-raised) 96%,transparent);z-index:40;gap:0;transform:translateZ(0)}.nav--adaptive .nav__brand{display:none}.nav--adaptive .nav__items{flex-direction:row;flex:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:0}.nav--adaptive .nav-item--wide{display:none}.nav--adaptive .nav__items>.nav-item:nth-child(n+3){order:2}.nav--adaptive .nav-item{flex-direction:column;justify-content:center;gap:3px;padding:0;min-height:52px;border-radius:0;background:none;box-shadow:none;font-size:.6875rem;font-weight:500;letter-spacing:.01em}.nav--adaptive .nav-item--active{color:var(--accent);font-weight:700;background:none;box-shadow:none}.nav--adaptive .nav-item .nav-icon{width:24px;height:24px}.nav--adaptive .nav-compose{order:1;justify-self:center;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 32%,transparent)}.nav--adaptive .nav-compose .nav-icon{width:26px;height:26px}.nav--adaptive .nav__footer,.nav--adaptive.nav--hidden{display:none}.app--nav-hidden.app--nav-adaptive .app__main{padding-bottom:calc(var(--sp-6) + env(safe-area-inset-bottom,0px))}.nav--adaptive.nav--composing{display:none}.app--composing.app--nav-adaptive .app__main{padding-top:var(--sp-4);padding-bottom:calc(96px + var(--kb-inset, 0px) + var(--float-gap))}}.timeline{display:flex;flex-direction:column;gap:var(--sp-5)}.timeline__header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);padding-top:var(--sp-5)}.timeline__heading{display:flex;flex-direction:column;gap:6px;min-width:0}.timeline__eyebrow{font-family:var(--font-meta);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--stamp)}.timeline__title{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:2.4rem;line-height:1;letter-spacing:-.015em;margin:0}.timeline__settings,.read__btn{width:44px;height:44px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:var(--border-w) solid var(--line);background:var(--surface-raised);color:var(--ink);cursor:pointer;padding:0}.timeline__settings svg,.read__btn svg{width:20px;height:20px}@media(min-width:768px){.app--nav-adaptive .timeline__settings{display:none}}.prompt-card{display:flex;align-items:center;gap:var(--sp-4);padding:18px var(--sp-4) 18px var(--sp-5);border-radius:var(--radius-lg);border:var(--border-w) solid var(--line);background:var(--surface-raised);color:var(--ink);text-decoration:none}.prompt-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.prompt-card__eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--stamp)}.prompt-card__question{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:1.35rem;line-height:1.2}.prompt-card__action{width:48px;height:48px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:var(--accent-ink)}.prompt-card__action svg{width:22px;height:22px}.filter-chips{display:flex;gap:var(--sp-2);overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--sp-5));padding:0 var(--sp-5)}.filter-chips::-webkit-scrollbar{display:none}.filter-chip{flex:none;min-height:38px;padding:0 var(--sp-4);border-radius:999px;border:var(--border-w) solid var(--line);background:var(--surface-raised);color:var(--ink);font-family:var(--font-ui);font-size:var(--ui-text-sm);font-weight:500;cursor:pointer}.filter-chip--active{background:var(--ink);border-color:var(--ink);color:var(--surface)}.timeline__list,.timeline__slot{display:flex;flex-direction:column}.timeline__month{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin:var(--sp-3) 0 var(--sp-4)}.timeline__slot:first-child .timeline__month{margin-top:0}.timeline__month-name{margin:0;font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:1.35rem}.timeline__month-count{font-size:var(--ui-text-sm);color:var(--ink-muted)}.timeline__empty{text-align:center;color:var(--ink-muted);padding:var(--sp-8) 0;display:grid;gap:var(--sp-4);justify-items:center}.on-this-day{border:var(--border-w) solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);padding:var(--sp-3) var(--sp-4)}.on-this-day__title{font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--stamp);margin:0 0 var(--sp-1)}.on-this-day__item{display:flex;gap:var(--sp-3);align-items:baseline;padding:var(--sp-2) 0;min-height:44px;box-sizing:border-box;color:var(--ink);text-decoration:none}.on-this-day__item:hover .on-this-day__text{color:var(--accent)}.on-this-day__year{font-family:var(--font-meta);font-size:var(--text-xs);color:var(--ink-muted)}.entry-card{margin-bottom:var(--sp-4)}.entry-card__link{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"photos" "main" "meta";background:var(--surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);overflow:hidden;color:var(--ink)}.entry-card__photos{grid-area:photos;display:grid;gap:3px;height:170px;color:inherit;text-decoration:none}.entry-card__photos--2{grid-template-columns:2fr 1fr;height:150px}.entry-card__photos--3{grid-template-columns:repeat(3,minmax(0,1fr));height:110px}.entry-card__photo{position:relative;display:block;background:var(--surface-sunken);overflow:hidden}.entry-card__photo img{width:100%;height:100%;object-fit:cover;display:block}.entry-card__more{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--surface) 55%,transparent);color:var(--ink);font-weight:600;font-size:var(--ui-text-sm)}.entry-card__date{grid-area:date;display:none}.entry-card__main{grid-area:main;min-width:0;display:flex;flex-direction:column;gap:7px;padding:14px 18px 0}.entry-card__eyebrow{display:flex;align-items:center;gap:var(--sp-2);min-width:0;font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--stamp)}.entry-card__place{color:var(--ink-muted);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-card__place:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--ink-faint);vertical-align:middle;margin-right:var(--sp-2)}.entry-card__title{margin:0;font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:1.375rem;line-height:1.2}.entry-card__toggle{display:block;width:100%;padding:0;border:none;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.entry-card__content .entry__body{max-width:none;font-size:var(--text-sm);line-height:1.45}.entry-card__content .body-p{margin-bottom:.7em}.entry-card__content .body-p:last-child{margin-bottom:0}.entry-card__snippet{margin:0;font-family:var(--font-body);font-size:var(--text-sm);line-height:1.45;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.entry-card__snippet--loading{display:block;line-height:1.45;color:var(--ink)}.entry-card__more-text{margin-top:6px;padding:0;border:none;background:none;color:var(--stamp);font-family:var(--font-ui);font-size:.8125rem;font-weight:700;cursor:pointer}.entry-card__meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4);padding:var(--sp-3) 18px 18px;font-size:.8125rem;font-weight:500;color:var(--ink-muted)}.entry-card__meta>span{display:inline-flex;align-items:center;gap:5px}.entry-card__meta{align-items:center}.entry-card__edit{margin-left:auto;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-muted)}.entry-card__edit:hover{color:var(--accent);background:var(--surface-sunken)}.entry-card__edit svg{width:18px;height:18px}.entry-card__meta svg{width:16px;height:16px;flex:none}.entry-card__meta-place{display:none!important}.entry-card__pending{color:var(--stamp)}.timeline--continuous .entry-card{margin-bottom:0}.timeline--continuous .entry-card__link{grid-template-columns:58px minmax(0,1fr);grid-template-areas:"date main" "date photos" "date meta";column-gap:14px;padding:18px 0;background:none;border-radius:0;box-shadow:none;border-bottom:var(--border-w) solid var(--line)}.timeline--continuous .entry-card__date{display:flex;flex-direction:column;gap:2px}.timeline--continuous .entry-card__day{font-family:var(--font-display);font-style:var(--style-display);font-size:2.75rem;line-height:.9}.timeline--continuous .entry-card__weekday{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.timeline--continuous .entry-card__main{padding:0;gap:6px}.timeline--continuous .entry-card__eyebrow{display:none}.timeline--continuous .entry-card__title{font-family:var(--font-ui);font-style:normal;font-weight:600;font-size:1.0625rem;line-height:1.3}.timeline--continuous .entry-card__snippet{font-family:var(--font-ui);font-size:.9rem}.timeline--continuous .entry-card__photos{display:flex;gap:6px;height:auto;margin-top:10px}.timeline--continuous .entry-card__photo{width:66px;height:66px;border-radius:var(--radius-sm)}.timeline--continuous .entry-card__meta{padding:8px 0 0;font-size:.78rem;gap:var(--sp-1) 14px}.timeline--continuous .entry-card__meta-place{display:inline-flex!important}.timeline--continuous .timeline__month{justify-content:flex-start;align-items:center;margin:var(--sp-5) 0 0}.timeline--continuous .timeline__month-name{font-family:var(--font-meta);font-style:normal;font-size:var(--text-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--stamp)}.timeline--continuous .timeline__month:after{content:"";flex:1;border-top:var(--border-w) solid var(--line);order:1}.timeline--continuous .timeline__month-count{order:2;font-size:var(--text-xs)}@media(min-width:768px){.timeline--cards .entry-card__link:has(>.entry-card__photos){grid-template-columns:min(240px,38%) minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"photos main" "photos meta"}.timeline--cards .entry-card__photos{height:auto;min-height:200px;max-height:320px;align-self:stretch;grid-template-columns:minmax(0,1fr)}.timeline--cards .entry-card__photos--2{grid-template-rows:3fr 2fr}.timeline--cards .entry-card__photos--3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:3fr 2fr}.timeline--cards .entry-card__photos--3 .entry-card__photo:first-child{grid-column:1 / -1}.timeline--cards .entry-card__link:has(>.entry-card__photos) .entry-card__meta{align-self:end}}@media(min-width:1100px){.timeline--spread .timeline__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--sp-4)}}.read{display:flex;flex-direction:column;padding-bottom:var(--sp-7)}.read__bar{display:flex;justify-content:space-between;padding:var(--sp-4) 0 0}.read--has-hero .read__bar{position:absolute;z-index:2;top:calc(var(--sp-4) + env(safe-area-inset-top,0px));left:var(--sp-4);right:var(--sp-4);padding:0}.read--has-hero .read__btn{border:none;background:color-mix(in srgb,var(--surface-raised) 92%,transparent)}.read{position:relative}@media(max-width:767px){.app__main:has(>.read--has-hero){padding-top:0}}.read__hero{position:relative;height:318px;margin:0 calc(-1 * var(--sp-5));background:var(--surface-sunken)}.read__hero img{width:100%;height:100%;object-fit:cover;display:block}.read__count{position:absolute;right:var(--sp-4);bottom:44px;padding:4px 10px;border-radius:12px;background:color-mix(in srgb,var(--ink) 55%,transparent);color:var(--surface);font-size:var(--text-xs);font-weight:600}.read__sheet{position:relative;display:flex;flex-direction:column;gap:18px;padding-top:26px;background:var(--surface)}.read--has-hero .read__sheet{margin:-28px calc(-1 * var(--sp-5)) 0;padding:26px var(--sp-5) 0;border-radius:28px 28px 0 0}.read__plaque{display:none}.read__header{display:flex;flex-direction:column;gap:var(--sp-2)}.read__eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--stamp)}.read__title{margin:0;font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:2rem;line-height:1.08;letter-spacing:-.015em}.read__pending{font-size:var(--ui-text-sm);color:var(--stamp)}.read__body .entry__body{max-width:none}.read__body .body-p:last-child{margin-bottom:0}.read__offline{font-family:var(--font-ui);font-size:var(--ui-text-sm)}.read__tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding-top:var(--sp-3);border-top:var(--border-w) solid var(--line)}.read__missing{color:var(--ink-muted);padding:var(--sp-7) 0;text-align:center}.read .entry__photos{margin:0}@media(min-width:768px){.read__hero{margin:var(--sp-4) 0 0;border-radius:var(--radius-lg);overflow:hidden}.read--has-hero .read__bar{position:static;padding:var(--sp-4) 0 0}.read--has-hero .read__btn{border:var(--border-w) solid var(--line);background:var(--surface-raised)}.read--has-hero .read__sheet{margin:0;padding:26px 0 0;border-radius:0}}.entry__conflict{border:var(--border-w) solid var(--stamp);color:var(--stamp);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);font-size:var(--ui-text-sm)}.entry__loading{margin:0;color:var(--ink-muted);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body)}.entry__body{max-width:62ch;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body)}.body-p{margin:0 0 var(--sp-4)}.body-p--empty{margin:0 0 var(--sp-4);min-height:1em}.body-p--image-note{color:var(--ink-faint);font-size:var(--text-sm)}.body-h2{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-lg);margin:var(--sp-5) 0 var(--sp-3)}.body-h3{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-base);margin:var(--sp-4) 0 var(--sp-2)}.body-quote{margin:var(--sp-4) 0;padding-left:var(--sp-4);border-left:2px solid var(--stamp);color:var(--ink-muted);font-style:italic}.body-quote p{margin:0}.body-list{margin:0 0 var(--sp-4);padding-left:1.4em}.body-list li{margin-bottom:var(--sp-1)}.entry__meta{margin:0}.meta-item{min-width:0}.meta-item__label,.meta-item__value{margin:0}.meta-item__label{display:flex;align-items:center;gap:6px}.meta-item__icon{width:var(--icon-size-sm);height:var(--icon-size-sm);flex:none;color:var(--stamp)}.meta-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.meta-chips .meta-item{display:flex;align-items:center;gap:var(--sp-2);min-height:40px;box-sizing:border-box;padding:var(--sp-2) 14px;border-radius:18px;background:var(--surface-raised);border:var(--border-w) solid var(--line);font-size:var(--ui-text-sm);font-weight:500;color:var(--ink)}.meta-chips .meta-item__label-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.meta-margin{background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);padding:2px var(--sp-4)}.meta-margin .meta-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:var(--border-w) solid var(--line)}.meta-margin .meta-item:last-child{border-bottom:none}.meta-margin .meta-item__label{flex:none;width:96px;gap:var(--sp-3);font-size:.8125rem;color:var(--ink-muted);text-transform:capitalize}.meta-margin .meta-item__icon{color:var(--accent)}.meta-margin .meta-item__value{flex:1;min-width:0;text-align:right;font-size:var(--ui-text-sm);font-weight:500;color:var(--ink)}.meta-stamp{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--ink-muted);padding-bottom:var(--sp-2);border-bottom:var(--border-w) solid var(--line)}.meta-stamp__item+.meta-stamp__item:before{content:"·";margin-right:var(--sp-3);color:var(--ink-faint)}.tag-chip{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--text-xs);font-weight:var(--w-strong);font-family:var(--font-ui);line-height:1;border:var(--border-w) solid var(--line);background:var(--surface-raised);color:var(--accent);border-radius:999px;padding:var(--sp-1) var(--sp-3);cursor:default;text-decoration:none}button.tag-chip{cursor:pointer;min-height:32px}.tag-chip--active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.tag-chip button{background:none;border:none;color:inherit;cursor:pointer;padding:0 0 0 2px}.entry__photos{margin:var(--sp-4) 0}.photo{margin:0}.photo__frame{display:block;width:100%;height:100%;padding:0;border:none;background:var(--surface-sunken);cursor:zoom-in;overflow:hidden}.photo__frame img{width:100%;height:100%;object-fit:cover;display:block}.photo__placeholder{display:block;width:100%;height:100%;min-height:90px;background:var(--surface-sunken)}.photo__caption{font-family:var(--font-meta);font-size:var(--text-xs);color:var(--ink-muted);margin-top:var(--sp-2);text-align:center;letter-spacing:.04em}.photos--justified{position:relative}.photo--abs{position:absolute}.photo__caption--overlay{position:absolute;left:0;right:0;bottom:0;margin:0;padding:var(--sp-1) var(--sp-2);background:linear-gradient(0deg,rgba(0,0,0,.55),transparent);color:#ffffffeb;text-align:left;pointer-events:none}.photos--masonry{columns:3 160px;column-gap:var(--sp-2)}.photos--masonry .photo{break-inside:avoid;margin-bottom:var(--sp-2)}.photos--masonry .photo__frame{border-radius:var(--radius-md)}.photos--masonry .photo__frame img{height:auto}.photos--filmstrip{background:var(--surface-sunken);padding:var(--sp-2) var(--sp-2) var(--sp-2);border-radius:var(--radius-sm)}.filmstrip__sprockets,.filmstrip__numbers{display:flex;justify-content:space-between;padding:0 var(--sp-1)}.filmstrip__sprockets span{width:7px;height:5px;background:var(--line);opacity:.5;border-radius:1px;margin-bottom:var(--sp-1)}.filmstrip__frames{display:flex;gap:var(--sp-2);overflow-x:auto}.filmstrip__frames .photo{flex:1 0 clamp(120px,30%,220px)}.filmstrip__frames .photo__frame{aspect-ratio:4 / 3}.filmstrip__frames .photo__caption{margin-top:var(--sp-1)}.filmstrip__numbers{font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);color:var(--accent);padding-top:var(--sp-1)}.photos--scatter{display:flex;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-3) 0}.photos--scatter .photo{flex:1 1 38%;max-width:46%;box-shadow:var(--shadow-2);background:var(--surface-raised);padding:var(--sp-2)}.photos--scatter .photo:nth-child(odd){transform:rotate(-2deg)}.photos--scatter .photo:nth-child(2n){transform:rotate(1.6deg) translateY(var(--sp-2))}.photos--scatter .photo__frame{aspect-ratio:4 / 3}.photos--mounted{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:flex-start}.photos--mounted .photo{flex:1 1 40%;max-width:48%;position:relative}.photos--mounted .photo:nth-child(odd){transform:rotate(-1.2deg)}.photos--mounted .photo:nth-child(2n){transform:rotate(.8deg);margin-top:var(--sp-3)}.photos--mounted .photo:before{content:"";position:absolute;top:-7px;left:50%;width:40px;height:15px;margin-left:-20px;background:var(--surface-sunken);border:var(--border-w) solid var(--line);opacity:.9;z-index:2}.photos--mounted .photo__frame{border:var(--border-w) solid var(--ink-muted);aspect-ratio:auto}.photos--mounted .photo__frame img{height:auto}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0a0908eb;display:flex;align-items:center;justify-content:center}.lightbox figure{margin:0;max-width:94vw;max-height:92vh;text-align:center}.lightbox img{max-width:94vw;max-height:86vh;object-fit:contain}.lightbox__caption{color:#ffffffd9;font-family:var(--font-meta);font-size:var(--text-sm);margin-top:var(--sp-3)}.lightbox__close,.lightbox__nav{position:fixed;background:none;border:none;color:#ffffffd9;font-size:var(--text-2xl);cursor:pointer;padding:var(--sp-3);min-width:44px;min-height:44px;z-index:71}.lightbox__close{top:var(--sp-3);right:var(--sp-3)}.lightbox__nav--prev{left:var(--sp-2);top:50%;transform:translateY(-50%)}.lightbox__nav--next{right:var(--sp-2);top:50%;transform:translateY(-50%)}.mood-face{display:block;flex:none;color:var(--mood-ink)}.mood-face__shape{fill:var(--face-fill);stroke:var(--face-fill)}.mood-face--quiet{--face-fill: var(--surface-sunken);color:var(--ink-faint)}.entry__meta .meta-item .mood-face.meta-item__icon{color:var(--mood-ink)}.checkin{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.checkin__scrim{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:color-mix(in srgb,var(--ink) 46%,transparent);cursor:pointer}.checkin__sheet{position:absolute;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:var(--sp-5);padding:var(--sp-3) 18px calc(34px + env(safe-area-inset-bottom,0px));border-radius:30px 30px 0 0;background:var(--surface-raised);box-shadow:0 -10px 30px color-mix(in srgb,var(--ink) 18%,transparent);animation:checkin-rise var(--dur-base) var(--ease)}@keyframes checkin-rise{0%{transform:translateY(24px);opacity:0}}.checkin__grabber{align-self:center;width:40px;height:5px;border-radius:3px;background:var(--line)}.checkin__heading{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.checkin__eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--stamp)}.checkin__title{margin:0;font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:1.7rem;letter-spacing:-.01em}.checkin__faces{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.checkin__face{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-3) 0 10px;border:none;border-radius:20px;background:var(--surface);color:var(--ink);font-family:var(--font-ui);font-size:.8125rem;font-weight:600;cursor:pointer;transition:transform var(--dur-quick) var(--ease)}.checkin__face:active{transform:scale(.94)}.checkin__face:disabled{cursor:progress}.checkin__hint{margin:0;text-align:center;font-size:var(--ui-text-sm);line-height:1.45;color:var(--ink-muted)}.checkin__full{min-height:50px;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);border-radius:25px;border:var(--border-w) solid var(--line);color:var(--ink);font-weight:600;text-decoration:none}.checkin__full svg{width:18px;height:18px}.quick{display:flex;flex-direction:column;gap:18px;min-height:calc(100vh - 2 * var(--sp-6));max-width:560px}.quick--missing{align-items:center;justify-content:center;text-align:center;color:var(--ink-muted)}.quick__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.quick__when{font-size:var(--ui-text-sm);font-weight:600;color:var(--ink-muted);text-align:center}.quick__spacer{width:44px;flex:none}.quick__mood{display:flex;align-items:center;gap:var(--sp-4);padding-top:var(--sp-2)}.quick__face{width:96px;height:96px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-raised);border:var(--border-w) solid var(--line)}.quick__mood-text{display:flex;flex-direction:column;gap:10px;min-width:0}.quick__label{margin:0;font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:2.6rem;line-height:1;letter-spacing:-.02em}.quick__switch{display:flex;gap:var(--sp-1)}.quick__switch-face{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:none;cursor:pointer}.quick__switch-face--on{background:var(--surface-raised);box-shadow:0 0 0 2px var(--ink)}.quick__section{display:flex;flex-direction:column;gap:10px}.quick__heading{margin:0;font-size:var(--ui-text-base);font-weight:700}.quick__optional{font-size:.8125rem;font-weight:400;color:var(--ink-muted);margin-left:4px}.reason-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.reason-chip{min-height:44px;min-width:0;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:22px;border:var(--border-w) solid var(--line);background:var(--surface-raised);color:var(--ink);font-family:var(--font-ui);font-size:var(--ui-text-sm);font-weight:500;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reason-chip svg{width:16px;height:16px;flex:none}.reason-chip--on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface-raised));font-weight:600}.reason-chip--other{color:var(--ink-muted);border-style:dashed}.reason-chip--input{cursor:text;text-align:center;outline:none;border-color:var(--accent)}.quick__note{min-height:96px;box-sizing:border-box;resize:none;padding:14px var(--sp-4);border-radius:18px;border:var(--border-w) solid var(--line);background:var(--surface-raised);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.5}.quick__actions{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding-top:var(--sp-3)}.quick__done{min-height:56px;border:none;border-radius:28px;background:var(--accent);color:var(--accent-ink);font-family:var(--font-ui);font-size:var(--ui-text-base);font-weight:700;cursor:pointer;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 28%,transparent)}.quick__expand{min-height:44px;display:flex;align-items:center;justify-content:center;gap:6px;border:none;background:none;color:var(--stamp);font-family:var(--font-ui);font-size:var(--ui-text-sm);font-weight:600;cursor:pointer}.quick__expand svg{width:16px;height:16px}.logged-card{display:flex;align-items:flex-start;gap:14px;padding:var(--sp-4) 18px;border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-2);color:var(--ink);text-decoration:none}.logged-card__face{flex:none;display:flex}.logged-card__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.logged-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.logged-card__label{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:1.3rem;line-height:1.1}.logged-card__when{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--stamp);white-space:nowrap}.logged-card__reasons{font-size:.8125rem;font-weight:500;color:var(--ink-muted)}.logged-card__note{font-family:var(--font-body);font-style:italic;font-size:var(--text-sm);line-height:1.45}.timeline--continuous .entry-card--logged{padding:var(--sp-3) 0;border-bottom:var(--border-w) solid var(--line)}.timeline--continuous .logged-card{border:var(--border-w) solid var(--line);box-shadow:none}.scene{--scene-sky: var(--surface-sunken);--scene-sun: var(--accent);--scene-a: var(--line);--scene-b: var(--ink-faint);--scene-c: var(--ink-muted);display:block;width:100%;height:100%}.scene__sky{fill:var(--scene-sky)}.scene__sun{fill:var(--scene-sun)}.scene__a{fill:var(--scene-a)}.scene__b{fill:var(--scene-b)}.scene__c{fill:var(--scene-c)}.timeline--continuous .entry-card__photos--scene{display:block}.timeline--continuous .entry-card__photos--scene .entry-card__photo{width:100%;height:96px}.calendar h1,.tag-browser h1,.search h1,.map-view h1,.settings h1,.theme-lab h1,.editor h1{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-2xl);margin:0 0 var(--sp-4)}.calendar__header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--sp-3)}.calendar__nav{display:flex;align-items:center;gap:var(--sp-1)}@media(max-width:767px){.calendar__header{flex-direction:column;align-items:stretch}.calendar__nav{justify-content:center}}.calendar__nav button{background:none;border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;min-width:44px;min-height:44px}.calendar__nav button:hover{color:var(--ink)}.calendar__label{font-family:var(--font-meta);font-size:var(--text-sm);letter-spacing:var(--tracking-meta);min-width:10.5em;text-align:center}.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-1);margin-top:var(--sp-4)}.calendar__dow{font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);color:var(--ink-faint);text-align:center;padding:var(--sp-1) 0}.cal-day{position:relative;aspect-ratio:1;min-height:44px;border:var(--border-w) solid transparent;background:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.cal-day--pad{visibility:hidden}.cal-day:hover{border-color:var(--line);background:var(--surface-raised)}.cal-day--today{border-color:var(--ink-muted)}.cal-day--filled{color:var(--ink);font-weight:var(--w-strong)}.cal-day__mark{display:none}.cal-day--filled .cal-day__mark{display:block;width:6px;height:6px;border-radius:50%;background:var(--accent)}.cal-day--count-2 .cal-day__mark{width:8px;height:8px}.cal-day--count-3 .cal-day__mark,.cal-day--count-4 .cal-day__mark{width:10px;height:10px}.cal-day__count{position:absolute;top:4px;right:6px;font-family:var(--font-meta);font-size:var(--text-xs);color:var(--stamp)}.calendar__hint{color:var(--ink-faint);font-size:var(--ui-text-sm);margin-top:var(--sp-4)}.tag-browser__header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--sp-3)}.tag-browser__tools{display:flex;gap:var(--sp-2)}.tag-browser__tools button,.tag-browser__mode{background:none;border:var(--border-w) solid var(--line);border-radius:999px;color:var(--ink-muted);font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);padding:var(--sp-1) var(--sp-3);cursor:pointer;min-height:44px}.tag-browser__tools button.on{color:var(--accent);border-color:var(--accent)}.tag-browser__list{list-style:none;margin:var(--sp-5) 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)}.tag-browser__list li{display:flex;align-items:center;gap:var(--sp-1)}.tag-browser__count{font-family:var(--font-meta);font-size:var(--text-xs);color:var(--ink-faint)}.tag-browser__empty{color:var(--ink-muted)}.tag-browser__apply{background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-4);cursor:pointer;min-height:40px}.search__header{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.search__input{flex:1;min-width:220px;background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);color:var(--ink);padding:var(--sp-2) var(--sp-3);font-size:var(--ui-text-base);min-height:44px}.search__filter{display:flex;gap:var(--sp-1);align-items:center;color:var(--ink-muted);font-size:var(--ui-text-sm)}.search__results{list-style:none;margin:var(--sp-5) 0;padding:0;display:grid;gap:var(--sp-2)}.search__result{display:grid;grid-template-columns:auto 1fr;gap:0 var(--sp-3);width:100%;text-align:left;background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);padding:var(--sp-3);cursor:pointer;color:var(--ink)}.search__result:hover{border-color:var(--accent)}.search__date{font-family:var(--font-meta);font-size:var(--text-xs);color:var(--ink-muted);grid-row:span 3;align-self:start;padding-top:3px}.search__title{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display)}.search__snippet{color:var(--ink-muted);font-size:var(--ui-text-sm);overflow:hidden}.search__tags{display:flex;gap:var(--sp-1);margin-top:var(--sp-1);flex-wrap:wrap}.search__none{color:var(--ink-muted)}.map-view__header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}.map-view__count{color:var(--ink-muted);font-size:var(--ui-text-sm)}.map-view__canvas{height:min(60vh,520px);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken)}.map-pin{stroke:var(--accent-ink);fill:var(--accent);fill-opacity:.9}.map-view__list{list-style:none;margin:var(--sp-4) 0 0;padding:0;display:grid;gap:var(--sp-1)}.map-view__list button{background:none;border:none;color:var(--ink-muted);cursor:pointer;text-align:left;padding:var(--sp-1) 0;min-height:44px}.map-view__list button:hover{color:var(--accent)}.settings__section{margin-bottom:var(--sp-7)}.settings__section h2{font-family:var(--font-meta);font-size:var(--text-sm);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--ink-muted);border-bottom:var(--border-w) solid var(--line);padding-bottom:var(--sp-2);margin-bottom:var(--sp-4)}.settings__hint{color:var(--ink-muted);font-size:var(--ui-text-sm)}.settings__hint code{font-family:var(--font-meta);font-size:var(--text-xs)}.settings__actions,.settings__bind{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.settings__actions button,.settings__bind button{background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);color:var(--ink);padding:var(--sp-2) var(--sp-4);cursor:pointer;min-height:40px}.settings__actions button:hover,.settings__bind button:hover{border-color:var(--accent);color:var(--accent)}.settings__bind input{background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:var(--sp-2);min-height:40px}.theme-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--sp-5)}.theme-card{display:grid;gap:var(--sp-2);text-align:left;background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-lg);padding:var(--sp-6);cursor:pointer;color:var(--ink)}.theme-card--active{border-color:var(--accent);box-shadow:var(--shadow-2)}.theme-card__swatch{display:flex;gap:var(--sp-1)}.theme-card__swatch i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}.theme-card__name{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-lg)}.theme-card__mode{font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--stamp)}.theme-card__summary{color:var(--ink-muted);font-size:var(--ui-text-sm);line-height:var(--ui-leading)}.editor__bar{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);margin:0 calc(-1 * var(--sp-2)) var(--sp-3)}.editor__bar-right{display:flex;gap:var(--sp-1);align-items:center;flex:none}.editor__status{flex:1;min-width:0;text-align:center;font-size:.8125rem;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor__words{font-variant-numeric:tabular-nums}.editor__recover{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);font-family:var(--font-ui);font-size:var(--ui-text-sm)}.editor__recover-actions{display:flex;gap:var(--sp-2)}.editor__recover-actions button{min-height:44px}.editor__cancel{flex:none;background:none;border:none;color:var(--ink-muted);font-family:var(--font-ui);font-size:var(--ui-text-base);font-weight:500;cursor:pointer;padding:0 var(--sp-2);min-height:44px}.editor__cancel:hover{color:var(--ink)}.editor__save{background:var(--accent);color:var(--accent-ink);border:none;border-radius:999px;padding:0 18px;font-family:var(--font-ui);font-size:var(--ui-text-sm);font-weight:var(--w-strong);cursor:pointer;min-height:40px}.editor__save:disabled{opacity:.7;cursor:progress}.editor__overflow{position:relative}.editor__overflow-trigger{display:grid;place-items:center;background:none;border:none;color:var(--ink-muted);cursor:pointer;width:44px;height:44px}.editor__overflow-trigger:hover{color:var(--ink)}.editor__overflow-icon{width:var(--icon-size-base);height:var(--icon-size-base)}.editor__overflow-menu{position:absolute;top:calc(100% + var(--sp-1));right:0;z-index:20;background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-2);min-width:160px;overflow:hidden}.editor__overflow-delete{display:block;width:100%;text-align:left;background:none;border:none;color:var(--stamp);cursor:pointer;padding:var(--sp-3);min-height:44px}.editor__overflow-delete:hover{background:var(--surface)}.editor__head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3)}.editor__date{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--stamp);background:none;border:none;padding:0}.editor__date--edit{cursor:pointer;min-height:32px;text-decoration:underline dotted;text-underline-offset:4px}.editor__title{width:100%;min-width:0;background:none;border:none;color:var(--ink);font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:1.875rem;line-height:1.15;letter-spacing:-.015em;padding:0;resize:none;overflow:hidden}.editor__title::placeholder{color:var(--ink-faint)}.editor__title:focus{outline:none}.editor__toolbar-wrap{position:sticky;top:0;z-index:10;background:var(--surface)}.editor__toolbar{display:flex;align-items:center;gap:2px;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding:var(--sp-1) 0;border-bottom:var(--border-w) solid var(--line)}@media(max-width:767px){.editor__toolbar-wrap{position:fixed;top:auto;left:var(--sp-3);right:var(--sp-3);bottom:var(--toolbar-bottom, var(--float-gap));z-index:45;border-radius:18px;background:var(--surface-raised);border:var(--border-w) solid var(--line);box-shadow:var(--shadow-2);overflow:hidden}.editor__toolbar{padding:6px;border-bottom:none}}.editor__toolbar button{flex:none;display:grid;place-items:center;background:none;border:var(--border-w) solid transparent;border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;padding:0;width:44px;height:44px}.editor__toolbar button:hover{color:var(--ink);border-color:var(--line)}.editor__toolbar button.on{color:var(--ink);background:var(--surface-sunken);border-color:transparent}.editor__toolbar button:disabled{opacity:.45;cursor:default}.editor__toolbar-icon{width:var(--icon-size-sm);height:var(--icon-size-sm)}.editor__toolbar-sep{flex:none;width:var(--border-w);height:20px;background:var(--line);margin:0 var(--sp-1)}.editor__toolbar-fade{position:absolute;top:0;right:0;bottom:0;width:40px;display:flex;align-items:center;justify-content:flex-end;background:linear-gradient(90deg,transparent,var(--surface) 60%);pointer-events:none}@media(max-width:767px){.editor__toolbar-fade{background:linear-gradient(90deg,transparent,var(--surface-raised) 60%)}}.editor__toolbar-fade-icon{width:var(--icon-size-sm);height:var(--icon-size-sm);color:var(--ink-faint)}.editor__content{margin:var(--sp-4) 0 var(--sp-5)}.editor__content .tiptap{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);min-height:30vh;outline:none;max-width:62ch}.editor__content .tiptap p{margin:0 0 var(--sp-4)}.editor__content .tiptap h2{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-lg)}.editor__content .tiptap h3{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-base)}.editor__content .tiptap blockquote{margin:var(--sp-4) 0;padding-left:var(--sp-4);border-left:2px solid var(--stamp);color:var(--ink-muted);font-style:italic}.editor__meta-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4)}.meta-slot{display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:var(--border-w) dashed var(--ink-faint);border-radius:999px;color:var(--ink-muted);cursor:pointer;padding:0 var(--sp-3);min-height:36px;font-family:var(--font-ui);font-size:.8125rem;font-weight:500}.meta-slot--filled{border:var(--border-w) solid var(--line);background:var(--surface-raised);color:var(--ink)}.meta-slot--open,.meta-slot:hover{border-color:var(--accent);color:var(--accent)}.meta-slot__icon{width:15px;height:15px;flex:none}.meta-slot__value{white-space:nowrap;max-width:22ch;overflow:hidden;text-overflow:ellipsis}.editor__meta-expand{display:flex;flex-wrap:wrap;gap:var(--sp-3);background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);padding:var(--sp-3);margin-top:var(--sp-2)}.editor__meta-expand label{display:grid;gap:var(--sp-1);font-size:var(--ui-text-sm);color:var(--ink-muted);flex:1;min-width:140px}.editor__meta-expand input{background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:var(--sp-2);width:100%;min-height:40px}.editor__inline{display:flex;gap:var(--sp-1)}.editor__inline input{flex:1}.editor__inline button{flex:none;display:grid;place-items:center;background:var(--surface);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;width:40px;height:40px}.editor__inline button:hover{color:var(--accent);border-color:var(--accent)}.editor__inline-icon{width:var(--icon-size-sm);height:var(--icon-size-sm)}.editor__tag-row{display:flex;flex-wrap:wrap;gap:var(--sp-1);align-items:center;position:relative}.tag-toggle{display:grid;place-items:center;background:none;border:var(--border-w) dashed var(--ink-faint);border-radius:50%;color:var(--ink-muted);cursor:pointer;width:36px;height:36px}.tag-toggle:hover{border-color:var(--accent);color:var(--accent)}.tag-toggle[aria-expanded=true]{border-style:solid;border-color:var(--accent);color:var(--accent)}.tag-toggle__icon{width:var(--icon-size-sm);height:var(--icon-size-sm)}.tag-chip__remove-icon{width:.85em;height:.85em}.tag-field__panel{display:flex;flex-direction:column;gap:var(--sp-1);flex-basis:100%;background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);padding:var(--sp-2);margin-top:var(--sp-1)}.tag-field__input{background:none;border:none;color:var(--ink);min-height:44px}.tag-field__input:focus{outline:none}.tag-field__suggest{display:flex;gap:var(--sp-1);flex-wrap:wrap}.tag-field__suggest button{background:none;border:var(--border-w) dashed var(--line);border-radius:999px;color:var(--ink-muted);font-size:var(--text-xs);padding:var(--sp-1) var(--sp-3);cursor:pointer;min-height:44px}.tag-field__suggest button:hover{color:var(--accent);border-color:var(--accent)}.editor__photos{margin-top:var(--sp-6)}.editor__captions{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:grid;gap:var(--sp-2)}.editor__captions li{display:flex;gap:var(--sp-2);align-items:center}.editor__caption-n{font-family:var(--font-meta);font-size:var(--text-xs);color:var(--ink-muted);min-width:3.4em}.editor__captions input{flex:1;background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:var(--sp-1) var(--sp-2);min-height:44px}.editor__captions li>button{display:grid;place-items:center;background:none;border:none;color:var(--stamp);cursor:pointer;width:44px;height:44px}.editor__caption-remove-icon{width:var(--icon-size-sm);height:var(--icon-size-sm)}.editor__location-field{position:relative}.editor__city-suggest{position:absolute;top:100%;left:0;right:0;z-index:5;display:flex;flex-direction:column;background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin-top:var(--sp-1);overflow:hidden}.editor__city-suggest button{text-align:left;background:none;border:none;color:var(--ink);cursor:pointer;padding:var(--sp-2);min-height:40px}.editor__city-suggest button:hover{background:var(--surface);color:var(--accent)}.editor__location-coords{display:block;font-family:var(--font-meta);font-size:var(--text-xs);color:var(--ink-faint);margin-top:var(--sp-1)}.theme-lab__header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:var(--sp-3)}.theme-lab__switch{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.theme-lab__switch button{background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:999px;color:var(--ink-muted);padding:var(--sp-1) var(--sp-4);cursor:pointer;min-height:44px}.theme-lab__switch button.on{color:var(--accent);border-color:var(--accent)}.theme-lab__recipes{font-family:var(--font-meta);font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-muted)}.theme-lab__recipes b{color:var(--ink)}.theme-lab__section{margin:var(--sp-6) 0}.theme-lab__section h2{font-family:var(--font-meta);font-size:var(--text-sm);letter-spacing:var(--tracking-meta);text-transform:uppercase;color:var(--ink-muted)}.theme-lab__stage{border:var(--border-w) dashed var(--line);border-radius:var(--radius-md);padding:var(--sp-4)}.theme-lab__row{display:flex;gap:var(--sp-3);align-items:center;flex-wrap:wrap}.theme-lab__display{font-family:var(--font-display);font-style:var(--style-display);font-weight:var(--w-display);font-size:var(--text-2xl)}.theme-lab__body{max-width:62ch;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body)}.theme-lab__meta{font-family:var(--font-meta);font-size:var(--text-sm);letter-spacing:var(--tracking-meta);color:var(--stamp)}.theme-lab__type{display:grid;gap:var(--sp-3)}.theme-lab__toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:var(--ui-text-sm)}.theme-lab__tokens{border-collapse:collapse;width:100%;font-size:var(--ui-text-sm)}.theme-lab__tokens td{border-bottom:var(--border-w) solid var(--line);padding:var(--sp-1) var(--sp-3) var(--sp-1) 0}.theme-lab__tokens code{font-family:var(--font-meta);font-size:var(--text-xs)}.theme-lab__swatch{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.15);margin-right:var(--sp-2);vertical-align:baseline}.theme-lab__cal-demo{width:44px}.theme-lab__hint{color:var(--ink-faint);font-size:var(--ui-text-sm)}.gdrive__step{display:flex;gap:var(--sp-3);margin:var(--sp-4) 0}.gdrive__step-n{flex:none;width:26px;height:26px;border-radius:50%;border:var(--border-w) solid var(--line);color:var(--stamp);font-family:var(--font-meta);font-size:var(--text-xs);display:grid;place-items:center}.gdrive__step-body{flex:1;display:grid;gap:var(--sp-2)}.gdrive__step-body label{display:grid;gap:var(--sp-1);font-size:var(--ui-text-sm);color:var(--ink-muted)}.gdrive__step-body input{background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:var(--sp-2);font-family:var(--font-meta);font-size:var(--text-sm);min-height:40px;width:100%;max-width:480px}.gdrive__step-body>button,.gdrive__step-body .settings__actions button{justify-self:start;background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-md);color:var(--ink);padding:var(--sp-2) var(--sp-4);cursor:pointer;min-height:40px}.gdrive__step-body button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.gdrive__step-body button:disabled{opacity:.45;cursor:default}.settings__linklike{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;text-decoration:underline;font-size:inherit}.settings__hint--status{color:var(--accent)}.app-loading--connect{gap:var(--sp-4);grid-auto-rows:min-content;align-content:center;justify-items:center}.app-loading__hint{color:var(--ink-muted);margin:0}.app-loading__link{font-size:var(--ui-text-sm);color:var(--ink-muted)}.editor--loading{color:var(--ink-muted);padding:var(--sp-8) 0;text-align:center}.editor--loading .btn-accent{margin-top:var(--sp-4)}.editor--loading .settings__actions{justify-content:center;margin-top:var(--sp-4)}.editor--loading .settings__actions .btn-accent{margin-top:0}.settings__choices{display:grid;gap:var(--sp-2)}.settings__choice{display:grid;gap:2px;text-align:left;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);border:var(--border-w) solid var(--line);background:var(--surface-raised);color:var(--ink);font-family:var(--font-ui);cursor:pointer}.settings__choice--on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.settings__choice-label{font-weight:700;font-size:var(--ui-text-base)}.settings__choice-hint{font-size:var(--ui-text-sm);color:var(--ink-muted)}.editor__mood{flex-direction:column;align-items:stretch;gap:var(--sp-3)}.editor__mood-heading{font-size:var(--ui-text-sm);font-weight:700;color:var(--ink)}.editor__mood-remove{align-self:flex-start;color:var(--ink-muted)}.settings__section--attention{border:var(--border-w) solid var(--accent);border-radius:var(--radius-lg);padding:var(--sp-4)}.suggestion-holds{list-style:none;margin:var(--sp-3) 0;padding:0;display:grid;gap:var(--sp-3)}.suggestion-hold{display:grid;gap:var(--sp-1);padding:var(--sp-3);border-radius:var(--radius-md);background:var(--surface-raised)}.suggestion-hold__title{font-weight:700}.suggestion-hold__date{font-size:var(--ui-text-sm);color:var(--ink-muted)}.settings__toggle{display:flex;align-items:flex-start;gap:var(--sp-3);margin-top:var(--sp-3);cursor:pointer}.settings__toggle input{margin-top:4px;width:18px;height:18px;accent-color:var(--accent)}.settings__toggle>span{display:grid;gap:2px}.gdrive__manual{display:grid;gap:var(--sp-2);margin-top:var(--sp-3)}.gdrive__manual summary{cursor:pointer;color:var(--ink-muted);font-size:var(--ui-text-sm);min-height:40px;display:flex;align-items:center}.gdrive__manual[open] summary{margin-bottom:var(--sp-2)}.gdrive__manual label{display:grid;gap:var(--sp-1);font-size:var(--ui-text-sm);color:var(--ink-muted);margin-bottom:var(--sp-2)}.gdrive__manual input{background:var(--surface-raised);border:var(--border-w) solid var(--line);border-radius:var(--radius-sm);color:var(--ink);padding:var(--sp-2);font-family:var(--font-meta);font-size:var(--text-sm);min-height:40px;width:100%;box-sizing:border-box}
