:root{--ls-sky-top: #142a47;--ls-sky-bottom: #2a5a82;--ls-nebula-warm: #7a5a4a;--ls-nebula-magenta: #6a3a5a;--ls-star-base: #eef4fb;--ls-star-warm: #ffd9a8;--ls-line-idle: rgba(190, 210, 230, .3);--ls-line-active: rgba(225, 238, 255, .95);--ls-title: #e6eef7;--ls-title-muted: rgba(230, 238, 247, .3);--ls-body: #cdd9e8;--ls-body-muted: rgba(205, 217, 232, .6);--ls-glass-fill: rgba(20, 38, 66, .55);--ls-glass-stroke: rgba(160, 190, 225, .18);--ls-accent: #7fb4ff;--ls-accent-strong: #a9d0ff;--ls-danger: #ff8d8d;--ls-success: #8fe6b3;--ls-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ls-title-tracking: .3em;--ls-radius-sm: 8px;--ls-radius-md: 14px;--ls-radius-lg: 22px;--ls-radius-pill: 999px;--ls-space-xs: 4px;--ls-space-sm: 8px;--ls-space-md: 16px;--ls-space-lg: 24px;--ls-space-xl: 40px;--ls-glass-blur: 16px;--ls-glow-sm: 0 0 8px rgba(149, 196, 255, .55);--ls-glow-lg: 0 0 24px rgba(149, 196, 255, .45)}.ls-glass{background:var(--ls-glass-fill);border:1px solid var(--ls-glass-stroke);backdrop-filter:blur(var(--ls-glass-blur));-webkit-backdrop-filter:blur(var(--ls-glass-blur));border-radius:var(--ls-radius-lg)}.ls-title{color:var(--ls-title);text-transform:uppercase;letter-spacing:var(--ls-title-tracking);font-weight:600}.ls-btn{font-family:var(--ls-font);font-size:15px;border:1px solid var(--ls-glass-stroke);background:linear-gradient(180deg,#7fb4ff38,#7fb4ff14);color:var(--ls-accent-strong);border-radius:var(--ls-radius-pill);padding:12px 22px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:filter .15s ease,transform .1s ease}.ls-btn:hover{filter:brightness(1.15)}.ls-btn:active{transform:translateY(1px)}.ls-btn-block{display:flex;width:100%;margin-top:var(--ls-space-md)}:root{--ls-top-inset: env(safe-area-inset-top, 0px);--ls-bottom-inset: env(safe-area-inset-bottom, 0px);--ls-left-inset: env(safe-area-inset-left, 0px);--ls-right-inset: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;background:var(--ls-sky-top);font-family:var(--ls-font);color:var(--ls-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.scene-root{position:fixed;inset:0;touch-action:none}canvas{touch-action:none}.bottom-bar{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--ls-bottom-inset) + 18px);display:flex;align-items:center;gap:12px;z-index:20}.bottom-bar .ls-btn{font-size:15px;font-weight:600;white-space:nowrap}.bottom-bar .icon-btn{flex:0 0 auto}.constellation-name{color:var(--ls-title);text-transform:uppercase;letter-spacing:.32em;font-weight:600;font-size:17px;white-space:nowrap;text-shadow:0 0 12px rgba(149,196,255,.7),0 1px 2px rgba(10,22,40,.9);pointer-events:none;user-select:none;padding-left:.32em}.constellation-line-svg{position:fixed;inset:0;pointer-events:none;overflow:visible}.constellation-line-halo,.constellation-line-core,.constellation-line-pulse{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.constellation-line-halo{stroke:#8ec4ff73;stroke-width:calc(var(--ls-line-width) * 3.2);stroke-dasharray:var(--ls-path-length);stroke-dashoffset:var(--ls-path-length);filter:url(#ls-line-glow);opacity:calc(var(--ls-line-alpha) * .55);animation:ls-line-draw 1.05s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--ls-line-delay)}.constellation-line-core{stroke:#e6f4fff2;stroke-width:var(--ls-line-width);stroke-dasharray:var(--ls-path-length);stroke-dashoffset:var(--ls-path-length);opacity:var(--ls-line-alpha);animation:ls-line-draw 1.05s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--ls-line-delay)}.constellation-line-pulse{stroke:#fff;stroke-width:calc(var(--ls-line-width) * 2.15);stroke-dasharray:18px var(--ls-path-length);stroke-dashoffset:var(--ls-path-length);filter:url(#ls-line-glow);opacity:0;animation:ls-line-pulse 1.05s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--ls-line-delay)}@keyframes ls-line-draw{to{stroke-dashoffset:0}}@keyframes ls-line-pulse{0%{opacity:0;stroke-dashoffset:var(--ls-path-length)}18%{opacity:calc(var(--ls-line-alpha) * 1)}78%{opacity:calc(var(--ls-line-alpha) * .85)}to{opacity:0;stroke-dashoffset:calc(var(--ls-path-length) * -1)}}.icon-btn{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--ls-radius-pill);background:var(--ls-glass-fill);border:1px solid var(--ls-glass-stroke);backdrop-filter:blur(var(--ls-glass-blur));color:var(--ls-body);cursor:pointer}.sheet-backdrop{position:fixed;inset:0;background:#08101e8c;display:flex;align-items:flex-end;justify-content:center;z-index:30;animation:fade .2s ease}.sheet{width:min(560px,100%);max-height:88vh;overflow-y:auto;padding:var(--ls-space-lg);padding-bottom:max(var(--ls-space-lg),env(safe-area-inset-bottom));background:var(--ls-glass-fill);border:1px solid var(--ls-glass-stroke);backdrop-filter:blur(calc(var(--ls-glass-blur) * 1.4));border-radius:var(--ls-radius-lg) var(--ls-radius-lg) 0 0;animation:slideup .25s var(--ls-glow-sm)}@media (min-width: 720px){.sheet-backdrop{align-items:center}.sheet{border-radius:var(--ls-radius-lg)}}@keyframes fade{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(24px);opacity:0}}.modal-title{color:var(--ls-title);text-transform:uppercase;letter-spacing:var(--ls-title-tracking);font-weight:600;font-size:18px;margin:0 0 6px}.modal-meta{color:var(--ls-body-muted);font-size:13px;margin-bottom:var(--ls-space-md)}.modal-message{font-size:15px;line-height:1.5;color:var(--ls-body);margin:var(--ls-space-sm) 0;white-space:pre-wrap;overflow-wrap:anywhere}label.field{display:block;margin:var(--ls-space-md) 0 4px;font-size:12px;color:var(--ls-body-muted);text-transform:uppercase;letter-spacing:.08em}input.text,textarea.text{width:100%;background:#0a162899;border:1px solid var(--ls-glass-stroke);border-radius:var(--ls-radius-md);color:var(--ls-title);padding:12px 14px;font-family:var(--ls-font);font-size:15px}textarea.text{min-height:80px;resize:vertical}.row{display:flex;align-items:center;gap:var(--ls-space-sm)}.spread{justify-content:space-between}.muted{color:var(--ls-body-muted);font-size:13px}.pill{padding:6px 12px;border-radius:var(--ls-radius-pill);border:1px solid var(--ls-glass-stroke);background:#0a162880;color:var(--ls-body);cursor:pointer;font-size:13px}.pill.active{background:#7fb4ff38;color:var(--ls-accent-strong);border-color:#7fb4ff66}.swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer}.swatch.active{border-color:var(--ls-accent-strong)}.editor-canvas-wrap{position:relative}.editor-canvas{width:100%;aspect-ratio:1 / 1;max-height:52vh;border-radius:var(--ls-radius-md);background:radial-gradient(120% 120% at 50% 0%,#1b365a,#0f2138 70%);border:1px solid var(--ls-glass-stroke);overflow:hidden;touch-action:none}.editor-center-btn{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(169,208,255,.38);background:#07101f9e;color:var(--ls-accent-strong);box-shadow:0 8px 22px #00000047;cursor:pointer;backdrop-filter:blur(10px)}.editor-center-btn:disabled{opacity:.35;cursor:default}.cost-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 4px;padding:10px 14px;background:#0a162880;border:1px solid var(--ls-glass-stroke);border-radius:var(--ls-radius-md);font-size:15px;color:var(--ls-title)}.cost-bar b{color:var(--ls-accent-strong)}.text.error,.editor-canvas.error{border-color:var(--ls-danger)!important;box-shadow:0 0 0 1px var(--ls-danger)}.req{color:var(--ls-danger)}.help-pill{width:30px;text-align:center;font-style:italic;font-weight:600}.editor-toolbar{display:flex;gap:8px;align-items:center;margin-top:12px}.editor-toolbar .pill{display:inline-flex;align-items:center;gap:6px}.reset-pill{margin-left:auto;color:var(--ls-body-muted)}.mode-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:8px 8px 8px 14px;border-radius:var(--ls-radius-pill);background:#7fb4ff29;border:1px solid rgba(127,180,255,.4);color:var(--ls-accent-strong);font-size:13px}.mode-x{width:26px;height:26px;border-radius:50%;border:1px solid var(--ls-glass-stroke);background:#0a162880;color:var(--ls-body);cursor:pointer;font-size:16px;line-height:1}.connect-icon{vertical-align:-3px;color:currentColor}.cn-spark{transform-box:fill-box;transform-origin:center;animation:cn-twinkle 1.5s ease-in-out infinite}.cn-spark-b{animation-delay:.75s}@keyframes cn-twinkle{0%,to{opacity:.45}50%{opacity:1}}.star-panel{margin-top:10px;padding:12px;border-radius:var(--ls-radius-md);background:var(--ls-glass-fill);border:1px solid var(--ls-glass-stroke)}.star-panel-row{display:flex;align-items:stretch;gap:10px;justify-content:space-between;flex-wrap:wrap}.size-group{display:inline-flex;border:1px solid var(--ls-glass-stroke);border-radius:var(--ls-radius-md);overflow:hidden;background:#0a16288c}.size-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border:none;background:transparent;color:var(--ls-body-muted);cursor:pointer;border-right:1px solid var(--ls-glass-stroke);transition:background .15s ease,color .15s ease}.size-btn:last-child{border-right:none}.size-glyph{color:var(--ls-body-muted);filter:none;transition:filter .15s ease,color .15s ease}.size-btn.active{background:#7fb4ff38;color:var(--ls-accent-strong)}.size-btn.active .size-glyph{color:var(--ls-star-base);filter:drop-shadow(0 0 5px rgba(149,196,255,.85))}.size-label{font-size:12px;font-weight:600;letter-spacing:.02em}.delete-pill{color:var(--ls-danger);border-color:#ff8d8d66;white-space:nowrap;align-self:center}.star-panel-sub{margin:12px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ls-body-muted)}.onboarding-overlay{position:fixed;inset:0;z-index:60;background:#08101eb8;display:flex;align-items:center;justify-content:center;padding:var(--ls-space-lg);animation:fade .2s ease}.onboarding-card{width:min(420px,100%);padding:var(--ls-space-lg);background:var(--ls-glass-fill);border:1px solid var(--ls-glass-stroke);border-radius:var(--ls-radius-lg);-webkit-backdrop-filter:blur(calc(var(--ls-glass-blur) * 1.4));backdrop-filter:blur(calc(var(--ls-glass-blur) * 1.4))}.onboarding-steps{margin:var(--ls-space-md) 0;padding-left:22px;color:var(--ls-body)}.onboarding-steps li{margin:10px 0;line-height:1.45;font-size:14px}.toast{position:fixed;top:max(72px,calc(env(safe-area-inset-top) + 60px));left:50%;transform:translate(-50%);width:max-content;max-width:min(360px,calc(100vw - 40px));display:flex;align-items:flex-start;gap:10px;background:#142642eb;border:1px solid var(--ls-glass-stroke);border-left:3px solid var(--ls-accent);border-radius:var(--ls-radius-md);padding:12px 16px;color:var(--ls-title);font-size:14px;line-height:1.4;text-align:left;z-index:70;box-shadow:0 10px 30px #00000059;-webkit-backdrop-filter:blur(var(--ls-glass-blur));backdrop-filter:blur(var(--ls-glass-blur));animation:toast-in .25s cubic-bezier(.22,1,.36,1)}.toast:before{content:"✦";color:var(--ls-accent-strong);font-size:15px;line-height:1.4}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}.center-hint{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--ls-body-muted);pointer-events:none;max-width:280px}.brand{position:fixed;top:max(16px,env(safe-area-inset-top));left:16px;z-index:15;color:var(--ls-title);letter-spacing:.18em;text-transform:uppercase;font-weight:600;font-size:14px;opacity:.85}.logo{position:fixed;top:calc(var(--ls-top-inset) + 14px);left:50%;transform:translate(-50%);z-index:15;display:flex;align-items:center;gap:9px;pointer-events:none;user-select:none}.logo-spark{filter:drop-shadow(0 0 6px rgba(149,196,255,.75))}.logo-word{color:var(--ls-title);font-weight:600;font-size:15px;letter-spacing:.34em;padding-left:.34em;text-shadow:0 0 12px rgba(149,196,255,.35)}.menu-btn{position:fixed;top:calc(var(--ls-top-inset) + 12px);left:calc(var(--ls-left-inset) + 16px);z-index:16}.shuffle-btn{position:fixed;top:calc(var(--ls-top-inset) + 12px);right:calc(var(--ls-right-inset) + 16px);z-index:16}.shuffle-btn svg{transition:transform .45s cubic-bezier(.22,1,.36,1)}.shuffle-btn:active svg{transform:rotate(180deg)}.list-card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:var(--ls-radius-md);background:#0a162880;border:1px solid var(--ls-glass-stroke);margin-bottom:8px}.list-card img{width:72px;height:40px;object-fit:cover;border-radius:6px}.list-card-clickable{cursor:pointer;transition:background .15s ease}.list-card-clickable:hover{background:#7fb4ff1f}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:var(--ls-space-md) 0}.stat-card{background:#0a162880;border:1px solid var(--ls-glass-stroke);border-radius:var(--ls-radius-md);padding:12px 10px;text-align:center}.stat-value{font-size:22px;font-weight:700;color:var(--ls-title);line-height:1.1}.stat-value.accent{color:var(--ls-accent-strong)}.stat-label{margin-top:4px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ls-body-muted)}.referral-card{margin:var(--ls-space-md) 0 var(--ls-space-lg);padding:var(--ls-space-md);border-radius:var(--ls-radius-lg);background:linear-gradient(160deg,#7fb4ff29,#7fb4ff0d);border:1px solid rgba(127,180,255,.38);box-shadow:0 0 24px #7fb4ff24}.referral-head{color:var(--ls-accent-strong);font-weight:600;font-size:16px;letter-spacing:.02em}.referral-desc{color:var(--ls-body);font-size:13px;line-height:1.45;margin:6px 0 12px}.referral-link-row{display:flex;gap:8px;align-items:center}.referral-link-row .text{flex:1;min-width:0;font-size:12px;padding:10px 12px}.copy-pill{flex:0 0 auto;white-space:nowrap}.referral-card .ls-btn-block{margin-top:12px}.constellation-card{align-items:stretch}.constellation-card .cc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.cc-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cc-title-row b{word-break:break-word}.cc-actions{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.cc-actions .pill{font-size:12px;padding:6px 10px}.info-preview{width:100%;border-radius:var(--ls-radius-md);display:block;margin-bottom:12px;border:1px solid var(--ls-glass-stroke)}.info-link{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;border-radius:var(--ls-radius-md);background:#0a16288c;border:1px solid var(--ls-glass-stroke);text-decoration:none;color:var(--ls-accent-strong)}.info-link-url{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ls-body);font-size:13px}.info-link-go{flex:0 0 auto;color:var(--ls-accent-strong);font-weight:600}.star-panel-actions{display:flex;gap:8px;align-items:center}.save-pill{color:var(--ls-accent-strong);border-color:#7fb4ff66;background:#7fb4ff29}.badge{font-size:11px;padding:3px 8px;border-radius:var(--ls-radius-pill)}.badge.live{background:#8fe6b32e;color:var(--ls-success)}.badge.pending{background:#7fb4ff2e;color:var(--ls-accent)}.badge.blocked{background:#ff8d8d2e;color:var(--ls-danger)}.qr-box{display:grid;place-items:center;padding:var(--ls-space-md);background:#fff;border-radius:var(--ls-radius-md);width:max-content;margin:var(--ls-space-md) auto}
