:root{--bg: #09090c;--surface: #101015;--surface-2: #16161d;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #f4f4f6;--text-dim: #a0a0ad;--text-faint: #6b6b78;--accent: #ff5e2b;--accent-soft: rgba(255, 94, 43, .12);--radius: 14px;--gutter: clamp(24px, 4vw, 64px);--max-w: 1720px;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root,.app{height:100vh;height:100dvh}.app{display:flex;flex-direction:column}a{color:inherit;text-decoration:none}.navbar{position:sticky;top:0;z-index:50;background:#09090ccc;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.navbar-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em}.brand-mark{object-fit:contain;flex-shrink:0}.brand-name{font-size:18px}.nav-tabs{display:flex;align-items:center;gap:4px}.nav-tab{padding:8px 14px;border-radius:10px;font-size:14px;font-weight:500;color:var(--text-dim);transition:color .15s ease,background .15s ease}.nav-tab:hover,.nav-tab--active{color:var(--text);background:var(--surface-2)}.page{flex:1;width:100%;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.section{width:100%;max-width:var(--max-w);margin:0 auto;padding:64px var(--gutter) 96px}.section--map{flex:1;display:flex;flex-direction:column;padding-top:16px;padding-bottom:16px}.section--map .back-link{margin-bottom:10px}.section--map .map-hero{padding:18px 26px}.section--map .map-hero .eyebrow{margin-bottom:6px}.section--map .map-hero h1{font-size:clamp(26px,3vw,38px)}.section--map .map-hero .lede{margin-top:6px;font-size:15px}.section--map .map-footer-nav{margin-top:14px}.section-head{max-width:640px;margin-bottom:48px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}h1{font-size:clamp(34px,5vw,52px);font-weight:800;letter-spacing:-.035em;line-height:1.05}.lede{margin-top:14px;font-size:17px;color:var(--text-dim)}h2{font-size:22px;font-weight:700;letter-spacing:-.02em}.map-thumb{position:relative;aspect-ratio:16 / 9;width:calc(100% + 36px);margin:-16px -18px 12px;overflow:hidden;background:var(--surface-2)}.map-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s ease,transform .25s ease}.map-card:hover .map-thumb img{transform:scale(1.04)}.map-thumb-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:linear-gradient(110deg,#101015 8%,#1a1a22 18%,#101015 33%);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{to{background-position-x:-200%}}.map-thumb-initials{font-size:22px;font-weight:800;letter-spacing:.06em;color:#ffffff38}.map-thumb-label{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.map-thumb--fallback{display:grid;place-items:center;background:radial-gradient(120% 140% at 50% 0%,rgba(255,94,43,.08),transparent 60%),var(--surface-2)}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.map-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;min-height:110px;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease;animation:rise .5s ease backwards;animation-delay:calc(var(--i, 0) * 40ms)}.map-card:hover{transform:translateY(-3px);border-color:var(--border-strong);background:var(--surface-2)}.map-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .18s ease}.map-card:hover:before{opacity:1}.map-card-name{font-size:17px;font-weight:650;letter-spacing:-.015em}.map-card-cta{font-size:12.5px;color:var(--text-faint);transition:color .18s ease}.map-card:hover .map-card-cta{color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.back-link{display:inline-block;margin-bottom:28px;font-size:14px;color:var(--text-faint);transition:color .15s ease}.back-link:hover{color:var(--text)}.map-hero{display:flex;gap:28px;padding:36px;background:radial-gradient(120% 160% at 0% 0%,rgba(255,94,43,.09),transparent 55%),var(--surface);border:1px solid var(--border);border-radius:20px}.map-hero-body{min-width:0}.blueprints{margin-top:14px;display:flex;flex-direction:column;flex:1;min-height:0}.blueprint-controls{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}.blueprint-tabs{display:flex;flex-wrap:wrap;gap:8px}.blueprint-tools{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.blueprint-tool{padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.blueprint-tool:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.blueprint-tool--active,.blueprint-tool--active:hover{color:#ff5e2b;border-color:#ff5e2b8c;background:#ff5e2b14}.blueprint-tab{padding:7px 15px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font:inherit;font-size:13px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.blueprint-tab:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-2)}.blueprint-tab--active,.blueprint-tab--active:hover{background:linear-gradient(135deg,#ff5e2b,#ff8a3d);border-color:transparent;color:#0a0a0a}.blueprint-stage{margin:12px 0 0;padding:14px;flex:1;min-height:220px;display:grid;place-items:center;background:radial-gradient(120% 140% at 50% 0%,rgba(255,94,43,.05),transparent 60%),var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.blueprint-stage img{width:auto;height:auto;max-width:min(100%,760px);max-height:min(100%,56vh);object-fit:contain;display:block;border-radius:8px;animation:rise .3s ease backwards}.blueprint-stage-tabs,.blueprint-exit{display:none}.blueprint-stage:fullscreen{position:relative;border:none;border-radius:0;padding:12px 12px 68px;background:#0b0b0c}.blueprint-stage:fullscreen img{max-width:100%;max-height:calc(100dvh - 84px)}.blueprint-stage:fullscreen .blueprint-stage-tabs{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:calc(100% - 24px);padding:7px;background:#0b0b0cc7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 28px #0000008c}.blueprint-stage:fullscreen .blueprint-exit{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--border-strong);background:#0b0b0cc7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-dim);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;box-shadow:0 8px 28px #0000008c;transition:color .15s ease,border-color .15s ease,background .15s ease}.blueprint-stage:fullscreen .blueprint-exit:hover{color:var(--text);border-color:var(--accent);background:#ff5e2b1f}.blueprint-empty{margin-top:18px;padding:28px;border:1px dashed var(--border-strong);border-radius:14px;font-size:14.5px;color:var(--text-faint)}.blueprint-empty code{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;color:var(--text-dim)}.map-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.map-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.map-nav-card{padding:18px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s ease,background .15s ease}.map-nav-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.map-nav-card--right{text-align:right}.map-nav-label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.map-nav-name{font-weight:650;letter-spacing:-.01em}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:11px;border:1px solid transparent;font-size:14.5px;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease}.btn--primary{background:linear-gradient(135deg,#ff5e2b,#ff8a3d);color:#0a0a0a}.btn--primary:hover{transform:translateY(-1px)}.btn--ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn--ghost:hover{background:var(--surface-2)}.thanks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.thanks-card{display:block;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:transform .18s ease,border-color .15s ease,background .15s ease}.thanks-card:hover{transform:translateY(-3px);border-color:var(--border-strong);background:var(--surface-2)}.thanks-link{display:inline-block;margin-top:12px;font-size:13.5px;color:var(--text-faint);transition:color .15s ease}.thanks-card:hover .thanks-link{color:var(--accent)}.thanks-role{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.thanks-card h2{margin:10px 0 0}.thanks-footnote{margin-top:32px;font-size:14px;color:var(--text-faint)}.donate-card{max-width:560px;padding:36px;background:radial-gradient(120% 160% at 100% 0%,rgba(255,94,43,.1),transparent 55%),var(--surface);border:1px solid var(--border);border-radius:20px}.donate-card p{margin-top:12px;color:var(--text-dim)}.donate-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.donate-note{margin-top:20px;font-size:13px;color:var(--text-faint)}.footer{border-top:1px solid var(--border);padding:22px var(--gutter);display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--text-faint)}.footer-note:before{content:"·";margin-right:10px}@media (max-width: 900px){.thanks-grid{grid-template-columns:1fr}}@media (max-width: 640px){.navbar-inner{height:auto;padding:12px 20px;flex-direction:column;align-items:flex-start;gap:10px}.map-footer-nav{grid-template-columns:1fr 1fr;gap:10px}.map-nav-card{padding:12px 14px}.section--map .map-hero{padding:12px 18px}.section--map .blueprints{margin-top:8px}.section--map .blueprint-stage{margin-top:8px;min-height:150px}.section--map .map-footer-nav{margin-top:8px}.section--map .map-hero .lede{font-size:14px}.map-hero{flex-direction:column;padding:24px 20px}.map-thumb{width:calc(100% + 32px);margin:-14px -16px 12px}.map-card{padding:14px 16px}}@media (prefers-reduced-motion: reduce){.map-card{animation:none}}
