:root{font-family:Suisse Intl,Avenir Next,Helvetica Neue,sans-serif;color:#f3f6f3;background:radial-gradient(circle at top,rgba(0,192,48,.06),transparent 30rem),linear-gradient(180deg,#101511,#0c100d);--bg: #0d120f;--surface: rgba(24, 31, 27, .96);--surface-2: rgba(18, 24, 20, .98);--surface-3: rgba(14, 18, 15, .96);--ink: #f3f6f3;--muted: #96a59a;--muted-2: #718176;--line: rgba(171, 197, 176, .1);--line-strong: rgba(255, 255, 255, .08);--green: #00c030;--orange: #ff8000;--blue: #40bcf4;--shadow: 0 28px 90px rgba(0, 0, 0, .36)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;height:100vh;background:var(--bg);color:var(--ink);overflow:hidden}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{height:100vh}.app-frame{display:grid;grid-template-rows:auto 1fr;height:100vh;border:1px solid rgba(255,255,255,.06);background:#0b0f0cf0;box-shadow:var(--shadow),inset 0 1px #ffffff08;overflow:hidden}.topbar{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:center;padding:20px 26px;border-bottom:1px solid var(--line);background:#101511db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-copy{display:grid;gap:10px}h1,h2,p{margin:0}.topbar h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:.95;letter-spacing:-.03em;font-weight:620;max-width:none}.topbar-explainer{max-width:none;color:var(--muted);font-size:.98rem;line-height:1.35}.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:100%;min-height:0;overflow:hidden}.canvas-card{min-height:0;display:grid;grid-template-rows:1fr;border-right:1px solid var(--line);background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.02),transparent 20rem),radial-gradient(circle at 22% 76%,rgba(255,255,255,.015),transparent 18rem),linear-gradient(180deg,#101611,#0e130f)}.sidebar{min-height:0;display:grid;grid-template-rows:minmax(0,1fr);gap:16px;padding:22px;border-left:1px solid var(--line);background:var(--surface-3);overflow:hidden}.panel-card{padding:18px;border:1px solid rgba(255,255,255,.06);border-radius:20px;background:linear-gradient(180deg,#181f1bf5,#121814fa)}.search-shell{position:relative}.search-form{display:grid}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px;border:1px solid var(--line-strong);border-radius:18px;background:#ffffff09;box-shadow:inset 0 1px #ffffff08}.search-input{width:100%;border:0;outline:0;padding:10px 12px;background:transparent;color:var(--ink)}.search-input::placeholder{color:#748379}.search-submit{border:0;border-radius:12px;padding:11px 16px;background:var(--green);color:#071008;cursor:pointer;font-weight:700}.search-results{position:absolute;top:calc(100% + 10px);left:0;right:0;z-index:8;border:1px solid var(--line-strong);border-radius:18px;background:#0e130ffa;box-shadow:0 22px 56px #00000057;padding:8px}.search-result{width:100%;border:0;border-radius:14px;background:transparent;display:grid;gap:4px;padding:12px 14px;text-align:left;color:var(--ink);cursor:pointer}.search-result:hover{background:#ffffff0a}.search-result-title{font-weight:600}.search-result small,.search-empty{color:var(--muted)}.search-empty{padding:12px}.map-frame{position:relative;min-height:0;height:100%;overflow:hidden;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.03),transparent 10rem),radial-gradient(circle at 78% 22%,rgba(255,255,255,.018),transparent 16rem),radial-gradient(circle at 20% 80%,rgba(255,255,255,.014),transparent 14rem),linear-gradient(180deg,#0d120f3d,#090d0a2e)}.map-frame:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.04);border-radius:28px;background:linear-gradient(180deg,#ffffff04,#fff0),radial-gradient(circle at 50% 45%,rgba(255,255,255,.015),transparent 45%);pointer-events:none}.map-frame:after{content:"";position:absolute;inset:16px;border-radius:28px;background-image:radial-gradient(circle at 18% 28%,rgba(255,255,255,.08) 0 1px,transparent 1.5px),radial-gradient(circle at 71% 34%,rgba(255,255,255,.06) 0 1px,transparent 1.5px),radial-gradient(circle at 63% 66%,rgba(255,255,255,.05) 0 1px,transparent 1.5px),radial-gradient(circle at 31% 72%,rgba(255,255,255,.04) 0 1px,transparent 1.5px);opacity:.55;pointer-events:none}.map-controls{position:absolute;right:20px;bottom:18px;z-index:4;display:flex;gap:10px}.map-controls button{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#ffffff09;color:var(--ink);cursor:pointer;transition:opacity .14s ease,border-color .14s ease,background .14s ease,transform .14s ease}.map-controls button:hover:not(:disabled){transform:translateY(-1px);border-color:#ffffff1f;background:#ffffff0d}.map-controls button:disabled{opacity:.34;cursor:default}.zoom-icon{width:16px;height:16px;color:#f3f6f3e0}.zoom-icon svg{display:block;width:100%;height:100%}.canvas-placeholder{height:100%;display:grid;place-items:center;text-align:center;color:var(--muted)}.canvas-placeholder span{display:block;margin-bottom:10px;color:var(--ink);font-size:1.3rem}.atlas-stage{position:relative;height:100%;min-height:0;overflow:hidden;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.atlas-pixi-host{position:absolute;inset:0}.atlas-pixi-canvas{display:block;width:100%;height:100%}.map-frame-dragging .atlas-stage{cursor:grabbing}.map-hud{position:absolute;top:28px;left:28px;z-index:3;display:grid;gap:6px;padding:14px 16px;border-radius:18px;background:#0c120eb8;border:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none}.map-hud-label{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;color:var(--muted)}.map-hud strong{font-size:.98rem;font-weight:560}.constellation-mark,.atlas-point{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;color:var(--ink)}.constellation-mark{cursor:pointer;border-radius:999px;filter:saturate(.92)}.constellation-core,.constellation-ring{position:absolute;inset:0;border-radius:999px}.constellation-core{background:radial-gradient(circle at 34% 32%,rgba(255,255,255,.16),transparent 24%),radial-gradient(circle,#223428f2,#111914fa 66%,#080c0af2);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 52px #0000006b,0 0 0 1px #ffffff05 inset}.constellation-ring{inset:-10px;background:radial-gradient(circle,rgba(0,192,48,.12),rgba(0,192,48,.02) 58%,transparent 72%);opacity:.45}.constellation-mark:hover .constellation-ring,.constellation-mark-prominent .constellation-ring{opacity:.75}.constellation-mark-active .constellation-core,.constellation-mark-pending .constellation-core{border-color:#00c0306b;box-shadow:0 0 0 10px #00c03014,0 24px 62px #00000075,0 0 44px #00c0301f}.constellation-label,.constellation-count{position:absolute;left:50%;top:calc(100% + 14px);transform:translate(-50%);white-space:nowrap;pointer-events:none}.constellation-label{display:grid;gap:2px;padding:10px 12px;border-radius:14px;background:#0f1511e6;border:1px solid rgba(255,255,255,.06);box-shadow:0 16px 42px #00000057}.constellation-label strong,.constellation-count{font-size:.94rem;line-height:1.1;font-weight:580;letter-spacing:-.01em}.constellation-label small{color:var(--muted);font-size:.78rem}.constellation-count{padding:6px 9px;border-radius:999px;background:#0e120fc2;color:#f3f6f3e0}.atlas-point{cursor:pointer}.atlas-point-dot{display:block;width:11px;height:11px;border-radius:999px;background:#e9f1ebb8;box-shadow:0 0 0 1px #ffffff0f,0 0 20px #ffffff1a}.atlas-point-neighbor .atlas-point-dot{background:#7ada94f0;box-shadow:0 0 0 1px #7ada9447,0 0 26px #7ada9438}.atlas-point-selected .atlas-point-dot{width:14px;height:14px;background:var(--green);box-shadow:0 0 0 10px #00c0301a,0 0 30px #00c03057}.atlas-point-label{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:grid;gap:2px;min-width:128px;padding:8px 10px;border-radius:13px;background:#0f1411f0;border:1px solid rgba(255,255,255,.06);box-shadow:0 16px 38px #0000004d;text-align:left}.atlas-point-label strong{display:block;font-size:.9rem;line-height:1.06;font-weight:560;letter-spacing:-.01em}.atlas-point-label small{color:var(--muted);font-size:.78rem}.atlas-point-selected .atlas-point-label{min-width:164px;padding:10px 12px;border-color:#00c0303d;box-shadow:0 22px 48px #00000057,0 0 0 1px #00c03014 inset}.map-tip{position:absolute;left:28px;bottom:26px;z-index:2;max-width:320px;padding:0;border-radius:0;background:transparent;border:0;box-shadow:none;pointer-events:none}.map-tip p{color:#f3f6f3c7;font-size:1rem;line-height:1.3;letter-spacing:-.01em}.map-overlay{position:absolute;inset:0;display:grid;place-items:end center;padding:24px;background:linear-gradient(180deg,transparent 0%,rgba(12,16,13,.58) 100%)}.map-overlay>div{border-radius:18px;padding:14px 18px;background:#101612f5;border:1px solid rgba(255,255,255,.06);box-shadow:0 22px 56px #00000057}.map-overlay strong{display:block;margin-bottom:4px}.map-overlay p{color:var(--muted)}.detail-rail{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px}.detail-panel h2{margin-bottom:10px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.detail-selected-card{grid-row:1}.detail-title{font-size:2.5rem;line-height:.92;letter-spacing:-.03em;font-weight:620}.detail-meta{margin-top:12px;color:var(--muted-2);font-size:.95rem;line-height:1.35;max-width:22ch}.detail-subtitle{margin-top:10px;color:var(--muted);font-size:.98rem;line-height:1.3;max-width:22ch}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.detail-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0d,#ffffff06),linear-gradient(135deg,#00c0302e,#40bcf414);color:var(--ink);text-decoration:none;font-size:.92rem;font-weight:620;letter-spacing:-.01em;transition:transform .14s ease,border-color .14s ease,background .14s ease}.detail-link:hover{transform:translateY(-1px);border-color:#00c0303d;background:linear-gradient(180deg,#fff1,#ffffff09),linear-gradient(135deg,#00c03033,#40bcf41a)}.detail-message,.detail-note{margin-top:14px;color:var(--muted);font-size:.92rem}.detail-list-card{grid-row:2;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.detail-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.detail-list-scroll{min-height:0;overflow:auto;padding-right:6px}.detail-list-scroll::-webkit-scrollbar{width:10px}.detail-list-scroll::-webkit-scrollbar-track{background:#ffffff06;border-radius:999px}.detail-list-scroll::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}.detail-list li{padding:0;border-radius:15px;background:#ffffff06;border:1px solid rgba(255,255,255,.04)}.detail-list-button{width:100%;border:0;padding:13px 14px;text-align:left;color:var(--ink);background:transparent;cursor:pointer;transition:background .14s ease}.detail-list-button:hover{background:#ffffff0d;border-radius:15px}.detail-list li strong{display:block;font-size:.98rem;margin-bottom:2px}.detail-list li small,.detail-empty{color:var(--muted)}.detail-empty div{display:grid;gap:5px;align-content:start;min-height:0;max-width:17ch}.detail-empty strong{display:block;font-size:.92rem;line-height:1.12;color:#f3f6f3c7}.detail-empty small{display:block;max-width:17ch;font-size:.84rem;line-height:1.35;color:var(--muted)}.detail-credit{grid-row:3;align-self:end;margin-top:-2px;padding:0 4px 0 2px;color:#96a59adb;font-size:.78rem;line-height:1.45;letter-spacing:.01em}.detail-credit a{color:#f3f6f3c7;text-decoration:none;border-bottom:1px solid rgba(243,246,243,.12);transition:color .14s ease,border-color .14s ease}.detail-credit a:hover{color:var(--ink);border-color:#f3f6f35c}@media(max-width:1200px){body{overflow:auto}.app-frame,.shell{height:auto;min-height:100vh}.topbar,.layout{grid-template-columns:1fr}.layout{height:auto;overflow:visible}.canvas-card{min-height:520px;border-right:0;border-bottom:1px solid var(--line)}.sidebar{grid-template-rows:auto auto;overflow:visible}.detail-rail,.detail-list-card{min-height:auto}.detail-list-scroll{overflow:visible;max-height:none}}@media(max-width:720px){.topbar{padding:18px}.topbar h1{max-width:none}.search-row{grid-template-columns:1fr}.search-submit{width:100%}.sidebar{padding:18px}}
