:root{--vin:#5b1a30;--vin2:#7d2744;--bg:#fbf7f4;--card:#fff;--tx:#2a1b20;--mut:#7a6a6f;--bd:#eadfe2}
@media(prefers-color-scheme:dark){:root{--bg:#1b1215;--card:#271a1e;--tx:#f3e9ec;--mut:#b5a3a9;--bd:#3a282e;--vin2:#c4567c}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--tx);padding:calc(56px + env(safe-area-inset-top)) 0 calc(72px + env(safe-area-inset-bottom))}
header.top{position:fixed;top:0;left:0;right:0;z-index:5;background:var(--vin);color:#fff;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;font-weight:700;font-size:18px}
main{max-width:640px;margin:0 auto;padding:16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:16px;margin-bottom:12px}
h2{margin:0 0 12px;font-size:22px}h3{margin:0 0 4px;font-size:17px}.mut{color:var(--mut);font-size:14px}
label{display:block;font-size:14px;color:var(--mut);margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;padding:13px;border-radius:12px;border:1px solid var(--bd);background:var(--card);color:var(--tx)}
.btn{display:block;width:100%;text-align:center;margin-top:16px;padding:14px;border:0;border-radius:14px;background:var(--vin2);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn.alt{background:transparent;color:var(--vin2);border:1px solid var(--vin2)}
.btn.sm{width:auto;display:inline-block;padding:8px 14px;margin:8px 8px 0 0}form.in{display:inline}
.tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:99px;background:var(--bd)}
.msg{padding:12px;border-radius:12px;background:var(--bd);margin-bottom:12px}
nav.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--card);border-top:1px solid var(--bd);padding-bottom:env(safe-area-inset-bottom)}
nav.tabs a{flex:1;text-align:center;padding:14px 4px;color:var(--mut);text-decoration:none;font-size:13px}nav.tabs a.on{color:var(--vin2);font-weight:700}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--vin2);outline-offset:2px}
.tag.ok{background:#d9efe0;color:#1f5d3a}.tag.no{background:#f4dcdc;color:#7a2323}h3.sec{margin:22px 0 10px;font-size:18px}
@media(prefers-color-scheme:dark){.tag.ok{background:#1f4a33;color:#c9eed8}.tag.no{background:#4d2326;color:#f3cfd1}}
