:root{--bg: #05070d;--panel: rgba(10, 14, 22, .62);--panel-border: rgba(255, 255, 255, .07);--text: #d8dde7;--text-dim: #8d96a8;--accent: #6ea4ff;--accent-soft: rgba(110, 164, 255, .18);--rail: rgba(255, 255, 255, .1)}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;font-size:13px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none}.app{position:relative;width:100%;height:100%}.planet-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;cursor:grab}.planet-canvas:active{cursor:grabbing}.panel{position:fixed;top:68px;right:16px;width:308px;max-height:calc(100vh - 84px);overflow-y:auto;padding:18px 18px 14px;background:var(--panel);border:1px solid var(--panel-border);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-radius:14px;box-shadow:0 16px 48px #0000008c;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .2s;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;z-index:8}.panel::-webkit-scrollbar{width:6px}.panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.panel-closed{transform:translate(calc(100% + 24px));opacity:0;pointer-events:none}.panel-toggle{position:fixed;top:16px;right:16px;width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#0a0e16c7;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);color:#fff;font-size:18px;font-weight:500;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #00000059;transition:background .16s,transform .16s,border-color .16s;z-index:10}.panel-toggle:hover{background:#141c2ce0;border-color:#ffffff47}.panel-toggle:active{transform:scale(.95)}.panel-toggle-open{font-size:14px}.panel-header{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.panel-header h1{font-size:18px;font-weight:600;letter-spacing:.5px;margin:0}.panel-actions{display:flex;gap:6px}.panel-actions button{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--panel-border);background:var(--accent-soft);color:var(--text);font:inherit;cursor:pointer;transition:background .14s}.panel-actions button:hover{background:#6ea4ff52}.panel-actions button.ghost{background:transparent}.panel-actions button.ghost:hover{background:#ffffff0f}section{margin-bottom:14px}section h2{font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-dim);margin:0 0 8px}.slider{margin:8px 0}.slider-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.slider label{font-size:12px;color:var(--text)}.slider-value{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;background:transparent}input[type=range]::-webkit-slider-runnable-track{height:3px;background:var(--rail);border-radius:2px}input[type=range]::-moz-range-track{height:3px;background:var(--rail);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);margin-top:-5.5px;box-shadow:0 0 0 4px #6ea4ff1a;transition:transform .12s}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border:none;border-radius:50%;background:var(--accent)}.uwp-row{display:flex;gap:6px;margin-bottom:4px}.uwp-input{flex:1;padding:8px 10px;border-radius:8px;border:1px solid var(--panel-border);background:#ffffff0a;color:var(--text);font:13px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px;outline:none;transition:border-color .14s,background .14s}.uwp-input:focus{border-color:#6ea4ff80;background:#6ea4ff0f}.uwp-input.invalid{border-color:#ff6e6e73}.uwp-row button{padding:8px 12px;border-radius:8px;border:1px solid var(--panel-border);background:var(--accent-soft);color:var(--text);font:inherit;cursor:pointer;transition:background .14s}.uwp-row button:hover{background:#6ea4ff52}.uwp-legend{font-size:10px;color:var(--text-dim);margin-top:4px;letter-spacing:.4px;line-height:1.4}.starport-row{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.starport-btn{padding:8px 0;border-radius:8px;border:1px solid var(--panel-border);background:#ffffff08;color:var(--text);font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer;transition:background .14s,border-color .14s}.starport-btn:hover{background:#ffffff14}.starport-btn.active{background:var(--accent-soft);border-color:#6ea4ff80}.uwp-slider{margin:10px 0}.uwp-slider-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.uwp-slider-label{font-size:12px;color:var(--text)}.uwp-slider-code{font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);background:var(--accent-soft);padding:1px 7px;border-radius:4px;letter-spacing:1px}.uwp-slider-desc{font-size:11px;color:var(--text-dim);margin-top:2px;line-height:1.4;min-height:14px}label.color{display:flex;align-items:center;justify-content:space-between;margin:6px 0;font-size:12px}label.color input[type=color]{width:36px;height:22px;padding:0;border:1px solid var(--panel-border);border-radius:6px;background:transparent;cursor:pointer}label.color input[type=color]::-webkit-color-swatch-wrapper{padding:2px}label.color input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.panel-footer{margin-top:10px;padding-top:12px;border-top:1px solid var(--panel-border);color:var(--text-dim);font-size:11px;text-align:center}.error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;background:radial-gradient(ellipse at center,#1e080cd9,#05070df2);z-index:10}.error-overlay h2{font-size:18px;margin-bottom:8px}.error-overlay p{max-width:480px;color:var(--text-dim);line-height:1.5}.error-overlay .hint{margin-top:16px;font-size:12px}.error-overlay code{background:#ffffff0f;padding:1px 6px;border-radius:4px;font-family:ui-monospace,monospace}@media(max-width:640px){.panel{width:calc(100% - 16px);right:8px;top:64px;max-height:calc(100vh - 80px);border-radius:12px}.panel-closed{transform:translateY(calc(-100% - 80px))}.panel-toggle{top:12px;right:12px;width:44px;height:44px}}
