.city-search{position:relative}.city-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:all .3s}.city-input:focus{outline:none;border-color:#c9a84c;box-shadow:0 0 0 2px #c9a84c1a}.city-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #E8D48B;border-top:none;border-radius:0 0 6px 6px;list-style:none;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 8px #0000001a}.city-results li{padding:10px 12px;cursor:pointer;transition:background .2s;border-bottom:1px solid #f0f0f0;font-size:.9rem}.city-results li:last-child{border-bottom:none}.city-results li:hover{background:#f9f9f9}.city-results li strong{color:#1a1a1a}.city-results li span{color:#999;font-size:.85rem;margin-left:6px}.input-form-container{max-width:520px;margin:0 auto}.form-card{background:#fff;border-radius:16px;padding:48px;box-shadow:0 4px 32px #0000000f;border:1px solid rgba(201,168,76,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:cardSlideIn .6s cubic-bezier(.34,1.56,.64,1) .2s backwards}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.form-header{margin-bottom:36px;text-align:center}.form-title{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;color:#1a1a1a;margin-bottom:8px;letter-spacing:-.02em}.form-subtitle{color:#8b7432;font-size:.95rem;font-weight:400;letter-spacing:.3px}.form-group{margin-bottom:28px;animation:fieldFadeIn .5s cubic-bezier(.34,1.56,.64,1) backwards}.form-group:nth-child(2){animation-delay:.1s}.form-group:nth-child(3){animation-delay:.2s}@keyframes fieldFadeIn{0%{opacity:0}to{opacity:1}}.form-label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#1a1a1a;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.label-text{flex:1}.label-required{color:#c9a84c}.date-inputs,.time-inputs{display:flex;gap:0;align-items:center}.date-inputs{gap:8px}.separator,.time-separator{color:#c9a84c;font-weight:700;opacity:.6;padding:0 2px}.date-input,.time-input{flex:1;padding:12px;border:1.5px solid #E8D48B;background:#f9f9f9;border-radius:10px;font-size:1rem;font-family:Inter,sans-serif;font-weight:600;color:#1a1a1a;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center}.date-input::placeholder,.time-input::placeholder{color:#ccc}.date-input:focus,.time-input:focus{outline:none;border-color:#c9a84c;background:#fff;box-shadow:0 0 0 3px #c9a84c1a,0 4px 12px #c9a84c26;transform:translateY(-2px)}.date-input.error,.time-input.error{border-color:#c41c3b;background:#c41c3b05}.date-input.year{flex:1.2}.field-error{display:block;color:#c41c3b;font-size:.8rem;font-weight:500;margin-top:6px;animation:errorPulse .4s ease-out}@keyframes errorPulse{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.city-selected{background:linear-gradient(135deg,#c9a84c0d,#8b743205);border:1.5px solid #E8D48B;border-radius:10px;padding:14px;margin-top:10px;animation:slideDown .3s cubic-bezier(.34,1.56,.64,1)}.city-name{font-weight:600;color:#c9a84c;font-size:.95rem;margin-bottom:6px}.city-coords{display:flex;justify-content:space-between;font-size:.85rem;color:#8b7432;gap:12px}.city-tz{opacity:.7}.error-message{background:linear-gradient(135deg,#c41c3b14,#c41c3b0a);color:#c41c3b;padding:14px;border-radius:10px;margin-bottom:24px;font-size:.9rem;border-left:3px solid #C41C3B;display:flex;align-items:center;gap:10px;animation:errorSlideIn .3s cubic-bezier(.34,1.56,.64,1)}.error-icon{font-size:1.1rem;flex-shrink:0}@keyframes errorSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.submit-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#c9a84c,#8b7432);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;transition:opacity .3s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #c9a84c4d}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn.ready{animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 4px 12px #c9a84c33}50%{box-shadow:0 4px 24px #c9a84c66}}.btn-icon{font-size:1.1rem}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-help{text-align:center;font-size:.8rem;color:#999;margin-top:20px;font-style:italic;letter-spacing:.2px}@media (max-width: 768px){.form-card{padding:32px 24px}.form-title{font-size:1.5rem}.date-inputs{gap:4px}}@media (max-width: 480px){.form-card{padding:24px 16px}.form-title{font-size:1.25rem}.form-group{margin-bottom:20px}}.natal-chart-wrapper{display:flex;flex-direction:column;align-items:center;gap:32px;animation:chartFadeIn .8s cubic-bezier(.34,1.56,.64,1) .2s backwards}@keyframes chartFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.natal-chart-container{width:100%;max-width:600px;display:flex;justify-content:center}.natal-chart-svg{width:100%;height:auto;filter:drop-shadow(0 8px 32px rgba(0,0,0,.08));will-change:filter}.sign-group{animation:signAppear .6s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes signAppear{0%{opacity:0}to{opacity:1}}.sign-symbol{font-size:18px;font-weight:700;fill:#c9a84c;opacity:.85;cursor:help;transition:all .3s cubic-bezier(.4,0,.2,1)}.sign-symbol:hover{opacity:1;font-size:20px}.house-group{animation:houseAppear .6s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes houseAppear{0%{opacity:0}to{opacity:1}}.house-number{font-size:11px;font-weight:700;fill:#c9a84c;opacity:.6;letter-spacing:.5px}.planet-group{cursor:pointer;animation:planetFloat .8s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes planetFloat{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.planet-circle{transition:all .3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 6px rgba(201,168,76,.1))}.planet-group:hover .planet-circle{r:11;stroke-width:2;filter:drop-shadow(0 4px 12px rgba(201,168,76,.3))}.planet-symbol{font-size:16px;font-weight:700;fill:#c9a84c;pointer-events:none;-webkit-user-select:none;user-select:none}.planet-aura{animation:pulse-aura 1.5s ease-in-out infinite;will-change:r,opacity}@keyframes pulse-aura{0%,to{r:12;opacity:.3}50%{r:16;opacity:.1}}.planet-tooltip{background:#191919f2;color:#fff;padding:8px 12px;border-radius:8px;font-size:12px;text-align:center;border:1px solid #C9A84C;box-shadow:0 8px 24px #0003;animation:tooltipSlideIn .2s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:10}@keyframes tooltipSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tooltip-name{font-weight:700;color:#c9a84c;margin-bottom:2px}.tooltip-sign{color:#ddd;font-size:11px}.aspect-line{transition:stroke-width .3s cubic-bezier(.4,0,.2,1);will-change:stroke-width}.chart-summary{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;padding:24px;background:linear-gradient(135deg,#c9a84c08,#8b743205);border:1px solid #E8D48B;border-radius:12px;width:100%;max-width:600px}.summary-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 16px}.summary-item:not(:last-child){border-right:1px solid rgba(201,168,76,.2)}.summary-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#8b7432}.summary-value{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:600;color:#c9a84c}.chart-hint{font-size:.85rem;color:#999;letter-spacing:.3px;text-align:center;animation:fadeInLate .6s cubic-bezier(.34,1.56,.64,1) .4s backwards}@keyframes fadeInLate{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.natal-chart-wrapper{gap:24px}.natal-chart-container,.natal-chart-svg{max-width:100%}.chart-summary{gap:16px;padding:16px}.summary-item{padding:0 12px}.summary-item:not(:last-child){border-right:none;border-bottom:1px solid rgba(201,168,76,.2);padding-bottom:12px}.summary-label{font-size:.7rem}.summary-value{font-size:1rem}}@media (max-width: 480px){.chart-summary{flex-direction:column;gap:12px}.summary-item:not(:last-child){border-right:none;border-bottom:1px solid rgba(201,168,76,.2);padding-bottom:12px}}.celestial-table-container{display:flex;flex-direction:column;gap:30px}.table-section{background:#f9f9f9;border:1px solid #E8D48B;border-radius:8px;padding:20px}.table-section h3{color:#c9a84c;font-size:1.1rem;margin-bottom:16px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.celestial-table{width:100%;border-collapse:collapse;font-size:.9rem}.celestial-table thead{background:#fff;border-bottom:2px solid #C9A84C}.celestial-table th{padding:12px;text-align:left;color:#1a1a1a;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-size:.85rem}.celestial-table td{padding:10px 12px;border-bottom:1px solid #E8D48B;color:#666}.celestial-table tbody tr:hover{background:#fff}.celestial-table.aspects .aspect-harmonioso{background:#2e7d320d}.celestial-table.aspects .aspect-tenso{background:#c41c3b0d}.celestial-table.aspects .aspect-tenso td{border-left:3px solid #C41C3B}.celestial-table.aspects .aspect-harmonioso td{border-left:3px solid #2E7D32}.distribution-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.distribution-box{background:#fff;border:1px solid #ddd;border-radius:6px;padding:16px;border-left:4px solid #C9A84C}.distribution-box h4{color:#c9a84c;font-size:.95rem;margin-bottom:10px;font-weight:600}.distribution-box p{color:#666;font-size:.9rem;margin-bottom:6px;display:flex;justify-content:space-between}.distribution-box strong{color:#1a1a1a}@media (max-width: 768px){.celestial-table{font-size:.8rem}.celestial-table th,.celestial-table td{padding:8px 6px}.distribution-grid{grid-template-columns:1fr}}.chart-visualization-container{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;padding:40px;box-shadow:0 4px 32px #0000000f;border:1px solid rgba(201,168,76,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:cardFadeIn .6s cubic-bezier(.34,1.56,.64,1) backwards}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;flex-wrap:wrap;gap:20px}.back-btn{padding:10px 20px;background:transparent;border:1.5px solid #C9A84C;color:#c9a84c;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.3px;position:relative;overflow:hidden}.back-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#c9a84c;opacity:0;transition:opacity .3s;z-index:-1}.back-btn:hover{background:#c9a84c;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #c9a84c33}.chart-header h2{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;color:#1a1a1a;letter-spacing:-.02em}.zodiac-toggle{display:flex;gap:4px;background:#f5f3f0;padding:4px;border-radius:10px}.zodiac-toggle button{padding:10px 18px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);color:#8b7432;letter-spacing:.3px}.zodiac-toggle button.active{background:#fff;color:#c9a84c;box-shadow:0 2px 8px #00000014}.zodiac-toggle button:hover:not(.active){color:#1a1a1a}.chart-tabs{display:flex;gap:0;margin-bottom:36px;border-bottom:2px solid #E8D48B}.chart-tabs .tab{padding:14px 28px;background:transparent;border:none;cursor:pointer;font-size:.95rem;font-weight:600;color:#8b7432;transition:all .3s cubic-bezier(.4,0,.2,1);border-bottom:2px solid transparent;margin-bottom:-2px;position:relative;letter-spacing:.3px}.chart-tabs .tab:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#c9a84c;transform:scaleX(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform-origin:left}.chart-tabs .tab.active{color:#c9a84c}.chart-tabs .tab.active:after{transform:scaleX(1)}.chart-tabs .tab:hover{color:#1a1a1a}.chart-content{min-height:600px;animation:contentFadeIn .4s cubic-bezier(.34,1.56,.64,1) .1s backwards}@keyframes contentFadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.chart-visualization-container{padding:32px 24px}.chart-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:28px}.chart-header h2{font-size:1.5rem;width:100%}.zodiac-toggle{width:100%}.zodiac-toggle button{flex:1}.chart-tabs{margin-bottom:28px}.chart-tabs .tab{padding:12px 20px;font-size:.9rem}.chart-content{min-height:auto}}@media (max-width: 480px){.chart-visualization-container{padding:24px 16px}.chart-header h2{font-size:1.25rem}.chart-tabs .tab{padding:10px 14px;font-size:.8rem}}.app-container{width:100%;min-height:100vh;display:flex;flex-direction:column;opacity:1;transition:opacity .3s cubic-bezier(.4,0,.2,1)}.app-container.fade-out{opacity:0}.app-container.fade-in{opacity:1}.app-header{padding:60px 32px 40px;text-align:center;background:linear-gradient(135deg,#c9a84c08,#8b743205);border-bottom:1px solid rgba(201,168,76,.1)}.header-content{max-width:800px;margin:0 auto}.app-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:600;letter-spacing:2px;color:#c9a84c;margin-bottom:12px;animation:slideDown .8s cubic-bezier(.34,1.56,.64,1) .1s backwards}.app-subtitle{font-size:clamp(.875rem,2vw,1.1rem);color:#8b7432;font-weight:400;letter-spacing:.8px;animation:slideDown .8s cubic-bezier(.34,1.56,.64,1) .2s backwards}.app-main{flex:1;padding:48px 32px;max-width:1200px;width:100%;margin:0 auto}.app-footer{padding:32px;text-align:center;border-top:1px solid rgba(201,168,76,.1);background:#fafaf980;font-size:.85rem;color:#999;letter-spacing:.5px}.app-footer p{margin:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.app-header{padding:40px 16px 32px}.app-main{padding:32px 16px}.app-footer{padding:24px 16px}}
