:root{color:#f7f9ff;font-synthesis:none;background:#02040a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,textarea{font:inherit}button{color:inherit}.sky{isolation:isolate;background:#02040a;width:100%;height:100svh;position:relative;overflow:hidden}.sky:before{content:"";z-index:4;pointer-events:none;background:radial-gradient(#0000 25%,#0000009e 115%);position:absolute;inset:0}.nebula{filter:blur(90px);opacity:.16;pointer-events:none;border-radius:50%;position:absolute}.nebula-a{background:#24457e;width:52vw;height:28vw;top:25%;left:10%;transform:rotate(-18deg)}.nebula-b{opacity:.1;background:#38285d;width:42vw;height:28vw;bottom:2%;right:-6%}.dust{opacity:.16;background-image:radial-gradient(circle,#fff 0 .45px,#0000 .65px);background-size:17px 19px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(110deg,#0000 10%,#000 48%,#0000 84%);mask-image:linear-gradient(110deg,#0000 10%,#000 48%,#0000 84%)}.star-plane{z-index:3;pointer-events:none;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-12px}.star{--hit:48px;width:var(--hit);height:var(--hit);cursor:default;z-index:2;pointer-events:auto;background:0 0;border:0;padding:0;position:absolute;transform:translate(-50%,-50%)}.star-core{width:var(--size);height:var(--size);background:rgba(235, 243, 255, calc(.48 + var(--depth) * .45));box-shadow:0 0 calc(var(--size) * 2.5) rgba(190, 214, 255, calc(var(--depth) * .58));animation:breathe 6s ease-in-out infinite var(--delay);border-radius:50%;transition:width .4s,height .4s,box-shadow .4s,background .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.star.interactive{cursor:pointer}.star.interactive:not(.named):hover .star-core{width:calc(var(--size) * 1.35);height:calc(var(--size) * 1.35);background:#f7fbff;box-shadow:0 0 6px #fff,0 0 20px #92beffb3}.star.named{cursor:pointer}.star.named .star-core{width:calc(var(--size) * 1.45);height:calc(var(--size) * 1.45);background:#f7fbff;box-shadow:0 0 5px #fff,0 0 14px #98c2ffa8,0 0 32px #6c8fd83d}.star.named .star-core:before,.star.selected .star-core:before{content:"";opacity:.6;background:linear-gradient(#0000 47%,#e5f0ffcc 49%,#0000 52%),linear-gradient(90deg,#0000 47%,#e5f0ffcc 49%,#0000 52%);position:absolute;inset:-5px}.star.selected .star-core{background:#fff;box-shadow:0 0 8px #fff,0 0 24px #8bb4ff}.star-tooltip{color:#f0f6ffeb;text-align:left;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;pointer-events:none;background:#060a12d1;border:1px solid #c1d8ff24;border-radius:8px;gap:7px;width:max-content;max-width:260px;padding:11px 13px;transition:opacity .24s,transform .24s;display:grid;position:absolute;top:20px;left:34px;transform:translate(-6px)translateY(-2px);box-shadow:0 14px 36px #00000057}.star-tooltip strong{letter-spacing:.015em;white-space:nowrap;font-size:13px;font-weight:570}.star-tooltip span{color:#d6e1f1a3;white-space:normal;border-top:1px solid #ffffff1a;padding-top:7px;font-size:12px;font-weight:400;line-height:1.45}.star.edge-right .star-tooltip{left:auto;right:34px;transform:translate(6px)translateY(-2px)}.star.edge-bottom .star-tooltip{top:auto;bottom:20px}.star.named:hover .star-tooltip,.star.named:focus-visible .star-tooltip{opacity:1;transform:translate(0)translateY(0)}.star.named:hover .star-core{width:calc(var(--size) * 1.8);height:calc(var(--size) * 1.8);box-shadow:0 0 7px #fff,0 0 23px #9cc7ffd9,0 0 45px #6387d759}.star.catalog-highlighted .star-tooltip{opacity:1;transform:translate(0)translateY(0)}.star.catalog-highlighted .star-core{width:calc(var(--size) * 2.05);height:calc(var(--size) * 2.05);background:#fff;box-shadow:0 0 9px #fff,0 0 28px #9cc7fff2,0 0 58px #6387d780}.constellations{z-index:2;width:calc(100% + 24px);height:calc(100% + 24px);transition:transform 1.2s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-12px;overflow:visible}.constellations polyline{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s,filter .3s}.constellations .line-hit{stroke:#0000;stroke-width:18px;pointer-events:stroke;cursor:default}.constellations .saved-line{stroke:#97b8e86b;stroke-width:1.15px;pointer-events:none;filter:drop-shadow(0 0 3px #71a0e24d)}.constellations .constellation-path:hover .saved-line{stroke:#cbe0ffc7;filter:drop-shadow(0 0 5px #84b1f294)}.constellations .constellation-path.catalog-highlighted .saved-line{stroke:#dae9ffeb;stroke-width:1.65px;filter:drop-shadow(0 0 7px #84b1f2cc)}.constellations .draft-line{stroke:#cde1ffcc;stroke-width:1.25px;stroke-dasharray:5 6;pointer-events:none;filter:drop-shadow(0 0 4px #7badf57a);animation:14s linear infinite trace}.constellation-tooltip{z-index:5;color:#ecf3ffe6;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#060a12b3;border:1px solid #c1d8ff1f;border-radius:8px;gap:6px;width:max-content;max-width:min(360px,100vw - 40px);padding:11px 14px;animation:.2s both fade;display:grid;position:fixed;top:28px;left:50%;transform:translate(-50%)}.constellation-tooltip strong{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:570}.constellation-tooltip span{color:#d6e1f19e;border-top:1px solid #ffffff17;padding-top:6px;font-size:12px;line-height:1.4}.editor-dock{z-index:8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070a11b8;border:1px solid #ffffff24;border-radius:10px;gap:2px;padding:4px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 16px 44px #0000004d}.editor-dock button{color:#f0f4fb94;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 13px;font-size:12px}.editor-dock button:hover,.editor-dock button.active{color:#fff;background:#ffffff17}.editor-dock button.save-path{color:#08101d;background:#edf4ff}.editor-dock .leave{border-left:1px solid #ffffff1a;border-radius:0 6px 6px 0;margin-left:5px}.editor-library{z-index:9;color:#eef3fb;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080c14db;border:1px solid #ffffff21;border-radius:12px;width:min(360px,100vw - 36px);padding:20px;animation:.28s cubic-bezier(.2,.8,.2,1) both library-in;position:fixed;top:18px;bottom:82px;right:18px;overflow-y:auto;box-shadow:0 24px 70px #0000006b}.editor-library>header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.editor-library h2{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:560}.editor-library>header button{color:#ffffff7a;cursor:pointer;background:0 0;border:0;width:30px;height:30px;padding:0;font-size:22px}.editor-library section+section{margin-top:28px}.library-heading{border-bottom:1px solid #ffffff1a;align-items:center;gap:8px;padding-bottom:9px;display:flex}.library-heading h3{color:#ebf1faad;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:11px;font-weight:560}.library-heading span{color:#ebf1fa57;font-size:11px}.library-list{display:grid}.library-row{border-bottom:1px solid #ffffff12;border-radius:7px;align-items:center;min-width:0;margin:0 -8px;padding:0 8px;transition:background .18s,border-color .18s;display:flex}.library-row:hover{background:#89b1eb17;border-color:#aeccf629}.library-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;gap:4px;padding:12px 8px 12px 0;display:grid}.library-main strong{color:#f2f6fde6;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:520;overflow:hidden}.library-main span{color:#d4deee6b;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.library-main:hover strong{color:#fff}.library-delete,.library-actions button{color:#e5ecf76b;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none}.library-delete{width:28px;height:28px;font-size:18px}.library-delete:hover{color:#ffb8b8;background:#ff787814}.library-actions{align-items:center;gap:2px;display:flex}.library-actions button:not(.library-delete){padding:7px 8px;font-size:10px}.library-actions button:hover{color:#fff;background:#ffffff12}.library-empty{color:#dae3f159;margin:0;padding:14px 0 3px;font-size:12px}.save-notice{z-index:10;color:#e5eefbad;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#080c14c2;border:1px solid #ffffff1a;border-radius:6px;padding:7px 10px;font-size:11px;animation:.18s both fade;position:fixed;bottom:78px;left:50%;transform:translate(-50%)}.save-notice.error{color:#ffc1c1;border-color:#ff919133}.dialog-backdrop{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0002078a;place-items:center;padding:20px;animation:.22s both fade;display:grid;position:fixed;inset:0}.dialog{color:#eef3fb;background:#0c1019eb;border:1px solid #ffffff21;border-radius:12px;width:min(390px,100%);padding:24px;animation:.3s cubic-bezier(.2,.8,.2,1) both rise;box-shadow:0 32px 90px #0000007a}.dialog header{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.dialog h1{letter-spacing:-.02em;margin:0;font-size:18px;font-weight:520}.dialog header button{color:#ffffff75;cursor:pointer;background:0 0;border:0;width:28px;height:28px;font-size:22px}.dialog form{gap:16px;display:grid}.dialog label{color:#e6edf894;gap:7px;font-size:12px;display:grid}.dialog input,.dialog textarea{resize:none;color:#f5f8ff;background:#ffffff0e;border:1px solid #ffffff21;border-radius:6px;outline:none;width:100%;padding:11px 12px;transition:border .2s,background .2s}.dialog input:focus,.dialog textarea:focus{background:#ffffff13;border-color:#b6d3ff80}.dialog .primary{color:#07101d;cursor:pointer;background:#eff5ff;border:0;border-radius:7px;justify-self:end;padding:10px 15px;font-size:13px;font-weight:560}.form-error{color:#f6a5a5;min-height:2px;margin-top:-8px;font-size:12px}@keyframes breathe{0%,to{opacity:.68}50%{opacity:1}}@keyframes trace{to{stroke-dashoffset:-110px}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(8px)scale(.985)}}@keyframes library-in{0%{opacity:0;transform:translate(10px)}}@media (width<=640px){.nebula-a{width:90vw;height:70vw}.star{--hit:54px}.star-tooltip{max-width:min(230px,100vw - 56px)}.editor-dock{bottom:16px}.editor-library{width:calc(100vw - 24px);top:12px;bottom:72px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
