:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#27251f;background:#eee8dc}*{box-sizing:border-box}body{min-height:100vh;margin:0;padding:50px 18px;background:radial-gradient(circle at 15% 0,#fffdf6 0,transparent 31%),#eee8dc}main{width:min(100%,820px);margin:auto}header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:27px}.eyebrow{margin:0 0 5px;color:#07875f;font-size:10px;font-weight:850;letter-spacing:.17em}h1{margin:0;font:600 clamp(52px,10vw,82px)/.78 Georgia,serif;letter-spacing:-.055em}.intro{margin:22px 0 0;color:#766e62}.stats{display:flex;overflow:hidden;border:1px solid #cfc4b3;border-radius:16px;background:#fffdf8}.stats div{min-width:100px;padding:14px 18px;text-align:center}.stats div+div{border-left:1px solid #ded5c8}.stats strong,.stats span{display:block}.stats strong{font:600 29px Georgia,serif}.stats span{color:#887f73;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.record-card,.visits-section{padding:25px;border:1px solid #d0c5b4;border-radius:20px;background:#fffdf8;box-shadow:0 18px 55px #064c3913}.step-heading{display:flex;gap:11px;align-items:center}.step-heading>span{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:#07875f;color:white;font:600 15px Georgia,serif}.step-heading h2,.visits-section h2{margin:0;font:600 27px Georgia,serif}.search-form{display:flex;gap:9px;margin-top:15px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d2c8b8;border-radius:10px;background:white;color:#27251f;font:14px system-ui}.search-form button,.save-button{padding:11px 17px;border:0;border-radius:10px;background:#04543c;color:white;font:inherit;font-weight:750;cursor:pointer}.status{min-height:18px;margin:7px 2px 0;color:#34704d;font-size:11px;font-weight:750}.status.error{color:#ad3838}.search-results{display:grid;gap:7px}.place-result{width:100%;padding:11px 12px;border:1px solid #ded5c7;border-radius:10px;background:white;color:#27251f;text-align:left;cursor:pointer}.place-result:hover{border-color:#0aa875;background:#fff9f5}.place-result strong,.place-result span{display:block}.place-result span{margin-top:3px;color:#7b746b;font-size:11px}.selected-place{display:grid;grid-template-columns:190px 1fr;gap:15px;margin-top:14px;padding:12px;border-radius:13px;background:#f1eadf}.selected-place[hidden],.visit-form[hidden]{display:none}#map{height:145px;border-radius:9px;overflow:hidden}.selected-copy{align-self:center}.selected-copy p,.selected-copy strong,.selected-copy span{display:block}.selected-copy p{margin:0 0 4px;color:#07875f;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.selected-copy strong{font:600 21px Georgia,serif}.selected-copy span{margin-top:5px;color:#776e64;font-size:11px;line-height:1.4}.selected-copy button{margin-top:9px;padding:0;border:0;background:transparent;color:#07875f;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.visit-form{margin-top:22px;padding-top:20px;border-top:1px solid #e0d8cc}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.fields label{font-size:10px;font-weight:800}.fields input,.fields select,.fields textarea{display:block;margin-top:5px;font-weight:400}.card-check{display:flex;gap:8px;align-items:center;padding-top:8px}.card-check input{width:17px;height:17px;margin:0;accent-color:#07875f}.memory{grid-column:1/-1}.memory textarea{min-height:90px;resize:vertical}.save-button{width:100%;margin-top:13px;padding:13px}.save-status.success{padding:10px 13px;border-radius:9px;background:#e7f3e8}.visits-section{margin-top:17px}.visits-list{display:grid;gap:10px;margin-top:15px}.visit{position:relative;display:flex;gap:15px;padding:16px;border:1px solid #ddd3c5;border-radius:13px;background:white}.stamp{display:grid;width:75px;height:75px;flex:0 0 75px;place-items:center;align-content:center;border:3px double #07875f;border-radius:50%;color:#07875f;font-size:8px;font-weight:800;letter-spacing:.1em;text-align:center;transform:rotate(-6deg)}.stamp b{font:700 12px Georgia,serif}.visit-copy{min-width:0}.visit-date{margin:0;color:#07875f;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.visit h3{margin:3px 25px 2px 0;font:600 20px Georgia,serif}.visit-location{color:#81796e;font-size:10px}.visit-memory{margin:8px 0 0;color:#4b4740;font:14px/1.45 Georgia,serif;white-space:pre-wrap}.visit-details{margin-top:8px;color:#07875f;font-size:10px;font-weight:750}.delete-visit{position:absolute;top:8px;right:8px;border:0;background:transparent;color:#aaa097;font-size:19px;cursor:pointer}.empty-state{padding:38px 15px;text-align:center;color:#827a70}.empty-state[hidden]{display:none}.empty-state strong,.empty-state span{display:block}.empty-state strong{font:600 20px Georgia,serif}.empty-state span{margin-top:4px;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0aa875;outline-offset:2px}@media(max-width:620px){body{padding:0}main{padding:27px 16px}header{align-items:stretch;flex-direction:column;gap:25px}.stats div{flex:1}.record-card,.visits-section{padding:18px}.search-form{flex-direction:column}.selected-place{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.memory{grid-column:auto}}
