:root{--bg:#f7f4ef;--paper:#fffdfa;--ink:#2a2724;--muted:#746c64;--line:#e4dacf;--accent:#a4623e;--sage:#74876c;--rose:#a24d6b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:920px;margin:auto;padding:20px 18px 90px}.hidden{display:none!important}header{display:flex;align-items:center;justify-content:space-between}h1,h2,h3{font-family:Georgia,serif}h1{margin:0;font-size:30px}header p{margin:3px 0;color:var(--muted)}button,input,select,textarea{font:inherit}.round{border:0;background:var(--paper);box-shadow:0 2px 12px #5b392118;border-radius:50%;width:46px;height:46px;font-size:21px}.search input{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:13px 15px;margin:18px 0 10px}nav{display:flex;gap:7px;overflow:auto;padding:3px 0 8px;scrollbar-width:none}nav button{white-space:nowrap;border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:99px;padding:8px 13px}.states button{font-size:13px}.active{background:var(--accent)!important;color:white!important;border-color:var(--accent)!important}#map{height:55vh;min-height:420px;border-radius:18px;overflow:hidden;margin-top:8px;display:none}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin:10px 0;padding:15px}.card-top{display:flex;justify-content:space-between;gap:10px}.card h3{font-size:18px;margin:0}.card h3 a{color:inherit;text-decoration:none}.address{color:var(--muted);font-size:13px;margin:5px 0}.description{margin:8px 0}.status{border:0;border-radius:9px;padding:7px 10px;background:#eee4d9}.state-visited{background:#dce8d8}.state-planned{background:#f1e2bc}.state-skip{opacity:.55}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login form,dialog form{background:var(--paper);border-radius:20px;padding:25px;width:min(100%,360px);box-shadow:0 12px 45px #44291820}.login input,.login button,dialog select,dialog input,dialog textarea,#save{width:100%;padding:12px;border-radius:10px;border:1px solid var(--line);margin-top:10px}.login button,#save{border:0;background:var(--accent);color:white;font-weight:700}.login small{color:#a33}dialog{border:0;border-radius:20px;padding:0;width:min(92%,390px)}dialog::backdrop{background:#231b1590}.close{float:right;border:0;background:none;font-size:26px}dialog label{display:block;margin:12px 0;color:var(--muted)}@media(min-width:700px){#list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.card{margin:0}}
