@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#20241e;background:#f7f8f2;--green:#cfff47;--line:#dfe3d7}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;background:white;border:1px solid var(--line);padding:12px 16px;border-radius:9px;color:inherit;font-weight:600}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #687d2d;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}header{height:86px;display:flex;align-items:center;gap:32px;padding:0 34px;border-bottom:1px solid var(--line);background:#fff}header button{margin-left:auto}.brand{color:#20241e;text-decoration:none;font:800 43px 'Barlow Condensed',sans-serif;letter-spacing:-2px}.brand span{background:var(--green);margin-left:5px;padding:0 5px;border-radius:5px}.tag,.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px}.tag{color:#747d6a}main{display:flex;height:calc(100dvh - 86px);min-height:550px}aside{width:390px;flex-shrink:0;padding:36px 28px;overflow:auto}.eyebrow{color:#6a755d}h1{font:700 62px/.97 'Barlow Condensed',sans-serif;letter-spacing:-1px;margin:20px 0}p{line-height:1.65}.intro{font-size:14px;color:#727967;margin:0 0 20px}.status{font-size:11px;display:flex;align-items:center;gap:8px;margin:20px 0}.status i{height:7px;width:7px;background:#7b8c58;border-radius:100%}.actions{display:grid;gap:9px}.primary{background:var(--green);border-color:var(--green);color:#20241e}.hint{font-size:12px;color:#71786a}.listhead{display:flex;align-items:center;gap:12px;margin-top:30px;border-top:1px solid var(--line);padding-top:18px}.listhead h2{font-size:15px;margin-right:auto}.listhead span{font-size:10px;color:#6a755d}.listhead button{border:0;padding:8px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;margin:9px 0}.card button:first-child{background:none;border:0;padding:0;text-align:left;width:100%}.card strong{display:block;font-size:14px}.card p{font-size:12px;margin:8px 0;color:#727967;overflow-wrap:anywhere;white-space:pre-wrap}.pill{display:inline-block;font-size:9px;letter-spacing:.6px;padding:5px 7px;border-radius:4px;background:#eff3e6;color:#63714f;margin-bottom:9px}.delete{font-size:11px;padding:5px 8px}.empty{border:1px dashed #cad1bf;padding:22px 16px;border-radius:12px;font-size:13px;color:#727967}footer{font-size:11px;line-height:1.8;color:#7c8472;margin-top:30px}footer strong{color:#454e39}.mapwrap{position:relative;flex:1;min-width:0}#map{height:100%;background:#e4e8dc}.mapbadge{position:absolute;top:24px;left:24px;z-index:500;background:#fff;padding:12px 17px;border-radius:7px;font-size:10px;font-weight:700;letter-spacing:1px;box-shadow:0 2px 10px #0001}.locate{position:absolute;right:12px;bottom:38px;z-index:500;font-size:25px;box-shadow:0 2px 10px #0002}.pin{background:#cfff47;border:3px solid #27301e;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 7px #0003}.leaflet-control-zoom{margin-top:80px!important}dialog{width:min(480px,calc(100% - 24px));border:0;border-radius:18px;padding:26px;box-shadow:0 20px 90px #0003;max-height:92dvh;overflow:auto}dialog::backdrop{background:#16210db3;backdrop-filter:blur(3px)}.dialoghead{display:flex;align-items:center;justify-content:space-between;gap:10px}.close{border:0;font-size:25px;padding:0 7px}dialog h2{font:700 36px 'Barlow Condensed';margin:13px 0}dialog h2 span{float:right}dialog p{font-size:13px;color:#69715f}label{display:block;font-size:13px;font-weight:600;margin:16px 0}small{font-size:11px;color:#7b8472;font-weight:400}input:not([type=checkbox]),textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #d8dece;border-radius:8px;background:#fafbf7}.check{display:flex;gap:9px;font-size:12px;font-weight:400;line-height:1.5}.check input{flex-shrink:0;width:18px;height:18px;accent-color:#748e35}form>.primary{width:100%}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2000;background:#26311e;color:white;padding:14px 22px;border-radius:10px;max-width:90vw;font-size:13px;box-shadow:0 6px 25px #0003}@media(max-width:760px){header{height:68px;padding:0 18px;gap:15px}.brand{font-size:35px}.tag{font-size:8px;letter-spacing:1px}header button{padding:9px 12px}main{height:auto;min-height:0;flex-direction:column}.mapwrap{order:-1;flex:none;height:48dvh;min-height:290px}aside{width:100%;padding:24px 20px;overflow:visible}h1{font-size:46px;margin:12px 0}.intro{font-size:13px}.actions{grid-template-columns:1fr 1fr}.mapbadge{top:15px;left:15px}.status{margin:12px 0}.listhead{margin-top:20px}.eyebrow{font-size:9px}}
/* G-SPOT — midnight / acid */
:root{color-scheme:dark;color:#f3f3eb;background:#0b0c0b;--green:#edff00;--line:#30322c}header{background:#090a09}.brand{color:#f3f3eb;font-size:39px;letter-spacing:-1px}.brand span{color:#0b0c0b}.tag,.eyebrow{color:#a9ad98}button{background:#1c1e19;color:#f4f6e9}aside{background:#10120f}.intro,.hint,dialog p,.card p{color:#a8ad9c}.status i{background:#edff00}.primary{color:#10120a}.card{background:#1b1e18}.card button:first-child{color:#f3f3eb}.pill{background:#292d22;color:#d6e0bb}.empty{color:#a8ad9c;border-color:#454b38}footer{color:#969e88}footer strong{color:#e1e6d7}.mapwrap{background:#151713}#map{background:#252920}.leaflet-tile-pane{filter:brightness(.66) saturate(.45)}.mapbadge{background:#11150ff0;color:#edff00;border:1px solid #454b32}.leaflet-control-zoom a{background:#191d15!important;color:#edff00!important;border-color:#414735!important}.leaflet-control-attribution{background:#13170ff0!important;color:#b9c4a8!important}.leaflet-control-attribution a{color:#edff00!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#151912;color:#f3f3eb}.leaflet-popup-content p{color:#bac4ad}dialog{background:#151812;color:#f4f6e9;border:1px solid #3a4030}dialog::backdrop{background:#0009}input:not([type=checkbox]):not([type=radio]),textarea{background:#0d100b;color:#f3f3eb;border-color:#404735}small{color:#a6af96}.check input{accent-color:#edff00}#message{background:#edff00;color:#11150b;font-weight:600}.spot-marker{background:none;border:0}.pin-shape{display:block;position:absolute;left:3px;top:0;width:25px;height:25px;transform:rotate(-45deg);border-radius:50% 50% 50% 0;background:var(--pin-color);border:2px solid #f5f7e5;box-shadow:0 3px 12px #0009}.pin-shape i{display:block;width:7px;height:7px;border-radius:50%;background:#fff;position:absolute;top:7px;left:7px;box-shadow:0 0 0 2px #0002}.just-placed .pin-shape{animation:pin-drop .45s cubic-bezier(.2,.7,.3,1.2)}@keyframes pin-drop{0%{translate:0 -50px;scale:.6;opacity:0}65%{translate:0 3px;scale:1.15;opacity:1}100%{translate:0 0;scale:1}}.placing,.placing .leaflet-interactive{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='48' viewBox='0 0 40 48'%3E%3Cpath d='M20 44S4 24 4 17a16 16 0 1 1 32 0c0 7-16 27-16 27Z' fill='%23edff00' stroke='%23090909' stroke-width='2'/%3E%3Ccircle cx='20' cy='17' r='5' fill='%23090909'/%3E%3C/svg%3E") 20 44,crosshair!important}.placing{box-shadow:inset 0 0 0 4px #edff00}.placement{position:absolute;z-index:650;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:15px;white-space:nowrap;background:#edff00;color:#11150b;border-radius:12px;padding:9px 10px 9px 17px;box-shadow:0 6px 30px #0007;font-size:12px;font-weight:700}.placement[hidden]{display:none}.placement button{padding:8px;font-size:11px;border-color:#303b10}.active{box-shadow:0 0 0 3px #edff0044}.risk-picker{border:0;padding:0;margin:20px 0}.risk-picker legend{font-size:13px;font-weight:600;margin-bottom:12px}.risk-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.risk-options label{margin:0;position:relative}.risk-options input{position:absolute;opacity:0;width:1px;height:1px}.risk-options span{display:block;border:1px solid #3e4435;border-radius:8px;padding:12px 4px;text-align:center;font-size:12px;background:#10130d}.risk-options input:checked+span{border-color:currentColor;box-shadow:0 0 0 2px currentColor}.risk-options input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}[data-risk=low]{color:#55db83}[data-risk=mid]{color:#edff00}[data-risk=high]{color:#ff4c57}[data-risk=extrem]{color:#f3f3eb}.risk-options span[data-risk=extrem]{background:#000}.legend{display:flex;gap:15px;font-size:11px;margin:5px 0 18px}.legend [data-risk=extrem]{background:#000;border:1px solid #59614c;border-radius:4px;padding:0 4px}.delete{margin-right:5px;margin-top:5px}@media(max-width:760px){.brand{font-size:31px}.tag{font-size:7px}.placement{bottom:24px;gap:8px;padding:8px 8px 8px 12px;font-size:11px}.placement button{font-size:10px}.risk-options span{padding:14px 2px}.mapwrap{height:49dvh}}
@media(prefers-reduced-motion:reduce){.just-placed .pin-shape{animation:none}*{scroll-behavior:auto!important}}
.brush-cross{height:52px;width:43px;margin-left:9px;vertical-align:middle;fill:#edff00;transform:rotate(-7deg);filter:drop-shadow(0 0 7px #edff0020)}.brand{display:flex;align-items:center;white-space:nowrap}.tag{color:#edff00}.eyebrow{line-height:1.7}h1{font-size:64px;max-width:290px}.risk-options{grid-template-columns:repeat(4,1fr)}.risk-options label:last-child{grid-column:1/-1}[data-risk=fcm]{color:#3285ff}.legend{flex-wrap:wrap;gap:9px 15px}.gallery-button{display:block;width:100%;margin:10px 0 5px;background:#262d15;border-color:#525e23;color:#edff00;font-size:12px}.timeline-head{display:flex;align-items:center;justify-content:space-between;margin-top:30px;border-top:1px solid var(--line)}#timeline{width:min(640px,calc(100% - 24px))}#photo-form{background:#0d100b;padding:16px;border:1px solid #343b29;border-radius:12px}#photo-form>.primary{width:100%}#photo-file{font-size:12px;padding:8px}#photo-list{border-left:2px solid #526125;margin:15px 0 0 6px;padding-left:19px}.photo-entry{position:relative;margin:0 0 30px}.photo-entry:before{content:'';position:absolute;width:10px;height:10px;border-radius:50%;background:#edff00;left:-25px;top:7px}.photo-entry time{display:block;color:#edff00;font-size:13px;font-weight:700;margin-bottom:10px}.photo-entry img{width:100%;max-height:480px;object-fit:contain;background:#060805;border:1px solid #3d4630;border-radius:9px}.photo-entry p{white-space:pre-wrap;overflow-wrap:anywhere}.photo-entry small{display:block;margin-top:7px}#timeline .empty{margin-bottom:20px}@media(max-width:760px){header{gap:10px}.tag{font-size:8px;letter-spacing:.6px}.brush-cross{height:44px;width:33px;margin-left:5px}.brand{font-size:30px}h1{font-size:50px;max-width:none}}

.brand-x{display:block;width:52px;height:52px;margin-left:7px;object-fit:contain;flex-shrink:0}header{background:#000}@media(max-width:760px){.brand-x{width:44px;height:44px;margin-left:4px}}

#approved-filter{cursor:pointer;text-transform:none;letter-spacing:.2px;font-size:12px;min-height:44px}#approved-filter[aria-pressed=true]{background:#edff00;color:#111;border-color:#edff00;box-shadow:0 0 0 3px #edff0033}.check strong{color:#edff00}
@font-face{font-family:'Muro SP';src:url('fonts/MURO_SP.otf') format('opentype');font-style:normal;font-weight:400;font-display:swap}
.brand,h1{font-family:'Muro SP','Barlow Condensed',sans-serif;font-weight:400;font-synthesis:none}.brand{font-size:46px;letter-spacing:1px;line-height:1.1}h1{font-size:66px;line-height:1.15;letter-spacing:1px;overflow-wrap:normal}@media(max-width:760px){.brand{font-size:36px}h1{font-size:54px;line-height:1.15}}

.admin-footer{padding:20px 28px;background:#090b08;border-top:1px solid var(--line);text-align:center}.admin-footer button{font-size:12px;color:#aeb79f}.admin-tools{display:flex;justify-content:space-between;gap:10px;margin:16px 0}.admin-choice{display:flex;gap:12px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#0d100b;align-items:flex-start}.admin-choice input{width:19px;height:19px;accent-color:#edff00;flex-shrink:0}.admin-choice span{overflow-wrap:anywhere}.admin-choice small{display:block;margin-top:5px}#admin-delete{width:100%;margin-top:20px;border-color:#ff4c57;color:#ff8b91}#admin-panel[hidden],#admin-login[hidden]{display:none}#admin-status{color:#edff00}#admin{width:min(560px,calc(100% - 24px))}
