@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#090909;--color-surface:#111;--color-surface-elevated:#151515;--color-input:#141414;--color-text:#f5f2ee;--color-text-secondary:#c9c5c0;--color-text-muted:#8e8a86;--color-accent:#c99a63;--color-accent-bright:#ddb07a;--color-accent-soft:#c99a6324;--color-border:#ffffff14;--color-border-strong:#2a2a2a;--color-input-border:#6b6661;--color-border-hover:#ffffff38;--color-hover:#ffffff0d;--color-danger:#e08a7a;--color-danger-border:#e08a7a8c;--color-veil:#090909d1;--color-chrome:#0e0e0eeb;--color-badge:#0909099e;--color-scrim:#0000008c;--color-viewer:#070707;--color-create:#12151a;--color-warm-bg:#f9e9de;--color-peach:#f7b48e;--radius-xs:8px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-bar:22px;--radius-pill:999px;--spacing-xs:4px;--spacing-sm:8px;--spacing-10:10px;--spacing-12:12px;--spacing-14:14px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font:"Inter Variable", "SF Pro Text", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--text-hero:clamp(1.75rem, 1.25rem + 2.5vw, 2.25rem);--text-title:1.75rem;--text-lead:1.25rem;--text-section:1.0625rem;--text-input:1rem;--text-body:.9375rem;--text-small:.875rem;--text-secondary:.8125rem;--text-caption:.75rem;--text-meta:.6875rem;--text-micro:.625rem;--shadow:0 4px 20px #0003;--ease:cubic-bezier(.2, 0, 0, 1);--dur:.2s;--gutter:18px;--grid-gap:8px;--grid-row:112px;--grid-cols:3;--topbar-height:56px;--nav-height:64px;--nav-block:calc(var(--nav-height) + var(--spacing-10) + env(safe-area-inset-bottom));--nav-clearance:calc(var(--nav-block) + 12px);--page-max:1320px;--touch:44px;--z-topbar:20;--z-nav:30;--z-viewer:50;--z-floating:55;--z-sheet:60;--z-dropzone:70}@media (width>=640px){:root{--gutter:28px;--grid-cols:4;--grid-row:150px}}@media (width>=1024px){:root{--gutter:40px;--grid-cols:6;--grid-row:168px;--grid-gap:10px;--text-title:2rem}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html:has(.app){scroll-padding-top:calc(var(--topbar-height) + env(safe-area-inset-top));scroll-padding-bottom:var(--nav-clearance)}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font);font-size:var(--text-body);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;caret-color:var(--color-accent);scrollbar-color:var(--color-border-strong) transparent;margin:0;line-height:1.45}::selection{background:var(--color-accent-soft);color:var(--color-text)}h1,h2,h3,p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}img,video{max-width:100%;display:block}:focus-visible{outline:1.5px solid var(--color-accent);outline-offset:3px}[tabindex="-1"]:focus{outline:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}.muted{color:var(--color-text-muted)}@media (prefers-reduced-motion:reduce){@keyframes rise{0%{opacity:0}}@keyframes sheet-up{0%{opacity:0}}@keyframes reveal{0%{opacity:0}}@keyframes mosaic-in{0%{opacity:0}}.btn:active,.nav__create:active,.tile[aria-pressed=true],.tile:hover img,.album:hover .album__cover img{transform:none}.spinner{animation:1.4s ease-in-out infinite alternate breathe}}@keyframes breathe{0%{opacity:.3}}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);min-height:var(--touch);border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-text);font-size:var(--text-body);letter-spacing:.01em;max-width:100%;padding:0 26px;padding-block:var(--spacing-sm);text-align:center;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), opacity var(--dur), transform var(--dur) var(--ease);background:0 0;font-weight:450;display:inline-flex}.btn:hover{border-color:var(--color-accent-bright);background:var(--color-hover)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn--quiet{border-color:var(--color-border-strong)}.btn--quiet:hover{border-color:var(--color-border-hover)}.btn--danger{border-color:var(--color-danger-border);color:var(--color-danger)}.btn--block{width:100%}.link{min-height:var(--touch);color:var(--color-text-secondary);font-size:var(--text-secondary);transition:color var(--dur);align-items:center;gap:6px;display:inline-flex}.link:hover{color:var(--color-text)}.icon-btn{width:var(--touch);height:var(--touch);border-radius:var(--radius-pill);color:var(--color-text-secondary);transition:color var(--dur), background-color var(--dur);place-items:center;display:inline-grid}.icon-btn:hover{color:var(--color-text);background:var(--color-hover)}.field{gap:6px;display:grid}.field__label{font-size:var(--text-caption);color:var(--color-text-muted);letter-spacing:.02em}.input{width:100%;min-height:48px;padding:0 var(--spacing-md);background:var(--color-input);border:1px solid var(--color-input-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-input);transition:border-color var(--dur), box-shadow var(--dur)}.input[aria-invalid=true]{border-color:var(--color-danger)}.input::placeholder{color:var(--color-text-muted)}.input:focus{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);outline:none}.input--code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-body);letter-spacing:.04em}.meter{align-items:center;gap:var(--spacing-10);font-size:var(--text-caption);color:var(--color-text-muted);display:flex}.meter__bar{background:var(--color-border);border-radius:2px;flex:1;height:2px;overflow:hidden}.meter__fill{background:var(--color-accent);transform-origin:0;height:100%;transition:transform var(--dur) var(--ease)}.form-error{min-height:1.125rem;font-size:var(--text-secondary);color:var(--color-danger)}.actions-row{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.actions-row--spaced{margin-top:20px}.note{font-size:var(--text-small);color:var(--color-text-muted)}.prose-note{max-width:62ch;font-size:var(--text-secondary);color:var(--color-text-muted);line-height:1.6}.seg{flex-wrap:wrap;gap:6px;display:inline-flex}.seg__opt{min-height:36px;padding:0 var(--spacing-14);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--text-secondary);color:var(--color-text-secondary);transition:border-color var(--dur), color var(--dur);position:relative}.seg__opt:after,.text-btn:after{content:"";inset:calc(-1 * var(--spacing-xs)) -2px;position:absolute}.seg__opt[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-text)}.wordmark{font-size:var(--text-body);letter-spacing:-.01em;color:var(--color-text);align-items:center;gap:6px;font-weight:500;display:flex}.wordmark span span{color:var(--color-accent)}.logo{fill:none;width:1.34em;height:1.34em;stroke:var(--color-accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none}.logo__sun{fill:var(--color-peach);stroke:none}.welcome{min-height:100dvh;display:grid}.hero{min-height:100dvh;padding:calc(var(--gutter) + env(safe-area-inset-top)) var(--gutter) calc(var(--spacing-xl) + env(safe-area-inset-bottom));isolation:isolate;background:var(--color-bg);grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow:hidden}.mosaic{z-index:-2;gap:var(--spacing-10);filter:blur(14px)saturate(.9);animation:mosaic-in .9s var(--ease) both;grid-template-columns:repeat(4,1fr);grid-auto-rows:22vh;display:grid;position:absolute;inset:-40px;transform:scale(1.04)}.mosaic__tile{border-radius:var(--radius-lg);background:var(--tile)}.mosaic__tile--wide{grid-column:span 2}.mosaic__tile--tall{grid-row:span 2}.hero:before{content:"";z-index:-1;background:linear-gradient(180deg, color-mix(in srgb, var(--color-bg) 55%, transparent) 0%, color-mix(in srgb, var(--color-bg) 25%, transparent) 35%, color-mix(in srgb, var(--color-bg) 88%, transparent) 72%, var(--color-bg) 100%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes mosaic-in{0%{opacity:0}}.hero__top{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.hero__body{align-self:end;gap:var(--spacing-lg);width:100%;min-width:0;max-width:440px;animation:rise .5s .15s var(--ease) both;grid-template-columns:minmax(0,1fr);display:grid;position:relative}.hero__body:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--color-bg) 90%, transparent) 62%, transparent);pointer-events:none;position:absolute;inset:-45% -60% -30% -50%}.hero .field__label{color:var(--color-text-secondary)}.hero__title{font-size:var(--text-hero);letter-spacing:-.025em;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-weight:500;line-height:1.12}.hero__lede{margin-top:var(--spacing-10);font-size:var(--text-body);color:var(--color-text-secondary);max-width:34ch}.hero__actions{gap:var(--spacing-sm);justify-items:start;display:grid}.hero__actions [hidden]{display:none}.hero__form{gap:var(--spacing-14);display:grid}.hero__actions--confirm{margin-top:var(--spacing-sm)}.hero .banner{margin-bottom:0}.hero__warn{align-items:flex-start;gap:var(--spacing-10);padding:var(--spacing-12) var(--spacing-14);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-bg) 72%, transparent);font-size:var(--text-small);color:var(--color-text);display:flex}.hero__warn .icon{color:var(--color-danger);margin-top:2px}.hero__foot{margin-top:var(--spacing-lg);font-size:var(--text-meta);color:var(--color-text-muted);letter-spacing:.04em}.hero__legal{gap:var(--spacing-md);margin:calc(-1 * var(--spacing-lg)) 0 calc(-1 * var(--spacing-sm));font-size:var(--text-caption);display:flex}.hero__legal a{min-height:44px;color:var(--color-text-secondary);text-underline-offset:2px;align-items:center;display:inline-flex}.hero__legal a:hover{color:var(--color-text)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@media (width>=1024px){.welcome{background:radial-gradient(120% 90% at 85% 10%, var(--color-peach) 0%, var(--color-warm-bg) 62%);padding:28px}.hero{border-radius:var(--radius-xl);min-height:calc(100dvh - 56px);padding:40px 56px var(--spacing-2xl)}.mosaic{grid-template-columns:repeat(6,1fr);grid-auto-rows:26vh}}.recovery{gap:var(--spacing-md);display:grid}.recovery__key{border:1px solid var(--color-accent-soft);border-radius:var(--radius-md);background:var(--color-input);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-body);letter-spacing:.06em;word-spacing:.3em;color:var(--color-text);text-wrap:balance;-webkit-user-select:all;user-select:all;padding:18px;line-height:1.8}.sheet__text+.recovery{margin-top:20px}.recovery__gate{font-size:var(--text-secondary);color:var(--color-text-muted)}.recovery__gate--done{color:var(--color-text-secondary)}.app{min-height:100dvh;padding-bottom:calc(var(--nav-block) + 30px)}.page{width:100%;max-width:var(--page-max);padding:0 var(--gutter);margin:0 auto}.page--enter{animation:fade .22s var(--ease) both}@keyframes fade{0%{opacity:0}}.topbar{z-index:var(--z-topbar);background:var(--color-veil);-webkit-backdrop-filter:blur(18px)saturate(1.2);position:sticky;top:0}.topbar__inner{justify-content:space-between;align-items:center;gap:var(--spacing-sm);max-width:var(--page-max);height:calc(var(--topbar-height) + env(safe-area-inset-top));padding:env(safe-area-inset-top) calc(var(--gutter) - var(--spacing-10)) 0 var(--gutter);margin:0 auto;display:flex}.topbar__actions{align-items:center;gap:2px;display:flex}.sync-dot{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px}.sync-dot--on{background:var(--color-accent)}.page-head{padding:var(--spacing-md) 0 var(--spacing-lg)}.page-head__row{justify-content:space-between;align-items:center;gap:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap;min-width:0;display:flex}.page-head__row>.page-title{flex:10rem}.page-head__back{width:fit-content;margin:0 0 6px calc(-1 * var(--spacing-sm));min-height:32px;padding-right:var(--spacing-sm);font-size:var(--text-secondary);color:var(--color-text-muted);transition:color var(--dur);align-items:center;gap:2px;display:flex;position:relative}.page-head__back:after{content:"";position:absolute;inset:-6px 0}.page-head__back:hover{color:var(--color-text)}.page-title{align-items:center;gap:var(--spacing-10);font-size:var(--text-title);letter-spacing:-.025em;overflow-wrap:anywhere;font-weight:500;line-height:1.15;display:flex}.seal{min-height:30px;margin-top:var(--spacing-12);padding:0 var(--spacing-xs) 0 var(--spacing-10);border:1px solid var(--color-accent);border-radius:var(--radius-pill);font-size:var(--text-caption);color:var(--color-accent);transition:background-color var(--dur);align-items:center;gap:6px;display:inline-flex;position:relative}.seal:after{content:"";position:absolute;inset:-7px -2px}.seal:hover{background:var(--color-accent-soft)}.seal__action{border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-text);margin-left:2px;padding:3px 9px}.icon-btn--seal{position:relative}.icon-btn--seal:after{content:"";background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--color-bg);border-radius:50%;position:absolute;top:10px;right:10px}.page-meta{font-size:var(--text-secondary);color:var(--color-text-muted);margin-top:6px}.page-head__tools{align-items:center;gap:var(--spacing-xs);margin-inline:calc(-1 * var(--spacing-12));flex:none;display:flex}.section-head .text-btn{margin-right:calc(-1 * var(--spacing-12))}.text-btn{min-height:36px;padding:0 var(--spacing-12);border-radius:var(--radius-pill);font-size:var(--text-small);color:var(--color-text-secondary);transition:color var(--dur), background-color var(--dur);position:relative}.text-btn:hover{color:var(--color-text);background:var(--color-hover)}.text-btn--accent{color:var(--color-accent)}.section{margin-bottom:var(--spacing-2xl)}.section--month{--month-head:calc(var(--text-section) * 1.45 + var(--spacing-14));content-visibility:auto;contain-intrinsic-size:auto calc(var(--month-h,560px) + var(--month-head))}.section-head{justify-content:space-between;align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-14);display:flex}.section-title{font-size:var(--text-section);letter-spacing:-.01em;font-weight:500;line-height:1.45}.section-meta{font-size:var(--text-caption);color:var(--color-text-muted)}.albums-strip{gap:var(--spacing-12);margin:-6px calc(var(--gutter) * -1) 0;padding:6px var(--gutter);scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);scrollbar-width:none;grid-auto-columns:minmax(140px,42vw);grid-auto-flow:column;display:grid;overflow-x:auto}.albums-strip::-webkit-scrollbar{display:none}@media (hover:hover) and (pointer:fine){.albums-strip{padding-bottom:var(--spacing-14);scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}.albums-strip:hover{scrollbar-color:var(--color-text-muted) transparent}.albums-strip::-webkit-scrollbar{height:6px;display:block}.albums-strip::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:var(--color-border-strong)}}@media (width>=640px){.albums-strip{grid-auto-columns:200px}}.album-grid{gap:22px var(--spacing-12);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=640px){.album-grid{gap:28px var(--spacing-md);grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.album-grid{grid-template-columns:repeat(5,1fr)}}.album{gap:var(--spacing-10);text-align:left;scroll-snap-align:start;grid-template-columns:minmax(0,1fr);min-width:0;display:grid;position:relative}.album__cover{aspect-ratio:4/5;border-radius:var(--radius-lg);background:var(--color-surface-elevated);position:relative;overflow:hidden}.album__cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease), opacity .3s var(--ease)}@media (hover:hover){.album:hover .album__cover img{transform:scale(1.02)}}.album__cover--private{color:var(--color-accent);background:radial-gradient(90% 70% at 30% 20%, color-mix(in srgb, var(--color-peach) 10%, transparent), transparent 70%), radial-gradient(80% 60% at 80% 90%, color-mix(in srgb, var(--color-accent) 8%, transparent), transparent 70%), var(--color-surface);place-items:center;display:grid}.album__seal{padding:var(--spacing-xs) 9px var(--spacing-xs) 7px;border:1px solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-badge);font-size:var(--text-meta);letter-spacing:.02em;color:var(--color-text);align-items:center;gap:5px;display:inline-flex;position:absolute;top:10px;left:10px}.album__seal .icon{color:var(--color-accent)}.album__cover--empty{color:color-mix(in srgb, var(--color-text-muted) 45%, transparent);place-items:center;display:grid}.album__title{font-size:var(--text-body);text-overflow:ellipsis;white-space:nowrap;font-weight:450;line-height:1.25;display:block;overflow:hidden}.album__meta{font-size:var(--text-caption);color:var(--color-text-muted);margin-top:2px;display:block}.grid{grid-template-columns:repeat(var(--grid-cols), 1fr);grid-auto-rows:var(--grid-row);grid-auto-flow:dense;gap:var(--grid-gap);display:grid}.tile{border-radius:var(--radius-md);background:var(--color-surface-elevated);transition:transform var(--dur) var(--ease);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.tile--feature{border-radius:var(--radius-lg);grid-area:span 2/span 2}.tile--wide{grid-column:span 2}.tile--tall{grid-row:span 2}.tile img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s var(--ease), transform .4s var(--ease)}.tile img.is-loaded{opacity:1}.tile--text img{object-position:top}@media (hover:hover){.tile:hover img{transform:scale(1.02)}}.tile__badge{align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-pill);background:var(--color-badge);font-size:var(--text-meta);font-variant-numeric:tabular-nums;color:var(--color-text);padding:3px 7px 3px 5px;display:inline-flex;position:absolute;bottom:8px;left:8px}.tile__fav{color:var(--color-text);filter:drop-shadow(0 1px 3px #00000080);position:absolute;top:8px;right:8px}.tile__fav .icon{fill:currentColor}.tile__fallback{color:var(--color-text-muted);font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;align-content:center;place-items:center;gap:6px;display:grid;position:absolute;inset:0}.tile__check{border:1.5px solid color-mix(in srgb, var(--color-text) 85%, transparent);background:color-mix(in srgb, var(--color-bg) 30%, transparent);width:22px;height:22px;color:var(--color-bg);opacity:0;transition:opacity var(--dur), background-color var(--dur), border-color var(--dur);border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.is-selecting .tile__check{opacity:1}.tile[aria-pressed=true]{transform:scale(.94)}.tile:focus-visible,.album:focus-visible{outline-color:var(--color-text)}.tile--pending{color:color-mix(in srgb, var(--color-text-muted) 60%, transparent);place-items:center;display:grid}.tile[aria-pressed=true] .tile__check{background:var(--color-accent);border-color:var(--color-accent)}.tile[aria-pressed=true]:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 2px var(--color-accent);position:absolute;inset:0}.empty{justify-items:center;gap:var(--spacing-md);padding:12vh var(--spacing-lg);text-align:center;display:grid}.empty__art{margin-bottom:var(--spacing-sm);opacity:.9;grid-template-rows:40px 30px;grid-template-columns:52px 40px;gap:6px;display:grid}.empty__art span{border-radius:var(--radius-xs);background:var(--color-surface-elevated)}.empty__art span:first-child{background:linear-gradient(160deg, color-mix(in srgb, var(--color-peach) 22%, transparent), color-mix(in srgb, var(--color-accent) 8%, transparent));grid-row:span 2}.empty__title{font-size:var(--text-lead);letter-spacing:-.01em;font-weight:500}.empty__text{max-width:34ch;font-size:var(--text-small);color:var(--color-text-muted)}.empty__actions{justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.empty__note{max-width:34ch;font-size:var(--text-caption);color:var(--color-text-muted)}.callout{max-width:720px;margin-bottom:var(--spacing-xl);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:18px 20px 20px}.callout--warn{border-color:var(--color-danger-border)}.callout__head{align-items:center;gap:var(--spacing-12);display:flex}.callout__icon{background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent);border-radius:50%;flex:none;place-items:center;display:grid}.callout--warn .callout__icon{background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger)}.callout__title{font-size:var(--text-section);letter-spacing:-.01em;font-weight:500}.callout__text{max-width:62ch;margin-top:var(--spacing-12);font-size:var(--text-small);color:var(--color-text-secondary)}.callout__actions{align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap;display:flex}.callout__actions:empty{display:none}@media (width<=639px){.callout__actions{flex-direction:column;align-items:flex-start}.callout__actions .text-btn{margin-left:calc(-1 * var(--spacing-12))}}.banner{align-items:center;gap:var(--spacing-10) var(--spacing-14);max-width:820px;margin-bottom:var(--spacing-lg);padding:var(--spacing-10) var(--spacing-10) var(--spacing-10) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-wrap:wrap;display:flex}.banner>.icon{color:var(--color-accent)}.banner__text{font-size:var(--text-secondary);color:var(--color-text-secondary);flex:240px}.banner__actions{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.banner__actions .text-btn{max-width:100%}.hint{align-items:center;gap:var(--spacing-10);max-width:720px;margin-bottom:var(--spacing-lg);padding:6px 6px 6px var(--spacing-14);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-secondary);color:var(--color-text-secondary);display:flex}.hint .icon{color:var(--color-accent)}.hint__text{flex:1;padding:6px 0}.hint .text-btn{flex:none}.nav{z-index:var(--z-nav);width:100%;max-width:560px;padding:0 var(--spacing-12) calc(var(--spacing-10) + env(safe-area-inset-bottom));pointer-events:none;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav__bar{height:var(--nav-height);border:1px solid var(--color-border);border-radius:var(--radius-bar);background:var(--color-chrome);-webkit-backdrop-filter:blur(20px)saturate(1.3);pointer-events:auto;grid-template-columns:repeat(5,1fr);align-items:center;padding:0 6px;display:grid;container:nav-bar/inline-size}.nav__item{min-height:var(--touch);font-size:var(--text-micro);letter-spacing:.02em;color:var(--color-text-muted);transition:color var(--dur);justify-items:center;gap:3px;padding-top:5px;display:grid;position:relative}.nav__item:hover{color:var(--color-text-secondary)}@container nav-bar (width<=16rem){.nav__item{align-content:center;padding-top:0}.nav__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.nav__item[aria-current=page]{color:var(--color-accent);font-weight:500}.nav__item[aria-current=page]:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:-6px;left:50%}.nav__create{border:1px solid var(--color-accent);background:var(--color-create);width:46px;height:46px;color:var(--color-text);transition:border-color var(--dur), transform var(--dur) var(--ease);border-radius:50%;justify-self:center;place-items:center;display:grid}.nav__create:hover{border-color:var(--color-accent-bright)}.nav__create:active{transform:scale(.94)}.selection-bar{justify-content:space-between;align-items:center;gap:0 var(--spacing-sm);min-height:var(--nav-height);padding:var(--spacing-xs) var(--spacing-sm) var(--spacing-xs) 18px;border:1px solid var(--color-border);border-radius:var(--radius-bar);background:var(--color-chrome);pointer-events:auto;animation:rise .2s var(--ease) both;flex-wrap:wrap;display:flex}.selection-bar__count{font-size:var(--text-small);color:var(--color-text-secondary)}.selection-bar__actions{flex-wrap:wrap;justify-content:flex-end;gap:2px;margin-left:auto;display:flex}.selection-bar .action{min-width:3.5rem}.action{min-width:56px;min-height:var(--touch);padding:6px 6px var(--spacing-xs);border-radius:var(--radius-sm);font-size:var(--text-micro);letter-spacing:.02em;color:var(--color-text-secondary);transition:color var(--dur), background-color var(--dur);justify-items:center;gap:3px;display:grid}.action:hover:not(:disabled){color:var(--color-text);background:var(--color-hover)}.action:disabled{opacity:.35;cursor:default}.action--on{color:var(--color-accent)}.action--on .icon{fill:currentColor}.floating{left:50%;bottom:var(--nav-clearance);z-index:var(--z-floating);gap:var(--spacing-sm);pointer-events:none;justify-items:center;width:max-content;max-width:calc(100% - 32px);display:grid;position:fixed;transform:translate(-50%)}body:has(.viewer) .floating{bottom:calc(var(--viewer-bar,calc(72px + env(safe-area-inset-bottom))) + 12px)}.pill-status{align-items:center;gap:var(--spacing-10);min-height:40px;padding:0 var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-chrome);font-size:var(--text-secondary);color:var(--color-text-secondary);pointer-events:auto;animation:rise .22s var(--ease) both;display:flex;position:relative;overflow:hidden}.pill-status .text-btn{margin-right:calc(-1 * var(--spacing-10))}.pill-status .icon{color:var(--color-accent)}.pill-status__bar{background:var(--color-accent);transform-origin:0;width:100%;height:1.5px;position:absolute;bottom:0;left:0}.pill-status--error .icon{color:var(--color-danger)}.sheet{z-index:var(--z-sheet);background:var(--color-scrim);animation:fade .2s var(--ease) both;align-items:end;display:grid;position:fixed;inset:0}.sheet__panel{width:100%;max-height:92dvh;padding:var(--spacing-10) var(--gutter) calc(var(--spacing-lg) + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--color-surface);animation:sheet-up .26s var(--ease) both;overflow-y:auto}.sheet__handle{background:color-mix(in srgb, var(--color-text) 14%, transparent);border-radius:4px;width:36px;height:4px;margin:0 auto 18px}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}}@media (width>=640px){.sheet{padding:var(--spacing-lg);place-items:center}.sheet__panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);max-width:440px;box-shadow:var(--shadow);padding:28px}.sheet__handle{display:none}}.sheet__title{font-size:var(--text-lead);letter-spacing:-.015em;font-weight:500}.sheet__text{margin-top:var(--spacing-sm);font-size:var(--text-small);color:var(--color-text-secondary)}.sheet__title--menu{margin-bottom:var(--spacing-12)}.sheet__body{gap:var(--spacing-14);margin-top:var(--spacing-lg);display:grid}.sheet__actions{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.menu{margin:0 calc(-1 * var(--spacing-sm));display:grid}.menu__row{align-items:center;gap:var(--spacing-14);min-height:56px;padding:0 var(--spacing-sm);border-radius:var(--radius-md);text-align:left;transition:background-color var(--dur);display:flex}.menu__row:hover:not(:disabled){background:var(--color-hover)}.menu__row:disabled{opacity:.4;cursor:default}.menu__row .icon{color:var(--color-text-secondary)}.menu__label{font-size:var(--text-body)}.menu__hint{font-size:var(--text-caption);color:var(--color-text-muted)}.menu__row--danger,.menu__row--danger .icon{color:var(--color-danger)}.picker{--ring:5px;max-height:46dvh;padding:var(--ring);margin:calc(var(--spacing-md) - var(--ring)) calc(-1 * (var(--spacing-sm) + var(--ring))) calc(-1 * var(--ring));gap:2px;display:grid;overflow-y:auto}.picker .menu__row{padding-left:calc(var(--spacing-sm) + var(--depth,0) * var(--spacing-md))}.list{display:grid}.list__row{justify-content:space-between;align-items:center;gap:var(--spacing-md);min-height:58px;padding:var(--spacing-12) 0;border-bottom:1px solid var(--color-border);text-align:left;display:flex}.list__row:last-child{border-bottom:0}button.list__row{width:100%;transition:opacity var(--dur)}button.list__row:hover .list__label{color:var(--color-accent-bright)}.list__label{font-size:var(--text-body);transition:color var(--dur)}.list__row--danger .list__label,button.list__row--danger:hover .list__label{color:var(--color-danger)}.list__hint{font-size:var(--text-caption);color:var(--color-text-muted);margin-top:2px}.list__value{font-size:var(--text-secondary);color:var(--color-text-muted);flex:none;align-items:center;gap:6px;display:flex}.list__row--stack{justify-content:stretch;gap:var(--spacing-12);display:grid}.narrow{max-width:620px}.status-line{align-items:center;gap:var(--spacing-10);font-size:var(--text-small);color:var(--color-text-secondary);display:flex}.activity__group{margin-bottom:var(--spacing-lg)}.activity__day{margin-bottom:var(--spacing-xs)}.activity__item{gap:var(--spacing-xs) var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-small);grid-template-columns:1fr auto;display:grid}.activity__item:last-child{border-bottom:0}.activity__time{font-size:var(--text-caption);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.viewer{z-index:var(--z-viewer);background:var(--color-viewer);animation:fade .2s var(--ease) both;touch-action:pan-y pinch-zoom;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.viewer.is-zoomed{touch-action:auto}.viewer__top{align-items:center;gap:var(--spacing-sm);padding:calc(var(--spacing-sm) + env(safe-area-inset-top)) var(--spacing-10) var(--spacing-sm);grid-template-columns:1fr auto 1fr;display:grid}.viewer__info{text-align:center;min-width:0}.viewer__date{font-size:var(--text-secondary);font-weight:500}.viewer__name{text-overflow:ellipsis;white-space:nowrap;max-width:52vw;font-size:var(--text-meta);color:var(--color-text-muted);overflow:hidden}.viewer__count{padding-right:var(--spacing-10);font-size:var(--text-caption);color:var(--color-text-muted);font-variant-numeric:tabular-nums;justify-self:end}.viewer__stage{min-height:0;position:relative;overflow:hidden}.viewer.is-photo .viewer__stage{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.viewer.is-zoomed .viewer__stage{touch-action:auto}.viewer__track{--peek-gap:24px;position:absolute;inset:0}.viewer__peek--prev{translate:calc(-100% - var(--peek-gap)) 0}.viewer__peek--next{translate:calc(100% + var(--peek-gap)) 0}.viewer__peek *{animation:none}@media (hover:hover){.viewer.is-photo .viewer__media.is-full{cursor:zoom-in}.viewer.is-magnified .viewer__media.is-full{cursor:grab}.viewer.is-magnified .viewer__media.is-full:active{cursor:grabbing}.viewer.is-editing .viewer__media.is-full{cursor:auto}}.viewer__media{object-fit:contain;border-radius:calc(var(--radius-md) / var(--zoom,1));max-width:100%;max-height:100%;animation:reveal .3s var(--ease) both}.viewer__media--placeholder{filter:blur(12px);transform:scale(1.01)}@keyframes reveal{0%{opacity:0;transform:scale(.985)}}.viewer__media-wrap{inset:0 var(--spacing-sm);grid-template:minmax(0,1fr)/minmax(0,1fr);place-items:center;display:grid;position:absolute}.viewer__media-wrap>*{grid-area:1/1}.viewer__nav{background:var(--color-scrim);width:32px;height:32px;color:var(--color-text);position:absolute;top:50%;translate:0 -50%}.viewer__nav:after{content:"";inset:calc((var(--spacing-xl) - var(--touch)) / 2);position:absolute}.viewer__nav svg{width:20px;height:20px}.viewer.has-nav:not(.is-editing) .viewer__text-body{padding-inline:calc(var(--spacing-xl) + var(--spacing-sm))}.viewer__nav--prev{left:var(--spacing-xs)}.viewer__nav--next{right:var(--spacing-xs)}@media (hover:none){.viewer__nav:hover{background:var(--color-scrim);color:var(--color-text)}}@media (hover:hover) and (width>=768px){.viewer__nav{width:var(--touch);height:var(--touch);color:var(--color-text-secondary);background:0 0}.viewer__nav svg{width:26px;height:26px}.viewer.has-nav:not(.is-editing) .viewer__text-body{padding-inline:var(--spacing-lg)}.viewer__nav--prev{left:16px}.viewer__nav--next{right:16px}.viewer__media-wrap{inset:0 80px}}.viewer__bar{justify-content:center;gap:var(--spacing-xs) clamp(var(--spacing-xs), 2.5vw, 20px);padding:var(--spacing-10) var(--spacing-10) calc(var(--spacing-14) + env(safe-area-inset-bottom));flex-wrap:wrap;display:flex}.viewer__bar .action{min-width:var(--touch);flex:0 3.25rem;padding-inline:2px}.viewer__notice{justify-items:center;gap:var(--spacing-14);text-align:center;max-width:320px;color:var(--color-text-muted);font-size:var(--text-small);display:grid}.viewer [hidden]{display:none}.viewer__save{color:var(--color-accent)}.viewer__text{align-content:start;gap:var(--spacing-sm);width:min(100%,72ch);height:100%;padding-block:var(--spacing-xs) var(--spacing-sm);grid-template-rows:auto minmax(0,1fr);display:grid}.viewer__text:has(>:only-child){grid-template-rows:minmax(0,1fr)}.viewer__text-note{text-align:center;font-size:var(--text-caption);color:var(--color-text-muted)}.viewer__text-body{overscroll-behavior:contain;height:100%;min-height:0;padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font);font-size:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;animation:reveal .3s var(--ease) both;margin:0;line-height:1.65;overflow:auto}.viewer__text-body--mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-secondary);line-height:1.6}.viewer__editor{resize:none;border-color:var(--color-input-border);background:var(--color-input);width:100%;color:var(--color-text);font-size:var(--text-input);transition:border-color var(--dur), box-shadow var(--dur);animation:none}.viewer__editor.viewer__text-body--mono{font-size:var(--text-input)}.viewer__editor::placeholder{color:var(--color-text-muted)}.viewer__editor:focus{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);outline:none}.dropzone{inset:var(--spacing-12);z-index:var(--z-dropzone);border:1px dashed var(--color-accent);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--color-bg) 86%, transparent);font-size:var(--text-section);color:var(--color-text-secondary);pointer-events:none;place-items:center;animation:.15s both fade;display:grid;position:fixed}.boot-error{padding:var(--spacing-lg)}.spinner{border:1.5px solid color-mix(in srgb, var(--color-text) 15%, transparent);border-top-color:var(--color-accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(1turn)}}
