:root { --ink:#272725; --muted:#817f78; --paper:#f8f7f4; --card:#fffefd; --line:#e7e3dc; --olive:#747e50; --yellow:#e7c85d; --peach:#e8a981; --blue:#91adc7; --radius:20px; font-family: Inter, ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; min-width:320px; background:var(--paper); }
button, input, textarea, select { font:inherit; }
button { color:inherit; cursor:pointer; }
.app-shell { width:min(100%, 680px); min-height:100dvh; margin:auto; padding:24px 20px 110px; }
.view { display:none; animation:enter .26s ease; } .view.is-active { display:block; } @keyframes enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.page-header { display:flex; justify-content:space-between; align-items:center; margin:4px 2px 24px; } .compact-header { margin-bottom:18px; }
.eyebrow { margin:0 0 5px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.14em; } h1,h2,h3,p { margin-top:0; } h1 { font-size:36px; letter-spacing:-.055em; line-height:1; margin-bottom:0; } h2 { font-size:21px; letter-spacing:-.035em; margin:0; }
.icon-button { border:1px solid var(--line); background:var(--card); width:40px; height:40px; border-radius:50%; display:grid; place-items:center; } .icon-button svg { width:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.overview-card { background:#dce2ca; border-radius:var(--radius); padding:21px 19px 18px; display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:31px; } .overview-card p { font-family:Georgia,serif; font-size:22px; line-height:1.12; letter-spacing:-.04em; margin:10px 0 0; }.spark { font-size:20px; } .overview-count { font-size:11px; font-weight:700; border:1px solid rgba(39,39,37,.15); padding:6px 9px; border-radius:30px; }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px; } .section-heading span { color:var(--muted); font-size:12px; }
.list-cards { display:grid; gap:10px; } .list-card { appearance:none; width:100%; border:0; background:var(--card); border-radius:16px; padding:14px 13px; display:grid; align-items:center; grid-template-columns:43px 1fr auto; text-align:left; box-shadow:0 1px 0 rgba(0,0,0,.035); transition:transform .18s, box-shadow .18s; } .list-card:hover { transform:translateY(-2px); box-shadow:0 7px 19px rgba(35,33,29,.07); }.card-icon { width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:19px;font-weight:600; }.adventure-card .card-icon{background:#efdf9b}.movies-card .card-icon{background:#f1c6ad}.videos-card .card-icon{background:#cddbe9}.card-copy { display:grid; gap:3px; }.card-copy strong { font-size:15px; letter-spacing:-.02em; }.card-copy small { color:var(--muted); font-size:12px; }.card-meta { color:var(--muted); font-size:11px; white-space:nowrap; }
.list-detail { display:none; padding-top:3px; } .list-detail.is-open { display:block; }.list-cards.is-hidden, .overview-card.is-hidden, .section-heading.is-hidden { display:none; }.detail-heading { display:flex; gap:12px; align-items:center; margin:2px 0 19px; }.back-button { background:transparent; border:0; font-size:27px; padding:0 5px 2px 0; line-height:1; }.detail-description { color:var(--muted); font-size:14px; margin-bottom:18px; }.progress-row { display:flex; align-items:center; gap:10px; margin-bottom:19px; }.progress-track { height:5px;background:#e7e3dd;border-radius:8px;flex:1;overflow:hidden; }.progress-track i { display:block;height:100%;width:0;background:var(--olive);border-radius:inherit;transition:width .25s; }.progress-row span:last-child { color:var(--muted);font-size:12px; }
.checklist { display:grid; gap:1px; }.check-row { border-bottom:1px solid var(--line); padding:14px 4px; display:flex; align-items:center; gap:11px; }.check-row input { appearance:none; width:20px;height:20px;border:1.5px solid #aaa69f;border-radius:50%;margin:0;flex:none;display:grid;place-items:center; }.check-row input:checked { background:var(--olive); border-color:var(--olive); }.check-row input:checked::after { content:"✓"; color:white; font-size:12px; }.check-row label { font-size:15px; flex:1; }.check-row:has(input:checked) label { color:#aaa69f; text-decoration:line-through; }.delete-item { background:transparent;border:0;color:#bbb7af;font-size:18px; opacity:0; transition:opacity .15s; }.check-row:hover .delete-item { opacity:1; }.quick-add { display:flex; gap:8px; margin-top:13px; }.quick-add input { flex:1;border:1px solid var(--line);background:var(--card);border-radius:11px;padding:11px 12px;outline:none;font-size:14px; }.quick-add input:focus { border-color:#a9b18b; }.quick-add button { width:42px;border:0;border-radius:11px;background:var(--ink);color:white;font-size:23px;line-height:1; }.ideas-list { position:relative;z-index:1;display:grid;gap:10px;margin:18px 0;min-width:0;overflow:visible; }.idea-card { position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:8px;align-items:center;max-width:100%;min-width:0;overflow:visible;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 10px 14px 15px;text-align:left; }.idea-card:has(.idea-more[aria-expanded="true"]) { z-index:4; }.idea-open { min-width:0;overflow:hidden;border:0;background:transparent;padding:0;text-align:left; }.idea-open h3,.idea-open p { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }.idea-open h3 { font-size:15px;margin:0 0 5px;letter-spacing:-.02em; }.idea-open p { color:var(--muted);font-size:13px;margin:0 0 6px; }.idea-open small { color:#9a978f;font-size:11px;white-space:nowrap; }.idea-card.is-completed { padding-top:12px;padding-bottom:12px;background:#f5f4ef;border-color:#e6e3db; }.idea-card.is-completed .idea-open h3 { margin:0;color:#74716b;text-decoration:line-through;text-decoration-color:#b8b4aa; }.completed-ideas { display:grid;gap:10px;margin-top:25px; }.completed-heading { display:flex;align-items:center;justify-content:space-between;margin:0 3px -1px; }.completed-heading h3 { margin:0;color:#77746d;font-size:12px;text-transform:uppercase;letter-spacing:.09em; }.completed-heading span { min-width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#e8e6df;color:#6b6963;font-size:11px;font-weight:700; }.idea-actions { position:relative;align-self:start; }.idea-more { width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#77736c;font-size:16px;letter-spacing:1px;line-height:1; }.idea-more:hover,.idea-more[aria-expanded="true"] { background:#efede8;color:var(--ink); }.idea-menu { position:absolute;z-index:5;right:0;top:36px;display:grid;min-width:142px;padding:5px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 9px 20px rgba(37,34,29,.13); }.idea-menu button { border:0;background:transparent;border-radius:6px;padding:8px 9px;text-align:left;font-size:12px; }.idea-menu button:hover { background:#f1efea; }.completion-action { display:flex;align-items:center;gap:7px; }.menu-checkbox { width:14px;height:14px;display:grid;place-items:center;border:1px solid #aaa69f;border-radius:4px;color:white;font-size:10px;line-height:1; }.menu-checkbox.is-checked { background:var(--olive);border-color:var(--olive); }.idea-menu .danger-action { color:#a04a4a; }.soft-button { position:relative;z-index:0;background:transparent;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:13px;font-weight:650; }
.text-button { background:none;border:0;color:var(--muted);font-size:13px;padding:8px 0; }.entry-form { display:grid;gap:16px; }.entry-form label:not(.image-drop) { display:grid;gap:7px; }.entry-form label > span { color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.11em; }.entry-form input, .entry-form textarea, .entry-form select { border:0;border-bottom:1px solid var(--line);background:transparent;padding:3px 0 10px;border-radius:0;outline:none;font-size:15px;resize:none; }.entry-form input:focus,.entry-form textarea:focus,.entry-form select:focus { border-color:var(--olive); }.entry-form select { color:var(--ink); }.two-columns { display:grid;grid-template-columns:1fr 1fr;gap:18px; }.image-drop { height:218px;background:#edeae4;border:1px dashed #c9c4ba;border-radius:var(--radius);display:grid;place-items:center;overflow:hidden;position:relative;cursor:pointer; }.image-drop input { display:none; }.image-drop div { display:grid;justify-items:center;gap:5px;color:var(--muted); }.image-drop div span { color:var(--ink);font-size:31px;font-weight:300;line-height:1; }.image-drop div strong { color:var(--ink);font-size:14px; }.image-drop div small { font-size:12px; }.image-drop img { display:none;width:100%;height:100%;object-fit:cover; }.image-drop.has-image img { display:block; }.image-drop.has-image div { display:none; }.primary-button { border:0;background:var(--ink);color:white;border-radius:13px;padding:14px 17px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:space-between; }.primary-button span { font-size:18px; }.entry-form .primary-button { margin-top:6px; }
.library-tabs { display:flex;gap:21px;border-bottom:1px solid var(--line);margin-bottom:22px; }.library-tab { position:relative;background:none;border:0;padding:0 0 11px;color:var(--muted);font-size:14px; }.library-tab.is-selected { color:var(--ink);font-weight:700; }.library-tab.is-selected::after { content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink);border-radius:3px; }.library-panel { display:none; }.library-panel.is-active { display:block; }.library-intro { color:var(--muted);font-family:Georgia,serif;font-size:17px;letter-spacing:-.025em;margin-bottom:16px; }.album-grid { display:grid;grid-template-columns:repeat(2, 1fr);gap:13px; }.album-card { border:0;background:transparent;text-align:left;padding:0; }.album-cover { position:relative;aspect-ratio:1;border-radius:15px;overflow:hidden;background:var(--album-color); }.album-cover::before,.album-cover::after { content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.3); }.album-cover::before { height:60%;width:60%;top:-12%;right:-8%; }.album-cover::after { height:35%;width:35%;bottom:-4%;left:10%; }.album-card:nth-child(2) .album-cover::before { border-radius:3px; transform:rotate(25deg); }.album-card:nth-child(3) .album-cover::after { height:70%; width:26%; border-radius:4px; }.album-card h3 { font-size:14px;margin:9px 0 2px; }.album-card p { color:var(--muted);font-size:12px;margin:0; }.feed-filter { display:flex;justify-content:space-between;margin:-2px 0 14px;color:var(--muted);font-size:12px; }.feed-filter button { background:transparent;border:0;text-decoration:underline;color:var(--ink);font-size:12px;padding:0; }.feed-list { display:grid;gap:14px; }.feed-card { overflow:hidden;background:var(--card);border-radius:16px;border:1px solid var(--line); }.feed-image { min-height:176px;background:#ded6ca;position:relative;overflow:hidden; }.feed-image::after { content:"";position:absolute;width:55%;aspect-ratio:1;right:13%;top:9%;border-radius:50%;background:rgba(255,255,255,.3); }.feed-image.uploaded { background-image:var(--image); background-position:center; background-size:cover; }.feed-image.uploaded::after { display:none; }.feed-content { padding:14px 15px 15px; }.feed-meta { display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:8px; }.feed-card h3 { font-size:17px;letter-spacing:-.025em;margin-bottom:4px; }.feed-location { color:var(--olive);font-size:12px;margin-bottom:8px; }.feed-caption { color:#5e5c57;font-family:Georgia,serif;font-size:15px;line-height:1.35;margin-bottom:0; }
.image-drop { min-height:218px;height:auto; }.entry-preview-grid { display:none;width:100%;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px; }.entry-preview-grid img { width:100%;aspect-ratio:1;object-fit:cover;border-radius:13px; }.image-drop.has-image .entry-preview-grid { display:grid; }.album-cover.has-photo { background-size:cover;background-position:center; }.album-cover.has-photo::before,.album-cover.has-photo::after { display:none; }.feed-batch { overflow:hidden; }.feed-photo-stack { display:grid;grid-template-columns:repeat(2,1fr);gap:3px;min-height:160px;background:#e6e0d6; }.feed-photo { position:relative;overflow:hidden;min-height:100%;border:0;background:#d7c8b5;background-size:cover;background-position:center; }.feed-photo:only-child { grid-column:span 2;min-height:215px; }.feed-content h3 { line-height:1.25; }.photo-library-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px; }.library-photo { aspect-ratio:1;border:0;background:#d7c8b5;background-size:cover;background-position:center;position:relative;overflow:hidden; }.library-photo:not(.has-photo)::after,.feed-photo:not(.has-photo)::after { content:"";position:absolute;inset:0;background:rgba(255,255,255,.23); }.photo-viewer-dialog { width:min(calc(100% - 24px),600px);max-height:calc(100% - 24px);border:0;background:transparent;padding:0; }.photo-viewer-dialog::backdrop { background:rgba(20,19,18,.5);backdrop-filter:blur(4px); }.photo-viewer-card { position:relative;max-height:calc(100vh - 24px);overflow:auto;background:var(--paper);border-radius:18px;box-shadow:0 20px 55px rgba(0,0,0,.25); }.viewer-close { z-index:2;color:white;right:10px;top:8px;text-shadow:0 1px 4px #000; }.viewer-image-wrap { position:relative;min-height:240px;max-height:58vh;background:#242321;display:grid;place-items:center;overflow:hidden; }.viewer-image-wrap img { position:relative;z-index:1;max-width:100%;max-height:58vh;object-fit:contain; }.viewer-image-wrap > div { position:absolute;inset:0;background:#d5c7ad; }.photo-viewer-info { padding:18px 19px 20px; }.photo-viewer-info h2 { margin:0 0 7px;font-size:22px;letter-spacing:-.04em; }.viewer-caption { color:#5e5c57;font-family:Georgia,serif;font-size:15px;line-height:1.35;margin:0 0 17px; }.photo-viewer-info dl { margin:0;display:grid;gap:0; }.photo-viewer-info dl div { display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:10px 0; }.photo-viewer-info dt { color:var(--muted);font-size:12px; }.photo-viewer-info dd { margin:0;text-align:right;font-size:12px; }
.bottom-nav { position:fixed;z-index:3;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,680px);height:83px;padding:8px 35px max(8px, env(safe-area-inset-bottom));background:rgba(250,249,246,.91);backdrop-filter:blur(15px);border-top:1px solid rgba(231,227,220,.8);display:flex;justify-content:space-between;align-items:center; }.nav-button { min-width:48px;background:transparent;border:0;color:var(--muted);display:grid;justify-items:center;gap:4px;padding:5px;font-size:10px; }.nav-button svg { width:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }.nav-button.is-active { color:var(--ink);font-weight:800; }.add-button { width:54px;height:54px;background:var(--ink);border-radius:50%;color:#fff;display:grid;place-items:center;font-size:29px;line-height:1;margin-top:-29px;box-shadow:0 5px 13px rgba(0,0,0,.16); }.add-button span { transform:translateY(-1px); }.add-button.is-active { color:white; }
.video-dialog { border:0;background:transparent;padding:16px;width:min(100%,570px); }.video-dialog::backdrop { background:rgba(37,35,31,.35);backdrop-filter:blur(2px); }.dialog-card { position:relative;background:var(--paper);border-radius:20px;padding:27px;display:grid;gap:14px;box-shadow:0 20px 55px rgba(0,0,0,.2); }.dialog-close { position:absolute;right:16px;top:13px;border:0;background:none;color:var(--muted);font-size:27px; }.dialog-card input,.dialog-card textarea { border:0;background:transparent;outline:none;resize:none; }.dialog-card input { font-weight:750;font-size:23px;letter-spacing:-.04em;border-bottom:1px solid var(--line);padding:0 0 11px; }.dialog-card textarea { color:#52504c;line-height:1.45;font-size:14px; }.dialog-card menu { display:flex;gap:8px;justify-content:flex-end;padding:0;margin:0; }.dialog-card .primary-button { padding:10px 14px; }
.properties-dialog { width:min(calc(100% - 32px),420px);border:0;background:transparent;padding:0; }.properties-dialog::backdrop { background:rgba(37,35,31,.32);backdrop-filter:blur(2px); }.properties-card { position:relative;background:var(--paper);border-radius:18px;padding:25px 22px 19px;box-shadow:0 20px 55px rgba(0,0,0,.2); }.properties-card h2 { max-width:calc(100% - 28px);margin:0 0 21px;font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.properties-list { margin:0;display:grid;gap:0; }.properties-list div { display:flex;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:12px 0; }.properties-list dt { color:var(--muted);font-size:12px; }.properties-list dd { margin:0;text-align:right;font-size:12px; }
.adventure-section { display:grid;gap:8px; }.adventure-section + .adventure-section { margin-top:25px; }.adventure-section-heading { display:flex;align-items:center;justify-content:space-between;margin:1px 3px 1px; }.adventure-section-heading h3 { margin:0;color:#77746d;font-size:12px;text-transform:uppercase;letter-spacing:.09em; }.adventure-section-heading span { min-width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#e8e6df;color:#6b6963;font-size:11px;font-weight:700; }.adventure-item { display:grid;grid-template-columns:20px minmax(0,1fr) 20px;gap:10px;align-items:start;padding:14px 8px 14px 13px;border:1px solid var(--line);border-radius:14px;background:var(--card); }.adventure-item > input { appearance:none;width:20px;height:20px;margin:1px 0 0;border:1.5px solid #aaa69f;border-radius:50%;display:grid;place-items:center; }.adventure-item > input:checked { background:var(--olive);border-color:var(--olive); }.adventure-item > input:checked::after { content:"✓";color:white;font-size:12px; }.adventure-item-copy { min-width:0; }.adventure-item-copy > label { display:block;font-size:15px;line-height:1.3;cursor:pointer; }.adventure-item-copy > small { display:block;margin-top:5px;color:var(--muted);font-size:11px; }.adventure-item.is-completed { background:#f5f4ef;border-color:#e7e4dc; }.adventure-item.is-completed .adventure-item-copy > label { color:#77746d;text-decoration:line-through;text-decoration-color:#b8b4aa; }.adventure-item .delete-item { opacity:0;margin-top:-3px; }.adventure-item:hover .delete-item { opacity:1; }.adventure-memory { margin-top:10px; }.adventure-memory-button,.adventure-attachment { max-width:100%;border:0;border-radius:9px;padding:7px 9px;background:#ece9e1;color:#666159;font-size:11px;display:inline-flex;align-items:center;gap:6px;overflow:hidden; }.adventure-memory-button:hover,.adventure-attachment:hover { background:#e2dfd5;color:var(--ink); }.album-attachment span { color:var(--olive);font-size:14px; }.photo-attachment i { width:19px;height:19px;border-radius:5px;background-position:center;background-size:cover;flex:none; }.photo-attachment { white-space:nowrap;text-overflow:ellipsis; }.completed-adventures .adventure-section-heading span { background:#dce2ca;color:#627044; }
.movie-item > input:checked { background:var(--peach);border-color:var(--peach); }.completed-movies .adventure-section-heading span { background:#f1d1c0;color:#9a6850; }
.adventure-dialog { width:min(calc(100% - 32px),460px);border:0;background:transparent;padding:0; }.adventure-dialog::backdrop { background:rgba(37,35,31,.32);backdrop-filter:blur(2px); }.adventure-memory-card { position:relative;background:var(--paper);border-radius:18px;padding:25px 22px 22px;box-shadow:0 20px 55px rgba(0,0,0,.2); }.adventure-memory-card h2 { max-width:calc(100% - 28px);margin:0 0 19px;font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.memory-tabs { display:flex;gap:17px;border-bottom:1px solid var(--line);margin-bottom:17px; }.memory-tab { position:relative;border:0;background:transparent;padding:0 0 10px;color:var(--muted);font-size:13px; }.memory-tab.is-selected { color:var(--ink);font-weight:750; }.memory-tab.is-selected::after { content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink); }.memory-panel { display:none;gap:14px; }.memory-panel.is-active { display:grid; }.memory-panel label:not(.memory-upload) { display:grid;gap:7px; }.memory-panel label > span { color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em; }.memory-panel input:not([type=file]),.memory-panel select { width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;outline:0;padding:3px 0 10px;font-size:14px; }.memory-panel input:focus,.memory-panel select:focus { border-color:var(--olive); }.memory-panel .primary-button { margin-top:3px; }.memory-or { margin:0;color:var(--muted);font-family:Georgia,serif;font-size:14px;text-align:center; }.memory-upload { min-height:90px;border:1px dashed #c8c4ba;border-radius:13px;display:grid;place-content:center;justify-items:center;gap:3px;cursor:pointer;color:var(--muted); }.memory-upload input { display:none; }.memory-upload > span { color:var(--ink);font-size:23px;line-height:1; }.memory-upload strong { color:var(--ink);font-size:13px; }.memory-upload small { max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px; }
.is-editing-video { overflow:hidden; }.is-editing-video .bottom-nav { display:none; }.is-viewing-completed .editor-tools,.is-viewing-completed .color-palette { display:none; }.is-viewing-completed .document-paper { box-shadow:none; }.is-viewing-completed .document-title { color:#74716b; }.is-viewing-completed .video-editor { color:#66635d; }.is-viewing-completed .document-note { color:var(--olive); }.is-viewing-completed .document-note::before { content:"✓ "; }#video-editor-view.is-active { position:fixed;z-index:5;inset:0;display:block;overflow-y:auto;background:var(--paper);padding:24px 20px max(30px, env(safe-area-inset-bottom)); }.document-header { width:min(100%,680px);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:48px;margin:2px auto 19px; }.document-back { justify-self:start; }.document-status { text-align:center;display:grid;gap:2px; }.document-status .eyebrow { margin:0; }.document-status span { color:var(--muted);font-size:11px; }.document-done { justify-self:end;color:var(--olive);font-weight:800; }.document-paper { width:min(100%,680px);margin:auto;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 9px 32px rgba(56,51,42,.06);overflow:hidden; }.document-title { width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;outline:0;padding:23px 20px 16px;font-weight:800;font-size:27px;letter-spacing:-.052em;color:var(--ink); }.document-title::placeholder { color:#aaa69f; }.editor-tools { display:flex;align-items:center;gap:3px;padding:9px 12px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none; }.editor-tools::-webkit-scrollbar { display:none; }.format-button { flex:none;width:34px;height:32px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;color:#484640;font-size:15px;line-height:1; }.format-button:hover,.format-button:focus-visible { background:#edebe6;outline:0; }.italic-button { font-family:Georgia,serif;font-size:19px;font-style:italic; }.underline-button { text-decoration:underline;text-underline-offset:2px; }.strike-button { text-decoration:line-through; }.list-button { font-size:15px;letter-spacing:-2px;font-weight:700; }.tool-divider { height:18px;width:1px;background:var(--line);margin:0 3px;flex:none; }.color-mark { position:relative;font-weight:800;font-family:Georgia,serif;font-size:17px;line-height:1; }.color-mark::after { content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;border-radius:2px;background:var(--active-color,#272725); }.image-button { font-size:22px;font-weight:200;cursor:pointer; }.image-button input { display:none; }.color-palette { width:min(100%,680px);margin:auto;background:#f4f2ed;border:1px solid var(--line);border-top:0;padding:11px 14px 13px; }.color-palette p { margin:0 0 8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em; }.color-families { display:flex;align-items:flex-start;justify-content:space-between;gap:8px;max-width:310px; }.color-family { display:grid;gap:5px; }.color-swatch { width:23px;height:23px;border:1px solid rgba(0,0,0,.1);border-radius:50%;background:var(--swatch);padding:0;transition:transform .12s; }.color-swatch:hover,.color-swatch:focus-visible { transform:scale(1.16);outline:2px solid var(--paper);box-shadow:0 0 0 3px var(--ink); }.video-editor { min-height:440px;padding:20px;color:#42403b;outline:0;font-family:Georgia,serif;font-size:17px;line-height:1.62; }.video-editor:empty::before { content:attr(data-placeholder);color:#aaa69f;pointer-events:none; }.video-editor p:first-child { margin-top:0; }.video-editor ul,.video-editor ol { padding-left:25px; }.video-editor img { display:block;max-width:100%;height:auto;margin:14px 0;border-radius:10px;box-shadow:0 2px 9px rgba(0,0,0,.08); }.document-note { text-align:center;color:var(--muted);font-size:11px;margin:15px 0 0; }
.library-panel-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:12px; }.library-panel-heading .library-intro { margin-top:0; }.library-panel-heading .text-button { margin-top:2px; }.photo-selection-bar { margin:-3px 0 15px;padding:11px 12px 12px;border:1px solid #d7d5cc;border-radius:13px;background:#f1f0eb; }.photo-selection-bar > span { display:block;margin-bottom:10px;color:#65635d;font-size:12px;font-weight:700; }.photo-selection-actions { display:flex;flex-wrap:wrap;gap:7px; }.photo-selection-actions button { border:0;border-radius:8px;background:white;padding:8px 9px;font-size:11px;font-weight:650;color:var(--ink); }.photo-selection-actions .danger { color:#a04a4a; }.library-photo.is-selecting::before { content:"";position:absolute;z-index:1;inset:0;border:2px solid transparent;pointer-events:none; }.library-photo.is-selected::before { border-color:var(--olive);background:rgba(107,124,72,.18); }.library-photo.is-selected::after { content:"✓";position:absolute;z-index:2;right:6px;top:6px;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--olive);color:white;font-size:12px;font-weight:800;box-shadow:0 1px 4px rgba(0,0,0,.2); }
.album-picker-card { display:grid;gap:16px; }.album-picker-card h2 { margin-bottom:0; }.album-picker-field { display:grid;gap:7px; }.album-picker-field > span { color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em; }.album-picker-field input,.album-picker-field select { width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;outline:0;padding:3px 0 10px;font-size:14px; }.album-picker-field input:focus,.album-picker-field select:focus { border-color:var(--olive); }
.album-detail-heading { margin:12px 0 17px; }.album-detail-heading h2 { margin:4px 0;font-size:28px;letter-spacing:-.045em; }.album-detail-heading > p:last-child { margin:0;color:var(--muted);font-size:13px; }.album-details { display:grid;grid-template-columns:1fr 1fr;margin:0 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }.album-details div { padding:11px 9px 12px 0;min-width:0; }.album-details div + div { padding-left:12px;border-left:1px solid var(--line); }.album-details dt { color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em; }.album-details dd { margin:5px 0 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.album-detail-controls { display:flex;justify-content:space-between;align-items:center; }.album-options { position:relative; }.album-options-menu { position:absolute;z-index:5;right:0;top:30px;min-width:130px;padding:5px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 9px 20px rgba(37,34,29,.13); }.album-options-menu button { display:block;width:100%;border:0;background:transparent;border-radius:6px;padding:8px 9px;text-align:left;font-size:12px; }.album-options-menu button:hover { background:#f1efea; }.album-options-menu .danger-action { color:#a04a4a; }.album-selection-bar { margin:-5px 0 16px;padding:11px 12px;border:1px solid #d7d5cc;border-radius:13px;background:#f1f0eb; }.album-selection-bar span { display:block;margin-bottom:9px;color:#65635d;font-size:12px;font-weight:700; }.album-selection-bar div { display:flex;gap:7px;flex-wrap:wrap; }.album-selection-bar button { border:0;border-radius:8px;background:white;padding:8px 9px;font-size:11px;font-weight:650; }
.new-album-fields { display:grid;gap:15px;padding:16px 14px 14px;border:1px solid var(--line);border-radius:14px;background:#f3f2ed; }.new-album-fields .eyebrow { margin:0 -1px -2px; }.viewer-edit { position:absolute;z-index:3;left:10px;top:8px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(30,29,27,.48);color:white;font-size:18px;line-height:1;opacity:.72; }.viewer-edit:hover,.viewer-edit:focus { opacity:1;background:rgba(30,29,27,.8); }.photo-edit-form { display:grid;gap:14px;padding:18px 19px 20px; }.photo-edit-form > .eyebrow { margin:0; }.photo-edit-form label { display:grid;gap:7px; }.photo-edit-form label > span { color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em; }.photo-edit-form input,.photo-edit-form textarea { width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;outline:0;padding:3px 0 10px;font:inherit;font-size:14px;resize:vertical; }.photo-edit-form input:focus,.photo-edit-form textarea:focus { border-color:var(--olive); }.photo-edit-form > div { display:flex;justify-content:flex-end;gap:8px;margin-top:3px; }.photo-edit-form .soft-button,.photo-edit-form .primary-button { padding:10px 12px; }
.viewer-actions { position:absolute;z-index:4;right:9px;top:8px;display:flex;align-items:center;gap:5px; }.viewer-action-set { display:flex;gap:5px; }.viewer-action { width:30px;height:30px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(30,29,27,.52);color:white;font-size:17px;line-height:1;text-shadow:0 1px 3px #000; }.viewer-action:hover,.viewer-action:focus-visible { background:rgba(30,29,27,.86); }.viewer-action-set .viewer-action:first-child { font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:16px; }.viewer-menu-toggle { font-size:24px;padding-bottom:3px; }.viewer-menu-toggle[aria-expanded="true"] { transform:rotate(180deg); }.photo-viewer-card.is-image-only .viewer-image-wrap { min-height:min(72vh,620px);max-height:calc(100vh - 24px); }.photo-viewer-card.is-image-only .viewer-image-wrap img { max-height:calc(100vh - 24px); }
.home-hub { display:grid;gap:22px; }.home-hub.is-hidden { display:none; }.legacy-overview { display:none; }.home-recent .section-heading,.home-lists-cube .section-heading { margin:0 0 11px; }.home-recent .section-heading h2,.home-lists-cube .section-heading h2 { font-size:15px;letter-spacing:-.02em; }.home-recent-feed { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:9px;align-items:stretch; }.home-photo-activity { position:relative;min-height:150px;overflow:hidden;border:0;border-radius:17px;background:#c8c1ae;background-image:var(--home-image);background-size:cover;background-position:center;text-align:left;color:white;animation:home-photo-fade .35s ease-out; }.home-photo-activity::after,.home-adventure-card::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,27,25,.75),rgba(28,27,25,.2)); }.home-photo-activity > span { position:absolute;inset:0;background:inherit;opacity:.4; }.home-photo-activity > div { position:relative;z-index:1;display:grid;align-content:end;gap:5px;min-height:150px;padding:12px; }.home-photo-activity small,.home-adventure-copy small { font-size:9px;font-weight:800;letter-spacing:.1em; }.home-photo-activity strong { display:-webkit-box;overflow:hidden;max-width:100%;font-family:Georgia,serif;font-size:15px;font-weight:400;line-height:1.08;letter-spacing:-.03em;-webkit-box-orient:vertical;-webkit-line-clamp:3; }.home-photo-activity em { font-size:10px;font-style:normal;line-height:1.15;opacity:.85; }.home-completion-activity { display:grid;gap:7px;padding:11px 10px;border:1px solid var(--line);border-radius:14px;background:var(--card); }.home-completion-activity > small { color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.08em; }.home-completion-activity > div { display:grid;grid-template-columns:19px minmax(0,1fr);align-items:start;gap:6px; }.home-list-icon { width:18px;height:18px;border-radius:7px;display:grid;place-items:center;background:#e6e9da;color:#627044;font-size:11px;font-weight:800; }.home-completion-activity section { min-width:0;display:grid;gap:2px; }.home-completion-activity strong { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px; }.home-completion-activity em { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px;font-style:normal; }.home-adventure-card { position:relative;min-height:144px;overflow:hidden;border:0;border-radius:17px;background:var(--home-color,#bfc8a1);background-image:var(--home-image);background-size:cover;background-position:center;text-align:center;color:white; }.home-adventure-card:disabled { opacity:.7; }.home-adventure-wash { position:absolute;inset:0;background:rgba(255,255,255,.25);mix-blend-mode:soft-light; }.home-adventure-copy { position:relative;z-index:1;display:grid;place-content:center;justify-items:center;gap:2px;min-height:144px;padding:14px; }.home-adventure-copy strong { font-family:Georgia,serif;font-size:58px;font-weight:400;line-height:.9;letter-spacing:-.075em; }.home-adventure-copy em { margin-top:6px;font-size:11px;font-style:normal;opacity:.86; }.home-lists-cube { padding:16px 13px 13px;border-radius:18px;background:#e6e9da; }.home-lists-cube .section-heading span { display:none; }.home-lists-cube .list-cards { gap:8px; }.home-lists-cube .list-card { border:1px solid rgba(255,255,255,.75); }.completion-feed-card { display:grid;grid-template-columns:45px minmax(0,1fr);align-items:center; }.completion-mark { width:28px;height:28px;margin-left:14px;border-radius:50%;display:grid;place-items:center;background:#dce2ca;color:#627044;font-size:14px;font-weight:800; }.completion-feed-card .feed-content { padding-left:0; }.completion-items { margin:8px 0 0;color:#5e5c57;font-family:Georgia,serif;font-size:13px;line-height:1.35; } @keyframes home-photo-fade { from { opacity:.45; } to { opacity:1; } }
.home-activity-cube { display:grid;gap:12px;padding:16px 13px 13px;border-radius:18px;background:#eee4d5; }.home-activity-cube > .section-heading { margin:0; }.home-activity-cube > .section-heading h2 { font-size:15px;letter-spacing:-.02em; }
.is-list-detail > .page-header { display:none; }.is-list-detail .list-detail { padding-top:2px; }.is-list-detail .detail-heading { flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 18px; }.is-list-detail .detail-heading > div { display:block; }.is-list-detail #detail-kicker,.is-list-detail #detail-description { display:none; }.is-list-detail .detail-heading h2 { margin:0;font-size:30px;letter-spacing:-.05em; }.is-list-detail .back-button { padding:0;font-size:31px; }.is-list-detail .progress-track { height:8px; }.is-list-detail #checklist-form,.is-list-detail #new-video-button { margin:0 0 17px; }.is-list-detail #new-video-button { width:100%;text-align:left; }
.brand-wordmark { color:var(--ink)!important;font-family:"Brush Script MT","Segoe Script",cursive!important;font-size:25px!important;font-weight:400!important;letter-spacing:-.06em!important;line-height:.8!important;text-transform:none!important; }.bottom-nav { display:grid;grid-template-columns:1fr 72px 1fr;justify-items:center;padding-left:20px;padding-right:20px; }.nav-button { min-width:66px;font-size:11px; }.nav-button svg { width:24px;height:24px;stroke-width:1.8; }.add-button { width:62px;height:62px;margin-top:-34px;font-size:33px; }.bottom-nav .nav-button:first-child { justify-self:center; }.bottom-nav .nav-button:last-child { justify-self:center; }
@media (min-width:560px) { .app-shell { padding-top:38px; }.list-cards { grid-template-columns:repeat(3,1fr); }.list-card { min-height:145px;display:flex;flex-direction:column;align-items:flex-start;gap:10px; }.card-meta { margin-top:auto; }.album-grid { grid-template-columns:repeat(3,1fr); }.entry-form { max-width:520px;margin:auto; }.image-drop { height:250px; } }
