:root{color:#243329;font-synthesis:none;--muted:#586459;--line:#d8ddd5;--accent:#285a3f;background:#faf9f6;font-family:ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}::selection{color:#243329;background:#d3e6d6}a{color:var(--accent);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);min-height:44px;color:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:10px 18px;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#eaf0e8}button:disabled{cursor:default;opacity:.6}button.primary,.button{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover,.button:hover{background:#204832}:focus-visible{outline-offset:4px;outline:3px solid #6a8e34}h1:focus{outline:none}h1,h2{text-wrap:balance;overflow-wrap:anywhere;line-height:1.15}h1{letter-spacing:-.025em;margin:0 0 12px;font-size:clamp(2rem,5vw,2.8rem)}h2{margin:0 0 14px;font-size:1.35rem}p{max-width:68ch;line-height:1.65}.muted,time{color:var(--muted)}.app{max-width:1040px;margin:auto;padding:0 32px}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:26px 0;display:flex}.wordmark{letter-spacing:-.03em;color:var(--accent);font:600 30px Georgia,serif;text-decoration:none}main{max-width:780px;margin:48px auto;padding:0 20px}.app main{padding:0}.status{min-height:24px;color:var(--accent);margin-bottom:16px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;display:flex}.page-heading p{margin-bottom:0}.page-heading button{flex-shrink:0}.empty{border-top:1px solid var(--line);padding:40px 0}.memory-list{padding:0;list-style:none}.memory-list li{border-top:1px solid var(--line)}.memory-list li:last-child{border-bottom:1px solid var(--line)}.memory-list button{text-align:left;border:0;border-radius:0;grid-template-columns:170px 1fr;gap:10px 24px;width:100%;padding:24px 10px;display:grid}.memory-title{overflow-wrap:anywhere;font-size:1.15rem;font-weight:600}.open-label{color:var(--muted);grid-column:2;font-size:.85rem}.memory-form{max-width:620px;margin-top:28px}fieldset{border:0;min-width:0;margin:0;padding:0}label{margin:24px 0 8px;font-weight:600;display:block}label .muted{font-weight:400}input,select,textarea{color:#243329;width:100%;min-height:48px;caret-color:var(--accent);background:#fff;border:1px solid #879586;border-radius:6px;padding:12px;display:block}textarea{resize:vertical;line-height:1.6}input:disabled,select:disabled,textarea:disabled{opacity:1;color:#465343;background:#eef0eb}.actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.history-order summary{cursor:pointer;min-height:44px;color:var(--muted);padding-block:12px}.danger{color:#a02c23;border-color:#c78982}[role=alert]{color:#a02c23}[role=alert]:empty{display:none}.back{margin-bottom:32px}.note{white-space:pre-wrap;overflow-wrap:anywhere;margin:32px 0}.confirmation{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}footer{color:var(--muted);border-top:1px solid var(--line);padding:28px 0;font-size:.85rem}.welcome{max-width:640px;margin-top:12vh}.welcome h1{margin-top:48px}.welcome .button{margin:20px 0}.connection-notice{text-align:center;background:#eaf0e8;padding:16px 24px;line-height:1.5}.sr-only,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{z-index:1;background:#fff;padding:12px;position:fixed;top:8px;left:8px}@media (width<=600px){.app{padding:0 20px}main{margin:28px auto}.page-heading{flex-direction:column;align-items:flex-start}.memory-list button{grid-template-columns:1fr;gap:8px}.open-label{grid-column:1}.app-header{padding:18px 0}}.app-header nav{gap:8px;margin-left:auto;margin-right:16px;display:flex}.app-header nav button[aria-current=page]{border-color:var(--accent);background:#eaf0e8;font-weight:600}.map-actions{flex-shrink:0;margin-top:0}.placing-hint{min-height:24px;color:var(--accent);margin:0 0 12px}.map-surface{border:1px solid var(--line);background:#eef0eb;border-radius:8px;width:100%;height:clamp(280px,50vh,480px)}.map-surface.placing{cursor:crosshair;outline-offset:2px;outline:3px solid #6a8e34}.map-failure{padding:16px 0}.map-credit{margin:8px 0 24px;font-size:.85rem}.place-list button{grid-template-columns:1fr auto}.place-list .open-label{grid-column:1/-1}.memory-place{color:var(--muted);grid-column:2}.detail-place{margin:8px 0 0}.place-link{min-height:0;color:var(--accent);text-underline-offset:4px;border:0;border-radius:0;padding:0;text-decoration:underline}.place-link:hover{background:0 0}.detail-date{display:block}.new-place{background:#f3f4f0;border-radius:8px;margin-top:16px;padding:4px 16px 16px}.coordinates{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0 16px;display:grid}.new-place-heading{justify-content:space-between;align-items:center;gap:12px;margin:12px 0 8px;display:flex}.new-place-heading p{color:var(--accent);margin:0}.new-place-heading button{white-space:nowrap;flex-shrink:0}.personal-map.compact .map-surface{height:280px}.personal-map.compact .map-credit{margin-bottom:8px}.coordinates-entry{margin-top:12px}.coordinates-entry summary{cursor:pointer;color:var(--accent)}.venue-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin:12px 0 0;padding:16px}.venue-card h3{margin:0 0 4px}.venue-card>p{margin:0 0 12px}.venue-card .actions{margin:0}.apple-details{margin-top:16px}.apple-details summary{cursor:pointer;color:var(--accent)}.apple-card{min-height:0;margin-top:12px}.rename{max-width:480px;margin-top:8px}@media (width<=600px){.app-header{flex-wrap:wrap;row-gap:12px}.app-header nav{order:3;width:100%;margin:0}.app-header nav button{flex:1}.place-list button{grid-template-columns:1fr}.memory-place{grid-column:1}}.probe h1{margin-top:32px}.probe section{border-bottom:1px solid var(--line);padding:24px 0}.probe form{gap:12px;max-width:640px;display:grid}.probe input{width:100%;min-height:44px;padding:10px}.probe li{margin:10px 0}.probe-map{width:100%;height:360px}.probe-photo{object-fit:contain;max-width:100%;max-height:420px}.photo-picker{margin-top:24px}.selected-photos{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:20px;padding:0;list-style:none;display:grid}.selected-photos li{align-content:start;gap:8px;min-width:0;display:grid}.memory-photo{object-fit:contain;border-radius:8px;width:100%;max-height:640px;display:block}.selected-photos .memory-photo{object-fit:cover;height:160px}.memory-gallery{gap:16px;margin-block:24px;display:grid}.memory-list>li>.memory-photo{object-fit:cover;max-height:220px;margin-bottom:8px}.photo-unavailable{border:1px solid var(--line);padding:12px;display:block}
