:root{--space: #05060f;--panel: #f4f5ff;--indigo: #4a4fd6;--ink: #1b1e6b;--sun: #ffd23f;--text: #e9ecff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--space);color:var(--text)}.layout{display:flex;min-height:100%}.sidebar{width:220px;padding:20px 16px;background:var(--panel);border-right:3px solid var(--indigo);display:flex;flex-direction:column;gap:20px;color:var(--ink)}.project-name{display:flex;align-items:center;justify-content:center;gap:10px;margin:0;padding:14px;font-size:22px}.sidebar nav{display:flex;flex-direction:column;gap:8px}.sidebar nav a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border-radius:12px;color:var(--indigo);text-decoration:none;font-size:16px}.sidebar nav a:hover,.sidebar nav a:focus-visible{background:#e3e5ff;outline:none}.team{margin-top:auto;padding:12px;border:2px solid var(--indigo);border-radius:12px;font-size:13px;line-height:1.5;text-align:center}.team-event{margin:0 0 6px;color:var(--indigo)}.team h2{margin:0 0 6px;font-size:15px}.team ul{display:grid;gap:3px;margin:0;padding:0;list-style:none}.stage{position:relative;flex:1;min-height:100vh;overflow:hidden}.scene-panel{position:relative;padding-top:clamp(460px,62vh,650px)}.scene{position:absolute;top:0;right:0;bottom:0;left:0}.space-sky{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 43% 58% at center,rgba(47,96,203,.32) 0%,rgba(32,66,156,.21) 36%,rgba(20,43,108,.09) 67%,transparent 100%)}.shooting-stars{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.shooting-stars span{position:absolute;top:14%;left:24%;width:clamp(40px,9vw,105px);height:2px;border-radius:50%;background:linear-gradient(90deg,transparent,#6aa5ff 72%,#ecf7ff);box-shadow:0 0 8px -1px #7eb1ff;opacity:0;animation:shooting-star 17s 3s linear infinite}.shooting-stars span+span{top:28%;left:54%;animation-delay:11s;animation-duration:29s}@keyframes shooting-star{0%{opacity:0;transform:rotate(28deg) translate(-55px)}1%{opacity:.9}4%,to{opacity:0;transform:rotate(28deg) translate(clamp(100px,26vw,340px))}}@media (prefers-reduced-motion: reduce){.shooting-stars{display:none}}.planet-scene-label{position:absolute;transform:translate(-50%,calc(-100% - 5px));pointer-events:none;white-space:nowrap;color:var(--text);text-shadow:0 1px 3px #05060f;font-size:16px;font-weight:600;line-height:1.25}.dashboard-charts{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 24px 24px}.chart{min-width:0;padding:12px;border:1px solid #3e476e;border-radius:12px;background:#0a0c1ed9}.chart h2{margin:0 0 8px;font-size:15px}.physical-filters summary{cursor:pointer;color:#b5c8ff}.chart svg{display:block;width:100%;max-height:190px}.chart svg text{fill:#b6bfd6;font-size:10px}.chart-missing{color:#b6bfd6;font-size:12px}.chart svg .chart-count{fill:var(--text)}.chart-gridline{stroke:#465074}.chart-bar{fill:#a3a0ff}.chart-line{fill:none;stroke:var(--sun);stroke-width:2;stroke-linejoin:round}.chart-dot{fill:var(--sun)}.chart-missing{margin:6px 0 0}.popup{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,calc(-50% - 20px));width:240px;padding:14px 16px;border:2px solid var(--indigo);border-radius:16px;background:#0a0c1eeb}.popup-head{display:flex;align-items:center;gap:8px}.popup h2{margin:0;font-size:16px}.popup .dot{width:14px;height:14px;border-radius:50%}.popup p{margin:8px 0 12px;font-size:13px;line-height:1.45}.popup button{padding:6px 14px;border:0;border-radius:8px;background:var(--indigo);color:#fff;font:inherit;font-size:13px;cursor:pointer}.popup button:focus-visible{outline:2px solid var(--sun);outline-offset:2px}.error{position:absolute;top:24px;left:50%;transform:translate(-50%);padding:8px 16px;border-radius:8px;background:#5b1a28}.sidebar nav a[aria-current=page]{position:relative;background:#e3e5ff}.sidebar nav a[aria-current=page]:before{content:"";position:absolute;inset-block:25%;inset-inline-start:0;width:3px;border-radius:2px;background:var(--indigo)}.sidebar{flex-shrink:0}.stage{min-width:0}.scene-heading,.scene-status{position:absolute;z-index:1;left:24px;right:24px;pointer-events:none}.scene-heading{top:24px}.scene-heading h2{margin:0}.scene-heading p,.muted{color:#b6bfd6}.ranking-link{display:inline-block;pointer-events:auto;padding:7px 12px;border-radius:8px;background:#a3a0ff;color:#11122e;font-weight:700;text-decoration:none}.ranking-link:focus-visible{outline:2px solid var(--sun);outline-offset:3px}.scene-status{top:125px}.scene-panel .scene-status{top:155px}.planet-picker{position:absolute;z-index:1;bottom:24px;left:24px;right:24px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.planet-picker button,.catalog-search button,.pagination button{padding:8px 12px;border:1px solid #6b7099;border-radius:8px;background:#141932;color:var(--text);font:inherit;cursor:pointer}.planet-picker button[aria-pressed=true]{border-color:var(--sun)}.planet-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}.popup{width:min(420px,calc(100% - 32px));max-height:85%;overflow-y:auto}.rank-details{max-width:360px;white-space:normal;font-size:.9rem;line-height:1.5}.rank-details dl{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.rank-details dd{margin:0;overflow-wrap:anywhere}.rank-details dt{color:#b6bfd6}.rank-details a,.data-page .muted a{color:#b5c8ff}.rank-details summary{cursor:pointer;color:#b5c8ff}.score-explanation{margin-block:12px}.score-factor{display:contents}.data-page{padding:clamp(16px,4vw,48px)}.data-page h2{margin-top:0}.table-scroll{overflow-x:auto;border:1px solid #2b3153;border-radius:12px}.table-scroll table{border-collapse:collapse;width:100%;text-align:left}.table-scroll th,.table-scroll td{padding:11px 14px;border-bottom:1px solid #2b3153;white-space:nowrap;vertical-align:top}.table-scroll th{background:#141932}.sort-header{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.sort-header span{color:#b5c8ff}.sort-header:focus-visible{outline:2px solid var(--sun);outline-offset:4px}.table-scroll tbody tr:last-child td{border-bottom:none}.table-scroll summary,.table-link{color:#b5c8ff;cursor:pointer}.table-link{background:transparent;border:none;padding:0;font:inherit;text-decoration:underline}.table-scroll .rank-details{min-width:230px}.rank-number{display:inline-grid;place-items:center;min-width:28px;min-height:26px;border:1px solid transparent;border-radius:6px;font-variant-numeric:tabular-nums}.rank-first{background:var(--sun);color:var(--space);font-weight:700}.rank-leader{border-color:var(--sun);color:var(--sun);font-weight:600}.catalog-search,.pagination{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.catalog-search label{display:grid;gap:5px}.catalog-search input{max-width:100%;padding:8px 12px;border:1px solid #6b7099;border-radius:8px;background:#141932;color:var(--text);font:inherit}.physical-filters,.filter-error{flex-basis:100%}.physical-filters{padding:12px;border:1px solid #2b3153;border-radius:8px}.physical-filters p{margin:8px 0 0;font-size:13px}.filter-ranges{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:10px;margin:12px 0}.filter-ranges fieldset{min-width:0;margin:0;padding:8px;border:1px solid #2b3153;border-radius:8px}.filter-ranges legend,.range-inputs label{font-size:13px}.range-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.range-inputs input{width:100%;min-width:0}.filter-error{margin:0;color:#ffb1ba}.pagination{align-items:center;margin-top:16px}.pagination button:disabled{opacity:.45;cursor:default}@media (width > 900px){.sidebar{position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}}@media (min-width: 1120px){.scene-panel{min-height:max(660px,100vh);padding-top:0}.dashboard-charts{position:absolute;top:155px;right:24px;bottom:84px;left:24px;padding:0;grid-template-columns:repeat(2,clamp(215px,21%,280px));justify-content:space-between;pointer-events:none}.dashboard-charts .chart{pointer-events:auto}.dashboard-charts .chart:first-child{align-self:start}.dashboard-charts .chart:last-child{align-self:end}}@media (max-width: 1119px){.scene-panel{padding-top:calc(clamp(460px,62vh,650px) - 60px)}.scene{top:85px;bottom:auto;height:clamp(350px,calc(62vh - 100px),550px)}.scene-panel .popup{top:clamp(245px,31vh,325px);max-height:390px}.planet-picker{position:relative;inset:auto;margin:0 16px 16px}}@media (max-width: 900px){.layout{flex-direction:column}.sidebar{width:auto;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:3px solid var(--indigo)}.sidebar nav{flex-direction:row;flex-wrap:wrap}.team{flex:1 0 100%}.team ul{display:flex;flex-wrap:wrap;justify-content:center;gap:3px 16px}.stage.data-page{min-height:70vh}}@media (max-width: 650px){.dashboard-charts{grid-template-columns:1fr;padding:0 16px 16px}.scene-panel{padding-top:420px}.scene{top:115px;height:315px}.planet-picker button{font-size:12px;padding:5px 8px}}.galaxy-page{padding:0}.galaxy{position:relative;height:max(660px,100vh)}.galaxy>.space-sky{background:radial-gradient(ellipse 43% 58% at center,rgba(32,67,154,.15) 0%,rgba(18,39,97,.08) 45%,transparent 100%),#03040b}.galaxy-canvas{position:absolute;top:0;right:0;bottom:0;left:0;animation:galaxy-fade .6s ease-out}.galaxy-map-view canvas{cursor:grab;touch-action:none}.galaxy-map-view canvas.is-panning{cursor:grabbing}@keyframes galaxy-fade{0%{opacity:0}to{opacity:1}}.galaxy-tip{position:absolute;left:0;top:0;z-index:2;padding:6px 10px;border:1px solid #6b7099;border-radius:8px;background:#0a0c1eeb;font-size:13px;white-space:nowrap;pointer-events:none}.galaxy-tip[hidden]{display:none}.galaxy-hint{position:absolute;left:24px;right:24px;bottom:16px;margin:0;text-align:center;font-size:13px;color:#b6bfd6;pointer-events:none}.galaxy-zoom{position:absolute;z-index:2;right:16px;bottom:52px;display:flex;gap:6px}.galaxy-back{position:absolute;z-index:2;left:24px;top:116px}.galaxy-back,.galaxy-zoom button{padding:8px 12px;border:1px solid #6b7099;border-radius:8px;background:#141932;color:var(--text);font:inherit;cursor:pointer}.galaxy-back:focus-visible,.galaxy-zoom button:focus-visible{outline:2px solid var(--sun);outline-offset:2px}.galaxy-zoom button:disabled{opacity:.45;cursor:default}.galaxy-warning{position:absolute;z-index:2;left:24px;right:24px;top:140px;margin:0;padding:8px 12px;border-radius:8px;background:#5b1a28;font-size:13px}.galaxy .popup{left:auto;right:24px;top:96px;transform:none}.galaxy .planet-picker{bottom:24px}.home .planet-picker button{min-height:44px;padding:8px 14px;font-size:16px}.home .dashboard-charts .chart{padding:18px}.home .dashboard-charts .chart h2{font-size:18px}.home .dashboard-charts .chart svg{max-height:230px}.home .dashboard-charts .chart svg text{font-size:11px}@media (max-width: 1119px){.home .dashboard-charts .chart{min-height:130px}.home .dashboard-charts .chart>p{font-size:16px}}@media (max-width: 1119px){.galaxy .planet-picker{position:absolute;margin:0;inset:auto 16px 16px}.galaxy .popup{top:168px;right:16px;left:16px;width:auto;max-height:45%}}@media (max-width: 650px){.home .planet-picker button{padding:5px 10px;font-size:14px}}@media (prefers-reduced-motion: reduce){.galaxy-canvas{animation:none}}
