*{box-sizing:border-box}html,body,#root{margin:0;padding:0;font-family:system-ui,sans-serif}body{background:#0a1929;color:#e4e4e4}body.no-document-scroll{overflow:hidden;overscroll-behavior:none}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:100vw}.app-body{flex:1 1 auto;position:relative;min-height:0}.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:#0a1929fa;border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:1100;flex:0 0 auto}.navbar-brand{font-weight:600;letter-spacing:.02em;font-size:.95rem}.navbar-links-desktop{display:flex;gap:.25rem;align-items:center}.nav-link{color:#e4e4e4;text-decoration:none;padding:.4rem .8rem;border-radius:6px;font-size:.9rem}.nav-link:hover{background:#ffffff0f}.nav-link.active{background:#1976d2;color:#fff}.nav-group{position:relative}.nav-group-label{font-size:.75rem;opacity:.6;padding:.4rem .8rem .2rem;text-transform:uppercase;letter-spacing:.05em}.nav-group-children{display:flex;flex-direction:column}.navbar-hamburger{display:none;background:transparent;border:none;cursor:pointer;width:36px;height:36px;padding:8px 6px;flex-direction:column;justify-content:space-between;align-items:stretch}.navbar-hamburger span{display:block;width:100%;height:2px;background:#e4e4e4;border-radius:1px}.navbar-drawer{display:none;position:absolute;top:100%;right:0;left:0;background:#0a1929fa;border-bottom:1px solid rgba(255,255,255,.08);padding:.5rem;flex-direction:column;gap:.2rem}@media(max-width:640px){.navbar-links-desktop{display:none}.navbar-hamburger,.navbar-drawer{display:flex}}.page-map{position:absolute;top:0;right:0;bottom:0;left:0;overscroll-behavior:none}.map{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.status-card{position:absolute;top:1rem;right:1rem;z-index:1000;background:#0a1929eb;color:#fff;border-radius:8px;min-width:240px;max-width:calc(100vw - 2rem);box-shadow:0 4px 20px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.status-card.collapsed{min-width:0}.status-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;background:transparent;color:inherit;border:none;text-align:left;font:inherit;cursor:pointer;padding:.85rem 1.1rem}.status-card-header:hover{background:#ffffff0a}.status-card-header-text{min-width:0}.status-card-chevron{font-size:1.2rem;line-height:1;opacity:.7;flex-shrink:0;width:1ch;text-align:center}.status-card h1{font-size:1rem;margin:0 0 .2rem;opacity:.8;font-weight:500}.status-card .timestamp{font-size:.85rem;opacity:.7}.status-card .stale-inline{color:#ffb74d}.status-card-body{padding:.85rem 1.1rem 1rem;border-top:1px solid rgba(255,255,255,.07)}.status-card .coords{font-family:ui-monospace,monospace;font-size:1.05rem;margin-bottom:.6rem}.status-card .distances{display:grid;gap:.35rem;font-size:.95rem}.status-card .distances .row{display:flex;justify-content:space-between;gap:1rem}.status-card .distances .row span:last-child{font-variant-numeric:tabular-nums;font-weight:600}.layer-toggle-button{position:absolute;bottom:1rem;right:1rem;z-index:1000;width:36px;height:36px;border-radius:50%;border:none;background:#0a1929eb;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.layer-toggle-button:hover{background:#1976d2}.layer-toggle{position:absolute;bottom:3.75rem;right:1rem;z-index:1000;background:#0a1929eb;border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;max-width:220px;box-shadow:0 4px 20px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.layer-group-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;opacity:.5;margin-bottom:.2rem}.layer-group-buttons{display:flex;flex-wrap:wrap;gap:.2rem}.layer-toggle button{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.15);padding:.3rem .55rem;border-radius:4px;cursor:pointer;font-size:.75rem;white-space:nowrap}.layer-toggle button:hover{border-color:#fff6}.layer-toggle button.active{background:#1976d2;border-color:#1976d2}.debug-toggle{position:fixed;bottom:1rem;left:1rem;z-index:1000;width:32px;height:32px;border-radius:50%;border:none;background:#0a1929eb;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.debug-toggle:hover{background:#1976d2}.debug-panel{position:fixed;bottom:3.5rem;left:1rem;z-index:1000;background:#0a1929eb;color:#fff;padding:.75rem 1rem;border-radius:8px;font-family:ui-monospace,monospace;font-size:.8rem;min-width:220px;box-shadow:0 4px 20px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.debug-row{display:flex;justify-content:space-between;gap:1rem;padding:.15rem 0}.debug-row span:first-child{opacity:.6}.debug-row span:last-child{font-weight:600}.debug-select{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:.1rem .3rem;font:inherit;font-weight:600;cursor:pointer}.page-content{padding:1.5rem 1rem}.page-content-inner{max-width:780px;margin:0 auto}.page-content h1{font-size:1.6rem;margin:0 0 .25rem;font-weight:600}.page-subtitle{margin:0 0 1.5rem;opacity:.7;font-size:.95rem}.empty-state{padding:2rem;border:1px dashed rgba(255,255,255,.15);border-radius:8px;color:#ffffffb3;text-align:center}.empty-state code{display:inline-block;margin-left:.3rem;padding:.1rem .4rem;background:#ffffff14;border-radius:4px;font-size:.85rem}.reports{display:flex;flex-direction:column;gap:1.5rem}.report{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.25rem 1.5rem}.report-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.report-header h2{margin:0;font-size:1.15rem;font-weight:600}.report-date-iso{font-family:ui-monospace,monospace;font-size:.85rem;opacity:.5}.report-body{font-size:.95rem;line-height:1.55}.report-body h1,.report-body h2,.report-body h3{margin:1.2rem 0 .5rem;font-weight:600}.report-body h1{font-size:1.2rem}.report-body h2{font-size:1.05rem}.report-body h3{font-size:.95rem;opacity:.85}.report-body p{margin:.6rem 0}.report-body ul,.report-body ol{margin:.6rem 0;padding-left:1.5rem}.report-body li{margin:.2rem 0}.report-body code{background:#ffffff14;padding:.1rem .35rem;border-radius:4px;font-size:.85em}.report-body pre{background:#0006;padding:.75rem 1rem;border-radius:6px;overflow-x:auto}.report-body pre code{background:transparent;padding:0}.report-body table{border-collapse:collapse;width:100%;margin:.8rem 0;font-size:.9rem}.report-body th,.report-body td{border:1px solid rgba(255,255,255,.1);padding:.4rem .6rem;text-align:left}.report-body th{background:#ffffff0a;font-weight:600}.report-body a{color:#64b5f6}.report-body blockquote{border-left:3px solid #1976d2;margin:.8rem 0;padding:.3rem 0 .3rem 1rem;opacity:.9}.menu-category{margin-bottom:1.75rem}.menu-category h2{font-size:1.1rem;font-weight:600;margin:0 0 .5rem;opacity:.85;letter-spacing:.02em}.menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.menu-list a{display:block;padding:.7rem 1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:inherit;text-decoration:none;font-weight:500}.menu-list a:hover{background:#ffffff14}.menu-empty{padding:.6rem 1rem;border:1px dashed rgba(255,255,255,.12);border-radius:8px;color:#ffffff80;font-size:.9rem}.back-link{display:inline-block;margin-bottom:.5rem;color:#ffffffb3;text-decoration:none;font-size:.9rem}.back-link:hover{color:#fff}.recipe-body{margin-top:1rem;font-size:1rem;line-height:1.6}.recipe-body h2{font-size:1.1rem;margin:1.25rem 0 .5rem}.recipe-body ul,.recipe-body ol{padding-left:1.5rem}.recipe-body code{background:#ffffff14;padding:.05rem .3rem;border-radius:4px;font-size:.9em}.metric-section{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.5rem}.metric-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0 0 .15rem}.metric-header h2{margin:0;font-size:1.15rem;font-weight:600}.metric-updated{font-size:.8rem;opacity:.55}.metric-caption{margin:0 0 1rem;opacity:.65;font-size:.85rem}.window-tabs{display:flex;gap:.25rem;margin:0 0 1.25rem;padding:.2rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;width:fit-content}.window-tabs button{background:transparent;color:#ffffffb3;border:none;padding:.35rem .9rem;font:inherit;font-size:.85rem;border-radius:6px;cursor:pointer;transition:background .1s}.window-tabs button:hover{background:#ffffff0f}.window-tabs button.active{background:#ffffff1f;color:#fff}.chart{display:block;width:100%;height:auto;font-family:ui-monospace,monospace}.chart-grid{stroke:#ffffff14;stroke-width:1}.chart-tick{fill:#ffffff8c;font-size:11px}.chart-label{fill:#ffffffbf;font-size:11px;font-weight:600}.chart-empty{padding:2rem;text-align:center;color:#ffffff80;font-size:.9rem;border:1px dashed rgba(255,255,255,.1);border-radius:8px}
