:root{--bg:#f7f3ea;--surface:#fffdf8;--surface-strong:#fff;--text:#1d211f;--muted:#656a61;--line:#ded4c1;--line-strong:#cbbb9e;--accent:#9b2f2f;--accent-dark:#6f2224;--accent-soft:#f3e6dc;--green:#1f6b56;--green-dark:#134637;--gold:#c58b2b;--blue:#2f5f8b;--shadow:0 18px 46px #31261921;--shadow-soft:0 6px 20px #31261914;--radius:8px;--container:1160px}.map-panel-real:before{z-index:2;background:#fffdf8e0;border-radius:6px;padding:4px 8px}.map-frame{border:0;width:100%;height:100%;position:absolute;inset:0}.map-panel-real .map-point{z-index:3}*{box-sizing:border-box}body{background:linear-gradient(180deg, #fffdf8b8, #f7f3ea00 320px), var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.site-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8e6;position:sticky;top:0}.topbar-inner,.container{width:min(var(--container), calc(100% - 32px));margin:0 auto}.footer{border-top:1px solid var(--line);background:#fffdf8eb;margin-top:auto;padding:18px 0 22px}.topbar-inner{justify-content:space-between;align-items:center;gap:20px;min-height:58px;display:flex}.brand{white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:800;line-height:1.1;display:inline-flex}.brand-logo{object-fit:contain;object-position:left center;flex:none;width:126px;height:54px;display:block}.brand-mark{border:2px solid var(--accent);background:radial-gradient(circle at center, var(--gold) 0 4px, transparent 5px), conic-gradient(from 45deg, var(--green), var(--gold), var(--accent), var(--green));width:28px;height:28px;box-shadow:inset 0 0 0 5px var(--surface), 0 4px 12px #6f22242e;border-radius:50%;flex:none;position:relative}.brand-mark:after{content:"";border:1px solid #1f6b5673;border-radius:50%;position:absolute;inset:8px}.nav{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;display:flex}.nav a{border-radius:var(--radius);white-space:nowrap;padding:8px 10px;line-height:1.2}.nav a:hover{color:var(--accent);background:#8b2f2f14}.mobile-menu,.bottom-nav{display:none}.mobile-menu-button{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.mobile-menu-layer{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1d211f70;position:fixed;inset:0}.mobile-menu-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;gap:14px;padding:14px;display:grid;position:absolute;top:10px;left:10px;right:10px}.mobile-menu-head{justify-content:space-between;align-items:center;gap:12px;font-weight:800;display:flex}.mobile-menu-nav,.mobile-menu-secondary{gap:6px;display:grid}.mobile-menu-nav a,.mobile-menu-secondary a{border-radius:var(--radius);padding:11px 12px}.mobile-menu-nav a{background:#f6efe3;font-weight:700}.mobile-menu-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-menu-secondary a{border:1px solid var(--line);color:var(--muted);font-size:13px}.footer-nav{width:min(760px,100%);color:var(--muted);grid-template-columns:repeat(3,minmax(150px,1fr));gap:18px 28px;display:grid}.footer-brand{flex:none;align-items:center;display:inline-flex}.footer-logo{object-fit:contain;object-position:left center;width:116px;height:50px;display:block}.footer-group{align-content:start;gap:6px;display:grid}.footer-group h2{color:var(--text);margin:0;font-size:13px;line-height:1.2}.footer-group div{gap:3px;display:grid}.footer-group a{border-radius:6px;padding:3px 0;font-size:13px;line-height:1.25}.footer-group a:hover{color:var(--accent)}.hero{color:#fff;background:linear-gradient(90deg,#1a1e1cc2,#1a1e1c47 62%,#1a1e1c14),url(https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=80) 50%/cover;padding:64px 0 46px}.hero-layout{grid-template-columns:minmax(0,1fr) minmax(250px,330px);align-items:end;gap:28px;display:grid}.hero-copy{gap:14px;display:grid}.eyebrow{color:#ffffffc7;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:800}.hero h1{letter-spacing:0;width:min(700px,100%);margin:0;font-size:52px;line-height:1}.hero p{width:min(620px,100%);margin:0;font-size:16px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.button.light,.button.ghost.light{color:#fff;border-color:#ffffff75}.button.ghost.light:hover{background:#ffffff29}.hero-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf824;border:1px solid #ffffff38;border-radius:14px;padding:18px}.hero-panel span{font-size:44px;font-weight:900;line-height:1;display:block}.hero-panel strong{margin-top:6px;font-size:15px;display:block}.hero-panel p{color:#ffffffc7;margin-top:10px;font-size:14px}.section{padding:30px 0}.section-tight{padding:18px 0 0}.metric-grid,.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-card,.quick-link{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fffdf8d1}.metric-card{gap:4px;padding:14px;display:grid}.metric-card span{color:var(--accent);font-size:30px;font-weight:900;line-height:1}.metric-card strong{font-size:14px}.quick-link{gap:5px;padding:14px;display:grid}.quick-link span{color:var(--green);font-size:13px;font-weight:800}.quick-link strong{font-size:16px;line-height:1.25}.home-map-section .map-panel{min-height:330px;margin:12px 0 0}.map-page{padding:0}.map-page .container{width:100%;max-width:none;min-height:calc(100dvh - 58px);padding:0;display:block;position:relative}.map-page-header{z-index:4;max-width:min(520px,100vw - 88px);color:var(--text);pointer-events:none;text-shadow:0 1px #fffdf8d9;position:absolute;top:18px;left:64px}.map-page-header .page-title{font-size:26px}.map-page-header .muted{color:var(--text);margin-top:6px}.project-map-fullscreen{min-height:0}.project-map-fullscreen .map-panel{border:0;border-radius:0;height:calc(100dvh - 58px);min-height:calc(100dvh - 58px);margin:0}.section-title{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.section-title h2,.page-title{margin:0;font-size:28px;line-height:1.15}.grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);overflow-wrap:anywhere;padding:14px}.card:hover{box-shadow:var(--shadow);border-color:#9b2f2f6b}.legend-card{grid-template-rows:auto 1fr;gap:0;min-height:100%;padding:0;display:grid;overflow:hidden}.legend-card-cover{aspect-ratio:16/9;background-color:#ece6d6;background-image:linear-gradient(135deg,#1f6b562e,#c58b2b29),none;background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;display:block}.legend-card-body{align-content:start;gap:6px;padding:13px 14px 14px;display:grid}.legend-card-body>p{margin:0}.card h3{margin:0 0 6px;font-size:18px;line-height:1.25}.card p{margin:6px 0 0}.meta,.muted{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.tag-row{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tag{border:1px solid var(--line);color:var(--muted);background:#fffdf8b8;border-radius:999px;padding:2px 8px;font-size:12px}.tag-link:hover{background:var(--accent-soft);color:var(--accent);border-color:#9b2f2f6b}.active-tag{background:var(--accent-soft);color:var(--accent-dark);border-color:#9b2f2f80;font-weight:700}.relation-map{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.relation-node{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:3px;padding:12px 14px 12px 18px;display:grid;position:relative}.relation-node:before{content:"";background:var(--green);border-radius:999px;width:3px;position:absolute;top:12px;bottom:12px;left:8px}.relation-node span{color:var(--muted);font-size:12px}.relation-node strong{line-height:1.25}.timeline-nav{scroll-snap-type:x proximity;gap:10px;margin-top:18px;padding:4px 0 10px;display:flex;overflow-x:auto}.timeline-nav a{scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex:0 0 min(240px,78vw);padding:12px 12px 12px 16px;position:relative}.timeline-nav a:before{content:"";background:var(--gold);border-radius:999px;width:3px;position:absolute;top:14px;bottom:14px;left:7px}.timeline-nav span{color:var(--muted);font-size:12px;display:block}.timeline-nav strong{line-height:1.25;display:block}.button,.icon-button{border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;text-align:center;border:0;justify-content:center;align-items:center;gap:8px;max-width:100%;min-height:36px;padding:0 12px;display:inline-flex}.button:hover{background:var(--accent-dark)}.button.secondary{background:var(--text)}.button.ghost{color:var(--text);border:1px solid var(--line);background:0 0}.button.ghost:hover{border-color:var(--line-strong);background:var(--accent-soft)}.button.danger{background:var(--accent-dark)}.button.danger:hover{background:#4f191a}.button:disabled{cursor:not-allowed;opacity:.65}.row-actions{flex-wrap:wrap;gap:6px;min-width:260px;display:flex}.row-actions .button{min-height:32px;padding:0 10px;font-size:13px}.row-action-status{color:var(--accent);flex-basis:100%;font-size:12px}.form{gap:12px;display:grid}.admin-stepper{gap:14px;display:grid}.admin-stepper-tabs{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.admin-stepper-tab{border:1px solid var(--line);border-radius:var(--radius);min-width:0;color:var(--muted);cursor:pointer;text-align:left;background:#fffdf8bd;align-items:center;gap:8px;padding:9px 10px;font-weight:700;display:flex}.admin-stepper-tab span{width:24px;height:24px;color:var(--muted);background:#ece7d9;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-stepper-tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.admin-stepper-tab.active span,.admin-stepper-tab.complete span{background:var(--accent);color:#fff}.admin-step-content{display:none}.admin-stepper-panels[data-current-step=main] [data-step-content=main],.admin-stepper-panels[data-current-step=authors] [data-step-content=authors],.admin-stepper-panels[data-current-step=geo] [data-step-content=geo],.admin-stepper-panels[data-current-step=content] [data-step-content=content],.admin-stepper-panels[data-current-step=relations] [data-step-content=relations],.admin-stepper-panels[data-current-step=media] [data-step-content=media],.admin-stepper-panels[data-current-step=seo] [data-step-content=seo]{gap:12px;display:grid}.admin-stepper-actions{justify-content:space-between;gap:10px;padding-top:6px;display:flex}.admin-stepper-legacy-submit{display:none}.code-preview{border:1px solid var(--line);border-radius:var(--radius);white-space:pre-wrap;background:#1f25230a;max-height:420px;padding:12px;font-size:13px;line-height:1.5;overflow:auto}.filters{grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:8px;display:grid}.filters input,.filters select,.filters .button{width:100%;min-width:0}.submission-form{gap:16px;margin-top:16px}.submission-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.submission-step{border:1px solid var(--line);border-radius:var(--radius);min-width:0;color:var(--muted);cursor:pointer;text-align:left;background:#fffdf8b8;align-items:center;gap:8px;padding:9px 10px;display:flex}.submission-step span{width:24px;height:24px;color:var(--muted);background:#ece7d9;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.submission-step strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.submission-step.active{background:var(--accent-soft);color:var(--accent-dark);border-color:#9b2f2f7a}.submission-step.active span,.submission-step.done span{background:var(--accent);color:#fff}.submission-step-copy{gap:2px;display:grid}.submission-step-copy h2{margin:0;font-size:22px;line-height:1.2}.submission-step-copy p{margin:0}.form-alert{border-radius:var(--radius);color:var(--accent-dark);background:#9b2f2f14;border:1px solid #9b2f2f59;margin:0;padding:10px 12px;font-size:14px}.submission-panel{gap:12px;display:grid}.submission-panel[hidden]{display:none}.submission-media-box{border:1px solid var(--line);border-radius:var(--radius);background:#f7f3ea85;gap:12px;padding:12px;display:grid}.submission-media-box h3{margin:0;font-size:16px}.submission-map-picker{gap:12px;display:grid}.submission-map-frame{border:1px solid var(--line);border-radius:var(--radius);background:#edf3e8;min-height:360px;position:relative;overflow:hidden}.submission-map-frame[data-error=true]:after{content:"Не удалось загрузить карту. Можно ввести координаты вручную.";color:var(--muted);text-align:center;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.markdown-editor{border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:grid;overflow:hidden}.markdown-toolbar{border-bottom:1px solid var(--line);background:#f7f3eab8;flex-wrap:wrap;align-items:center;gap:6px;padding:7px;display:flex}.markdown-toolbar .icon-button{width:34px;height:34px;min-height:34px;padding:0}.icon-button.ghost{border:1px solid var(--line);background:var(--surface);color:var(--text)}.icon-button.ghost:hover{border-color:var(--line-strong);background:var(--accent-soft)}.markdown-mode-toggle{gap:6px;margin-left:auto;display:flex}.markdown-mode-toggle .button{min-height:34px;padding:0 10px;font-size:13px}.button.active{background:var(--accent-soft);color:var(--accent-dark);border-color:#9b2f2f80}.markdown-textarea{min-height:260px;box-shadow:none;border:0;border-radius:0;font-family:Arial,Helvetica,sans-serif;line-height:1.55}.markdown-textarea:focus{box-shadow:inset 0 0 0 2px #1f6b562e}.markdown-preview{background:var(--surface-strong);width:100%;min-height:260px;max-height:520px;padding:12px;overflow:auto}.markdown-preview[hidden],.markdown-textarea[hidden]{display:none}.check-row{color:var(--text);align-items:flex-start;gap:9px;display:flex}.check-row input{flex:none;margin-top:5px}.checkbox-grid{border:1px solid var(--line);border-radius:var(--radius);background:#f7f3ea70;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;padding:10px;display:grid}.checkbox-grid label{align-items:flex-start;gap:8px;display:flex}.submission-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:2px;display:flex}.submit-success{justify-items:start;gap:12px;width:min(720px,100%);margin:0 auto;padding:24px;display:grid}.submit-success svg{color:var(--green)}.submit-success h1,.submit-success p{margin:0}.submit-auth-required{gap:10px;width:min(680px,100%);margin-top:18px;display:grid}.submit-auth-required h2,.submit-auth-required p{margin:0}.field{gap:5px;display:grid}.field label{font-size:13px;font-weight:700}.required-mark{color:var(--accent);font-weight:900}.input,.textarea,.select{border:1px solid var(--line);border-radius:var(--radius);width:100%;color:var(--text);background:#fff;min-width:0;padding:9px 10px}.input:focus,.textarea:focus,.select:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 3px #1f6b561f}.input,.textarea,.select,.filters input,.filters select{max-width:100%}.textarea{resize:vertical;min-height:132px}.table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px}th{color:var(--muted);font-size:13px;font-weight:700}.admin-layout{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.admin-sidebar{color:#fff;background:#202724;padding:18px}.admin-sidebar nav{gap:6px;margin-top:18px;display:grid}.admin-sidebar a,.admin-sidebar button{border-radius:6px;padding:8px 10px}.admin-sidebar a:hover,.admin-sidebar button:hover{background:#ffffff14}.admin-main{padding:22px}.status{background:#ece7d9;border-radius:999px;padding:3px 9px;font-size:12px;display:inline-flex}.moderation-result{letter-spacing:.04em;border-radius:999px;width:fit-content;margin:8px 0 0;padding:6px 12px;font-size:12px;font-weight:800;display:inline-flex}.moderation-result-approved{color:var(--green-dark);background:#1f6b561f}.moderation-result-rejected{color:var(--accent-dark);background:#9b2f2f1f}.admin-comment-card{gap:5px;padding:12px 14px;display:grid}.admin-comment-card h3,.admin-comment-card p{margin:0}.admin-comment-head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.admin-comment-text{line-height:1.35}.admin-comment-summary{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.admin-comment-summary>*+:before{content:"-";color:var(--muted);margin-right:8px;font-weight:400}.admin-comment-summary a{color:var(--muted);font-size:13px}.admin-comment-summary strong{font-size:16px}.admin-comment-summary span{color:var(--muted);font-size:13px}.admin-comment-card .moderation-result{margin:0;padding:5px 10px}.prose{overflow-wrap:anywhere;width:min(780px,100%);font-size:16px}.prose img{max-width:100%}.prose h1,.prose h2,.prose h3{line-height:1.18}.prose p,.prose ul,.prose ol{margin:0 0 12px}.legend-container{width:min(1040px,100% - 32px)}.legend-cover{aspect-ratio:16/9;border:1px solid var(--line);border-radius:var(--radius);background-color:#e9ede4;background-image:linear-gradient(135deg,#2866532e,#8b2f2f1a),none;background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;align-items:flex-end;min-height:0;margin-bottom:14px;display:flex;overflow:hidden}.legend-cover>div{color:#fff;background:linear-gradient(#0000,#1f2523b8);width:100%;padding:18px}.legend-cover .meta{color:#ffffffc7}.legend-cover span{font-size:20px;font-weight:700;line-height:1.2;display:block}.legend-header{gap:8px;display:grid}.legend-description{max-width:760px;color:var(--muted);margin:0;font-size:15px}.legend-meta-line,.legend-extra-links{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:13px;display:flex}.legend-info-block{border-top:1px solid var(--line);margin:22px 0 0;padding-top:12px}.legend-language-row{margin-top:4px}.legend-tags-top{margin:-4px 0 16px}.legend-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:flex-end;align-items:center;gap:14px;margin:14px 0;padding:8px 0;display:flex}.legend-tags,.legend-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.legend-actions{justify-content:flex-end}.legend-extra-links{margin:-4px 0 14px}.legend-extra-links a{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.legend-prose{width:min(760px,100%);margin-top:8px}.legend-author{border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:min(760px,100%);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:24px 0 0;padding:12px 0;font-size:14px;display:flex}.legend-author strong{color:var(--text)}.legend-author em{font-style:normal}.legend-comments{padding:28px 0 0}.legend-comment-form{margin-top:14px}.account-profile-form{margin:18px 0 6px}.account-profile-form h2{margin:2px 0 0;font-size:20px;line-height:1.2}.map-panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#28665324,#8b2f2f14),repeating-linear-gradient(0deg,#0000,#0000 38px,#1f25230d 39px),repeating-linear-gradient(90deg,#0000,#0000 38px,#1f25230d 39px),#edf3e8;min-height:390px;margin:16px 0;position:relative;overflow:hidden}.map-panel:before{content:"Республика Калмыкия";color:var(--green);font-weight:700;position:absolute;top:14px;left:18px}.map-point{background:var(--accent);width:18px;height:18px;box-shadow:0 0 0 4px #8b2f2f33, var(--shadow);border:3px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.map-point:hover{background:var(--green);box-shadow:0 0 0 6px #28665338, var(--shadow)}.map-panel-leaflet:before{content:none}.legend-leaflet-map{z-index:2;min-height:inherit;pointer-events:none;background:0 0;position:absolute;inset:0}.legend-leaflet-map[data-ready=true]{pointer-events:auto;background:#edf3e8}.map-fallback{z-index:1;background:linear-gradient(135deg,#28665324,#8b2f2f14),repeating-linear-gradient(0deg,#0000,#0000 38px,#1f25230d 39px),repeating-linear-gradient(90deg,#0000,#0000 38px,#1f25230d 39px),#edf3e8;position:absolute;inset:0}.map-fallback-label{z-index:1;color:var(--green);font-weight:800;position:absolute;top:14px;left:18px}.map-fallback-marker{z-index:2;background:var(--accent);width:18px;height:18px;box-shadow:0 0 0 4px #8b2f2f33, var(--shadow);border:3px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.map-fallback-marker:hover,.map-fallback-marker:focus-visible{z-index:5;background:var(--green);box-shadow:0 0 0 6px #28665338, var(--shadow);outline:none}.map-fallback-marker-place{background:var(--green);border-radius:6px;transform:translate(-50%,-50%)rotate(45deg)}.map-fallback-marker-place .map-fallback-popup{transform:translate(-50%,calc(-100% - 14px))rotate(-45deg)}.map-fallback-marker-person{background:var(--blue)}.map-fallback-marker-projectEvent{background:var(--gold)}.map-fallback-marker-historicalEvent{background:var(--accent-dark)}.map-fallback-popup{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);width:min(230px,74vw);box-shadow:var(--shadow);color:var(--text);padding:8px;display:none;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%)}.map-fallback-popup:after{content:"";border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);width:14px;height:14px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.map-fallback-marker:hover .map-fallback-popup,.map-fallback-marker:focus-visible .map-fallback-popup{display:block}.leaflet-legend-marker{background:var(--accent);box-shadow:0 0 0 4px #8b2f2f33, var(--shadow);border:3px solid #fff;border-radius:50%;width:18px!important;height:18px!important}.leaflet-legend-marker:hover{background:var(--green);box-shadow:0 0 0 6px #28665338, var(--shadow)}.leaflet-legend-marker-place{background:var(--green);box-shadow:0 0 0 4px #1f6b5633, var(--shadow);border-radius:6px;transform:rotate(45deg)}.leaflet-legend-marker-place:hover{background:var(--gold);box-shadow:0 0 0 6px #c58b2b38, var(--shadow)}.leaflet-legend-marker-memorial,.leaflet-legend-marker-temple,.leaflet-legend-marker-historical{background:var(--blue)}.leaflet-legend-marker-settlement,.leaflet-legend-marker-route_point{background:var(--gold)}.leaflet-legend-marker-person{background:var(--blue)}.leaflet-legend-marker-projectEvent{background:var(--gold)}.leaflet-legend-marker-historicalEvent{background:var(--accent-dark)}.map-popup-link{min-width:180px;color:var(--text);gap:4px;display:grid}.map-popup-link span{color:var(--muted);font-size:.9rem}.map-popup-card{width:220px;color:var(--text)}.map-popup-cover{aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#2866532e,#8b2f2f1f),#efe9dc;border-radius:6px;width:100%;display:block}.map-popup-body{gap:6px;padding-top:8px;display:grid}.map-popup-section,.map-popup-place{color:var(--muted);font-size:12px;line-height:1.25}.map-popup-body strong{font-size:15px;line-height:1.25}.map-popup-button{justify-content:center;width:100%;min-height:34px;margin-top:4px;padding:7px 10px}.leaflet-popup-content{margin:12px}.pdf-page{background:#ece7d9;min-height:100vh;padding:18px}.pdf-actions{flex-wrap:wrap;gap:10px;width:min(860px,100%);margin:0 auto 18px;display:flex}.pdf-sheet{border:1px solid var(--line);width:min(860px,100%);box-shadow:var(--shadow);background:#fff;margin:0 auto;padding:34px}.pdf-sheet h1{margin:0 0 12px;font-size:30px;line-height:1.15}.pdf-excerpt{color:var(--muted);font-size:16px}.pdf-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);margin:22px 0;padding:12px 0}.pdf-footer{color:var(--muted);margin-top:32px;font-size:13px}@media (max-width:980px){.topbar-inner{flex-direction:row;align-items:center;gap:8px;padding:10px 0}.topbar .nav{display:none}.mobile-menu{display:block}.hero-layout{grid-template-columns:1fr}.hero-panel{width:min(420px,100%)}.footer .topbar-inner{flex-direction:column;align-items:flex-start}.footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%}}@media print{body{background:#fff}.pdf-page{background:#fff;min-height:auto;padding:0}.pdf-actions{display:none}.pdf-sheet{width:100%;box-shadow:none;border:0;padding:0}@page{size:A4;margin:18mm}}@media (max-width:760px){body{padding-bottom:74px}.topbar-inner,.container{width:min(100% - 20px, var(--container))}.topbar-inner{padding:8px 0}.brand{font-size:17px}.brand-mark{width:26px;height:26px}.brand-logo{width:116px;height:50px}.section-title{flex-direction:column;align-items:flex-start;gap:12px}.hero{padding:32px 0 26px}.hero-copy{gap:12px}.hero h1{font-size:36px;line-height:1.05}.hero p{font-size:15px}.hero-actions{grid-template-columns:1fr;display:grid}.hero-panel{border-radius:var(--radius);padding:14px}.hero-panel span{font-size:34px}.section{padding:20px 0}.section-tight{padding:12px 0 0}.grid{grid-template-columns:1fr;gap:10px}.filters{grid-template-columns:1fr}.submission-form{gap:14px;margin-top:12px}.submission-steps{grid-template-columns:1fr;gap:6px}.submission-step{gap:7px;padding:8px}.submission-step span{width:22px;height:22px}.submission-step strong{font-size:12px}.submission-map-frame{min-height:300px}.submission-step-copy h2{font-size:20px}.submission-actions{grid-template-columns:1fr 1fr;display:grid}.submission-actions .button{width:100%}.metric-grid,.quick-grid{grid-template-columns:1fr;gap:10px}.home-map-section .map-panel{min-height:280px}.metric-card,.quick-link,.legend-card-body{padding:12px}.legend-container{width:min(100% - 20px, var(--container))}.legend-cover{min-height:0;margin-bottom:12px}.legend-cover>div{padding:12px}.legend-description{font-size:14px}.legend-toolbar{flex-direction:column;align-items:stretch;gap:8px;margin:12px 0;padding:8px 0}.legend-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:flex-start;display:grid}.legend-actions .button{width:100%;min-width:0}.legend-extra-links{margin:-2px 0 10px}.legend-comments{padding-top:22px}.card{padding:12px}.legend-card{padding:0}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-main{padding:14px 10px}.map-panel{min-height:300px}.map-page{padding:0}.map-page .container{min-height:calc(100dvh - 146px)}.map-page-header{max-width:calc(100vw - 66px);top:12px;left:54px}.map-page-header .page-title{font-size:22px}.map-page-header .muted{display:none}.project-map-fullscreen .map-panel{height:calc(100dvh - 146px);min-height:calc(100dvh - 146px)}.page-title,.section-title h2{font-size:24px}.button,.icon-button{min-height:40px}.footer-nav{grid-template-columns:1fr;gap:12px}.footer-logo{width:108px;height:46px}.footer{display:none}.bottom-nav{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f0;border:1px solid #cbbb9edb;border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:8px;left:8px;right:8px;overflow:hidden;box-shadow:0 14px 34px #3126192e}.bottom-nav a{min-width:0;color:var(--muted);justify-items:center;gap:3px;padding:8px 4px;font-size:11px;line-height:1.1;display:grid}.bottom-nav a:hover{color:var(--accent);background:var(--accent-soft)}.pdf-page{padding:10px}.pdf-sheet{padding:18px}.pdf-sheet h1{font-size:24px}}
