:root{font-family:"Avenir Next","Segoe UI",sans-serif;color:#30283d;background:#f8f7fc;color-scheme:light}
*{box-sizing:border-box}body{margin:0;padding:max(16px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}
main{max-width:900px;margin:auto}header{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:700}
h1{font-size:32px;letter-spacing:-.04em}h2{font-size:22px}.intro,.limitations{color:#70687d;line-height:1.6}
.limitations{font-size:13px;margin-top:28px}button,a{min-height:44px}button{border:1px solid #d8ceec;border-radius:10px;background:#fff;color:#513a8c;font:inherit;padding:10px 14px;cursor:pointer}button:hover{background:#eee8f8}button:disabled{opacity:.6;cursor:wait}a{display:inline-flex;align-items:center;color:#513a8c;padding:8px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a58add;outline-offset:2px}
.toolbar,nav,.record-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}nav button[aria-current]{background:#7254b8;color:white}
article,.error-card{padding:18px;background:white;border:1px solid #e8e1ef;border-radius:16px;margin:12px 0;overflow-wrap:anywhere}
article h3{margin:0 0 8px}article p{white-space:pre-wrap;line-height:1.5}.meta{font-size:13px;color:#70687d}.badge{display:inline-block;background:#eee8f8;padding:4px 8px;border-radius:8px;font-size:13px}.danger{color:#a33548}
label{display:flex;flex-direction:column;gap:6px;margin:12px 0;width:100%}input,select,textarea{width:100%;min-height:44px;padding:10px;border:1px solid #d8ceec;border-radius:8px;font:inherit;background:white;color:inherit}textarea{min-height:110px}
dialog{width:min(94vw,510px);max-height:90dvh;overflow:auto;border:1px solid #d8ceec;border-radius:18px;padding:24px}dialog::backdrop{background:#30283d66}
#device-status,#snapshot-status{background:#eee8f8;padding:14px;border-radius:10px;line-height:1.6}#snapshot-status:empty{display:none}#editor-error{color:#a33548}hr{border:0;border-top:1px solid #d8ceec;margin:28px 0}
[hidden]{display:none!important}@media(min-width:640px){body{padding:32px}#local-list.weekends{display:grid;grid-template-columns:1fr 1fr;gap:12px}}
