:root{--bg:#040404;--panel:#0c0c0c;--panel2:#12100f;--line:#241b19;--line2:#3b1917;--text:#eee5e2;--muted:#8f817c;--red:#ff2a22;--amber:#ffb020;--green:#3bd982;--blue:#61a6ff}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:"Inter",sans-serif;line-height:1.45;background-image:linear-gradient(rgba(255,42,34,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,42,34,.025) 1px,transparent 1px);background-size:34px 34px;padding-top:44px}
a{color:#ffc2bd}
button,input,textarea,select{font:inherit}
.skip-link{position:fixed;left:12px;top:8px;z-index:1000;transform:translateY(-160%);border:1px solid var(--red);background:#120707;color:#fff;border-radius:6px;padding:9px 11px;font-weight:900;text-decoration:none}
.skip-link:focus{transform:translateY(0)}
.topnav{background:rgba(4,0,0,.97);border-bottom:1px solid #400000;padding:0 20px;height:44px;display:flex;align-items:center;gap:20px;position:fixed;top:0;left:0;right:0;z-index:900;backdrop-filter:blur(8px)}
.topnav-logo{font-family:"Oswald",sans-serif;color:var(--red);font-size:.9rem;font-weight:700;letter-spacing:3px;white-space:nowrap;flex-shrink:0;text-decoration:none}
.topnav-links{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;margin-left:0}
.topnav-links::-webkit-scrollbar{display:none}
.topnav-links a{color:#777;font-size:.6rem;font-family:"Oswald",sans-serif;letter-spacing:1.5px;text-transform:uppercase;padding:0 12px;height:44px;display:flex;align-items:center;border-bottom:2px solid transparent;transition:color .2s;white-space:nowrap;text-decoration:none}
.topnav-links a:hover{color:#ddd}
.topnav-links a.active{color:var(--red);border-bottom-color:var(--red)}
.nav-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.bmc-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;border:1px solid #d4a000;background:#ffdd00;color:#000!important;border-radius:999px;padding:0 12px;font-size:.72rem;font-weight:900;text-decoration:none;white-space:nowrap}
.bmc-link-emoji{font-size:1rem;line-height:1}
.bmc-link:hover{background:#ffe76a;color:#000!important}
.mobile-menu-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:#100707;color:#f3d8d4;border-radius:6px;padding:8px 10px;font-size:.72rem;font-weight:900;letter-spacing:.8px;text-transform:uppercase;cursor:pointer}
.mobile-menu{display:none;position:fixed;top:44px;left:0;right:0;z-index:899;border-bottom:1px solid #400000;background:#070202;padding:8px 10px;box-shadow:0 16px 40px rgba(0,0,0,.55)}
.mobile-menu[hidden]{display:none}
.mobile-menu a{display:block;border:1px solid var(--line);background:#100707;color:#ead8d4;border-radius:6px;padding:10px 11px;margin:6px 0;text-decoration:none;font-size:.78rem;font-weight:900}
.hero{border-bottom:1px solid #3a1111;background:linear-gradient(180deg,#160302 0%,#070202 100%);padding:32px 18px 26px}
.hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:22px;align-items:end}
h1{font-family:"Oswald",sans-serif;color:var(--red);font-size:clamp(2rem,5vw,4.8rem);letter-spacing:4px;text-transform:uppercase;line-height:.95}
.beta-badge{display:inline-flex;vertical-align:middle;margin-left:10px;border:1px solid #ffb020;background:#180e04;color:#ffb020;border-radius:999px;padding:5px 8px;font-family:"Inter",sans-serif;font-size:clamp(.72rem,1.2vw,.9rem);font-weight:900;letter-spacing:1.2px;line-height:1}
.hero p{max-width:720px;color:#d5c7c2;margin-top:12px;font-size:1rem}
.hero-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.hero-stat{border:1px solid #351816;background:#0c0808;border-radius:8px;padding:12px}
.hero-stat b{display:block;font-family:"Oswald",sans-serif;color:#fff;font-size:1.6rem;line-height:1}
.hero-stat span{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin-top:6px}
.hero-severity-counter{grid-column:1/-1;border:1px solid #3a1515;background:rgba(255,42,34,.08);border-radius:8px;color:#f0d1cc;font-weight:800;font-size:.82rem;line-height:1.35;padding:10px 12px;text-align:center}
.wrap{width:min(1380px,calc(100% - 28px));margin:0 auto;padding:20px 0 46px}
.status-line{display:flex;align-items:center;gap:10px;min-height:24px;color:#a99993;font-size:.82rem;margin-bottom:14px}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 18px rgba(255,176,32,.5)}
.status-line[data-tone="good"] .status-dot{background:var(--green)}
.status-line[data-tone="bad"] .status-dot{background:var(--red)}
.status-line[data-tone="warn"] .status-dot{background:var(--amber)}
body.decline-modal-lock{overflow:hidden}
.submit-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line2);background:#120706;border-radius:8px;padding:14px;margin-bottom:16px}
.submit-cta b{display:block;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:#fff}
.submit-cta span{display:block;color:#a99993;font-size:.82rem;margin-top:3px}
.submit-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.account-pill{border:1px solid #423018;background:#141009;color:#f7ddad;border-radius:999px;padding:8px 11px;font-weight:800;font-size:.76rem;cursor:pointer}
.account-pill:hover{background:#21170c;color:#fff}
.account-ticker{border:1px solid #4f3711;background:#211407;color:#ffd4a0;border-radius:999px;padding:8px 11px;font-weight:900;font-size:.76rem}
.account-ticker[hidden]{display:none}
.info-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #423018;background:#120c07;border-radius:8px;padding:12px 14px;margin-bottom:14px;color:#d8c7c1}
.info-strip[hidden]{display:none}
.info-strip b{display:block;color:#fff;margin-bottom:2px}
.info-strip span{display:block;color:#a99993;font-size:.84rem}
.filter-panel{border:1px solid var(--line);background:#0b0707;border-radius:8px;padding:12px;margin-bottom:16px}
.filter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.filter-head b{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.3px;color:#fff}
.filter-row{display:grid;grid-template-columns:90px 1fr;gap:8px 12px;align-items:center}
.filter-label{font-size:.68rem;color:#b9aaa5;text-transform:uppercase;letter-spacing:1px;font-weight:900}
.filter-group{display:flex;flex-wrap:wrap;gap:8px}
.filter-chip{border:1px solid var(--line);background:#080606;color:#d8c7c1;border-radius:999px;padding:7px 10px;font-size:.74rem;font-weight:900;cursor:pointer}
.filter-chip[aria-pressed="true"]{border-color:var(--amber);background:#211407;color:#fff}
.filter-status{color:#a99993;font-size:.78rem;margin-top:10px}
.mobile-app-tabs,.mobile-app-shell,.mobile-sheet-handle{display:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.account-submit-note{border:1px solid #2d2419;background:#100d09;border-radius:8px;color:#d6c6bb;font-size:.78rem;padding:9px 10px;margin-bottom:10px}
.check-row{display:flex;align-items:center;gap:8px;color:#d6c6bb;font-size:.82rem;margin:8px 0 12px}
.check-row input{width:auto}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.account-tabs button[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#160000}
.account-profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.account-profile-card{border:1px solid var(--line);background:#0a0808;border-radius:8px;padding:11px}
.account-profile-card b{display:block;font-family:"Oswald",sans-serif;font-size:1.45rem;color:#fff;line-height:1}
.account-profile-card span{display:block;color:#a99993;font-size:.68rem;text-transform:uppercase;letter-spacing:.8px;margin-top:6px}
.decline-account-pending{display:grid;gap:8px;margin-top:8px}
.decline-account-pending .decline-activity-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:#0a0808;border-radius:8px;padding:10px;color:#eadbd6}
.decline-account-pending .decline-activity-title{display:block;font-weight:800}
.decline-account-pending .decline-activity-meta{display:block;color:#a99993;font-size:.76rem;margin-top:2px}
.decline-account-pending .decline-activity-badge{border:1px solid #4f3711;background:#211407;color:#ffd4a0;border-radius:999px;padding:5px 8px;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.8px}
.app-grid{display:grid;grid-template-columns:minmax(500px,1fr) minmax(520px,.9fr);gap:16px;align-items:stretch}
.map-shell,.detail-shell,.tool-panel,.chart-panel{border:1px solid var(--line);background:rgba(13,10,9,.96);border-radius:8px;overflow:hidden}
.map-shell{display:flex;flex-direction:column;min-height:0}
.panel-head{padding:14px 14px 12px;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.panel-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.panel-head h2,.panel-head h3{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.5px;font-size:1rem;color:#fff}
.panel-head p{color:var(--muted);font-size:.78rem;margin-top:3px}
.map-canvas{position:relative;min-height:700px;background:#070707;overflow:hidden;flex:1}
.map-canvas .leaflet-container{background:#070707}
.map-canvas .leaflet-control-attribution{background:rgba(5,5,5,.82);color:#a99;font-size:.62rem}
.map-canvas .leaflet-control-attribution a{color:#ffb8b8}
.map-canvas .leaflet-control-zoom a{background:#120707;border-color:#3b1917;color:#f3d8d4}
.map-canvas .leaflet-control-zoom a:hover{background:#24100f;color:#fff}
.quality-pin-badge{display:grid!important;place-items:center;width:22px!important;height:22px!important;border:1px solid #ffe8a8;border-radius:50%;background:#120807;color:#ffd45f;font-size:13px;line-height:1;box-shadow:0 0 0 2px rgba(0,0,0,.6),0 0 18px rgba(255,176,32,.5)}
.empty-map{position:absolute;left:20px;right:20px;bottom:20px;border:1px solid var(--line2);background:rgba(5,5,5,.88);border-radius:8px;padding:14px;color:#cbbdb8;z-index:500;pointer-events:none}
.pin-legend{display:flex;flex-wrap:wrap;gap:8px 12px;border-top:1px solid var(--line);padding:10px 12px;background:#080606;color:#a99993;font-size:.72rem}
.pin-legend span{display:inline-flex;align-items:center;gap:6px}
.pin-legend i{width:10px;height:10px;border:1px solid #fff1ee;border-radius:999px;display:inline-block}
.pin-legend i[data-pin-key="unrated"]{background:#8b302c}
.pin-legend i[data-pin-key="pending"]{background:#ffb020}
.pin-legend i[data-pin-key="none"]{background:#31d07d}
.pin-legend i[data-pin-key="mild"]{background:#f4c430}
.pin-legend i[data-pin-key="clear"]{background:#ff7a1a}
.pin-legend i[data-pin-key="severe"]{background:#ff2a22}
.pin-legend i[data-pin-key="nomination"]{background:#61a6ff;border-color:#d8ecff}
.detail-body{padding:14px}
.report-title{font-family:"Oswald",sans-serif;font-size:1.5rem;letter-spacing:1px;text-transform:uppercase;color:#fff;line-height:1.05}
.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#0a0707;border-radius:999px;color:#cbbdb8;font-size:.72rem;padding:5px 8px}
.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.score-card{border:1px solid var(--line);border-radius:8px;background:#0a0808;padding:10px;min-width:0}
.score-card b{display:block;font-family:"Oswald",sans-serif;font-size:1.4rem;color:#fff;line-height:1.05;overflow-wrap:anywhere}
.score-card span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}
.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.social-share-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin:10px 0}
.social-share-panel[hidden]{display:none}
.social-share-panel a,.social-share-panel button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #5c201c;background:#120707;color:#f4dfdc;border-radius:6px;padding:9px 10px;text-decoration:none;font-size:.76rem;font-weight:800}
.social-share-panel a:hover,.social-share-panel button:hover{background:#25100e;color:#fff}
.social-share-panel .law-line{grid-column:1/-1}
.viewer-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px}
.detail-shell{container-type:inline-size}
.mobile-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.mobile-detail-random{display:none}
.mobile-detail-close{display:none}
.mobile-inline-next-random{display:none}
.viewer{border:1px solid var(--line);border-radius:8px;background:#090909;min-height:230px;overflow:hidden;display:flex;flex-direction:column}
.viewer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;color:#b9aaa5}
.viewer-title{display:inline-flex;align-items:center;gap:8px}
.preview-expand{border:1px solid var(--line);background:#120707;color:#f2ded9;border-radius:5px;padding:5px 7px;cursor:pointer;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px}
.preview-expand:hover{background:#25100e;color:#fff}
.viewer iframe{border:0;width:100%;height:520px;display:block;background:#111;flex:1}
.viewer-fallback{min-height:250px;display:grid;place-items:center;padding:16px;text-align:center;color:#bcaea9}
.viewer-fallback a,.link-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #5c201c;background:#230b09;color:#ffd8d4;border-radius:6px;padding:9px 10px;text-decoration:none;font-size:.78rem;font-weight:700}
.note{color:#92827c;font-size:.78rem;margin-top:10px}
.submit-status{min-height:20px;color:#92827c;font-size:.78rem;margin-top:10px}
.submit-status[data-tone="good"]{color:var(--green)}
.submit-status[data-tone="bad"]{color:#ffb8b0}
.submit-status[data-tone="warn"]{color:var(--amber)}
.embed-feedback{min-height:18px;color:#92827c;font-size:.72rem;line-height:1.35}
.embed-feedback[data-tone="good"]{color:var(--green)}
.embed-feedback[data-tone="bad"]{color:#ffb8b0}
.field-hint{margin:3px 0 7px;color:#a99993;font-size:.74rem}
.embed-live-preview{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#070403;margin-top:8px}
.embed-live-preview iframe{display:block;width:100%;height:190px;border:0;background:#111}
.embed-live-preview .embed-meta{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border-top:1px solid var(--line);color:#cdbdb7;font-size:.72rem}
.submission-result{border:1px solid #3a6f4d;background:#07140d;border-radius:8px;color:#c9f4d6;padding:10px;margin-top:10px;font-size:.82rem}
.submission-result a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.rating-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.rating-row button,.primary-btn,.secondary-btn{border:1px solid #5c201c;background:#220907;color:#fff;border-radius:6px;padding:10px 12px;cursor:pointer;font-weight:800;font-size:.78rem}
.rating-row button:hover,.primary-btn:hover,.secondary-btn:hover{background:#39100d}
.rating-row button:disabled,.primary-btn:disabled,.secondary-btn:disabled{cursor:not-allowed;opacity:.48;background:#110807;color:#9b8984}
.rating-state{border:1px solid #423018;background:#141009;border-radius:8px;padding:9px 10px;color:#d7c6ab;font-size:.78rem;margin-top:10px}
.top-contributor-credit{border:1px solid #4a3512;background:rgba(255,176,32,.09);border-radius:8px;color:#f5dca3;font-weight:800;padding:9px 10px;margin-top:10px}
.primary-btn{background:var(--red);border-color:var(--red);color:#160000}
.secondary-btn{background:#0d0b0b;color:#ded1cc;border-color:var(--line)}
.tool-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:16px}
.tool-grid > *{grid-column:span 2}
.tool-grid > *:nth-child(4),.tool-grid > *:nth-child(5){grid-column:span 3}
.tool-panel,.chart-panel{padding:14px}
.tool-panel h2,.chart-panel h2{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.5px;font-size:1rem;margin-bottom:10px}
.chart-hint{color:#a99993;font-size:.76rem;margin-top:10px}
.how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.how-card{border:1px solid var(--line);background:#0a0707;border-radius:8px;padding:12px;color:#d8c7c1}
.how-card b{display:block;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1px;color:#fff;margin-bottom:6px}
.breadcrumb-line{color:#a99993;font-size:.76rem;margin-bottom:10px}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.field label{font-size:.68rem;color:#b9aaa5;text-transform:uppercase;letter-spacing:1px;font-weight:800}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#050505;color:#f2e9e6;border-radius:6px;padding:10px}
.field textarea{min-height:84px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.admin-list{display:grid;gap:8px;margin-top:10px}
.admin-item{border:1px solid var(--line);border-radius:8px;padding:10px;background:#090707}
.admin-item b{display:block;color:#fff;margin-bottom:4px}
.admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.admin-place-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.declineMapCharts{display:grid;gap:10px}
.chart-row{display:grid;grid-template-columns:18px minmax(0,220px) 1fr 48px;align-items:center;gap:8px;color:#d7cac5;font-size:.78rem;width:100%;border:0;background:transparent;text-align:left;cursor:pointer}
.chart-row > span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.chart-row:hover span:first-of-type{color:#fff}
.chart-row-static{cursor:default}
.chart-row-static:hover span:first-of-type{color:#d7cac5}
.nomination-empty-state{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:#0a0707;border-radius:8px;padding:10px;color:#d8c7c1;font-size:.82rem}
.bar{height:10px;border-radius:999px;background:#24100f;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--amber));width:100%;transform-origin:left;transform:scaleX(0);transition:transform .5s cubic-bezier(.22,1,.36,1)}
.law-line{border:1px solid #423018;background:#141009;border-radius:8px;padding:10px;color:#d7c6ab;font-size:.78rem;margin-top:10px}
.report-comments{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.report-comments h3{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.4px;font-size:1rem;margin:0 0 8px;color:#fff}
.comment-list{display:grid;gap:8px;max-height:320px;overflow:auto;overscroll-behavior:contain;padding-right:4px}
.comment-list:focus{outline:1px solid var(--red);outline-offset:2px}
.comment-card{border:1px solid var(--line);background:#0b0706;border-radius:8px;padding:9px}
.comment-card b{display:block;color:#fff;font-size:.84rem}
.comment-card time{display:block;color:#8f807b;font-size:.68rem;margin-top:2px}
.comment-card p{margin:6px 0 0;color:#d8cfcc;font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}
.comment-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.comment-actions button,.comment-actions span{border:1px solid var(--line);background:#080404;color:#d8cfcc;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:800;line-height:1}
.comment-vote-btn{min-width:46px;text-align:center}
.comment-actions button{cursor:pointer}
.comment-actions button:hover{border-color:var(--red);color:#fff}
.comment-form{display:grid;gap:8px;margin-top:10px}
.comment-form textarea{width:100%;border:1px solid var(--line);background:#050505;color:#f2e9e6;border-radius:6px;padding:10px;min-height:78px;resize:vertical}
.comment-status{min-height:18px;color:#92827c;font-size:.76rem}
.comment-status[data-tone="good"]{color:var(--green)}
.comment-status[data-tone="bad"]{color:#ffb8b0}
.comment-rules{font-size:.72rem;color:#6b5c57;border-left:2px solid #2e1a17;padding-left:8px;margin:0;line-height:1.5}
.submit-guide{border:1px solid var(--line);background:#0d0908;border-radius:8px;padding:10px;margin-bottom:12px}
.submit-guide summary{cursor:pointer;font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.2px;color:#fff}
.submit-guide ol{margin:10px 0 0 20px;color:#cbbdb8;font-size:.82rem}
.submit-guide li+li{margin-top:6px}
.nomination-map-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 12px}
.nomination-marker-note{color:var(--blue);font-size:.78rem;margin-top:8px}
.nomination-map-pick .secondary-btn[aria-pressed="true"]{border-color:var(--blue);color:#d8ecff;background:#071320}
.preview-modal{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:1100;display:grid;place-items:center;padding:18px}
.preview-modal[hidden]{display:none}
.preview-modal-card{width:min(1480px,calc(100vw - 28px));border:1px solid var(--line2);background:#090706;border-radius:8px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.65)}
.preview-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}
.preview-modal-head b{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:#fff}
.preview-modal-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.preview-switch[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#160000}
.preview-modal iframe{border:0;width:100%;height:min(78vh,860px);display:block;background:#111}
.lb-browse-card{width:min(1100px,calc(100vw - 28px));max-height:calc(100vh - 28px);background:#090706;border:1px solid var(--line2);border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.65);display:flex;flex-direction:column;overflow:hidden}
.lb-browse-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);flex-shrink:0}
.lb-browse-ctx{display:flex;align-items:baseline;gap:10px}
.lb-browse-ctx b{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:#fff;font-size:1rem}
.lb-browse-counter{color:var(--muted);font-size:.78rem;font-weight:700;background:#0f0c0b;border:1px solid var(--line);border-radius:999px;padding:3px 8px}
.lb-browse-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lb-browse-body{overflow:auto;flex:1;padding:14px}
.chart-row-active{background:rgba(255,176,32,.07);border-radius:4px;outline:1px solid rgba(255,176,32,.28);outline-offset:-1px}
.submit-modal{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:1000;display:grid;place-items:center;padding:18px}
.submit-modal[hidden]{display:none}
.submit-modal-card{width:min(920px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;border:1px solid var(--line2);background:#090706;border-radius:8px;box-shadow:0 24px 80px rgba(0,0,0,.65)}
.submit-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--line)}
.submit-modal-head b{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:#fff;font-size:1.15rem}
.submit-modal-head p{color:#a99993;font-size:.82rem;margin-top:3px}
.submit-modal-body{padding:14px}
.hidden{display:none!important}
footer{border-top:1px solid #1a1a1a;color:#666;text-align:center;padding:18px 12px;font-size:.64rem;margin-top:18px}
@media(max-width:1020px){.hero-inner,.app-grid,.how-grid{grid-template-columns:1fr}.tool-grid{grid-template-columns:1fr}.tool-grid > *,.tool-grid > *:nth-child(4),.tool-grid > *:nth-child(5){grid-column:span 1}.map-canvas{min-height:460px}}
@media(max-width:700px){
  body{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .topnav-links,.nav-actions{display:none}
  .mobile-menu-toggle{display:inline-flex}
  .mobile-menu:not([hidden]){display:block}
  .wrap{width:100%;padding:0 9px 18px}
  .hero{display:none}
  .status-line{margin:10px 0;padding:0 4px;font-size:.74rem}
  .submit-cta,.featured-decline,#declineHowItWorks{display:none}
  .mobile-app-shell{display:block}
  .mobile-app-tabs{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:930;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border:1px solid #421513;background:rgba(7,2,2,.94);border-radius:16px;padding:7px;box-shadow:0 -12px 38px rgba(0,0,0,.66);backdrop-filter:blur(10px)}
  body.decline-map-page .cookie-consent-banner{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
  .mobile-app-tabs button{appearance:none;border:1px solid var(--line);background:#100707;color:#bfaeaa;border-radius:12px;min-height:58px;font-family:"Oswald",sans-serif;font-size:.62rem;font-weight:900;letter-spacing:.7px;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative;padding:6px 4px;transition:transform .08s,background .15s,border-color .15s}
  .mobile-app-tabs button[aria-pressed="true"]{border-color:var(--red);background:linear-gradient(180deg,#35100d,#170706);color:#fff;box-shadow:0 0 0 1px rgba(255,42,34,.22) inset}
  .mobile-app-panel{display:block}
  .mobile-app-panel[hidden]{display:none}
  .mobile-app-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:linear-gradient(180deg,#120706,#090504);border-radius:12px;padding:11px 12px;margin-bottom:10px}
  .mobile-app-panel-head b{display:block;font-family:"Oswald",sans-serif;color:#fff;text-transform:uppercase;letter-spacing:1.3px}
  .mobile-app-panel-head span{display:block;color:#a99993;font-size:.74rem;margin-top:2px}
  .mobile-app-panel-head .secondary-btn{white-space:nowrap;padding:9px 10px}
  .app-grid,.tool-grid{display:none}
  .mobile-map-mount .map-shell,.mobile-leaderboard-mount .tool-grid,.mobile-random-mount .detail-shell{display:flex}
  .mobile-map-mount .map-shell,.mobile-random-mount .detail-shell{border-radius:12px}
  .mobile-leaderboard-mount .tool-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:0}
  .mobile-leaderboard-mount .tool-grid > *,.mobile-leaderboard-mount .tool-grid > *:nth-child(4),.mobile-leaderboard-mount .tool-grid > *:nth-child(5){grid-column:span 1}
  .mobile-filter-mount .filter-panel{display:block;margin-bottom:10px;border-radius:12px}
  .filter-row{grid-template-columns:1fr}
  .filter-group{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .filter-group::-webkit-scrollbar{display:none}
  .filter-chip{white-space:nowrap}
  .panel-head{padding:12px;align-items:center}
  .panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .panel-actions .secondary-btn{padding:9px 8px}
  .mobile-random-mount .detail-shell{container-type:normal;display:flex;flex-direction:column;width:100%;max-width:100%;overflow:hidden}
  .mobile-random-mount .detail-shell>.panel-head{display:none}
  .mobile-random-mount .detail-body{width:100%;min-width:0;overflow:hidden}
  .mobile-random-mount .report-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .mobile-random-mount .report-actions .secondary-btn{width:100%;min-width:0;padding:9px 8px}
  .mobile-random-mount .mobile-detail-close{display:none}
  .mobile-detail-random{display:inline-flex}
  .mobile-inline-next-random{display:block;width:100%;margin-top:8px;min-height:46px}
  .detail-shell{display:none}
  .detail-shell.mobile-detail-open{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;max-height:86vh;border-radius:14px 14px 0 0;border-left:0;border-right:0;border-bottom:0;z-index:950;box-shadow:0 -24px 80px rgba(0,0,0,.75);overflow:auto}
  .detail-shell.mobile-detail-open .panel-head{position:sticky;top:0;background:#090706;z-index:2}
  .detail-shell.mobile-detail-open .mobile-detail-random,.detail-shell.mobile-detail-open .mobile-detail-close{display:inline-flex}
  .detail-body{padding:12px}
  .breadcrumb-line{display:none}
  .report-title{font-size:1.35rem;line-height:1.08}
  .meta-row{gap:6px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}
  .chip{white-space:nowrap}
  .score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .viewer-grid{grid-template-columns:1fr;gap:9px}
  .viewer iframe{height:260px}
  .rating-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .rating-row button{min-height:46px}
  .form-row,.account-profile-grid{grid-template-columns:1fr}
  .map-canvas{min-height:calc(100vh - 240px)}
  .pin-legend{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:none}
  .pin-legend::-webkit-scrollbar{display:none}
  .chart-panel{border-radius:12px;padding:12px}
  .chart-row{grid-template-columns:18px minmax(0,145px) 1fr 38px;min-height:42px}
  .comment-list{max-height:210px}
  .submit-modal{padding:0;place-items:stretch}
  .submit-modal-card{width:100vw;max-height:100vh;border-radius:0;border-left:0;border-right:0}
  .submit-modal-head{position:sticky;top:0;background:#090706;z-index:2}
  .mobile-detail-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:940}
  /* Tab icons */
  .tab-icon{width:17px;height:17px;flex-shrink:0;opacity:.7;display:block;transition:opacity .15s}
  .mobile-app-tabs button[aria-pressed="true"] .tab-icon{opacity:1}
  .mobile-app-tabs button[aria-pressed="true"]::before{content:'';position:absolute;top:5px;left:50%;transform:translateX(-50%);width:18px;height:2px;background:var(--red);border-radius:999px}
  .mobile-app-tabs button:active{transform:scale(0.93)}
  /* Panel transition */
  .panel-entering{animation:mobileTabIn .18s ease both}
  @keyframes mobileTabIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
  /* Vote button app feel */
  .rating-row button{min-height:54px;font-size:.82rem;letter-spacing:.3px;transition:transform .07s,background .1s,border-color .1s}
  .rating-row button:active{transform:scale(0.95)}
  .secondary-btn:active,.primary-btn:active{transform:scale(0.96);transition:transform .07s}
  /* Drag handle */
  .detail-shell.mobile-detail-open .mobile-sheet-handle{display:block;width:36px;height:4px;background:#2e1f1d;border-radius:999px;margin:10px auto 0;flex-shrink:0;cursor:grab;touch-action:none}
  /* Pull-to-refresh */
  .ptr-indicator{text-align:center;padding:5px 0 2px;color:#7a6060;font-size:.72rem;letter-spacing:.3px;opacity:0;transition:opacity .25s,color .2s;pointer-events:none;user-select:none}
  .ptr-indicator.ptr-active{opacity:1}
  .ptr-indicator.ptr-releasing{color:var(--red)}
  /* Report counter pill */
  .mobile-report-counter{font-size:.68rem;color:#a89890;background:#100707;border:1px solid var(--line);border-radius:999px;padding:3px 9px;white-space:nowrap;font-weight:700;flex-shrink:0}
  /* Skeleton shimmer */
  .report-skeleton{padding:12px}
  .skeleton-line{background:linear-gradient(90deg,#160c0b 25%,#271410 50%,#160c0b 75%);background-size:200% 100%;animation:skeletonShimmer 1.6s infinite;border-radius:6px}
  @keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
  .skeleton-title{height:20px;width:65%;margin-bottom:10px}
  .skeleton-meta{height:13px;width:42%;margin-bottom:16px}
  .skeleton-viewer{height:220px;width:100%;border-radius:8px;margin-bottom:8px}
  /* Smooth scroll */
  .mobile-app-shell{-webkit-overflow-scrolling:touch}
  /* Fullscreen expand on mobile */
  .preview-modal{padding:0}
  .preview-modal-card{width:100vw;max-height:100vh;border-radius:0;border-left:0;border-right:0;border-top:0}
  .preview-modal iframe{height:calc(100vh - 50px)}
}
@container(max-width:620px){.viewer-grid{grid-template-columns:1fr}.viewer iframe{height:440px}}
.chart-rank{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;font-size:.56rem;font-weight:900;font-style:normal;color:#3d2e2a;border:1px solid #2a1c1a;flex-shrink:0}
.chart-rank-1{color:#ffd700;border-color:#6b4e00;background:#150f00}
.chart-rank-2{color:#b0b0b0;border-color:#3a3a3a;background:#0d0d0d}
.chart-rank-3{color:#c07a32;border-color:#4a2e12;background:#0f0804}
.bar-stacked{height:10px;border-radius:999px;overflow:hidden;display:flex;width:100%;animation:barStackReveal .6s cubic-bezier(.22,1,.36,1) both}
@keyframes barStackReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.bs-none{background:#1e6640}
.bs-mild{background:#c49018}
.bs-clear{background:#d45010}
.bs-severe{background:#cc1810}
.recency-hot{color:#ff7a55}
.recency-warm{color:#ffb020}
.recency-cool{color:#a99993}
.recency-cold{color:#554d48}
@keyframes areaGlow{0%,100%{box-shadow:none}50%{box-shadow:0 0 0 2px rgba(255,42,34,.45)}}
.chart-row-top-area{border-radius:5px;animation:areaGlow 2.8s ease-in-out infinite}
.chart-row-leader{border:1px solid rgba(255,176,32,.22);background:rgba(255,176,32,.04);border-radius:6px;padding:2px 5px;margin-bottom:2px}
.chart-leader-name{display:block;color:#fff;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.chart-leader-sub{display:block;font-size:.6rem;color:#906c20;margin-top:1px;font-weight:400;font-style:normal}
.featured-decline{border:1px solid #4a2a0a;background:linear-gradient(135deg,#180b02 0%,#0e0604 100%);border-radius:8px;padding:16px 18px;margin-bottom:16px;display:flex;flex-direction:column;gap:10px}
.featured-label{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:2px;color:var(--amber);font-size:.78rem;font-weight:700}
.featured-body{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.featured-title{font-family:"Oswald",sans-serif;font-size:1.15rem;color:#fff;letter-spacing:.5px}
.featured-meta{color:var(--muted);font-size:.78rem;margin-top:4px}
.row-new-badge{display:inline-flex;align-items:center;background:rgba(61,217,130,.15);color:#3bd982;border:1px solid rgba(61,217,130,.3);border-radius:999px;font-size:.58rem;font-weight:900;padding:1px 5px;letter-spacing:.6px;text-transform:uppercase;margin-left:5px;vertical-align:middle}
.row-comment-count{color:var(--muted);font-size:.68rem;font-weight:700;margin-left:5px;white-space:nowrap}
.tool-panel summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}
.tool-panel summary::-webkit-details-marker{display:none}
.tool-panel summary h2{margin:0}
.tool-panel summary::after{content:"▼";font-size:.65rem;color:var(--muted);transition:transform .2s;margin-left:auto}
details.tool-panel[open] summary::after{transform:rotate(180deg)}
details.tool-panel .how-grid{margin-top:14px}
