@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Archivo+Narrow:wght@700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;600&family=Fraunces:opsz,wght@9..144,300;9..144,400&family=Noto+Sans+Symbols+2&display=swap";.portal-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:radial-gradient(circle at 50% 50%,#060814,#020308);color:var(--fg);font-family:var(--astral-sans, system-ui, -apple-system, sans-serif);display:flex;flex-direction:column;overflow:hidden}.portal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;border-bottom:1px solid rgba(168,181,96,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100}.portal-header-left{display:flex;align-items:center;gap:12px}.portal-header-left h1{font-size:16px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--astral-olive-200);margin:0}.portal-header-right{display:flex;align-items:center;gap:20px}.portal-desktop{flex:1;display:grid;grid-template-columns:360px 1fr 340px;padding:20px 40px;gap:20px;align-items:center;position:relative;z-index:10}.portal-col{height:85%;display:flex;flex-direction:column;justify-content:center}.portal-detail-panel{background:#080a1866;border:1px solid rgba(168,181,96,.1);border-radius:16px;padding:32px 28px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;gap:20px;min-height:380px;justify-content:space-between;transition:all .4s ease}.portal-detail-header{display:flex;flex-direction:column;gap:8px}.portal-detail-subtitle{font-family:var(--astral-mono, monospace);font-size:10px;color:var(--astral-olive-300);letter-spacing:.2em;text-transform:uppercase}.portal-detail-title{font-family:var(--astral-serif, "Fraunces", serif);font-size:32px;font-weight:400;color:var(--fg);line-height:1.2}.portal-detail-desc{font-size:14px;color:var(--fg-secondary);line-height:1.6}.portal-detail-lock-hint{display:flex;align-items:center;gap:8px;font-family:var(--astral-mono, monospace);font-size:11px;color:#f99}.portal-orbit-area{position:relative;width:640px;height:640px;margin:0 auto;display:flex;align-items:center;justify-content:center}.portal-orbit-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(168,181,96,.1);transition:all .4s ease;pointer-events:none}.portal-orbit-circle.orbit-1{width:240px;height:240px}.portal-orbit-circle.orbit-2{width:420px;height:420px}.portal-orbit-circle.orbit-3{width:580px;height:580px}.portal-orbit-circle.active{border-color:#c4d68273;border-style:solid;box-shadow:0 0 20px #c4d68214}.portal-orbit-center{position:absolute;width:90px;height:90px;background:radial-gradient(circle,rgba(168,181,96,.15) 0%,transparent 70%);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s}.portal-orbit-center:hover{transform:scale(1.05)}.portal-orbit-center-glowing{position:absolute;width:60px;height:60px;border-radius:50%;border:1px solid rgba(168,181,96,.4);background:#050714cc;display:flex;align-items:center;justify-content:center;box-shadow:0 0 15px #a8b56033}.portal-orbit-center-glyph{font-size:24px;color:var(--astral-olive-200);animation:pulse-slow 4s ease-in-out infinite alternate}.portal-planet{position:absolute;left:50%;top:50%;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(168,181,96,.4);background:#080a18;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.25,1,.5,1);box-shadow:0 4px 12px #00000080;z-index:5}.portal-planet:hover,.portal-planet.active{border-color:var(--astral-olive-200);box-shadow:0 0 20px #c4d68299;z-index:10}.portal-planet.locked{border-color:#a8b56026;opacity:.7}.portal-planet-icon{color:var(--astral-olive-300);transition:color .3s,transform .3s}.portal-planet:hover .portal-planet-icon,.portal-planet.active .portal-planet-icon{color:var(--astral-olive-100);transform:scale(1.15)}.portal-planet-label{position:absolute;font-family:var(--astral-mono, monospace);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--astral-olive-300);opacity:.5;transition:all .3s ease;pointer-events:none;white-space:nowrap}.portal-planet:hover .portal-planet-label,.portal-planet.active .portal-planet-label{opacity:1;color:var(--astral-olive-100);text-shadow:0 0 8px rgba(196,214,130,.4)}.portal-planet-label.pos-right{left:52px}.portal-planet-label.pos-left{right:52px}.portal-planet-label.pos-top{bottom:52px}.portal-planet-label.pos-bottom{top:52px}.portal-readout-panel{background:#080a1866;border:1px solid rgba(168,181,96,.1);border-radius:16px;padding:24px 20px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;gap:16px;font-size:12px;color:var(--fg-secondary)}.portal-readout-title{font-family:var(--astral-mono, monospace);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--astral-olive-200);border-bottom:1px solid rgba(168,181,96,.15);padding-bottom:8px}.portal-readout-row{display:flex;justify-content:space-between;align-items:center}.portal-readout-label{font-family:var(--astral-mono, monospace);opacity:.7}.portal-readout-value{color:var(--fg)}.portal-readout-moon-box{display:flex;align-items:center;gap:8px}.portal-planet-coords-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow-y:auto;padding-right:4px}.portal-planet-coord-item{display:flex;justify-content:space-between;align-items:center;font-family:var(--astral-mono, monospace);font-size:11px}.portal-planet-coord-name{display:flex;align-items:center;gap:6px;color:var(--fg)}.portal-planet-coord-val{color:var(--astral-olive-300)}.portal-mobile{display:none}@keyframes pulse-slow{0%{transform:scale(1);opacity:.8}to{transform:scale(1.08);opacity:1}}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 900px){.portal-desktop{display:none}.portal-mobile{display:flex;flex-direction:column;flex:1;position:relative;overflow:hidden;justify-content:space-between;align-items:center;padding:20px;z-index:10}.portal-header{padding:16px 20px}.portal-mobile-deck{width:100%;flex-grow:1;display:flex;align-items:center;justify-content:center;position:relative}.portal-mobile-card-container{width:100%;max-width:320px;height:440px;position:relative;perspective:1000px}.portal-mobile-card{position:absolute;width:100%;height:100%;background:#080a18cc;border:1px solid rgba(168,181,96,.2);border-radius:20px;padding:36px 24px;box-sizing:border-box;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 12px 40px #0009;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .4s;-webkit-user-select:none;user-select:none}.portal-mobile-card-glyph{width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#a8b5601a,#a8b56005);border:1px dashed rgba(168,181,96,.3);display:flex;align-items:center;justify-content:center;margin-bottom:8px;box-shadow:inset 0 0 10px #a8b5601a;color:var(--astral-olive-200)}.portal-mobile-card-info{display:flex;flex-direction:column;gap:8px;flex:1;justify-content:center}.portal-mobile-card-subtitle{font-family:var(--astral-mono, monospace);font-size:10px;color:var(--astral-olive-300);letter-spacing:.18em;text-transform:uppercase}.portal-mobile-card-title{font-family:var(--astral-serif, "Fraunces", serif);font-size:28px;color:var(--fg);margin:4px 0 0}.portal-mobile-card-desc{font-size:13.5px;color:var(--fg-secondary);line-height:1.5;margin-top:8px}.portal-mobile-card-cta{width:100%;margin-top:16px}.portal-mobile-astrolabe{width:320px;height:320px;position:absolute;left:calc(50% - 160px);border-radius:50%;border:1px solid rgba(168,181,96,.08);background:radial-gradient(circle,rgba(8,10,24,.2) 0%,transparent 80%);pointer-events:none;z-index:1;transition:transform .6s cubic-bezier(.25,1,.5,1)}.portal-mobile-astrolabe.astrolabe-top{top:-220px}.portal-mobile-astrolabe.astrolabe-bottom{bottom:-220px}.portal-mobile-astrolabe-ring{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;border:1px dashed rgba(168,181,96,.12)}.portal-mobile-astrolabe-symbol{position:absolute;font-size:16px;color:var(--astral-olive-400);opacity:.3;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transform-origin:50% 50%}.portal-mobile-astrolabe-symbol.active{opacity:.95;color:var(--astral-olive-200);text-shadow:0 0 10px rgba(196,214,130,.5);font-size:20px}.portal-mobile-nav{display:flex;align-items:center;gap:32px;z-index:10;margin-bottom:40px}.portal-mobile-nav-btn{width:40px;height:40px;border-radius:50%;border:1px solid rgba(168,181,96,.2);background:#080a1899;color:var(--astral-olive-300);display:flex;align-items:center;justify-content:center;cursor:pointer}.portal-mobile-nav-btn:hover{border-color:var(--astral-olive-200);color:var(--astral-olive-100)}.portal-mobile-dots{display:flex;gap:8px}.portal-mobile-dot{width:6px;height:6px;border-radius:50%;background:#a8b56040;transition:all .3s}.portal-mobile-dot.active{background:var(--astral-olive-200);box-shadow:0 0 8px #c4d682cc;transform:scale(1.3)}.portal-mobile-hint{font-family:var(--astral-mono, monospace);font-size:9px;color:var(--fg-secondary);opacity:.6;letter-spacing:.1em;margin-top:-12px;z-index:10;text-align:center}}:root{--tnd-blue-500: #006CFF;--tnd-cyan-500: #00BFFF;--tnd-green-500: #33CCA6;--tnd-yellow-500: #DFA920;--tnd-orange-500: #FF8000;--tnd-red-500: #F43E7B;--tnd-pink-500: #FF00DD;--tnd-purple-500: #801FFF;--tnd-slate-500: #5F6AA5;--tnd-blue-50: #EBF3FF;--tnd-blue-100: #BDD8FF;--tnd-blue-200: #8FBEFF;--tnd-blue-300: #61A3FF;--tnd-blue-400: #3388FF;--tnd-blue-600: #004FBD;--tnd-blue-700: #0026A8;--tnd-blue-800: #001C7A;--tnd-blue-900: #00114D;--tnd-cyan-50: #EBFAFF;--tnd-cyan-100: #BDEFFF;--tnd-cyan-200: #8FE3FF;--tnd-cyan-300: #61D7FF;--tnd-cyan-400: #33CCFF;--tnd-cyan-600: #00A1D6;--tnd-cyan-700: #007EA8;--tnd-cyan-800: #005C7A;--tnd-cyan-900: #00394D;--tnd-green-50: #E7FDF7;--tnd-green-100: #D1FAF0;--tnd-green-200: #BCF5E7;--tnd-green-300: #79E7CB;--tnd-green-400: #57DBBA;--tnd-green-600: #30A688;--tnd-green-700: #2A7E69;--tnd-green-800: #22594B;--tnd-green-900: #17362E;--tnd-yellow-50: #FFF9EB;--tnd-yellow-100: #FDEBBF;--tnd-yellow-200: #F9DD95;--tnd-yellow-300: #F3CD6D;--tnd-yellow-400: #EBBC47;--tnd-yellow-600: #B68C20;--tnd-yellow-700: #8B6C1D;--tnd-yellow-800: #624D18;--tnd-yellow-900: #3C3011;--tnd-orange-50: #FFF5EB;--tnd-orange-100: #FFDEBD;--tnd-orange-200: #FFC78F;--tnd-orange-300: #FFB061;--tnd-orange-400: #FF9933;--tnd-orange-600: #D66B00;--tnd-orange-700: #A85400;--tnd-orange-800: #7A3D00;--tnd-orange-900: #4D2600;--tnd-red-50: #FFF1F6;--tnd-red-100: #FDD5E2;--tnd-red-200: #FBA8C4;--tnd-red-300: #F57AA3;--tnd-red-400: #F76998;--tnd-red-600: #BB0844;--tnd-red-700: #770028;--tnd-red-800: #52001B;--tnd-red-900: #4D001A;--tnd-purple-50: #F3EBFF;--tnd-purple-100: #E2CCFF;--tnd-purple-200: #CBA3FF;--tnd-purple-300: #B47AFF;--tnd-purple-400: #9A4EFF;--tnd-purple-600: #6600EB;--tnd-purple-700: #5000B8;--tnd-purple-800: #3E008F;--tnd-purple-900: #21004C;--tnd-pink-50: #FFEBFC;--tnd-pink-100: #FFBDF6;--tnd-pink-200: #FF99F1;--tnd-pink-300: #FF61EA;--tnd-pink-400: #FF33E4;--tnd-pink-600: #D600BA;--tnd-pink-700: #A80092;--tnd-pink-800: #7A006A;--tnd-pink-900: #4D0042;--tnd-slate-50: #F4F5F5;--tnd-slate-100: #DADBE2;--tnd-slate-200: #BEC1CF;--tnd-slate-300: #A0A4C0;--tnd-slate-400: #8188B1;--tnd-slate-600: #49538D;--tnd-slate-700: #363F72;--tnd-slate-800: #252C56;--tnd-slate-900: #151A37;--tnd-slate-1000: #04091A;--tnd-white-0a: rgba(255,255,255,0);--tnd-white-50a: rgba(255,255,255,.05);--tnd-white-100a: rgba(255,255,255,.1);--tnd-white-200a: rgba(255,255,255,.2);--tnd-white-300a: rgba(255,255,255,.3);--tnd-white-400a: rgba(255,255,255,.4);--tnd-white-500a: rgba(255,255,255,.5);--tnd-white-600a: rgba(255,255,255,.6);--tnd-white-700a: rgba(255,255,255,.7);--tnd-white-800a: rgba(255,255,255,.8);--tnd-white-900a: rgba(255,255,255,.9);--surface: var(--tnd-slate-1000);--surface-secondary: var(--tnd-slate-900);--surface-raised: var(--tnd-slate-900);--bg: var(--tnd-slate-800);--bg-hover: var(--tnd-slate-700);--bg-pressed: var(--tnd-slate-900);--bg-brand: var(--tnd-blue-500);--bg-brand-hover: var(--tnd-blue-400);--bg-brand-pressed: var(--tnd-blue-600);--bg-positive: var(--tnd-green-700);--bg-negative: var(--tnd-red-700);--bg-warning: var(--tnd-yellow-700);--bg-info: var(--tnd-purple-400);--fg: #FFFFFF;--astral-gold: #E9C46A;--astral-gold-bright: #F8E3A8;--fg-secondary: var(--tnd-slate-300);--fg-on-color: #FFFFFF;--fg-placeholder: var(--tnd-white-300a);--fg-disabled: var(--tnd-white-100a);--fg-inverse: var(--tnd-slate-1000);--fg-brand: var(--tnd-blue-500);--fg-positive: var(--tnd-green-300);--fg-warning: var(--tnd-orange-200);--fg-negative: var(--tnd-red-500);--fg-link-brand: var(--tnd-blue-400);--border: var(--tnd-white-100a);--border-interactive: var(--tnd-white-300a);--border-selected: var(--tnd-white-800a);--border-focus: var(--tnd-orange-500);--border-brand: var(--tnd-blue-600);--overlay: rgba(37,44,86,.71);--skeleton: rgba(103,133,234,.24);--font-brand: "Archivo Narrow", "PP Agrandir Bolt Narrow", "Inter", system-ui, sans-serif;--font-plain: "Inter", system-ui, -apple-system, Segoe UI, sans-serif;--t-display-lg: 700 40px/50px var(--font-brand);--t-display-md: 700 32px/40px var(--font-brand);--t-display-sm: 600 24px/30px var(--font-brand);--t-headline-lg: 600 24px/30px var(--font-plain);--t-headline-md: 600 20px/30px var(--font-plain);--t-headline-sm: 600 18px/27px var(--font-plain);--t-title-lg: 600 18px/27px var(--font-plain);--t-title-md: 600 16px/24px var(--font-plain);--t-title-sm: 500 14px/20px var(--font-plain);--t-body-lg: 400 16px/24px var(--font-plain);--t-body-md: 400 14px/20px var(--font-plain);--t-body-sm: 400 12px/18px var(--font-plain);--t-label-lg: 500 12px/18px var(--font-plain);--t-label-md: 500 11px/16.5px var(--font-plain);--t-label-sm: 500 11px/16px var(--font-plain);--space-0: 0;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14-5: 58px;--space-16: 64px;--space-18-5: 74px;--space-22-5: 90px;--space-29-5: 118px;--icon-xxs: 16px;--icon-xs: 24px;--icon-sm: 32px;--icon-md: 48px;--icon-lg: 64px;--avatar-md: 80px;--avatar-lg: 120px;--btn-h-lg: 50px;--btn-h-sm: 38px;--key-pad: 72px;--row-h: 56px;--r-xs: 8px;--r-hug-sm: 8px;--r-hug: 10px;--r-sm: 12px;--r-sheet: 16px;--r-card: 16px;--r-md: 20px;--r-pill: 999px;--border-w: 1px;--focus-w: 2px;--focus-gap: 2px}[data-theme=light]{--surface: var(--tnd-slate-50);--surface-secondary: #FFFFFF;--surface-raised: var(--tnd-slate-50);--bg: var(--tnd-slate-100);--bg-hover: var(--tnd-slate-200);--bg-pressed: var(--tnd-slate-300);--bg-brand: var(--tnd-blue-500);--bg-brand-hover: var(--tnd-blue-600);--bg-brand-pressed: var(--tnd-blue-600);--bg-positive: var(--tnd-green-700);--bg-negative: var(--tnd-red-600);--bg-warning: var(--tnd-yellow-700);--bg-info: var(--tnd-purple-500);--fg: var(--tnd-slate-1000);--fg-secondary: var(--tnd-slate-700);--fg-on-color: #FFFFFF;--fg-placeholder: rgba(37,44,86,.33);--fg-disabled: rgba(37,44,86,.24);--fg-inverse: #FFFFFF;--fg-brand: var(--tnd-blue-400);--fg-positive: var(--tnd-green-800);--fg-warning: var(--tnd-orange-800);--fg-negative: var(--tnd-red-600);--fg-link-brand: var(--tnd-blue-500);--border: rgba(37,44,86,.24);--border-interactive: rgba(37,44,86,.51);--border-selected: rgba(37,44,86,.8);--border-brand: var(--tnd-blue-300);--overlay: rgba(37,44,86,.8);--skeleton: rgba(37,44,86,.24)}html,body{background:var(--surface);color:var(--fg);font:var(--t-body-md);margin:0}h1{font:var(--t-display-md);letter-spacing:-.01em}h2{font:var(--t-headline-lg)}h3{font:var(--t-headline-md)}h4{font:var(--t-headline-sm)}h5{font:var(--t-title-md)}p{font:var(--t-body-md);color:var(--fg)}small{font:var(--t-body-sm);color:var(--fg-secondary)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.display-hero{font:var(--t-display-lg);letter-spacing:-.01em}:focus-visible{outline:var(--focus-w) solid var(--border-focus);outline-offset:var(--focus-gap)}:root{--astral-olive-50: #F2F4E0;--astral-olive-100: #E0E5BB;--astral-olive-200: #C4D082;--astral-olive-300: #B5C26B;--astral-olive-400: #A8B560;--astral-olive-500: #8B9444;--astral-olive-600: #6B7A3A;--astral-olive-700: #4F5A2B;--astral-olive-800: #353D1D;--astral-olive-900: #1F2410;--astral-void: #05060F;--astral-deep: #0A0B1A;--astral-mid: #11132A;--astral-elevated: #181B36;--astral-line: rgba(168, 181, 96, .14);--astral-line-strong: rgba(168, 181, 96, .28);--astral-glass: rgba(168, 181, 96, .04);--surface: var(--astral-deep);--surface-secondary: var(--astral-mid);--surface-raised: var(--astral-elevated);--bg-brand: var(--astral-olive-400);--bg-brand-hover: var(--astral-olive-300);--bg-brand-pressed: var(--astral-olive-500);--fg-brand: var(--astral-olive-300);--fg-link-brand: var(--astral-olive-300);--border: var(--astral-line);--border-interactive: var(--astral-line-strong);--border-focus: var(--astral-olive-300);--astral-display: "Archivo Narrow", "PP Agrandir Bolt Narrow", "Inter", "Noto Sans Symbols 2", system-ui, sans-serif;--astral-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--astral-void);color:var(--fg);min-height:100vh;font:var(--t-body-md);font-family:Inter,"Noto Sans Symbols 2",system-ui,sans-serif;font-variant-emoji:text;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 70% 10%,rgba(168,181,96,.1),transparent 60%),radial-gradient(ellipse 60% 50% at 20% 80%,rgba(80,100,200,.08),transparent 60%),radial-gradient(ellipse 100% 80% at 50% 100%,rgba(168,181,96,.04),transparent 70%),var(--astral-void)}.starfield:before,.starfield:after{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background-image:radial-gradient(1px 1px at 20% 30%,white,transparent),radial-gradient(1px 1px at 80% 70%,white,transparent),radial-gradient(1.5px 1.5px at 45% 15%,white,transparent),radial-gradient(1px 1px at 60% 50%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 90% 25%,white,transparent),radial-gradient(1px 1px at 10% 75%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 35% 85%,white,transparent),radial-gradient(1px 1px at 70% 90%,white,transparent),radial-gradient(1px 1px at 25% 55%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 85% 45%,white,transparent),radial-gradient(2px 2px at 50% 35%,rgba(168,181,96,.6),transparent),radial-gradient(1px 1px at 15% 10%,white,transparent),radial-gradient(1px 1px at 55% 95%,white,transparent);background-size:100% 100%;background-repeat:no-repeat;opacity:.85}.starfield:after{background-image:radial-gradient(1px 1px at 30% 20%,white,transparent),radial-gradient(1px 1px at 70% 60%,rgba(255,255,255,.5),transparent),radial-gradient(.5px .5px at 12% 40%,white,transparent),radial-gradient(1px 1px at 88% 80%,white,transparent),radial-gradient(.5px .5px at 40% 70%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 95% 5%,white,transparent),radial-gradient(.5px .5px at 5% 95%,white,transparent),radial-gradient(1.5px 1.5px at 65% 25%,rgba(168,181,96,.4),transparent);animation:twinkle 7s ease-in-out infinite alternate;opacity:.6}@keyframes twinkle{0%{opacity:.3}to{opacity:.8}}.app{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{position:sticky;top:0;height:100vh;border-right:none;box-shadow:inset -1px 0 #a8b5601a;padding:28px 20px;display:flex;flex-direction:column;gap:32px;background:linear-gradient(180deg,#080a188c,#03040ad9),radial-gradient(circle at 100% 0%,rgba(168,181,96,.1),transparent 70%),radial-gradient(circle at 0% 100%,rgba(66,80,160,.12),transparent 70%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden;z-index:10}.sidebar:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:-1;background-image:radial-gradient(1px 1px at 15% 15%,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 80% 20%,rgba(255,255,255,.95),transparent),radial-gradient(1px 1px at 45% 65%,rgba(255,255,255,.5),transparent),radial-gradient(1.2px 1.2px at 60% 40%,rgba(168,181,96,.8),transparent),radial-gradient(1px 1px at 10% 80%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 30% 90%,rgba(255,255,255,.85),transparent);opacity:.6;animation:orbit 320s linear infinite;transform-origin:50% 50%;pointer-events:none}.sidebar:after{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;z-index:-2;background-image:radial-gradient(1px 1px at 25% 10%,rgba(255,255,255,.6),transparent),radial-gradient(1.5px 1.5px at 70% 55%,rgba(255,255,255,.8),transparent),radial-gradient(1.2px 1.2px at 35% 75%,rgba(168,181,96,.65),transparent),radial-gradient(1px 1px at 85% 30%,rgba(255,255,255,.5),transparent);opacity:.5;animation:orbitRev 200s linear infinite;transform-origin:50% 50%;pointer-events:none}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--fg);z-index:2}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 30% 25%,#1a1f3d,#05060f 70%);border:1px solid var(--astral-olive-500);box-shadow:0 0 18px #a8b56040,inset 0 0 12px #0009;flex-shrink:0;transition:all .3s ease}.brand:hover .brand-mark{border-color:var(--astral-olive-200);box-shadow:0 0 24px #c4d68273,inset 0 0 12px #0009;transform:scale(1.05)}.brand-mark svg{width:22px;height:22px;display:block}.brand-logo-star{transform-origin:12px 12px;animation:orbit 30s linear infinite}.brand-mark:before{display:none}.brand-name{font-family:var(--astral-display);font-size:22px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;background:linear-gradient(135deg,var(--fg) 30%,var(--astral-olive-200) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:all .3s ease}.brand:hover .brand-name{text-shadow:0 0 12px rgba(196,214,130,.25);opacity:.95}.brand-tag{font-family:var(--astral-mono);font-size:9px;letter-spacing:.3em;color:var(--astral-olive-400);text-transform:uppercase;margin-top:2px}.nav{display:flex;flex-direction:column;gap:4px;z-index:2}.nav-section-label{font-family:var(--astral-mono);font-size:10px;letter-spacing:.25em;color:var(--fg-secondary);text-transform:uppercase;padding:16px 12px 8px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-sm);cursor:pointer;border:1px solid transparent;color:var(--fg-secondary);font-size:14px;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1);background:transparent;text-align:left;font-family:inherit;position:relative}.nav-item:hover{background:#a8b5600f;color:var(--fg);border-color:#a8b56026;box-shadow:0 0 10px #a8b5600d}.nav-item:hover .icon{filter:drop-shadow(0 0 6px var(--astral-olive-300));transform:scale(1.08)}.nav-item.active{background:linear-gradient(90deg,#a8b56026,#a8b56005);color:var(--astral-olive-200);border-left:2px solid var(--astral-olive-300);border-top:1px solid rgba(168,181,96,.15);border-bottom:1px solid rgba(168,181,96,.15);border-right:1px solid transparent;box-shadow:inset 2px 0 8px #a8b5601a;text-shadow:0 0 8px rgba(196,214,130,.35)}.nav-item.active .icon{filter:drop-shadow(0 0 8px var(--astral-olive-200));color:var(--astral-olive-200)}.nav-item .icon{width:18px;height:18px;flex:0 0 18px;transition:all .25s ease}.sidebar-footer{margin-top:auto;padding:16px 12px;border-top:1px solid var(--astral-line);font-family:var(--astral-mono);font-size:10px;color:var(--fg-secondary);letter-spacing:.1em;line-height:1.6}.sidebar-footer .live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--astral-olive-400);box-shadow:0 0 8px var(--astral-olive-400);margin-right:8px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.main{min-width:0;padding:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 40px;border-bottom:1px solid var(--astral-line)}.topbar-eyebrow{font-family:var(--astral-mono);font-size:10px;letter-spacing:.3em;color:var(--astral-olive-400);text-transform:uppercase}.topbar-title{font-family:var(--astral-display);font-size:24px;letter-spacing:.04em;margin-top:2px}.topbar-right{display:flex;align-items:center;gap:16px}.lang-toggle{display:inline-flex;align-items:center;font-family:var(--astral-mono);opacity:.7;transition:opacity .12s ease}.lang-toggle:hover,.lang-toggle:focus-within{opacity:1}.lang-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--fg-secondary);padding:4px 6px;font-family:var(--astral-mono);font-size:10px;letter-spacing:.14em;cursor:pointer;text-transform:uppercase}.lang-toggle button+button{border-left:1px solid var(--astral-line)}.lang-toggle button.active{color:var(--astral-olive-300);font-weight:600}.lang-toggle button:hover:not(.active){color:var(--fg)}.about-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 32px}.legend-item{border:1px solid var(--astral-line);background:#ffffff04;padding:14px 16px;border-radius:4px}.legend-pill{display:inline-block;padding:3px 8px;border-radius:999px;font-family:var(--astral-mono);font-size:9px;letter-spacing:.18em;font-weight:700;margin-bottom:8px}.legend-pill.real{background:var(--astral-olive-400);color:var(--astral-deep)}.legend-pill.mock{background:#ffffff0f;color:var(--fg-secondary);border:1px solid var(--astral-line-strong)}.legend-pill.partial{background:transparent;color:var(--astral-olive-300);border:1px solid var(--astral-olive-500)}.legend-item-desc{font-size:13px;color:var(--fg-secondary);line-height:1.5}.feature-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px}.feature-table th{text-align:left;font-family:var(--astral-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-secondary);padding:10px 12px;border-bottom:1px solid var(--astral-line-strong)}.feature-table td{padding:12px;border-bottom:1px solid var(--astral-line);vertical-align:top;line-height:1.55}.feature-table td.feat-name{font-weight:600;color:var(--fg);width:28%}.feature-table td.feat-status{width:110px}.feature-table td.feat-notes{color:var(--fg-secondary)}.feature-table tr:hover td{background:#a8b56006}.about-block{border:1px solid var(--astral-line);background:#ffffff04;padding:24px 28px;border-radius:4px;margin-bottom:16px}.about-block h3{font-family:var(--astral-display);font-size:22px;font-weight:600;letter-spacing:.02em;margin:0 0 8px;color:var(--astral-olive-200)}.about-block p{font-size:14px;line-height:1.65;color:var(--fg-secondary);margin:0 0 12px}.about-block p:last-child{margin-bottom:0}.about-block code{font-family:var(--astral-mono);background:#a8b56014;padding:1px 6px;border-radius:3px;font-size:12px;color:var(--astral-olive-200)}.about-section-title{font-family:var(--astral-display);font-size:28px;font-weight:700;letter-spacing:.04em;margin:40px 0 8px}@media (max-width: 720px){.about-legend{grid-template-columns:1fr}.feature-table td.feat-name{width:40%}}.coord-readout{font-family:var(--astral-mono);font-size:11px;color:var(--fg-secondary);letter-spacing:.08em;text-align:right;line-height:1.5}.coord-readout .val{color:var(--astral-olive-300)}.page{padding:40px;max-width:1400px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--r-pill);font:600 14px/1 Inter,sans-serif;letter-spacing:.02em;cursor:pointer;transition:all .25s cubic-bezier(.16,1,.3,1);border:1px solid transparent;background:transparent;color:var(--fg);text-decoration:none}.btn-primary{background:linear-gradient(135deg,var(--astral-olive-400) 0%,var(--astral-olive-500) 100%);color:var(--astral-void);border:1px solid var(--astral-olive-300);box-shadow:0 4px 12px #a8b56026}.btn-primary:hover{background:linear-gradient(135deg,var(--astral-olive-300) 0%,var(--astral-olive-400) 100%);border-color:var(--astral-olive-200);box-shadow:0 0 24px #a8b56073;transform:translateY(-1px)}.btn-ghost{border-color:var(--astral-line-strong);color:var(--fg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-ghost:hover{background:#a8b56014;border-color:var(--astral-olive-300);box-shadow:0 0 16px #a8b56026;transform:translateY(-1px)}.btn-lg{padding:16px 28px;font-size:15px}.btn-sm{padding:8px 14px;font-size:12px}.card{background:#11132aa6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--astral-line);border-radius:var(--r-card);padding:24px;position:relative;box-shadow:0 8px 32px #0000004d;transition:all .3s cubic-bezier(.16,1,.3,1)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.card-title{font-family:var(--astral-mono);font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-secondary)}.card-tag{font-family:var(--astral-mono);font-size:10px;letter-spacing:.2em;color:var(--astral-olive-300);padding:4px 8px;border:1px solid var(--astral-line-strong);border-radius:var(--r-pill);text-transform:uppercase}.section-eyebrow{font-family:var(--astral-mono);font-size:11px;letter-spacing:.3em;color:var(--astral-olive-400);text-transform:uppercase;margin-bottom:12px}.section-title{font-family:var(--astral-display);font-size:56px;font-weight:700;letter-spacing:.01em;line-height:1;margin:0 0 16px}.section-title .accent{background:linear-gradient(135deg,var(--astral-olive-200) 0%,var(--astral-olive-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 20px rgba(196,214,130,.15)}.section-lede{font-size:16px;line-height:1.6;color:var(--fg-secondary);max-width:60ch;margin:0}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.label{font-family:var(--astral-mono);font-size:11px;letter-spacing:.22em;color:var(--fg-secondary);text-transform:uppercase}.input{background:#ffffff04;border:1px solid var(--astral-line-strong);border-radius:var(--r-sm);padding:14px 16px;color:var(--fg);font:400 15px/1.4 Inter,sans-serif;font-family:var(--astral-mono);letter-spacing:.02em;transition:all .25s cubic-bezier(.16,1,.3,1);width:100%}.input:hover{background:#ffffff08;border-color:#a8b56066}.input:focus{outline:none;border-color:var(--astral-olive-300);background:#a8b5600d;box-shadow:0 0 12px #a8b56026,0 0 0 3px #a8b56014}.input::placeholder{color:var(--fg-placeholder)}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23A8B560' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.glyph,.astro-glyph{font-family:"Noto Sans Symbols 2",Times New Roman,DejaVu Sans,serif;font-variant-emoji:text;-webkit-font-feature-settings:"ss01"}.glyph{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--astral-elevated);border:1px solid var(--astral-line-strong);color:var(--astral-olive-300);font-size:16px}.glyph-lg{width:44px;height:44px;font-size:22px}.tabs{display:inline-flex;border:1px solid var(--astral-line-strong);border-radius:var(--r-pill);padding:4px;gap:2px;background:#ffffff05}.tab{background:transparent;border:none;padding:8px 18px;border-radius:var(--r-pill);color:var(--fg-secondary);font:500 12px/1 Inter,sans-serif;letter-spacing:.06em;cursor:pointer;transition:all .2s ease;text-transform:uppercase}.tab.active{background:linear-gradient(135deg,var(--astral-olive-400) 0%,var(--astral-olive-500) 100%);color:var(--astral-void);box-shadow:0 0 14px #a8b56059;font-weight:600}.tab:not(.active):hover{color:var(--fg)}.mono{font-family:var(--astral-mono)}.mono-tag{font-family:var(--astral-mono);font-size:11px;letter-spacing:.18em;color:var(--fg-secondary);text-transform:uppercase}.divider-label{display:flex;align-items:center;gap:12px;margin:24px 0;font-family:var(--astral-mono);font-size:10px;letter-spacing:.3em;color:var(--fg-secondary);text-transform:uppercase}.divider-label:before,.divider-label:after{content:"";flex:1;height:1px;background:var(--astral-line)}.demo-banner{display:none}.crosshair{position:relative}.crosshair>.ch-tr{display:block;position:absolute;top:-6px;right:-6px;width:12px;height:12px;border-top:1px solid var(--astral-olive-400);border-right:1px solid var(--astral-olive-400);opacity:.5;pointer-events:none}.crosshair>.ch-bl{display:block;position:absolute;bottom:-6px;left:-6px;width:12px;height:12px;border-bottom:1px solid var(--astral-olive-400);border-left:1px solid var(--astral-olive-400);opacity:.5;pointer-events:none}.hero-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-8);align-items:center;margin-bottom:var(--space-14-5)}.actions-row{display:flex;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap}.card-featured{position:relative;padding:var(--space-6);border:1px solid var(--astral-line-strong);border-radius:var(--r-sheet);background:radial-gradient(circle at 50% 50%,rgba(168,181,96,.08) 0%,transparent 80%),#0a0b1a66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 40px #00000040}.form-featured{position:relative;padding:var(--space-8);border:1px solid var(--astral-line-strong);border-radius:var(--r-sheet);background:radial-gradient(circle at 50% 50%,rgba(168,181,96,.06) 0%,transparent 80%),#0a0b1a59;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 40px #00000040}.grid-explore-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.grid-saved-charts{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.flex-align-center{display:flex;align-items:center;gap:var(--space-2-5)}.flex-between-center{display:flex;justify-content:space-between;align-items:center}.flex-column-gap-md{display:flex;flex-direction:column;gap:var(--space-4)}.w-full{width:100%}.m-0{margin:0}.text-center{text-align:center}.relative{position:relative}.cursor-pointer{cursor:pointer}.max-width-720{max-width:720px}.card-padding-lg{padding:var(--space-8)}.card-padding-md{padding:var(--space-6)}.card-padding-sm{padding:var(--space-4)}.card-border-dashed{border-style:dashed}.card-btn{text-align:left;cursor:pointer;color:var(--fg);font-family:inherit;width:100%}.card-btn:hover{background:#181b36b3;border-color:var(--astral-olive-400);box-shadow:0 12px 40px #a8b56014,0 0 2px #a8b56033;transform:translateY(-2px)}.flex-end-center{display:flex;justify-content:flex-end;align-items:center}.big-three-cell{background:var(--astral-deep);border:1px solid var(--astral-line);border-radius:var(--r-sm);padding:var(--space-4);text-align:center}.big-three-glyph{font-size:32px;color:var(--astral-olive-300);margin:var(--space-1-5) 0;font-family:"Noto Sans Symbols 2",Times New Roman,serif}.big-three-name{font-family:var(--astral-display);font-size:16px;letter-spacing:.04em}.big-three-meta{font-size:11px;color:var(--fg-secondary);margin-top:var(--space-1)}.text-secondary-sm{font-size:13px;color:var(--fg-secondary);line-height:1.6}.card-featured-title{font-family:var(--astral-display);font-size:22px;margin-bottom:10px}.text-secondary-xs{font-size:11px;color:var(--fg-secondary)}.text-brand-xs{font-size:11px;color:var(--astral-olive-300)}.margin-top-xs{margin-top:var(--space-1)}.margin-top-sm{margin-top:var(--space-2)}.margin-top-md{margin-top:var(--space-4)}.margin-top-lg{margin-top:var(--space-8)}.margin-bottom-xs{margin-bottom:var(--space-1)}.margin-bottom-sm{margin-bottom:var(--space-2)}.margin-bottom-md{margin-bottom:var(--space-4)}.margin-bottom-lg{margin-bottom:var(--space-8)}.tab-bordered{border:1px solid var(--astral-line-strong)}.actions-row-sm{display:flex;gap:var(--space-2);flex-wrap:wrap}.card-featured-blank{position:relative;padding:var(--space-4);background:transparent;border:1px solid var(--astral-line-strong)}.chart-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding:0 var(--space-2)}.chart-footer-row{display:flex;justify-content:space-between;margin-top:var(--space-3);padding:0 var(--space-2);font-size:11px}.chart-metadata-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--astral-line);font-size:13px;gap:var(--space-3)}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.chart-signature-badge{background:var(--astral-deep);border-radius:var(--r-xs);padding:var(--space-2) var(--space-2-5);border:1px solid var(--astral-line)}.mono-title-sm{font-family:var(--astral-display);font-size:15px;margin-top:var(--space-0-5)}.card-brand-gradient{background:linear-gradient(180deg,rgba(168,181,96,.08),transparent),var(--astral-mid)}.aspect-symbol-lg{font-size:22px;color:var(--astral-olive-300)}.text-brand{color:var(--astral-olive-300)}.sign-strip{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-2);margin-bottom:var(--space-6)}.sign-tile{background:var(--astral-mid);color:var(--fg);border:1px solid var(--astral-line);border-radius:var(--r-sm);padding:14px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-family:inherit;position:relative;transition:all .12s ease}.sign-tile:hover{border-color:var(--astral-olive-400);background:var(--astral-glass)}.sign-tile.active{background:var(--astral-olive-400);color:var(--astral-deep);border-color:var(--astral-olive-400)}.sign-tile-glyph{font-size:22px;font-family:"Noto Sans Symbols 2",Times New Roman,serif}.sign-tile-tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase}.sign-tile-user-label{position:absolute;top:2px;right:4px;font-size:9px;color:var(--astral-olive-300)}.sign-tile.active .sign-tile-user-label{color:var(--astral-deep)}.card-horo-gradient{padding:var(--space-8);background:linear-gradient(180deg,rgba(168,181,96,.06),transparent 50%),var(--astral-mid)}.horo-today-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.glyph-xl{width:64px;height:64px;font-size:32px}.horo-selected-title{font-family:var(--astral-display);font-size:30px;margin-top:var(--space-1)}.horo-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:var(--space-6);align-items:start}.horo-stars{margin-left:auto;align-self:flex-start;color:var(--astral-gold);font-size:16px;letter-spacing:3px;white-space:nowrap}.horo-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-5);text-align:center;color:var(--fg-secondary);font-size:14px;border:1px dashed var(--astral-line-strong);border-radius:var(--r-sm)}.horo-events-box{margin-bottom:var(--space-5);padding:14px 16px;background:#a8b5600d;border-radius:var(--r-hug);border:1px solid var(--astral-line)}.horo-events-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1-5)}.horo-events-list li{font-size:14px;line-height:1.5;color:var(--fg)}.horo-title-quote{font-family:Fraunces,Georgia,serif;font-size:32px;font-weight:400;line-height:1.2;font-style:italic;margin:0 0 var(--space-4);color:var(--astral-olive-100)}.text-secondary-lg{font-size:16px;line-height:1.7;color:var(--fg-secondary)}.horo-forecast-card{background:var(--astral-deep);border-radius:var(--r-sm);padding:var(--space-4);border-left:2px solid var(--astral-olive-400)}.horo-dont-miss-box{margin-top:var(--space-6);padding:var(--space-4);background:#a8b5600d;border-radius:var(--r-sm);border:1px dashed var(--astral-line-strong);display:flex;gap:var(--space-3);align-items:flex-start}.flex-column-gap-sm{display:flex;flex-direction:column;gap:var(--space-1-5)}.transit-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--astral-line)}.transit-glyph{width:28px;font-family:"Noto Sans Symbols 2",Times New Roman,serif;color:var(--astral-olive-300);font-size:18px}.transit-sign-glyph{font-family:"Noto Sans Symbols 2",Times New Roman,serif;color:var(--astral-olive-100)}.retro-row{padding-bottom:var(--space-3);border-bottom:1px solid var(--astral-line)}.retro-row-head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:6px}.retro-row-name{font-weight:600;font-size:14px}.retro-rx{font-family:var(--astral-mono);font-size:12px;color:#f93}.retro-row-pos{margin-left:auto;font-size:11px;color:var(--astral-olive-300);white-space:nowrap}.retro-row-lore{margin:0;font-size:13px;line-height:1.6;color:var(--fg-secondary)}.retro-note{margin:0;font-size:12px;line-height:1.55;font-style:italic;color:var(--fg-secondary);opacity:.85}.lunar-phase-title{font-family:var(--astral-display);font-size:24px;margin-bottom:var(--space-1)}.card-saved{padding:var(--space-4-5, 18px);text-align:left;color:var(--fg);font-family:inherit;cursor:pointer;background:var(--astral-mid);border:1px solid var(--astral-line);border-radius:var(--r-card);transition:all .12s ease}.card-saved:hover:not(.active){border-color:var(--astral-olive-400)}.card-saved.active{background:linear-gradient(180deg,rgba(168,181,96,.08),transparent),var(--astral-mid);border-color:var(--astral-line-strong);cursor:default}.badge-active{font-size:10px;padding:2px 6px;border-radius:var(--r-pill);background:var(--astral-olive-400);color:var(--astral-deep)}.saved-chart-name{font-family:var(--astral-display);font-size:18px}.saved-chart-glyphs{font-size:22px;color:var(--astral-olive-300);margin-top:var(--space-3);font-family:"Noto Sans Symbols 2",Times New Roman,serif}.card-add-btn{padding:var(--space-4-5, 18px);display:grid;place-items:center;min-height:130px;cursor:pointer;background:transparent;border:1px dashed var(--astral-line-strong);color:var(--fg-secondary);font-family:inherit;border-radius:var(--r-card);transition:all .12s ease}.card-add-btn:hover{border-color:var(--astral-olive-400);color:var(--fg)}.profile-avatar{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--astral-olive-400),var(--astral-olive-700));display:grid;place-items:center;font-family:var(--astral-display);font-size:36px;color:var(--astral-deep);margin:0 auto var(--space-4)}.font-display-lg{font-family:var(--astral-display);font-size:22px}.active-chart-sig-box{margin-top:var(--space-6);padding:var(--space-4);background:var(--astral-deep);border-radius:var(--r-hug);font-size:12px;color:var(--fg-secondary);line-height:1.7}.active-sig-glyphs{font-family:"Noto Sans Symbols 2",Times New Roman,serif;font-size:20px;color:var(--astral-olive-300)}.profile-checkbox-label{display:flex;align-items:center;gap:var(--space-2-5);margin-top:var(--space-4);padding:var(--space-2) var(--space-1);font-size:12px;color:var(--fg-secondary);cursor:pointer}.btn-danger-ghost{color:var(--tnd-red-500, #F76998)!important}.btn-danger-ghost:hover{border-color:var(--tnd-red-500, #F76998)!important;background:#f43e7b0d!important}.entry-title{font-family:var(--astral-display);font-size:36px;margin:0 0 var(--space-4)}.entry-blurb{font-family:Fraunces,Georgia,serif;font-size:19px;font-style:italic;color:var(--astral-olive-100);line-height:1.6;margin:0 0 var(--space-8)}.entry-header-line{width:12px;height:1px;background:var(--astral-olive-400);flex-shrink:0}.entry-section-h3{font-family:var(--astral-display);font-size:20px;margin:0;color:var(--astral-olive-200)}.entry-section-p{margin:0;margin-left:var(--space-6);font-size:15px;line-height:1.7;color:var(--fg-secondary)}.learn-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-6)}.flex-column-gap-xs{display:flex;flex-direction:column;gap:var(--space-1)}.learn-item-btn{width:100%;text-align:left;padding:16px 18px;background:transparent;border:1px solid var(--astral-line);border-left:2px solid transparent;border-radius:var(--r-xs);cursor:pointer;color:var(--fg);font-family:inherit;display:flex;align-items:center;gap:var(--space-3);transition:all .12s ease}.learn-item-btn:hover{background:var(--astral-glass);border-color:var(--astral-olive-400)}.learn-item-btn.active{background:#a8b56014;border-color:var(--astral-line-strong);border-left-color:var(--astral-olive-400)}.learn-detail{padding:36px}.learn-cats{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-5)}.cat-chip{font-family:var(--astral-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;background:transparent;border:1px solid var(--astral-line);border-radius:var(--r-pill);color:var(--fg-secondary);cursor:pointer;transition:all .12s ease}.cat-chip:hover{background:var(--astral-glass);border-color:var(--astral-olive-400);color:var(--fg)}.cat-chip.active{background:#a8b5601f;border-color:var(--astral-olive-400);color:var(--astral-olive-200)}.houses-section{margin-top:var(--space-10)}.houses-wheel-wrap{display:grid;grid-template-columns:minmax(300px,460px) 1fr;gap:var(--space-6);align-items:start}.houses-wheel{padding:20px;display:flex;flex-direction:column;align-items:center;gap:10px;position:sticky;top:var(--space-4)}.houses-wheel-hint{font-size:10px}.houses-wheel .hw-seg{transition:stroke .15s ease}.houses-wheel g:hover .hw-seg:not(.hw-seg-sel){stroke:#a8b56066}.house-detail{padding:32px}.house-sign-detail{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.house-sign-glyph-xl{font-size:44px;line-height:1;font-family:"Noto Sans Symbols 2",Times New Roman,serif;color:var(--astral-olive-200)}.house-sign-name{font-family:var(--astral-display);font-size:26px}.house-sign-meta{font-size:14px;color:var(--fg-secondary);margin-bottom:var(--space-4)}.house-sign-ruler{color:var(--astral-olive-200)}.sign-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px var(--space-5);margin-bottom:var(--space-5)}.sign-meta-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding-bottom:6px;border-bottom:1px solid var(--astral-line)}.sign-meta-label{font-family:var(--astral-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-secondary);white-space:nowrap}.sign-meta-value{font-size:14px;font-weight:500;text-align:right}.house-lore{border-left:2px solid var(--astral-gold);padding-left:var(--space-4)}.house-lore-label{font-family:var(--astral-mono);font-size:10px;letter-spacing:.2em;color:var(--astral-gold);margin-bottom:6px}.house-lore-text{margin:0;font-size:14px;line-height:1.65;color:var(--fg-secondary);font-style:italic}.houses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.house-card{padding:18px;display:flex;flex-direction:column;gap:6px;border-top:2px solid var(--astral-line);text-align:left;font-family:inherit;color:var(--fg);cursor:pointer}.house-card:hover{border-color:var(--astral-olive-400)}.house-card.selected{border-color:var(--astral-gold);border-top-color:var(--astral-gold)!important;background-image:linear-gradient(110deg,#e9c46a00 35%,#e9c46a24,#e9c46a00 65%);background-size:250% 100%;animation:gold-shimmer 3s linear infinite;box-shadow:0 0 22px #e9c46a2e,0 8px 32px #0000004d}.house-card.selected .house-num,.house-card.selected .house-traits,.house-card.selected .house-glyph{color:var(--astral-gold)}@keyframes gold-shimmer{0%{background-position:125% 0}to{background-position:-125% 0}}@media (prefers-reduced-motion: reduce){.house-card.selected{animation:none}}.house-card.angular{border-top-color:var(--astral-olive-400)}.house-card.succedent{border-top-color:#a8b56073}.house-card.cadent{border-top-color:#a8b56033}.house-card-top{display:flex;justify-content:space-between;align-items:baseline}.house-num{font-family:var(--astral-display);font-size:22px;line-height:1;color:var(--astral-olive-300)}.house-type{font-family:var(--astral-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-secondary)}.house-name{font-size:16px;font-weight:600;margin-top:4px}.house-theme{font-size:13px;line-height:1.5;color:var(--fg-secondary)}.house-traits{font-family:var(--astral-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--astral-olive-200)}.house-sign{margin-top:auto;padding-top:10px;border-top:1px solid var(--astral-line);display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-secondary)}.house-glyph{font-size:15px;color:var(--astral-olive-300)}.house-dates{margin-left:auto;font-family:var(--astral-mono);font-size:11px;letter-spacing:.04em;color:var(--fg-secondary);white-space:nowrap}.dreams-open-btn{margin-bottom:var(--space-6)}.dreams-glossary-lede{max-width:640px}.dreams-glossary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}.dream-symbol-card{padding:18px 20px;border-top:2px solid rgba(168,181,96,.35)}.dream-symbol-name{font-family:var(--astral-display);font-size:19px;color:var(--astral-olive-200);margin-bottom:6px}.dream-symbol-meaning{margin:0;font-size:13px;line-height:1.65;color:var(--fg-secondary)}.today-glance{margin:var(--space-6) 0}.today-glance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.today-tile{padding:16px 18px;display:flex;flex-direction:column;gap:6px;text-align:left;font-family:inherit;color:var(--fg);cursor:pointer}.today-tile:hover{border-color:var(--astral-olive-400)}.today-tile-label{font-family:var(--astral-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--fg-secondary)}.today-tile-main{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;min-height:28px}.today-tile-glyph{font-size:20px;font-family:"Noto Sans Symbols 2",Times New Roman,serif;color:var(--astral-olive-300)}.today-tile-meta{font-family:var(--astral-mono);font-size:11px;letter-spacing:.08em;color:var(--astral-olive-300)}.moon-hero{display:grid;grid-template-columns:auto auto 1fr;gap:var(--space-6);align-items:center;padding:20px 24px;margin-bottom:var(--space-6)}.moon-hero-glyph{display:grid;place-items:center}.moon-hero-lore{border-left:2px solid var(--astral-gold);padding-left:var(--space-4)}.moon-lore-label{font-family:var(--astral-mono);font-size:10px;letter-spacing:.2em;color:var(--astral-gold);margin-bottom:6px}.moon-lore-text{margin:0;font-size:14px;line-height:1.65;color:var(--fg-secondary);font-style:italic}.moon-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:var(--space-6)}.moon-cell{aspect-ratio:1;background:var(--astral-deep);border:1px solid var(--astral-line);border-radius:var(--r-hug);padding:var(--space-2);display:grid;grid-template-rows:auto 1fr auto;position:relative}.moon-cell.today{background:#e9c46a14;border-color:var(--astral-gold)}.moon-cell.today .text-brand{color:var(--astral-gold)}.moon-cell-glyph{display:grid;place-items:center;min-height:0}.moon-cell-glyph svg{height:min(100%,36px);width:auto;aspect-ratio:1}.moon-glyph-shimmer{animation:moon-gold-pulse 2.6s ease-in-out infinite}@keyframes moon-gold-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(233,196,106,.35))}50%{filter:drop-shadow(0 0 10px rgba(233,196,106,.9))}}@media (prefers-reduced-motion: reduce){.moon-glyph-shimmer{animation:none}}.moon-major-dot{width:4px;height:4px;border-radius:50%;background:var(--astral-gold);margin-top:var(--space-1)}.moon-phase-abbr{font-size:9px;font-family:var(--astral-mono);color:var(--astral-gold);text-transform:uppercase;letter-spacing:.1em;text-align:center}.divider-line{flex:1;height:1px;background:var(--astral-line)}.moon-legend{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-2);margin-top:var(--space-6)}.moon-legend-item{background:var(--astral-mid);border:1px solid var(--astral-line);border-radius:var(--r-hug);padding:var(--space-3);text-align:center;position:relative}.planets-table-card{padding:0;overflow:hidden}.planets-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.planets-table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px;table-layout:fixed}.planets-table thead tr{background:var(--astral-deep)}.planets-table th{text-align:left;padding:14px 16px;font-size:11px;letter-spacing:.2em;color:var(--fg-secondary);text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--astral-line);white-space:nowrap}.planets-table tbody tr{border-bottom:1px solid var(--astral-line);cursor:pointer;transition:background .12s ease}.planets-table tbody tr:hover{background:#a8b56005}.planets-table tbody tr.active{background:#a8b5600a}.planets-table td{padding:14px 16px}.planets-table td.font-bold{font-weight:600}.sign-cell{display:inline-flex;align-items:center;gap:var(--space-1-5)}.glyph-symbol{font-family:"Noto Sans Symbols 2",Times New Roman,serif;color:var(--astral-olive-300)}.retrograde-text{color:var(--tnd-orange-200, #FF9933)}.direct-text{color:var(--fg-secondary)}.planets-table-expanded-td{padding:18px 24px 22px 90px;font-size:13px;line-height:1.65;color:var(--fg-secondary);background:#a8b5600a;border-top:1px solid var(--astral-line);border-bottom:1px solid var(--astral-line);word-break:break-word;white-space:normal}.aspect-card{padding:18px;cursor:pointer;transition:all .12s ease}.aspect-card:hover{border-color:var(--astral-line-strong);background:#a8b56005}.aspect-card.active{border-color:var(--astral-line-strong);background:#a8b5600f}.aspect-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.aspect-glyphs{display:flex;align-items:center;gap:var(--space-2-5)}.aspect-symbol{font-size:18px;font-family:"Noto Sans Symbols 2",Times New Roman,serif}.aspect-meta{font-size:11px;letter-spacing:.15em;color:var(--fg-secondary);text-transform:uppercase}.aspect-expanded{margin-top:14px;padding-top:14px;border-top:1px solid var(--astral-line);font-size:13px;line-height:1.65;color:var(--fg)}.aspect-pair-text{margin-bottom:10px;color:var(--astral-olive-200);font-style:italic}.aspect-orb-line{font-size:11px;color:var(--astral-olive-300);margin-top:6px}.aspect-grid-scroll{overflow-x:auto}.aspect-grid-table{border-collapse:collapse;margin:0 auto}.aspect-grid-label-cell{width:50px;height:50px;padding:0}.aspect-grid-label-cell.border-right{border-right:1px solid var(--astral-line)}.aspect-grid-label-cell.border-top{border-top:1px solid var(--astral-line)}.aspect-grid-label-inner{display:grid;place-items:center;height:100%;font-family:"Noto Sans Symbols 2",Times New Roman,serif;font-size:22px;color:var(--astral-olive-300)}.aspect-grid-cell{width:50px;height:50px;padding:0;border:1px solid var(--astral-line);position:relative;cursor:default}.aspect-grid-cell.clickable{cursor:pointer}.aspect-grid-cell-inner{display:grid;place-items:center;height:100%;position:relative}.aspect-grid-cell-symbol{font-size:18px;font-family:"Noto Sans Symbols 2",Times New Roman,serif}.aspect-grid-cell-orb{position:absolute;bottom:2px;font-size:8px;color:var(--fg-secondary)}.aspect-grid-cell-empty{width:50px;height:50px;padding:0;background:var(--astral-deep)}.aspect-grid-detail-card{padding:18px;margin:16px auto 0;max-width:640px}.aspect-legend-list{display:flex;gap:16px;justify-content:center;margin-top:24px;flex-wrap:wrap}.aspect-legend-item{display:flex;align-items:center;gap:8px;font-size:12px}.tarot-card{position:relative;border:1px solid var(--astral-line-strong);border-radius:10px;padding:0;color:var(--fg);font-family:inherit;text-align:left;aspect-ratio:5 / 8;display:block;min-height:0;overflow:hidden;width:100%;cursor:default;transition:all .12s ease}.tarot-card.clickable{cursor:pointer}.tarot-card.clickable:hover{border-color:var(--astral-olive-400);box-shadow:0 4px 12px #0003}.tarot-card-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.tarot-placeholder-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;padding:12px}.tarot-placeholder-row{display:flex;justify-content:space-between;font-family:var(--astral-mono)}.tarot-placeholder-row-top{align-items:flex-start}.tarot-placeholder-row-bottom{align-items:flex-end}.tarot-placeholder-center{text-align:center;flex:1;display:grid;place-items:center}.tarot-placeholder-center-glyph{line-height:1;font-family:"Noto Sans Symbols 2",Times New Roman,serif}.tarot-card-sm .tarot-placeholder-inner{padding:6px}.tarot-card-sm .tarot-placeholder-row{font-size:11px}.tarot-card-sm .tarot-placeholder-row-top span:last-child{font-size:15px}.tarot-card-sm .tarot-placeholder-center-glyph{font-size:32px}.tarot-card-md .tarot-placeholder-inner{padding:12px}.tarot-card-md .tarot-placeholder-row{font-size:14px}.tarot-card-md .tarot-placeholder-row-top span:last-child{font-size:18px}.tarot-card-md .tarot-placeholder-center-glyph{font-size:52px}.tarot-card-lg .tarot-placeholder-inner{padding:14px}.tarot-card-lg .tarot-placeholder-row{font-size:14px}.tarot-card-lg .tarot-placeholder-row-top span:last-child{font-size:18px}.tarot-card-lg .tarot-placeholder-center-glyph{font-size:60px}.tarot-reversed-badge{position:absolute;left:6px;bottom:6px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#e0e5bb;font-family:var(--astral-mono);background:#05060fd9;padding:2px 6px;border-radius:3px;transform:rotate(180deg);border:1px solid rgba(224,229,187,.55);box-shadow:0 0 0 1px #0000008c,0 1px 3px #00000080;text-shadow:0 1px 2px rgba(0,0,0,.85)}.tarot-card.face-down{background:radial-gradient(circle at 50% 50%,var(--astral-elevated) 0%,var(--astral-deep) 100%)!important;border:1px solid var(--astral-line-strong);box-shadow:inset 0 0 20px #a8b56026;display:flex;align-items:center;justify-content:center;aspect-ratio:5 / 8}.tarot-card.face-down.clickable:hover{border-color:var(--astral-olive-300);box-shadow:0 0 16px #a8b5604d,inset 0 0 16px #a8b56033;transform:translateY(-4px)}.tarot-card.selected{border-color:var(--astral-olive-200);box-shadow:0 0 20px #c4d68266,inset 0 0 12px #c4d68233}.tarot-card-back-pattern{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px dashed var(--astral-olive-500);border-radius:6px;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:.7}.tarot-card-back-pattern:before{content:"✦";font-size:28px;color:var(--astral-olive-300);text-shadow:0 0 8px var(--astral-olive-400)}.tarot-card-back-pattern:after{content:"PLANETALIN";font-family:var(--astral-mono);font-size:8px;letter-spacing:.25em;color:var(--astral-olive-500);margin-top:12px}.tarot-duo-setup{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.tarot-duo-cards{display:grid;grid-template-columns:repeat(3,120px);gap:20px;justify-content:center;margin:32px 0}.tarot-duo-card-wrapper{display:flex;flex-direction:column;align-items:center;gap:8px}.tarot-duo-share-box{margin-top:24px;padding:16px;border:1px dashed var(--astral-olive-400);border-radius:var(--r-sm);background:#a8b56008}.tarot-duo-result{display:flex;flex-direction:column;gap:24px;margin-top:32px}.tarot-duo-result-cards{display:flex;gap:32px;justify-content:center;flex-wrap:wrap}.tarot-duo-chemistry-card{border:1px solid var(--astral-olive-300);background:#a8b5600d}.tarot-detail{padding:24px;margin-top:16px;position:relative}.tarot-detail-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--fg-secondary);cursor:pointer;font-size:22px;padding:6px;line-height:1;z-index:1;transition:color .12s}.tarot-detail-close:hover{color:var(--fg)}.tarot-detail-grid{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start}.tarot-detail-theme{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:16px;color:var(--astral-olive-100);line-height:1.5}.tarot-detail-section{margin-top:18px}.tarot-detail-section-body{font-size:14px;line-height:1.7;color:var(--fg-secondary)}.deck-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.deck-card-wrapper{opacity:.78;transition:all .16s ease;border-radius:12px}.deck-card-wrapper.has-art{opacity:1}.deck-card-wrapper.active{outline:2px solid var(--astral-olive-400);outline-offset:2px}.deck-card-label{font-size:11px;line-height:1.25;color:var(--fg-secondary);margin-top:6px;font-family:var(--astral-display);letter-spacing:.02em;text-align:center;word-break:break-word}.deck-card-wrapper.has-art .deck-card-label{color:var(--fg)}.tarot-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:28px}.tarot-checkbox-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--fg-secondary);cursor:pointer}.tarot-checkbox{accent-color:var(--astral-olive-400);width:14px;height:14px}.tarot-spread-preview{opacity:.75}.tarot-preview-hint{margin-top:var(--space-4);color:var(--fg-secondary);font-style:italic;font-family:Fraunces,Georgia,serif;font-size:16px;text-align:center}.tarot-empty-state{display:grid;place-items:center;min-height:320px;color:var(--fg-secondary);font-style:italic;font-family:Fraunces,Georgia,serif;font-size:18px;text-align:center;padding:0 24px}.tarot-spread-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -24px;padding:0 24px}.tarot-spread{position:relative;width:100%}.tarot-spread-celtic{height:700px;min-width:520px}.tarot-spread-three{height:380px;min-width:480px}.tarot-spread-single{height:380px;min-width:240px}.tarot-slot{position:absolute;transition:transform .2s;display:flex;flex-direction:column;gap:8px}.tarot-spread-celtic .tarot-slot{width:110px}.tarot-spread-three .tarot-slot{width:180px}.tarot-spread-single .tarot-slot{width:220px}.tarot-slot-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;text-align:center;color:var(--astral-olive-300)}@media (max-width: 720px){.tarot-detail-grid{grid-template-columns:1fr;justify-items:center;text-align:center}.tarot-detail-art{width:140px}}@media (max-width: 900px){.app{grid-template-columns:1fr}.sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;flex-direction:row;border-right:none;border-top:1px solid var(--astral-line);padding:12px;gap:8px;z-index:20;overflow-x:auto;background:#05060ff2}.sidebar .brand,.sidebar-footer,.nav-section-label{display:none}.sidebar .nav{flex-direction:row;gap:4px}.nav-item{flex-direction:column;padding:8px 10px;font-size:9px;letter-spacing:.05em;text-transform:uppercase;gap:4px;flex:1;text-align:center;min-width:60px}.topbar{padding:16px 20px}.topbar-title{font-size:18px}.coord-readout{display:none}.page{padding:20px 16px 100px}.section-title{font-size:36px}}.astrolabe-wrapper{width:140px;height:140px;display:grid;place-items:center;position:relative;margin:0 auto}.astrolabe-svg{width:100%;height:100%;overflow:visible}.orbit-ring{transform-origin:100px 100px}.orbit-ring-slow{animation:orbit 120s linear infinite}.orbit-ring-mid{animation:orbitRev 80s linear infinite}.orbit-ring-fast{animation:orbit 40s linear infinite}.planet-dot{transform-origin:100px 100px}.planet-dot-1{animation:orbit 30s linear infinite}.planet-dot-2{animation:orbitRev 50s linear infinite}.no-chart-container{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:var(--space-4) 0}.card-bg-glyph{position:absolute;right:16px;bottom:8px;font-size:88px;font-family:"Noto Sans Symbols 2",Times New Roman,serif;color:var(--astral-olive-400);opacity:.03;pointer-events:none;line-height:1;transition:all .4s cubic-bezier(.16,1,.3,1);z-index:0}.card-btn:hover .card-bg-glyph{opacity:.08;transform:scale(1.1) rotate(6deg);color:var(--astral-olive-200);filter:drop-shadow(0 0 8px rgba(196,214,130,.15))}.personality-dashboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-6);margin-top:var(--space-6)}.personality-tags-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-4)}.bg-glass-tag{background:#ffffff08;border:1px solid var(--astral-line);padding:4px 10px;border-radius:var(--r-pill);font-size:10px;color:var(--fg-secondary)}.quiz-container{max-width:760px;margin:var(--space-6) auto 0}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.quiz-progress-bar{width:100%;height:4px;background:#ffffff0d;border-radius:var(--r-pill);overflow:hidden;margin-bottom:var(--space-8)}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--astral-olive-400),var(--astral-olive-200));box-shadow:0 0 10px var(--astral-olive-300);transition:width .3s cubic-bezier(.16,1,.3,1)}.quiz-question-box{min-height:120px;display:flex;align-items:center;margin-bottom:var(--space-8)}.quiz-question-box h2{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:28px;font-weight:300;line-height:1.4;color:var(--fg);margin:0}.likert-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-3);margin-bottom:var(--space-8)}.likert-btn{background:#ffffff04;border:1px solid var(--astral-line-strong);border-radius:var(--r-sm);padding:16px var(--space-2);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--fg-secondary);transition:all .25s ease}.likert-btn:hover{background:#a8b5600f;border-color:var(--astral-olive-400);color:var(--fg);transform:translateY(-2px)}.likert-btn.active{background:linear-gradient(135deg,#a8b56033,#a8b5600d);border-color:var(--astral-olive-200);color:var(--astral-olive-200);box-shadow:0 0 16px #a8b56026,inset 0 0 8px #a8b5601a}.likert-num{font-family:var(--astral-mono);font-size:18px;font-weight:600}.likert-label{font-size:10px;text-align:center;line-height:1.3}.quiz-navigation{display:flex;justify-content:space-between;border-top:1px solid var(--astral-line);padding-top:var(--space-4)}.results-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-6);margin-top:var(--space-6);align-items:start}.ocean-bars-container{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-4)}.ocean-trait-row{display:flex;flex-direction:column;gap:8px}.ocean-trait-header{display:flex;justify-content:space-between;align-items:center}.ocean-trait-name{font-family:var(--astral-display);font-size:18px;letter-spacing:.02em;font-weight:600}.ocean-trait-score{font-size:16px;color:var(--astral-olive-300)}.ocean-trait-bar-outer{width:100%;height:6px;background:#ffffff08;border:1px solid var(--astral-line);border-radius:var(--r-pill);overflow:hidden}.ocean-trait-bar-inner{height:100%;border-radius:var(--r-pill);box-shadow:0 0 10px #ffffff1a;transition:width 1s cubic-bezier(.16,1,.3,1)}.bar-openness{background:linear-gradient(90deg,#9a4eff,#ff33e4);box-shadow:0 0 8px #9a4eff66}.bar-conscientiousness{background:linear-gradient(90deg,#00bfff,#00a1d6);box-shadow:0 0 8px #00bfff66}.bar-extraversion{background:linear-gradient(90deg,#ff8000,#dfa920);box-shadow:0 0 8px #ff800066}.bar-agreeableness{background:linear-gradient(90deg,#33cca6,#30a688);box-shadow:0 0 8px #33cca666}.bar-neuroticism{background:linear-gradient(90deg,#f43e7b,#bb0844);box-shadow:0 0 8px #f43e7b66}.ocean-trait-desc{font-size:13px;color:var(--fg-secondary);line-height:1.5;margin:0}.jungian-profile-header{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4) 0}.jungian-code{font-family:var(--astral-display);font-size:56px;font-weight:700;letter-spacing:.05em;background:linear-gradient(135deg,var(--fg) 30%,var(--astral-olive-200) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.jungian-archetype-name{font-family:Fraunces,Georgia,serif;font-style:italic;font-size:26px;font-weight:300;margin:0;color:var(--astral-olive-100)}.jungian-archetype-desc{font-size:14px;line-height:1.7;color:var(--fg);margin:0 0 var(--space-6)}.jungian-scales-breakdown{display:flex;flex-direction:column;gap:var(--space-4);border-top:1px solid var(--astral-line);padding-top:var(--space-4)}.jungian-scale-row{display:flex;flex-direction:column;gap:8px}.jungian-scale-label{font-size:10px;color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.18em}.jungian-scale-line{display:flex;justify-content:space-between;align-items:center;background:#ffffff03;border:1px solid var(--astral-line);border-radius:var(--r-sm);padding:10px 14px;position:relative}.jungian-scale-node{font-size:12px;color:var(--fg-secondary);position:relative;z-index:1}.jungian-scale-node.active{color:var(--astral-olive-200);font-weight:600;text-shadow:0 0 8px rgba(196,214,130,.4)}.jungian-scale-node.friend-active{color:var(--astral-olive-400);font-weight:600;text-shadow:0 0 8px rgba(168,181,96,.3)}.jungian-scale-connector{position:absolute;left:20%;right:20%;height:1px;background:var(--astral-line-strong);z-index:0}@media (max-width: 900px){.results-grid{grid-template-columns:1fr}}@media (max-width: 600px){.likert-scale{grid-template-columns:1fr;gap:8px}.likert-btn{flex-direction:row;justify-content:space-between;padding:12px 16px}.likert-label{text-align:right}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.animate-fade-in{animation:fade-in-up .32s ease both}.page{animation:fade-in-up .26s ease both}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--astral-olive-300);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes shoot{0%{transform:rotate(var(--ss-angle)) translate(0);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:rotate(var(--ss-angle)) translate(var(--ss-dist));opacity:0}}@keyframes twinkle{0%,to{opacity:.55}50%{opacity:1}}@keyframes nebulaDrift{0%{transform:translateZ(0)}50%{transform:translate3d(20px,-16px,0)}to{transform:translateZ(0)}}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitRev{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.starfield:before{animation:twinkle 6s ease-in-out infinite,orbit 840s linear infinite;transform-origin:50% 50%}.starfield:after{animation:twinkle 9s ease-in-out infinite alternate,orbitRev 540s linear infinite;transform-origin:50% 50%}.starfield{animation:nebulaDrift 60s ease-in-out infinite}[data-star-density=low] .starfield:before,[data-star-density=low] .starfield:after{opacity:.45}[data-star-density=medium] .starfield:before,[data-star-density=medium] .starfield:after{opacity:.85}[data-star-density=high] .starfield:before,[data-star-density=high] .starfield:after{opacity:1}.shooting-star{position:fixed;top:var(--ss-top);left:var(--ss-left);width:120px;height:1.5px;background:linear-gradient(90deg,transparent 0%,rgba(196,214,130,.25) 50%,rgba(255,255,255,.95) 100%);opacity:0;border-radius:9999px;filter:drop-shadow(0 0 6px rgba(196,214,130,.45));pointer-events:none;z-index:1;animation:shoot var(--ss-dur) linear forwards;transform-origin:0% 50%}.shooting-star:after{content:"";position:absolute;right:-2px;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 12px 2px #ffffffe6}.constellation{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.18;background:radial-gradient(1.5px 1.5px at 12% 18%,var(--astral-olive-200),transparent),radial-gradient(1.5px 1.5px at 76% 22%,var(--astral-olive-200),transparent),radial-gradient(1.5px 1.5px at 44% 80%,var(--astral-olive-200),transparent),radial-gradient(1.5px 1.5px at 88% 64%,var(--astral-olive-200),transparent),radial-gradient(1.5px 1.5px at 28% 48%,var(--astral-olive-200),transparent);mix-blend-mode:screen}.nav-item.locked{opacity:.35;cursor:not-allowed}.nav-item.locked:hover{background:transparent;color:var(--fg-secondary)}.nav-item .lock-pip{margin-left:auto;font-size:9px;letter-spacing:.1em;color:var(--astral-olive-500)}.locked-screen{display:grid;place-items:center;min-height:60vh}.locked-card{max-width:460px;text-align:center;border:1px dashed var(--astral-line-strong);border-radius:14px;padding:36px;background:var(--astral-glass)}.geo-results{border:1px solid var(--astral-line-strong);border-radius:10px;background:var(--astral-mid);margin-top:6px;max-height:220px;overflow-y:auto}.geo-result{display:flex;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--astral-line);cursor:pointer;font-size:13px}.geo-result:last-child{border-bottom:none}.geo-result:hover{background:#a8b5600f}.geo-result .geo-tz{color:var(--fg-secondary);font-size:11px}.field-error{color:#f76998;font-size:12px;margin-top:4px}@media (max-width: 720px){.topbar{flex-wrap:wrap;gap:12px;padding:12px 16px}.topbar>div:first-child{flex:1 1 100%}.topbar-right{flex:1 1 100%;justify-content:space-between;gap:8px}.topbar-right .btn,.lang-toggle{flex:0 0 auto}}@media (max-width: 720px){.sign-strip{display:flex!important;grid-template-columns:none!important;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--astral-line-strong) transparent}.sign-strip>button{flex:0 0 auto;min-width:70px;padding:16px 12px!important;scroll-snap-align:start}.sign-strip::-webkit-scrollbar{height:4px}.sign-strip::-webkit-scrollbar-thumb{background:var(--astral-line-strong);border-radius:999px}}.forecast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 720px){.forecast-grid{grid-template-columns:1fr}}@media (max-width: 900px){.horo-grid{grid-template-columns:1fr!important}}@media (max-width: 900px){.chart-grid{grid-template-columns:1fr!important}}@media (max-width: 900px){.moon-grid{grid-template-columns:1fr!important}}@media (max-width: 900px){.profile-grid{grid-template-columns:1fr!important}}@media (max-width: 900px){.hero-grid{grid-template-columns:1fr!important}}@media (max-width: 900px){.learn-grid{grid-template-columns:1fr!important}}@media (max-width: 1000px){.houses-wheel-wrap{grid-template-columns:1fr}.houses-wheel{position:static;max-width:480px;margin:0 auto;width:100%}}@media (max-width: 560px){.houses-grid{grid-template-columns:1fr}}@media (max-width: 720px){.input{font-size:16px}}@media (max-width: 720px){.section-title{font-size:28px!important;line-height:1.15}}@media (max-width: 720px){.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs .tab{flex:0 0 auto}}@keyframes sheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (max-width: 720px){.btn-sm{min-height:36px;padding:8px 12px}}@media (max-width: 720px){.tarot-detail-grid{grid-template-columns:1fr!important}.tarot-detail-art{max-width:200px;margin:0 auto}}@media (max-width: 720px){.tarot-spread-celtic{min-width:460px!important}.tarot-spread-celtic .tarot-slot{width:88px!important}.tarot-spread-three{min-width:420px!important}.tarot-spread-three .tarot-slot{width:130px!important}.tarot-spread-scroll{box-shadow:inset -16px 0 12px -16px #a8b5602e}}@media (max-width: 480px){.tarot-spread-celtic{min-width:420px!important}.tarot-spread-celtic .tarot-slot{width:76px!important}}@media (max-width: 480px){.tarot-card{font-size:11px}}.constellation-link{display:inline-block;margin-top:48px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-secondary);text-decoration:none;border-bottom:1px dashed transparent;padding-bottom:2px;transition:color .16s,border-color .16s}.constellation-link:hover{color:var(--astral-olive-300);border-bottom-color:var(--astral-olive-400)}.constellation-link span{color:var(--astral-olive-400);margin-left:4px}.dob-toggle{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.04em;color:var(--fg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0 6px}.dob-toggle input{accent-color:var(--astral-olive-400);width:14px;height:14px;margin:0}@media (max-width: 720px){.dob-toggle{font-size:12px}}.house-system-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:linear-gradient(45deg,transparent 50%,var(--astral-olive-300) 50%) calc(100% - 14px) 50% / 5px 5px no-repeat,var(--astral-deep);border:1px solid var(--astral-line-strong);color:var(--fg);font:12px var(--astral-mono);padding:6px 30px 6px 12px;border-radius:999px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}.house-system-select:hover{border-color:var(--astral-olive-400)}.screen-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}.screen-header>div:first-child{min-width:0;flex:1 1 auto}.screen-header-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}@media (max-width: 720px){.screen-header{gap:12px;align-items:flex-start}.screen-header>div:first-child{flex:1 1 100%}.screen-header-actions{flex:1 1 100%}}.moon-nav{display:flex;gap:8px;align-items:center}.moon-nav-label{font-size:13px;padding:0 16px;min-width:140px;text-align:center;color:var(--astral-olive-300)}.moon-this-month{margin-left:8px}@media (max-width: 720px){.moon-nav{flex:1 1 100%;justify-content:space-between;gap:4px}.moon-nav-label{flex:1 1 auto;min-width:0;padding:0 8px;font-size:12px}.moon-this-month{margin-left:0}}@media (max-width: 1100px){.today-glance-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.today-glance-grid{grid-template-columns:1fr}}@media (max-width: 800px){.moon-hero{grid-template-columns:auto 1fr;gap:var(--space-4);padding:16px}.moon-hero-lore{grid-column:1 / -1;border-left:none;border-top:1px solid rgba(233,196,106,.4);padding-left:0;padding-top:var(--space-3)}}.moon-cal-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.moon-cal-head{margin-bottom:8px}.moon-cal-dayname{font-size:10px;letter-spacing:.2em;color:var(--fg-secondary);text-align:center;padding:4px 0}@media (max-width: 720px){.moon-grid>.card{padding:8px!important;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;min-width:0}.moon-cal-row{gap:3px;min-width:0;width:100%}.moon-cell{padding:clamp(2px,1vw,6px)!important;border-radius:5px!important;min-width:0;overflow:hidden;aspect-ratio:auto!important;min-height:clamp(56px,14vw,78px)}.moon-cell svg{width:clamp(18px,6vw,28px)!important;height:clamp(18px,6vw,28px)!important}.moon-cell .mono{font-size:clamp(8px,2vw,10px)!important;letter-spacing:.04em}.moon-cell>.mono:last-child{font-size:clamp(6px,1.5vw,8px)!important;letter-spacing:0;line-height:1}.moon-cal-dayname{font-size:clamp(7px,1.8vw,10px);letter-spacing:.05em;padding:2px 0}}@media (max-width: 380px){.moon-cell>div:first-child>span:last-child{display:none}.moon-cell svg{width:18px!important;height:18px!important}.moon-cal-row{gap:2px}.moon-grid>.card{padding:6px!important}}.page{overflow-x:clip;min-width:0}html,body{overflow-x:clip}@media (max-width: 720px){.moon-legend{grid-template-columns:repeat(4,1fr)!important}}@media (max-width: 720px){.sign-strip>button>span:last-child{font-size:9px!important}}.onboard-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 720px){.onboard-row{grid-template-columns:1fr}}@media (max-width: 720px){.tab{padding:8px 14px;font-size:12px}}@media (max-width: 720px){.horo-nav{flex-wrap:wrap;gap:8px}.horo-nav .mono-tag{flex:1 1 auto}}@media (max-width: 720px){.profile-grid>div:nth-child(2)>div[style*=grid-template-columns]{grid-template-columns:1fr!important}}@media (max-width: 900px){.chart-grid>div{min-width:0}}@media (max-width: 720px){.horo-grid .card{padding:16px}}.learn-item-body,.learn-chevron{display:none}@media (max-width: 900px){.learn-detail{display:none!important}.learn-item.open .learn-item-body{display:block}.learn-chevron{display:inline-flex}.learn-item{border-radius:8px;overflow:hidden}.learn-item.open{background:#a8b5600a}.learn-item-body h2{font-size:26px!important}.learn-item-body p[style*=Fraunces]{font-size:16px!important}.learn-item-body h3{font-size:17px!important}}@media (max-width: 480px){.page{padding:16px 12px 100px!important}.section-title{font-size:24px!important}.section-lede{font-size:14px}}@media (max-width: 720px){.section-eyebrow{letter-spacing:.16em;font-size:10px;line-height:1.4}.planets-table th,.planets-table td{padding:10px!important}.planets-table{font-size:12px!important}.planets-table-card{box-shadow:inset -16px 0 12px -16px #a8b5602e}.planets-tap-hint{text-align:center!important}.constellation-link{display:block;text-align:center;margin-top:32px;padding:12px}.planets-table tr td[colspan]{padding:16px 14px 18px!important;font-size:12.5px!important}}
