:root{--bg:#fff6ed;--ink:#35241d;--muted:#8e7466;--card:#ffffffeb;--line:#eed8c9;--brand:#bd6b48;--brand2:#ef9e6f;--ok:#567b61;--shadow:0 22px 54px #502a1429}*{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 20% 0,#ffcfacf2,#0000 34rem),linear-gradient(#fffaf5 0%,#fff1e6 54%,#f4dccb 100%);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,Microsoft JhengHei,Arial,sans-serif;overflow-x:hidden}button,input,select,textarea{font:inherit;min-width:0}button{cursor:pointer}.upload-hint{color:var(--muted);font-size:13px;font-weight:700;line-height:1.5;display:block}.app-screen{width:min(100%,560px);min-height:100svh;padding:max(14px, env(safe-area-inset-top)) 14px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.app-screen>*,.workspace-grid>*,.record-grid>*,.header-row>*{min-width:0}.top-card,.panel,.record-card,.form-card,.category-card,.toast{background:var(--card);box-shadow:var(--shadow);border:1px solid #eed8c9e6;border-radius:28px}.top-card{color:#fff;background:radial-gradient(circle at top right, #ffffff38, transparent 12rem), linear-gradient(135deg, var(--brand), var(--brand2));padding:22px;position:relative}.header-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.lock-screen{width:min(100%,560px);min-height:100svh;padding-bottom:max(14px, env(safe-area-inset-bottom));place-items:center;display:grid}.lock-card{width:100%}.unlock-form{gap:12px;margin-top:20px;display:grid}.unlock-form input{text-align:center;letter-spacing:.18em;background:#fffffff2;border:0;font-size:22px;font-weight:900}.unlock-form button,.lock-button{min-height:52px;color:var(--brand);background:#fff;border:0;border-radius:999px;font-size:16px;font-weight:950}.private-badge{color:#66331f;background:#fffaf5;border-radius:999px;flex:none;align-items:center;min-height:34px;padding:0 12px;font-size:12px;font-weight:950;display:inline-flex;box-shadow:0 8px 18px #502a1429}.lock-button{color:#66331f;background:#fffaf5;flex:none;min-height:34px;padding:0 12px;font-size:12px;box-shadow:0 8px 18px #502a1429}.lock-message{color:#fff;background:#ffffff2e;border-radius:18px;margin-top:12px;padding:10px 12px;font-weight:900}.pet-badge,.status-row span,.record-meta span{border-radius:999px;align-items:center;min-height:30px;padding:5px 10px;font-size:13px;font-weight:800;display:inline-flex}.pet-badge{color:#4d2417;background:#fffaf5;border:1px solid #78432f29;min-height:36px;line-height:1.25;box-shadow:0 8px 18px #502a1424}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.05em;margin:16px 0 10px;font-size:clamp(38px,11vw,56px);line-height:1.02}h2{margin-bottom:14px;font-size:25px;line-height:1.15}h3{margin-bottom:8px;font-size:20px}p{color:var(--muted);overflow-wrap:anywhere;font-size:16px;line-height:1.65}.top-card p{color:#ffffffe6}.status-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.status-row span{color:#fff;background:#ffffff2e}.backup-strip{background:#ffffff2e;border-radius:18px;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.backup-strip button,.backup-card button{color:#66331f;background:#fffaf5;border:0;border-radius:999px;flex:none;min-height:38px;padding:7px 12px;font-weight:900}.backup-card{border:1px solid var(--line);background:#fff9f4;border-radius:22px;margin:16px 0 22px;padding:16px}.backup-card strong,.backup-card span{display:block}.backup-card p{margin:6px 0;font-size:14px}.backup-card span{color:var(--ok);font-size:13px;font-weight:900}.backup-card button{color:#fff;background:var(--brand);margin-top:12px}@media (max-width:480px){.backup-strip,.search-heading{flex-direction:column;align-items:stretch}.search-filter-grid{grid-template-columns:1fr}.search-scopes label{width:100%}}.tabbar{z-index:20;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffbf7f0;border:1px solid #eed8c9e6;border-radius:26px;grid-template-columns:repeat(5,1fr);gap:8px;max-width:540px;margin:0 auto;padding:8px;display:grid;position:fixed;box-shadow:0 16px 40px #502a1433}.tabbar button{min-height:58px;color:var(--muted);background:0 0;border:0;border-radius:20px;font-size:12px;font-weight:900}.tabbar span{margin-bottom:3px;font-size:21px;display:block}.tabbar button.active{color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand2))}.panel{margin-top:14px;padding:18px}.mini-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;display:grid}.mini-grid div{background:#fff2e9;border-radius:22px;place-items:center;min-height:92px;display:grid}.mini-grid strong{font-size:30px}.mini-grid span{color:var(--muted);font-weight:900}.form-card{box-shadow:none;gap:12px;margin-bottom:20px;padding:14px;display:grid}.note-save-bar{z-index:10;border-bottom:1px solid var(--line);background:#fffdfb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;display:flex;position:sticky;top:8px}.note-save-bar h2{margin:0;font-size:22px}.note-save-bar button{flex-shrink:0;min-height:48px}.note-save-status{overflow-wrap:anywhere;flex-basis:100%;margin:0}.note-editor{align-content:start}@media (min-width:760px){.note-save-bar{top:88px}}.search-card{border:1px solid var(--line);background:linear-gradient(#fffdfb,#fff6ef);border-radius:24px;margin-bottom:22px;padding:16px}.search-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.search-heading h2,.search-heading p{margin-bottom:6px}.search-heading p{font-size:14px}.clear-search,.search-empty button{color:#fff;background:var(--brand);border:0;border-radius:999px;flex:none;min-height:42px;padding:8px 14px;font-weight:900}.search-input,.search-filter-grid label{gap:6px;display:grid}.search-input>span,.search-filter-grid label>span,.search-scopes legend{color:var(--muted);font-size:13px;font-weight:900}.search-input{margin-top:14px}.search-input input{border-width:2px;border-color:#dfae92;font-size:17px}.search-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.search-scopes{border:0;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;display:flex}.search-scopes legend{width:100%;margin-bottom:6px}.search-scopes label{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:14px;font-weight:900;display:inline-flex}.search-scopes input{width:20px;min-height:20px;accent-color:var(--brand)}.search-summary{color:var(--brand);background:#fff0e6;border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding:11px 12px;display:flex}.search-summary strong,.search-summary span{font-size:14px}.search-summary span{background:#fff;border-radius:999px;padding:4px 8px;font-weight:900}.search-summary small{width:100%;color:var(--muted);line-height:1.5}mark{color:inherit;background:#ffe08a;border-radius:4px;padding:0 2px}.search-empty p{margin-bottom:12px}input,select,textarea{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:#fff;border-radius:18px;outline:none;padding:12px 14px}textarea{resize:vertical}.form-card button{color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand2));border:0;border-radius:999px;min-height:56px;font-size:18px;font-weight:950}.category-card{box-shadow:none;margin-bottom:20px;padding:14px}.category-card h2{margin-bottom:10px;font-size:21px}.category-list{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.category-list span{min-height:38px;color:var(--brand);background:#fff0e6;border-radius:999px;align-items:center;gap:8px;padding:6px 8px 6px 13px;font-size:14px;font-weight:900;display:inline-flex}.category-list button{color:#fff;background:var(--brand);border:0;border-radius:999px;width:26px;height:26px;font-size:13px;font-weight:950}.category-add{grid-template-columns:1fr auto;gap:8px;display:grid}.category-add button{color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand2));border:0;border-radius:18px;min-width:78px;font-weight:950}.category-add button:disabled,.category-list button:disabled{opacity:.55}.form-card button:disabled{opacity:.65}.record-card{box-shadow:none;margin-top:12px;padding:16px;overflow:hidden}.record-meta{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.record-meta span{color:var(--brand);background:#fff0e6}.payload-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.legacy-files{gap:6px;margin-top:10px;display:grid}.legacy-files span{color:var(--muted);background:#fff4ec;border-radius:14px;padding:8px 10px;font-size:13px;font-weight:800}.payload-grid span,.file-pill{color:var(--ok);background:#edf6ef;border-radius:999px;padding:8px 11px;font-size:13px;font-weight:800;text-decoration:none}.attachments{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.thumb{aspect-ratio:1;object-fit:cover;background:#f2e2d6;border-radius:18px;width:100%;max-width:100%;display:block}.archived-photo,.archived-photo-tile{min-height:120px;color:var(--brand);text-align:center;background:repeating-linear-gradient(135deg,#fff0e6,#fff0e6 10px,#fff8f3 10px 20px);border-radius:16px;place-content:center;gap:5px;padding:12px;display:grid}.archived-photo span,.archived-photo-tile span{color:var(--muted);font-size:12px}.photo-tile .archived-photo-tile{aspect-ratio:1;border-radius:0;width:100%;min-height:0}.photo-library-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.photo-library-heading p{margin-top:6px}.photo-library-heading>strong{color:var(--brand);background:#fff0e6;border-radius:999px;flex:none;padding:8px 12px}.photo-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;margin:18px 0;display:grid}.photo-filter-grid label{gap:6px;display:grid}.photo-filter-grid label span{color:var(--muted);font-size:13px;font-weight:900}.photo-filter-grid button,.load-more{color:#fff;background:var(--brand);border:0;border-radius:18px;min-height:52px;padding:10px 16px;font-weight:900}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.home-latest-album{margin:20px 0}.home-latest-album-heading{justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px;display:flex}.home-latest-album-heading h2,.home-latest-album-heading p{margin:0}.home-latest-album-heading p{color:var(--muted);font-size:13px;font-weight:700}.home-latest-album-heading button{flex:none}.home-album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-tile{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:16px;padding:0 0 10px;display:grid;overflow:hidden}.photo-tile img{aspect-ratio:1;object-fit:cover;background:#f2e2d6;width:100%}.photo-tile span,.photo-tile strong{text-overflow:ellipsis;white-space:nowrap;padding:0 9px;overflow:hidden}.photo-tile span{color:var(--muted);margin-top:8px;font-size:12px;font-weight:800}.photo-tile strong{margin-top:3px;font-size:13px}.load-more{border-radius:999px;margin:18px auto 0;display:block}.photo-lightbox{z-index:100;background:#1c120ee0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.photo-lightbox-card{background:#201713;border-radius:24px;width:min(100%,1100px);max-height:calc(100svh - 32px);position:relative;overflow:auto;box-shadow:0 28px 80px #00000075}.lightbox-close,.lightbox-nav{z-index:2;color:#fff;background:#140c08b3;border:0;border-radius:999px;place-items:center;display:grid;position:absolute}.lightbox-close{width:44px;height:44px;font-size:30px;top:12px;right:12px}.lightbox-image-wrap{place-items:center;min-height:min(68svh,720px);display:grid;position:relative}.lightbox-image-wrap img{object-fit:contain;width:100%;max-height:min(72svh,780px);display:block}.lightbox-nav{width:48px;height:58px;font-size:42px;top:50%;transform:translateY(-50%)}.lightbox-nav.previous{left:10px}.lightbox-nav.next{right:10px}.lightbox-details{color:#fff;background:#35241d;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.lightbox-details>div:first-child{gap:4px;display:grid}.lightbox-details span{color:#e8c7b5;font-size:13px}.lightbox-actions{flex-wrap:wrap;gap:8px;display:flex}.lightbox-actions button,.lightbox-actions a{color:#66331f;background:#fff;border:0;border-radius:999px;align-items:center;min-height:44px;padding:9px 14px;font-weight:900;text-decoration:none;display:inline-flex}.workspace-grid,.record-grid{min-width:0}.file-pill{justify-content:center;align-items:center;min-height:58px;display:inline-flex}.toast{color:var(--brand);box-shadow:none;margin-top:12px;padding:12px 14px;font-weight:900}.empty{text-align:center;background:#fff4ec;border-radius:22px;padding:18px}@media (display-mode:standalone){.app-screen{padding-top:max(18px, env(safe-area-inset-top))}}@media (min-width:760px){.app-screen{width:min(100%,1180px);padding:24px clamp(20px,4vw,42px) 36px}.panel,.top-card{border-radius:34px}.tabbar{max-width:none;margin-top:14px;position:sticky;inset:12px auto auto}.tabbar button{min-height:52px;font-size:14px}.tabbar span{margin:0 6px 0 0;font-size:16px;display:inline}.panel{padding:clamp(22px,3vw,34px)}.attachments{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.record-grid .record-card{margin-top:0}}@media (min-width:920px){.workspace-grid{grid-template-columns:minmax(300px,.78fr) minmax(0,1.42fr);align-items:start;gap:clamp(22px,3vw,38px);display:grid}.editor-column,.records-column{min-width:0}}@media (min-width:1180px){.top-card{padding:30px 34px}h1{font-size:58px}.attachments{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (max-width:640px){.photo-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-filter-grid label:last-of-type,.photo-filter-grid button{grid-column:1/-1}.lightbox-details{flex-direction:column;align-items:stretch}.lightbox-actions>*{flex:1;justify-content:center}}
