:root{--night:#150a2e;--deep:#24124a;--panel:#1a0d38;--line:rgba(255,255,255,.12);--star:#f0eaff;--muted:rgba(240,234,255,.7);--gold:#e9c978;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--bar: calc(56px + env(safe-area-inset-top, 0px)) ;--surf-rgb:26,13,56;--bar-rgb:16,8,36;--hover:#2c1758;--on-gold:#1a1405}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{background:var(--night);color:var(--star)}body{font-family:var(--sans);min-height:100vh;min-height:100svh;line-height:1.55}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 55% 38% at 12% 14%,rgba(190,90,220,.26),transparent 70%),radial-gradient(ellipse 48% 34% at 88% 30%,rgba(110,90,255,.24),transparent 70%),radial-gradient(ellipse 60% 40% at 30% 88%,rgba(230,110,190,.16),transparent 72%),radial-gradient(ellipse 40% 30% at 78% 92%,rgba(80,160,230,.13),transparent 70%);filter:blur(6px)}a{color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.topbar{position:fixed;top:0;left:0;right:0;height:var(--bar);z-index:1100;display:flex;align-items:center;gap:14px;box-sizing:border-box;padding:env(safe-area-inset-top,0px) clamp(10px,3vw,28px) 0;background:rgba(var(--bar-rgb),.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:1.5rem;letter-spacing:.14em;text-decoration:none;color:var(--star)}.nav{display:flex;gap:2px;margin-left:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav a{color:var(--muted);text-decoration:none;padding:.4em .9em;border-radius:999px;font-size:.95rem;white-space:nowrap}.nav a:hover{color:var(--star);background:#ffffff0f}.nav a[aria-current=page]{color:var(--star);background:#e9c9782b}.pm{position:relative;flex:none}.pm-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);color:var(--star);font:inherit;font-size:.9rem;cursor:pointer;padding:3px 12px 3px 3px;border-radius:999px}.pm-btn:hover{background:#ffffff0f}.pm-name{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:.78rem;font-weight:500;color:#10142e;background:var(--gold)}.pm-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:1200;min-width:250px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px #0000008c}.pm-head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.pm-head b{display:block;font-weight:500}.pm-head span{font-size:.82rem;color:var(--muted);overflow-wrap:anywhere}.pm-menu a,.pm-menu button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--star);font:inherit;font-size:.95rem;padding:.55em .7em;border-radius:8px;text-decoration:none;cursor:pointer}.pm-menu a:hover,.pm-menu button:hover{background:#ffffff14}.btn{font:inherit;cursor:pointer;color:var(--star);padding:.65em 1.4em;border-radius:999px;border:1px solid rgba(233,201,120,.55);background:transparent;transition:background .2s,border-color .2s}.btn:hover{background:#e9c97824;border-color:var(--gold)}.btn.primary{background:var(--gold);color:#1a1405;border-color:var(--gold);font-weight:500}.btn.primary:hover{background:#f3d98f}.btn.small{padding:.45em 1em;font-size:.88rem}.btn:disabled{opacity:.55;cursor:default}label{display:block;font-size:.88rem;margin:16px 0 6px;color:var(--muted)}input,select,textarea{width:100%;font:inherit;color:var(--star);padding:.7em .9em;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d}select option{color:#111}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:transparent}textarea{resize:vertical;min-height:96px}.msg{min-height:1.4em;margin-top:12px;font-size:.9rem}.msg.err{color:#ff9d9d}.msg.ok{color:#a9e6b8}@media(max-width:620px){.pm-name{display:none}.pm-btn{padding:3px}.brand{font-size:1.25rem;letter-spacing:.1em}.nav a{padding:.4em .65em;font-size:.9rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.badge{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border-radius:9px;background:var(--gold);color:#1a1405;font-size:.72rem;font-weight:500;line-height:1}.avatar{position:relative}.avatar.has-unread:after{content:"";position:absolute;top:-3px;right:-3px;width:11px;height:11px;border-radius:50%;background:#ff7a7a;border:2px solid var(--panel)}.help-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:var(--star);border:1px solid rgba(233,201,120,.55);border-radius:999px;padding:.35em .95em;font-size:.88rem}.help-btn:hover,.help-btn[aria-current=page]{background:#e9c97829}.help-btn .q{display:none}@media(max-width:620px){.topbar{gap:8px}.help-btn{width:32px;height:32px;padding:0}.help-btn .t{display:none}.help-btn .q{display:inline;font-weight:500}.nav a{padding:.4em .6em;font-size:.86rem}}.check{display:flex;gap:10px;align-items:flex-start;margin-top:18px;color:var(--star);font-size:.95rem}.check input{width:auto;margin-top:.3em}dialog.modal{margin:auto;border:1px solid rgba(233,201,120,.35);border-radius:18px;width:min(94vw,520px);max-height:92svh;padding:24px 22px 20px;background:rgba(var(--bar-rgb),.98);color:var(--star);box-shadow:0 30px 80px #0009}dialog.modal::backdrop{background:#080312b8;backdrop-filter:blur(3px)}dialog.modal h2{font-family:var(--serif);font-weight:400;font-size:1.7rem;margin-bottom:6px}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}button,a,input,select,textarea{touch-action:manipulation}.tabbar{display:none}@media(max-width:700px){html.has-tabbar{--tab: calc(62px + env(safe-area-inset-bottom, 0px)) }.has-tabbar .nav{display:none}.has-tabbar .brand{margin-right:auto}.has-tabbar body{padding-bottom:var(--tab)}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1100;padding:0 4px env(safe-area-inset-bottom,0px);background:rgba(var(--bar-rgb),.96);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.tabbar a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:62px;position:relative;text-decoration:none;color:var(--muted);font-size:.68rem;letter-spacing:.02em}.tabbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tabbar a[aria-current=page]{color:var(--gold)}.tabbar a[aria-current=page]:before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;border-radius:2px;background:var(--gold)}.tabbar .badge{position:absolute;top:7px;left:calc(50% + 6px);margin:0}input,select,textarea{font-size:16px!important;min-height:46px}textarea{min-height:96px}.btn{min-height:44px}.btn.small,.chip{min-height:40px}label{margin-top:14px}dialog.modal,dialog.frm,dialog.view{width:100vw!important;max-width:100vw!important;max-height:100svh!important;border-radius:20px 20px 0 0!important;margin:auto 0 0!important}.pm-menu{max-height:calc(100svh - var(--bar) - 12px);overflow:auto}}.pm-menu{min-width:280px;padding:10px;border-radius:20px;background:linear-gradient(180deg,#26144cf7,rgba(var(--bar-rgb),.98));border:1px solid rgba(190,150,255,.22);box-shadow:0 24px 60px #080218b3,0 0 0 1px #ffffff08 inset;backdrop-filter:blur(14px);animation:pmIn .16s ease-out}@keyframes pmIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}.pm-head{display:flex;align-items:center;gap:12px;padding:8px 8px 12px;margin-bottom:6px;border-bottom:1px solid var(--line)}.pm-head .avatar.big{width:46px;height:46px;font-size:1rem;box-shadow:0 0 0 2px #e9c97873}.pm-ht{min-width:0}.pm-ht b{display:block;font-weight:500;font-size:1.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-ht span{display:block;font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm-grp{padding:4px 0}.pm-gt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#f0eaff80;padding:8px 10px 4px}.pm-items{display:flex;flex-direction:column;gap:2px}.pm-menu a,.pm-menu button.pm-out{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:.6em .7em;border-radius:12px;font-size:.95rem;color:var(--star);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}.pm-menu a:hover,.pm-menu button.pm-out:hover,.pm-menu a:focus-visible{background:#be96ff24}.pm-menu .ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#be96ff24;color:#d9c8ff}.pm-menu .ic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.pm-menu .badge{margin-left:auto}.pm-out{margin-top:6px;border-top:1px solid var(--line)!important;border-radius:0 0 12px 12px!important;color:#ffb4c8!important}.pm-out .ic{background:#ff78a024!important;color:#ffb4c8!important}.pm-back{display:none}@media(max-width:700px){.topbar{backdrop-filter:none;background:rgba(var(--bar-rgb),.98)}.pm-back:not([hidden]){display:block;position:fixed;inset:0;z-index:1150;background:#0602129e;backdrop-filter:blur(2px)}.pm-menu{position:fixed;left:8px;right:8px;top:auto;bottom:calc(var(--tab, 0px) + 8px);z-index:1200;min-width:0;max-height:78svh;overflow:auto;border-radius:24px;animation:pmUp .2s ease-out}@keyframes pmUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.pm-items{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pm-menu .pm-items .ic{width:30px;height:30px}.pm-head{padding-bottom:8px}.pm-menu .pm-items a{flex-direction:column;justify-content:center;text-align:center;gap:6px;padding:9px 4px;min-height:72px;border-radius:16px;background:#ffffff0a;border:1px solid var(--line);font-size:.78rem;line-height:1.2;position:relative}.pm-menu .pm-items .badge{position:absolute;top:6px;right:8px;margin:0}.pm-out{margin-top:10px;justify-content:center;border:1px solid rgba(255,120,160,.35)!important;border-radius:14px!important;min-height:46px}}@media(prefers-reduced-motion:reduce){.pm-menu{animation:none}}.mapmenu-btn{display:none}@media(max-width:700px){.map-page .nav{display:none}.map-page .brand{margin-right:auto}.mapmenu-btn{flex:none;display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--star);background:#e9c97824;border:1px solid rgba(233,201,120,.55);border-radius:999px;padding:0 14px;height:36px}.mm-i{display:grid;grid-template-columns:repeat(2,5px);gap:3px}.mm-i i{width:5px;height:5px;border-radius:2px;background:var(--gold)}.mapmenu-bd{position:fixed;inset:0;z-index:1190;background:#08031299}.mapmenu{position:fixed;left:8px;right:8px;top:calc(var(--bar) + 8px);z-index:1200;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:0 20px 60px #000000a6;max-height:calc(100svh - var(--bar) - 24px);overflow:auto}.mapmenu[hidden],.mapmenu-bd[hidden]{display:none}.mm-head{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 4px 10px}.mm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mm-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:78px;padding:8px 2px;text-decoration:none;color:var(--star);font-size:.74rem;text-align:center;background:#ffffff0d;border:1px solid var(--line);border-radius:14px}.mm-tile svg{width:24px;height:24px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mm-tile:active{background:#e9c9782e}.mm-tile .badge{position:absolute;top:6px;right:8px}}@media(min-width:701px){.mapmenu,.mapmenu-bd{display:none!important}}html[data-theme=light]{--night:#f4f0ff;--deep:#e6dcfa;--panel:#ffffff;--line:rgba(40,20,90,.18);--star:#1d1238;--muted:rgba(29,18,56,.7);--gold:#8a5a00;--surf-rgb:255,255,255;--bar-rgb:250,247,255;--hover:#ece4fb;--on-gold:#ffffff;color-scheme:light}html[data-theme=dark]{color-scheme:dark}html[data-theme=light] body:before{opacity:.3}html[data-theme=light] .btn.primary,html[data-theme=light] .detgo{color:#fff}html[data-theme=light] .btn:hover{background:#8a5a001a}html[data-theme=light] input,html[data-theme=light] select,html[data-theme=light] textarea{background:#fff;color:var(--star);border-color:#28145a47}html[data-theme=light] ::placeholder{color:#1d123873}html[data-theme=light] dialog.modal::backdrop,html[data-theme=light] dialog.frm::backdrop,html[data-theme=light] dialog.view::backdrop{background:#28145a59}html[data-theme=light] .leaflet-bar a:hover,html[data-theme=light] .locate:hover{color:var(--star)}html[data-theme=light] .topbar,html[data-theme=light] .tabbar{box-shadow:0 1px 8px #28145a14}.themebtn{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;cursor:pointer;font:inherit;font-size:1rem;line-height:1;color:var(--star);background:transparent;border:1px solid var(--line)}.themebtn:hover{border-color:var(--gold)}@media print{.themebtn{display:none}}@media(max-width:430px){.topbar{gap:6px}.brand{font-size:1.25rem;letter-spacing:.08em}.mapmenu-btn{padding:0 10px;gap:6px}.themebtn{width:32px;height:32px}}html{scroll-behavior:smooth}::selection{background:#e9c97859}.btn,button,.nav a,.pm-menu a{transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .12s ease,box-shadow .18s ease}.btn:active,.locate:active{transform:scale(.97)}.btn.primary{box-shadow:0 4px 14px #e9c97838}.btn.primary:hover{box-shadow:0 6px 18px #e9c97852;filter:brightness(1.05)}input,select,textarea{border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px #e9c97824}dialog.modal{border-radius:20px;box-shadow:0 24px 70px #00000080;animation:dlgIn .22s ease both}dialog.modal::backdrop{background:#0606169e;backdrop-filter:blur(5px)}@keyframes dlgIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.pm-menu,.mapmenu{box-shadow:0 18px 50px #00000073}.badge{box-shadow:0 0 0 2px rgba(var(--bar-rgb),.9)}*{scrollbar-width:thin;scrollbar-color:rgba(190,150,255,.35) transparent}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.check{align-items:center}.check input[type=checkbox]{width:22px;height:22px;min-height:0;padding:0;margin:0;flex:none;accent-color:var(--gold);border-radius:6px;box-shadow:none}.hint{margin-top:8px}
