:root{--bg:#fbf6f3;--surface:#fff;--surface-2:#f6efeb;--text:#2b2421;--muted:#8c807b;--border:#efe5e0;--accent:#e8637a;--accent-text:#fff;--accent-soft:#fde9ed;--danger:#d64545;--author-0:#d9506a;--author-0-soft:#fde9ed;--author-1:#3577d4;--author-1-soft:#e5effc;--page:#fff;--shadow:0 1px 2px #3c1e140a, 0 4px 16px #3c1e140d;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#1b1716;--surface:#252020;--surface-2:#2f2928;--text:#f4ecea;--muted:#a3958f;--border:#3a3230;--accent:#f27a8f;--accent-text:#1b1716;--accent-soft:#3d252a;--danger:#ff7b7b;--author-0:#f58da0;--author-0-soft:#43262c;--author-1:#86b5f7;--author-1-soft:#1f2d42;--page:#000;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable both-edges}body{background:var(--bg);color:var(--text);word-break:keep-all;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Noto Sans KR,Segoe UI,sans-serif;font-size:16px;line-height:1.5}:root{--gutter:16px}#root{padding:0 var(--gutter) calc(48px + env(safe-area-inset-bottom));margin:0 auto}@media (width>=720px){:root{--gutter:24px}}@media (width>=1100px){#root{max-width:1760px}}@media (width>=1800px){body{background:var(--page)}#root{background:var(--bg);min-height:100vh;box-shadow:-1px 0 0 var(--border), 1px 0 0 var(--border)}}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,p{margin:0}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:13px}.button{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px 16px;font-weight:600}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button.danger{color:var(--danger);background:0 0;border-color:#0000;padding-inline:4px}.button.block{width:100%}.button:disabled{opacity:.5;cursor:default}.icon-button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.icon-button:hover:not(:disabled){background:var(--surface-2)}.icon-button:disabled{opacity:.3;cursor:default}.field{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;padding:10px 12px;font-size:16px}textarea.field{resize:vertical}input[type=date].field{appearance:none;min-height:46px}input[type=date].field::-webkit-date-and-time-value{text-align:left}.select-field{color:var(--muted);align-items:center;display:flex;position:relative}.select-field select{appearance:none;cursor:pointer;padding-right:36px}.select-field svg{pointer-events:none;width:16px;height:16px;position:absolute;right:12px}.field:focus,.add-item-input:focus{outline:2px solid var(--accent);outline-offset:-1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login{place-items:center;min-height:100dvh;display:grid}.login-card{text-align:center;gap:12px;width:100%;max-width:340px;display:grid}.login-card h1{font-size:24px}.login-heart{font-size:48px}.form-error{color:var(--danger);font-size:14px}.top{z-index:1;margin:0 calc(-1 * var(--gutter));padding:calc(16px + env(safe-area-inset-top)) var(--gutter) 12px;background:var(--surface);border-bottom:1px solid var(--border);gap:12px;display:grid;position:sticky;top:0}.title-row{justify-content:space-between;align-items:center;display:flex}.title-row h1{letter-spacing:-.01em;font-size:22px}.title-actions{align-items:center;gap:4px;display:flex}.title{align-items:center;min-width:0;display:flex}.back{color:var(--text);margin-left:-10px}.home{padding-top:var(--gutter);gap:16px;display:grid}.dday-hero{border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);text-align:center;justify-items:center;gap:2px;padding:28px 16px 24px;display:grid}.dday-hero .heart-icon{width:28px;height:28px;margin-bottom:4px}.dday-hero-count{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:56px;font-weight:800;line-height:1.1}.dday-hero-since{opacity:.75;font-size:14px;font-weight:600}.menu{gap:12px;display:grid}@media (width>=720px){.menu{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.menu-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:var(--muted);text-align:left;align-items:center;gap:14px;padding:18px 14px 18px 18px;display:flex}.menu-card.soon{box-shadow:none;background:0 0;border-style:dashed}.menu-emoji{font-size:32px;line-height:1}.menu-text{flex:1;gap:2px;min-width:0;display:grid}.menu-title{color:var(--text);font-size:18px;font-weight:700}.menu-desc{font-size:14px}@media (hover:hover){.menu-card:hover,.memory-missing:hover{border-color:color-mix(in srgb, var(--text) 25%, var(--border))}}.author-0{--author:var(--author-0);--author-soft:var(--author-0-soft)}.author-1{--author:var(--author-1);--author-soft:var(--author-1-soft)}.me{background:var(--author-soft);color:var(--author);border:0;border-radius:999px;padding:4px 12px;font-size:14px;font-weight:700}.author-tag{background:var(--author-soft);color:var(--author);border-radius:999px;flex:none;margin-top:2px;padding:1px 8px;font-size:12px;font-weight:700;line-height:20px}.who-buttons{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.who{border:2px solid var(--author);border-radius:var(--radius);background:var(--author-soft);color:var(--author);padding:20px 0;font-size:22px;font-weight:700}.progress{gap:6px;display:grid}.progress-bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress-bar span{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s;display:block}.progress-meta{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.progress-text{color:var(--muted);font-size:13px}.heart-icon{vertical-align:-.04em;width:.8em;height:.8em}.chips{margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter);scrollbar-width:none;-webkit-user-select:none;user-select:none;gap:8px;display:flex;overflow-x:auto}.chips.dragging,.chips.dragging *{cursor:grabbing}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 14px;font-size:14px;display:inline-flex}.chip:focus-visible{outline-offset:-2px}.chip.selected{background:var(--text);border-color:var(--text);color:var(--bg)}.chip.add{color:var(--muted);padding:6px 10px}.chip.add svg{width:16px;height:16px}.chip-count{opacity:.6;font-size:12px}.segmented{background:var(--surface-2);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:6px 0;font-size:14px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-weight:600}.view-controls{align-items:center;gap:8px;display:flex}.view-controls .segmented{flex:1}.sort-select{color:var(--muted);flex:none;align-items:center;display:flex;position:relative}.sort-select select{appearance:none;background:var(--surface-2);color:var(--text);cursor:pointer;border:0;border-radius:12px;padding:9px 34px 9px 14px;font-size:14px;font-weight:600;line-height:21px}.sort-select svg{pointer-events:none;width:16px;height:16px;position:absolute;right:10px}.sections{padding-top:var(--gutter);align-items:flex-start;gap:16px;display:flex}@media (width>=720px){.top .segmented{max-width:420px}}.section-column{flex:1;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.sections>.empty-state{flex:1}:root{--desktop-top-height:87px}.desktop-top{z-index:2;height:var(--desktop-top-height);margin:0 calc(-1 * var(--gutter));padding:28px var(--gutter) 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.desktop-top h1{font-size:26px}.desktop-body{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:32px;display:grid}.sidebar{top:var(--desktop-top-height);max-height:calc(100vh - var(--desktop-top-height));padding-top:var(--gutter);gap:20px;padding-bottom:24px;display:grid;position:sticky;overflow-y:auto}.category-list{gap:2px;display:grid}.category-link{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:15px;display:flex}.category-link:focus-visible,.text-button:focus-visible{outline-offset:-2px}.category-link.selected{background:var(--text);color:var(--bg);font-weight:600}.category-link-emoji{text-align:center;flex:none;width:22px}.category-link-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.category-link-count{opacity:.6;font-variant-numeric:tabular-nums;font-size:13px}.category-list-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:2px;margin-top:8px;padding-top:8px;display:flex}.text-button{color:var(--muted);background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:14px;display:inline-flex}.text-button svg{width:16px;height:16px}.main-toolbar{top:var(--desktop-top-height);z-index:1;padding:var(--gutter) 20px 12px;background:var(--bg);justify-content:space-between;align-items:center;gap:16px;margin:0 -20px;display:flex;position:sticky}.main-toolbar+.sections,.main-toolbar+.archive{padding-top:calc(var(--gutter) - 12px)}.main-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:20px;overflow:hidden}.main-toolbar .segmented{flex:none;width:320px}.main-toolbar .view-controls{flex:none}@media (hover:hover){.category-link:not(.selected):hover,.text-button:hover{background:var(--surface-2);color:var(--text)}.chip:not(.selected):hover{border-color:color-mix(in srgb, var(--text) 25%, var(--border))}.segmented button[aria-pressed=false]:hover{color:var(--text)}.item:not(.done) .item-title:hover{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--text) 30%, transparent);text-underline-offset:3px}.button:not(:disabled):hover{filter:brightness(.96)}.add-item-button:not(:disabled):hover{filter:brightness(.95)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px 0 4px}.card-head{align-items:center;gap:8px;min-height:48px;padding:6px 8px 6px 16px;display:flex}.card-head.plain{padding-right:16px}.card-emoji{font-size:20px}.card-title{flex:1;font-size:17px}.card-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.items{margin:0;padding:0;list-style:none}.item{border-top:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 16px;display:flex}.check{border:2px solid var(--border);color:#0000;background:0 0;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;margin-top:1px;padding:0;transition:background .15s,border-color .15s,scale .15s;display:grid}.check svg{width:14px;height:14px}.check:hover{border-color:var(--accent)}.check[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.check.pop{animation:.45s pop}@keyframes pop{0%{box-shadow:0 0 0 0 var(--accent);transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1);box-shadow:0 0 0 12px #0000}}.item-body{flex:1;gap:2px;min-width:0;display:grid}.item-title{text-align:left;background:0 0;border:0;padding:0;font-size:16px;line-height:1.5}.item-note{color:var(--muted);white-space:pre-wrap;font-size:14px}.item-note a{color:var(--accent);word-break:break-all}.thumbs{flex-wrap:wrap;gap:6px;margin:4px 0 2px;display:flex}.thumb{background:var(--surface-2);border:0;border-radius:10px;width:64px;height:64px;padding:0;overflow:hidden}.thumb img,.photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.item.done .thumb{opacity:.7}.item-meta{color:var(--muted);flex-wrap:wrap;gap:0 8px;font-size:12px;display:flex}.item-date{color:var(--accent)}.item.done .item-title{color:var(--muted)}.item-title-text{background:linear-gradient(var(--strike), var(--strike)) no-repeat 0 58% / 0 1.5px;--strike:color-mix(in srgb, var(--muted) 60%, transparent)}.item.done .item-title-text{background-size:100% 1.5px}.empty{border-top:1px solid var(--border);color:var(--muted);padding:10px 16px 12px;font-size:14px}.add-item{border-top:1px solid var(--border);align-items:center;gap:12px;padding:8px 16px 4px;display:flex}.add-item-icon{width:26px;color:var(--muted);flex:none;place-items:center;display:grid}.add-item-icon svg{width:18px;height:18px}.add-item-input{background:0 0;border:0;border-radius:8px;flex:1;width:0;min-width:0;margin-left:-6px;padding:8px 6px;font-size:16px}.add-item-button{background:var(--accent);color:var(--accent-text);border:0;border-radius:999px;flex:none;padding:6px 14px;font-size:14px;font-weight:600}.add-item-button:disabled{background:var(--surface-2);color:var(--muted);cursor:default}.add-item-input::placeholder{color:var(--muted)}.empty-state{color:var(--muted);justify-items:center;gap:12px;padding:32px 16px;display:grid}.archive{padding-top:var(--gutter);gap:16px;display:grid}.archive-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.button.small{flex:none;align-items:center;gap:4px;padding:7px 14px 7px 10px;font-size:14px;display:inline-flex}.button.small svg{width:16px;height:16px}.next-anniversary{border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.next-anniversary-label{opacity:.75;font-size:13px;font-weight:600}.next-anniversary-name{font-size:20px;font-weight:800}.next-anniversary-date{opacity:.75;margin-left:8px;font-size:14px;font-weight:600}.next-anniversary-count{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:32px;font-weight:800}.card.memory{padding:0;overflow:hidden}.memory-photos{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-user-select:none;user-select:none;gap:4px;display:flex;overflow-x:auto}.memory-photos::-webkit-scrollbar{display:none}.memory-photos.dragging{scroll-snap-type:none}.memory-photos.dragging,.memory-photos.dragging *{cursor:grabbing}.memory-photo{aspect-ratio:1;background:var(--surface-2);scroll-snap-align:start;border:0;flex:0 0 min(72%,300px);padding:0}.memory-photos.single .memory-photo{aspect-ratio:4/3;flex-basis:100%}.memory-photo img{object-fit:cover;width:100%;height:100%;display:block}.memory-body{gap:6px;padding:12px 16px 16px;display:grid}.memory-head{align-items:center;gap:8px;margin-right:-10px;display:flex}.memory-head .author-tag{margin-top:0}.memory-title{letter-spacing:-.01em;flex:1;min-width:0;font-size:19px}.memory-meta{color:var(--muted);flex-wrap:wrap;gap:2px 12px;margin-top:-4px;font-size:13px;display:flex}.memory-place{color:inherit;align-items:center;gap:2px;text-decoration:none;display:inline-flex}.memory-place svg{flex:none;width:14px;height:14px}.memory-note{white-space:pre-wrap;margin-top:4px;font-size:15px}.memory-note a{color:var(--accent);word-break:break-all}.memory-missing{border:1px dashed var(--border);border-radius:var(--radius);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.memory-missing-text{flex-wrap:wrap;align-items:baseline;gap:0 8px;min-width:0;display:flex}.memory-missing-title{font-size:17px;font-weight:700}.memory-missing-date{color:var(--muted);font-size:13px}.memory-missing-action{color:var(--accent);flex:none;align-items:center;gap:4px;font-size:14px;font-weight:600;display:inline-flex}.memory-missing-action svg{width:16px;height:16px}.timeline{--rail:28px;--track:64px;--dot:12px;--dot-y:26px;--line-x:calc(var(--rail) / 2);isolation:isolate;position:relative}.timeline.two-sided{--line-x:50%;width:100%;max-width:1080px;margin-inline:auto}.timeline:before,.timeline-line,.timeline-fill{content:"";left:calc(var(--line-x) - 1px);width:2px;position:absolute}.timeline:before{height:calc(var(--line-start) + 16px);background:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--accent) 50%, transparent) 0 4px, transparent 4px 9px);top:-16px}.timeline-line{top:var(--line-start);height:calc(var(--line-end) - var(--line-start));background:var(--border)}.timeline-fill{top:var(--line-start);height:calc(var(--fill) - var(--line-start));background:var(--accent)}.timeline-list{padding:24px 0 0 var(--rail);grid-template-columns:minmax(0,1fr);gap:14px;margin:0;list-style:none;display:grid}.timeline-list>li{position:relative}.two-sided .timeline-list{padding:0;display:block}.two-sided .timeline-list>li{position:absolute}.timeline-node{--to-line:calc(var(--rail) / -2)}.two-sided .timeline-node{width:calc(50% - var(--track) / 2);left:0}.two-sided .timeline-node.side-0{--to-line:calc(100% + var(--track) / 2)}.two-sided .timeline-node.side-1{--to-line:calc(var(--track) / -2);left:calc(50% + var(--track) / 2)}.timeline-node:before{content:"";top:calc(var(--dot-y) - 1px);left:var(--to-line);width:calc(var(--rail) / 2);background:var(--border);height:2px;position:absolute}.two-sided .timeline-node:before{width:calc(var(--track) / 2)}.two-sided .timeline-node.side-0:before{left:100%}.timeline-dot{z-index:1;top:calc(var(--dot-y) - var(--dot) / 2);left:calc(var(--to-line) - var(--dot) / 2);width:var(--dot);height:var(--dot);border:2px solid var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--bg);border-radius:50%;position:absolute}.timeline-node.missing .timeline-dot{background:var(--bg)}.timeline-year{margin-left:calc(var(--rail) * -1);justify-self:start;display:flex}.two-sided .timeline-year{margin-left:0;left:50%;translate:-50%}.timeline-year span{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;box-shadow:0 0 0 3px var(--bg);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}.modal.narrow{width:min(360px,100% - 32px)}.confirm-text{gap:6px;display:grid}.modal{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(480px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--text);padding:0;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal:focus{outline:none}.modal::backdrop{background:#140a0a66}.modal-body{gap:16px;padding:20px;display:grid}.modal-title{font-size:18px}.form{gap:14px;display:grid}.form-fields{border:0;min-width:0;margin:0;padding:0}.save-error{margin-top:12px}.label{color:var(--muted);gap:6px;font-size:13px;font-weight:600;display:grid}.label .field{color:var(--text);font-weight:400}.toggle{align-items:center;gap:10px;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--accent)}.category-fields{gap:10px;display:flex}.grow{flex:1}.emoji-field{text-align:center;width:72px;padding-block:7px;font-size:20px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));align-items:start;gap:8px;display:grid}.photo-picker{gap:8px;display:grid}.photo-draft{min-width:0}.photo-number{color:#fff;text-align:center;background:#0000008c;border-radius:12px;min-width:24px;padding:2px 6px;font-size:12px;position:absolute;top:4px;left:4px}.photo-move-actions{justify-content:space-between;display:flex}.photo-move-actions .icon-button{width:44px;height:40px}.photo-tile,.photo-add{aspect-ratio:1;background:var(--surface-2);border-radius:12px;position:relative;overflow:hidden}.photo-remove{color:#fff;background:#0000008c;border:0;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;display:grid;position:absolute;top:4px;right:4px}.photo-remove svg{width:14px;height:14px}.photo-add{border:1.5px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;place-items:center;display:grid}.order-list{border:1px solid var(--border);border-radius:12px;margin:0;padding:0;list-style:none}.order-row{align-items:center;gap:4px;padding:4px 8px 4px 14px;display:flex}.order-row+.order-row{border-top:1px solid var(--border)}.order-name{flex:1;min-width:0}.order-group{gap:6px;display:grid}.viewer{width:100%;max-width:none;height:100%;max-height:none;padding:calc(64px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));touch-action:pan-y pinch-zoom;background:0 0;border:0;place-items:center;margin:0;display:grid}.viewer:not([open]){display:none}.viewer::backdrop{background:#000000e6}.viewer img{max-width:100%;max-height:calc(100dvh - 128px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:8px}.viewer-close,.viewer-nav{color:#fff;background:#282828d9;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:fixed}.viewer-close{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right))}.viewer-nav{top:50%;transform:translateY(-50%)}.viewer-prev{left:calc(12px + env(safe-area-inset-left))}.viewer-next{right:calc(12px + env(safe-area-inset-right))}.viewer-nav[aria-disabled=true]{opacity:.35;cursor:default}.viewer-count{bottom:calc(16px + env(safe-area-inset-bottom));color:#fff;font-variant-numeric:tabular-nums;background:#282828d9;border-radius:999px;padding:6px 14px;font-size:14px;position:fixed;left:50%;transform:translate(-50%)}.comments{margin-top:8px}.comments-toggle{color:var(--muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;margin-inline:-8px;padding:6px 8px;font-size:13px;transition:background-color .18s,color .18s;display:inline-flex}.comments-toggle svg{width:16px;height:16px}.comments-count{font-variant-numeric:tabular-nums}.comments-toggle[aria-expanded=true]{color:var(--text)}@media (hover:hover){.comments-toggle:hover{background:var(--accent-soft);color:var(--accent)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.comments-toggle svg{transition:transform .18s}.comments-toggle:hover svg{transform:translateY(-1px)scale(1.1)}}.comments-panel:not([hidden]){border-top:1px solid var(--border);gap:16px;margin-top:6px;padding-top:12px;display:grid}.comment-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.comment-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;display:flex}.comment-author,.comment-writing-as span{color:var(--author);font-weight:700}.comment-actions{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.comment-action{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:4px 6px;font-size:12px}.comment-action:disabled{opacity:.5;cursor:default}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.comment-body a{color:var(--accent)}.comment-form{gap:8px;display:grid}.comment-edit{margin-top:6px}.comment-writing-as{color:var(--muted);font-size:13px;font-weight:400}.comment-form-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.form-actions{align-items:center;gap:8px;display:flex}.spacer{flex:1}.loading{place-items:center;display:grid;position:fixed;inset:0}.loading:after{content:"";border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notices{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:none;justify-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);display:grid;position:fixed;transform:translate(-50%)}.notice{background:var(--text);color:var(--bg);pointer-events:auto;border-radius:12px;padding:10px 16px;font-size:14px;box-shadow:0 4px 8px #0003}.notice.error{background:var(--danger);color:#fff}::view-transition-old(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-new(root){animation-duration:.3s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}:root[data-nav=forward]::view-transition-old(root){animation-name:page-out-left}:root[data-nav=forward]::view-transition-new(root){animation-name:page-in-right}:root[data-nav=back]::view-transition-old(root){animation-name:page-out-right}:root[data-nav=back]::view-transition-new(root){animation-name:page-in-left}@keyframes page-in-right{0%{opacity:0;transform:translate(40px)}}@keyframes page-out-left{to{opacity:0;transform:translate(-40px)}}@keyframes page-in-left{0%{opacity:0;transform:translate(-40px)}}@keyframes page-out-right{to{opacity:0;transform:translate(40px)}}.modal[open]{animation:.22s cubic-bezier(.2,.8,.2,1) modal-in}.viewer[open] img{animation:.25s cubic-bezier(.2,.8,.2,1) modal-in}.modal[open]::backdrop,.viewer[open]::backdrop{animation:.22s fade-in}html:has(dialog[open]){scrollbar-gutter:auto;padding-inline:var(--scrollbar-gutter,0px);overflow:hidden}.modal.closing,.viewer.closing{pointer-events:none;animation:.16s forwards modal-out}.modal.closing::backdrop,.viewer.closing::backdrop{animation:.16s forwards fade-out}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.96)}}@keyframes modal-out{to{opacity:0;transform:translateY(4px)scale(.98)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.notice{animation:.3s cubic-bezier(.2,.8,.2,1) notice-in}.notice.leaving{pointer-events:none;animation:.2s forwards notice-out}@keyframes notice-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes notice-out{to{opacity:0;transform:translateY(12px)scale(.98)}}.item.entering{animation:.35s cubic-bezier(.2,.8,.2,1) item-in}.item.striking .item-title-text{animation:.35s ease-out strike}@keyframes item-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes strike{0%{background-size:0 1.5px}}.timeline-fill{transition:height .9s cubic-bezier(.2,.8,.2,1)}@media (prefers-reduced-motion:no-preference){.timeline-card{opacity:0;transition:opacity .5s ease var(--delay), translate .6s cubic-bezier(.2, .8, .2, 1) var(--delay);translate:0 20px}.two-sided .side-0 .timeline-card{translate:-28px}.two-sided .side-1 .timeline-card{translate:28px}.timeline-year span{opacity:0;transition:opacity .3s ease var(--delay), scale .4s cubic-bezier(.3, 1.5, .5, 1) var(--delay);scale:.6}.timeline-dot{transition:scale .4s cubic-bezier(.3, 1.6, .5, 1) calc(var(--delay) + .1s);scale:0}.timeline-node:before{transform-origin:0;transition:scale .3s ease-out calc(var(--delay) + .2s);scale:0 1}.two-sided .side-0:before{transform-origin:100%}.timeline .shown .timeline-card,.timeline .shown.timeline-year span,.timeline .shown .timeline-dot,.timeline .shown.timeline-node:before{opacity:1;translate:none;scale:none}}.menu-card,.memory-missing,.who,.button,.chip,.icon-button,.me,.add-item-button,.thumb,.category-link,.text-button,.segmented button{transition:scale .15s}:is(.who,.button,.chip,.icon-button,.me,.add-item-button,.thumb,.check,.text-button,.segmented button):active:not(:disabled){scale:.95}:is(.menu-card,.memory-missing,.category-link):active{scale:.98}@media (prefers-reduced-motion:reduce){*,::backdrop{transition:none!important;animation:none!important}}
