.acg-page{background:#141418;color:#e0e0e0;font-family:Inter,SF Pro Display,-apple-system,sans-serif;min-height:100vh;position:relative;overflow:hidden}.acg-page-inner{position:relative;z-index:1}.acg-ambient-bg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.acg-orb{position:absolute;border-radius:50%}.acg-orb--gold{width:800px;height:800px;top:-350px;left:-300px;background:radial-gradient(circle,rgba(212,175,55,.12) 0,rgba(212,175,55,.04) 40%,transparent 70%);filter:blur(80px)}.acg-orb--purple{width:700px;height:700px;top:-250px;right:-250px;background:radial-gradient(circle,rgba(120,80,200,.1) 0,rgba(120,80,200,.03) 40%,transparent 70%);filter:blur(90px)}.acg-orb--teal{width:750px;height:750px;bottom:-300px;left:-250px;background:radial-gradient(circle,rgba(45,212,191,.08) 0,rgba(45,212,191,.02) 40%,transparent 70%);filter:blur(100px)}.acg-orb--orange{width:650px;height:650px;bottom:-250px;right:-200px;background:radial-gradient(circle,rgba(251,146,60,.09) 0,rgba(244,114,182,.03) 40%,transparent 70%);filter:blur(90px)}.acg-header{text-align:center;padding:48px 24px 40px;max-width:1448px;width:calc(100% - 48px);margin:0 auto;position:relative}.acg-title{font-size:2.5rem;font-weight:300;font-family:Cinzel,Trajan Pro,serif;margin:0 0 16px;letter-spacing:2px;text-transform:uppercase;position:relative;text-shadow:0 0 20px rgba(255,215,0,.3),0 2px 4px rgba(0,0,0,.5);background:linear-gradient(135deg,#FFD700,#FFF8DC 50%,#DAA520);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.acg-title-dot{-webkit-text-fill-color:rgba(255,215,0,.4);font-size:1.5rem;vertical-align:middle}.acg-subtitle{color:rgba(255,255,255,.8);font-size:1rem;margin:0 auto;font-weight:300;max-width:800px;line-height:1.8;letter-spacing:.5px}.acg-guide{max-width:900px;margin:0 auto 20px;width:calc(100% - 48px)}.acg-guide details{background:linear-gradient(135deg,rgba(201,169,97,.04),rgba(255,255,255,.01));border:1px solid rgba(201,169,97,.15);border-radius:8px;overflow:hidden}.acg-guide summary{padding:14px 24px;cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(201,169,97,.7);list-style:none;display:flex;align-items:center;gap:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.acg-guide-arrow{font-size:.7rem;transition:transform .2s;display:inline-block}.acg-guide details[open] .acg-guide-arrow{transform:rotate(90deg)}.acg-guide-content{padding:4px 24px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.acg-guide-section-title{font-size:.72rem;font-weight:700;color:#C9A961;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.acg-input-panel{max-width:900px;margin:0 auto 24px;width:calc(100% - 48px);background:linear-gradient(135deg,rgba(255,255,255,.02),rgba(255,255,255,.008));border:1px solid rgba(255,255,255,.06);border-radius:2px;z-index:10;flex-shrink:0}.acg-input-panel-header{padding:16px 28px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between}.acg-input-panel-header-left{display:flex;align-items:center;gap:16px}.acg-input-label{font-size:.6rem;letter-spacing:.2em;color:rgba(201,169,97,.5);margin-bottom:8px}.acg-input-label,.acg-section-label{text-transform:uppercase;font-weight:600}.acg-section-label{font-size:.65rem;letter-spacing:.25em;color:rgba(201,169,97,.6)}.acg-collapse-btn{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.3);font-size:.75rem;font-family:inherit}.acg-input-grid{padding:24px 28px;display:grid;grid-template-columns:1fr .8fr 1fr 1.5fr;gap:20px}.acg-input-field{width:100%;padding:12px 16px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:4px;color:#e0e0e0;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}.acg-input-field:focus{border-color:rgba(201,169,97,.4)}.acg-input-field--mono{font-family:JetBrains Mono,monospace}.acg-select-field{width:100%;padding:12px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08);border-radius:4px;color:#e0e0e0;font-size:.8rem;font-family:inherit;outline:none;transition:border-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.acg-select-field:focus{border-color:rgba(201,169,97,.4)}.acg-coords-row{padding:0 28px 24px;display:flex;align-items:flex-end;gap:16px}.acg-generate-btn{padding:12px 40px;background:linear-gradient(135deg,rgba(201,169,97,.2),rgba(201,169,97,.08));border:1px solid rgba(201,169,97,.4);border-radius:4px;color:#C9A961;font-weight:600;font-size:.82rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:Cinzel,serif}.acg-generate-btn:hover{background:linear-gradient(135deg,rgba(201,169,97,.35),rgba(201,169,97,.15));border-color:rgba(201,169,97,.7);box-shadow:0 0 20px rgba(201,169,97,.15)}.acg-generate-btn:disabled{background:rgba(201,169,97,.1);border-color:rgba(201,169,97,.2);color:rgba(201,169,97,.4);cursor:not-allowed}.acg-expand-birth-btn{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:20;background:rgba(12,12,14,.9);border:1px solid rgba(201,169,97,.3);border-radius:0 0 8px 8px;color:#C9A961;padding:4px 20px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.1em;backdrop-filter:blur(8px)}.acg-location-dropdown{position:absolute;top:100%;left:0;right:0;background:rgba(14,14,18,.98);border:1px solid rgba(201,169,97,.15);border-radius:0 0 4px 4px;max-height:240px;overflow-y:auto;z-index:100;box-shadow:0 12px 40px rgba(0,0,0,.6)}.acg-location-result{padding:10px 16px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:background .1s}.acg-location-result:hover{background:rgba(201,169,97,.08)}.acg-map-container{position:relative;height:80vh}.acg-loading-overlay{position:absolute;inset:0;z-index:15;background:rgba(10,10,12,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.acg-loading-spinner{width:48px;height:48px;border:3px solid rgba(201,169,97,.2);border-top-color:#c9a961;border-radius:50%;animation:acg-spin .8s linear infinite}.acg-loading-text{margin-top:16px;color:#C9A961;font-size:14px;font-weight:500;letter-spacing:.1em}.acg-empty-state{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.acg-empty-card{background:rgba(12,12,14,.85);border:1px solid rgba(201,169,97,.2);border-radius:16px;padding:40px 48px;text-align:center;max-width:480px;backdrop-filter:blur(12px)}.acg-empty-icon{margin-bottom:16px;opacity:.4;color:#C9A961;display:flex;justify-content:center}.acg-empty-title{font-size:20px;font-weight:700;color:#C9A961;margin-bottom:12px;letter-spacing:.05em;background:linear-gradient(135deg,#FFD700,#FFF8DC 50%,#DAA520);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.acg-empty-text{color:rgba(255,255,255,.5);font-size:14px;line-height:1.6;margin:0}.acg-empty-hint{color:rgba(255,255,255,.35);font-size:12px;line-height:1.5;margin-top:12px;margin-bottom:0}.acg-swe-badge{position:absolute;bottom:60px;left:16px;z-index:10;display:flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(12,12,14,.9);border:1px solid rgba(201,169,97,.2);border-radius:6px;backdrop-filter:blur(8px);font-size:11px;color:rgba(255,255,255,.6);transition:opacity .5s ease}.acg-swe-badge--loading{border-color:rgba(201,169,97,.4)}.acg-swe-badge--done{opacity:0;transition:opacity 1s ease 2s}.acg-swe-dot{width:6px;height:6px;border-radius:50%}.acg-swe-dot--loading{background:#C9A961;animation:acg-pulse 1.5s ease-in-out infinite}.acg-swe-dot--done{background:#4ade80}.acg-legend-panel{position:absolute;bottom:16px;right:16px;z-index:10}.acg-legend-toggle{position:absolute;top:-36px;right:0;background:rgba(12,12,14,.9);border:1px solid rgba(201,169,97,.3);border-radius:6px 6px 0 0;color:#C9A961;padding:4px 12px;cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.08em;backdrop-filter:blur(8px)}.acg-legend-body{background:rgba(12,12,14,.92);border:1px solid rgba(201,169,97,.2);border-radius:12px;padding:16px;backdrop-filter:blur(12px);min-width:220px;max-height:60vh;overflow-y:auto}.acg-legend-section-label{font-size:10px;font-weight:700;color:rgba(201,169,97,.7);letter-spacing:.15em;margin-bottom:8px;text-transform:uppercase}.acg-legend-separator{height:1px;background:linear-gradient(90deg,transparent,rgba(201,169,97,.2),transparent);margin:10px 0}.acg-planet-toggle{display:flex;align-items:center;gap:8px;padding:4px 6px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;opacity:.35;transition:all .15s ease;width:100%;text-align:left}.acg-planet-toggle--active{opacity:1}.acg-planet-toggle-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.acg-planet-toggle-name{font-size:12px;color:rgba(255,255,255,.4);font-weight:500}.acg-planet-toggle--active .acg-planet-toggle-name{color:rgba(255,255,255,.85)}.acg-toggle-btn{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:4px;color:rgba(255,255,255,.5);padding:3px 10px;font-size:10px;cursor:pointer;font-family:inherit;transition:all .15s ease}.acg-toggle-btn--active{background:rgba(201,169,97,.15);border-color:rgba(201,169,97,.4);color:#C9A961}.acg-action-btn{width:100%;padding:6px 0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:4px;color:rgba(255,255,255,.5);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:inherit}.acg-action-btn--active{background:rgba(201,169,97,.15);border-color:rgba(201,169,97,.4);color:#C9A961}.acg-interpretation-panel{position:absolute;top:0;left:0;bottom:0;width:380px;max-width:90vw;z-index:25;background:rgba(12,12,14,.96);backdrop-filter:blur(16px);overflow-y:auto;animation:acg-slide-in .25s ease-out}.acg-interpretation-close{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:6px;color:rgba(255,255,255,.6);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-family:inherit;z-index:1}.acg-planet-info-overlay{left:16px;border:1px solid rgba(201,169,97,.2);border-radius:10px;padding:12px 16px;max-width:280px}.acg-birth-spotlight,.acg-planet-info-overlay{position:absolute;top:16px;z-index:10;background:rgba(12,12,14,.9);backdrop-filter:blur(12px)}.acg-birth-spotlight{left:300px;border:1px solid rgba(255,215,0,.3);border-radius:10px;padding:10px 14px;max-width:260px}.acg-placements-wrapper{max-width:1448px;width:calc(100% - 48px);margin:0 auto;padding:48px 0 80px}.acg-tab-bar{display:flex;justify-content:center;gap:0;margin-bottom:32px;border-bottom:1px solid rgba(255,255,255,.06)}.acg-tab-btn{padding:12px 32px;background:none;border:none;border-bottom:2px solid transparent;color:rgba(244,244,249,.4);font-size:13px;font-weight:600;letter-spacing:.12em;cursor:pointer;transition:all .2s ease}.acg-tab-btn--active{border-bottom-color:#d4af37;color:#d4af37}.acg-placements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;width:100%}.acg-planet-card{background:rgba(18,18,22,.8);border:1px solid rgba(212,175,55,.1);border-radius:6px;padding:14px;transition:all .2s;cursor:pointer}.acg-planet-card:hover{border-color:rgba(212,175,55,.3);background:rgba(212,175,55,.03)}.acg-planet-card.selected{border-color:#d4af37;background:linear-gradient(135deg,rgba(212,175,55,.08),rgba(18,18,22,.9));transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3),0 0 20px rgba(212,175,55,.1)}.acg-planet-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.acg-planet-card-symbol{font-size:1.3rem;width:32px;text-align:center}.acg-planet-card-name{font-size:13px;font-weight:500;color:#f4f4f9}.acg-planet-card-info{display:flex;justify-content:space-between;font-size:12px}.acg-planet-card-degree{color:#d4af37;font-family:JetBrains Mono,SF Mono,monospace}.acg-planet-card-house{color:rgba(244,244,249,.4)}.acg-planet-card-sign{font-size:11px;color:rgba(244,244,249,.5);margin-top:4px;display:flex;align-items:center;gap:4px}.acg-detail-section{margin-top:28px;padding:28px 32px;background:linear-gradient(135deg,rgba(255,255,255,.02),rgba(255,255,255,.008));border:1px solid rgba(255,255,255,.06);border-left:3px solid #c9a961;border-radius:2px;animation:acg-detail-fade-in .3s cubic-bezier(.4,0,.2,1)}@keyframes acg-spin{to{transform:rotate(1turn)}}@keyframes acg-slide-in{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes acg-detail-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes acg-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes acg-meridian-drift{0%{transform:translateX(-20px);opacity:.15}50%{opacity:.25}to{transform:translateX(20px);opacity:.15}}.mapboxgl-popup-content{background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:8px!important}.mapboxgl-popup-tip{border-top-color:rgba(12,12,14,.95)!important}.mapboxgl-popup-close-button{color:rgba(255,255,255,.5)!important;font-size:18px!important;right:4px!important;top:2px!important}.mapboxgl-popup-close-button:hover{color:#C9A961!important;background:transparent!important}.mapboxgl-ctrl-attrib{display:none!important}.acg-page ::-webkit-scrollbar{width:4px}.acg-page ::-webkit-scrollbar-track{background:transparent}.acg-page ::-webkit-scrollbar-thumb{background:rgba(201,169,97,.3);border-radius:2px}.acg-page input[type=date]::-webkit-calendar-picker-indicator,.acg-page input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(.7)}.acg-page select option{background:#1a1a1e;color:#e0e0e0}.acg-map-unavailable{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(10,10,12,.95);z-index:20}.acg-map-unavailable-title{font-size:18px;font-weight:600;color:#C9A961;margin-bottom:8px}.acg-map-unavailable-text{color:rgba(255,255,255,.5);font-size:13px;max-width:400px;text-align:center;line-height:1.6}.acg-error-inline{padding:12px 20px;margin:0 28px 16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:6px;color:rgba(239,68,68,.9);font-size:13px;display:flex;align-items:center;gap:10px}@media (max-width:900px){.acg-header{padding:32px 16px 24px;width:calc(100% - 32px)}.acg-title{font-size:1.8rem}.acg-subtitle{font-size:.9rem}.acg-guide{width:calc(100% - 32px)}.acg-guide-content{grid-template-columns:1fr 1fr}.acg-input-panel{width:calc(100% - 32px)}.acg-input-grid{grid-template-columns:1fr 1fr;gap:16px;padding:16px 20px}.acg-coords-row{padding:0 20px 20px;flex-wrap:wrap}.acg-legend-body{min-width:180px;max-height:50vh}.acg-birth-spotlight{left:16px;top:auto;bottom:60px}.acg-placements-wrapper{width:calc(100% - 32px);padding:32px 0 60px}.acg-placements-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}}@media (max-width:500px){.acg-header{padding:24px 12px 16px;width:calc(100% - 24px)}.acg-title{font-size:1.3rem;letter-spacing:1px}.acg-subtitle{font-size:.82rem;line-height:1.6}.acg-guide{width:calc(100% - 24px);margin-bottom:12px}.acg-guide-content{grid-template-columns:1fr;gap:16px}.acg-input-panel{width:calc(100% - 24px);margin-bottom:12px}.acg-input-grid{grid-template-columns:1fr;gap:12px;padding:12px 16px}.acg-coords-row{padding:0 16px 16px;flex-direction:column;gap:12px}.acg-generate-btn{width:100%;padding:14px 20px}.acg-map-container{height:60vh}.acg-legend-panel{position:fixed;bottom:0;left:0;right:0;z-index:30}.acg-legend-toggle{position:relative;top:auto;right:auto;width:100%;border-radius:12px 12px 0 0;text-align:center;padding:8px 12px}.acg-legend-body{border-radius:0;max-height:40vh;min-width:auto}.acg-planet-info-overlay{display:none}.acg-birth-spotlight{position:fixed;bottom:0;left:0;right:0;top:auto;max-width:none;border-radius:12px 12px 0 0;z-index:25}.acg-interpretation-panel{width:100%;max-width:100vw}.acg-placements-wrapper{width:calc(100% - 24px);padding:24px 0 60px}.acg-placements-grid{grid-template-columns:1fr 1fr;gap:8px}.acg-tab-btn{padding:10px 16px;font-size:11px}.acg-detail-section{padding:16px}.acg-houses-grid{grid-template-columns:repeat(3,1fr)!important}.acg-empty-card{padding:28px 24px;margin:0 16px}}@media (max-width:380px){.acg-placements-grid{grid-template-columns:1fr}.acg-houses-grid{grid-template-columns:repeat(2,1fr)!important}}