.chart-container{position:relative;width:100%;height:100%;min-height:620px;border-radius:18px;overflow:hidden;border:1px solid #cbb7ff;box-shadow:0 10px 30px #0000000f}.chart-background{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;opacity:.3;filter:saturate(1.05);z-index:0}.chart-svg{position:relative;z-index:1;display:block}.aspect-positive{stroke:#f3a6c8;opacity:.85}.aspect-negative{stroke:#9fd3ff;opacity:.85}.aspect-neutral{stroke:#cbb7ffbf;opacity:.55}.zodiac-label{font-size:10px;fill:#7b6c9d;letter-spacing:.6px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto}.planet-degree{font-size:10px;fill:#6e5c8c;opacity:.95;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto}:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;line-height:1.45;color:#2b1b3b;--lav: #c8b6ff;--pink: #ff9ac2;--blue: #a2d2ff;--ink: #2b1b3b;--card: rgba(255, 255, 255, .55);--card-strong: rgba(255, 255, 255, .7);--stroke: rgba(255, 255, 255, .6);--shadow: 0 12px 35px rgba(34, 12, 60, .1);--shadow-strong: 0 20px 45px rgba(120, 80, 200, .22);--blur: blur(14px)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background-image:url(/cosmic-sweetness.png),radial-gradient(1200px 700px at 12% 10%,rgba(255,154,194,.12),transparent 60%),radial-gradient(1100px 700px at 88% 15%,rgba(162,210,255,.12),transparent 60%),radial-gradient(1000px 700px at 45% 92%,rgba(200,182,255,.2),transparent 60%),linear-gradient(180deg,#fff6fba6,#f7fbffb3 55%,#fbf7ffb3);background-repeat:no-repeat;background-size:cover;background-position:center;background-attachment:fixed;background-blend-mode:normal,screen,screen,screen,normal}.page{max-width:1240px;margin:0 auto;padding:22px}.header{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}h1{margin:0;font-size:40px;font-family:Playfair Display,Georgia,serif;font-weight:800;letter-spacing:.7px;color:#2b1b3b;text-shadow:0 4px 12px rgba(160,120,255,.35)}.sub{margin:6px 0 0;font-size:13px;color:#2b1b3bc7}.card{background:linear-gradient(180deg,#ffdceb38,#ffffff1f);border:1px solid rgba(255,180,205,.3);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border-radius:18px;padding:14px}.card h2{margin:0 0 10px;font-size:17px;color:var(--ink)}.card h3{margin:14px 0 10px;font-size:15px}.form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#2b1b3bdb;margin-bottom:10px}input,select{padding:9px 11px;border:1px solid rgba(200,182,255,.55);border-radius:12px;font-size:13px;background:#fffc;outline:none;color:#2b1b3beb}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(90,60,120,.55) 50%),linear-gradient(135deg,rgba(90,60,120,.55) 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}input:focus,select:focus{border-color:#ff9ac2d9;box-shadow:0 0 0 4px #ff9ac22e}.row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.actions{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}button{padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#ff9ac2fa,#bfa8fffa);border:none;color:#2b1b3b;font-weight:800;font-size:13px;box-shadow:0 10px 22px #ff9ac238;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #b478ff59}button.secondary{background:#ffffffb3;color:var(--ink);border:1px solid rgba(200,182,255,.45);box-shadow:none}button:disabled{opacity:.6;cursor:not-allowed}.error{color:#b00020;font-size:13px}.muted{color:#2b1b3ba6;font-size:13px}.grid2{display:grid;grid-template-columns:1.05fr 1.15fr;gap:16px;margin-top:16px}.chartBox{margin-top:14px;display:flex;justify-content:center;align-items:center;min-height:600px;padding:18px;border-radius:26px;background:#fff0fa73;border:2px solid rgba(200,170,255,.45);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 0 4px #ffdcf059,0 20px 40px #aa78ff47}.pill{display:inline-block;padding:8px 10px;border-radius:999px;background:#fff9;border:1px solid rgba(200,182,255,.45);color:#2b1b3beb;font-size:12px;margin-bottom:10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.output{white-space:pre-wrap;background:#ffffffa6;color:#2b1b3beb;padding:16px;border-radius:18px;border:1px solid rgba(180,140,255,.4);font-size:13.5px;line-height:1.65;max-height:560px;overflow:auto;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 0 20px #ffffff8c,0 10px 25px #8c64dc2e}details summary{cursor:pointer;color:#2b1b3be0;font-weight:750;margin-top:10px;font-size:13px}.api label{display:flex;flex-direction:column;gap:6px;font-size:12px}.api input{width:320px}.footer{margin-top:16px;color:#2b1b3bbf;font-size:12.5px}@media(max-width:900px){.grid2,.row{grid-template-columns:1fr}.api input{width:100%}.chartBox{min-height:540px}}.extras{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px;max-width:920px;margin-left:auto;margin-right:auto}.aspectCard,.distCard{border:1px solid rgba(120,70,120,.14);background:#fff9;border-radius:16px;padding:9px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 10px 22px #7850c81a}.miniTitle{font-weight:850;margin-bottom:8px;opacity:.92;font-size:12.5px}.aspectTableWrap{overflow:auto;border-radius:12px}.aspectTable{width:100%;border-collapse:collapse;font-size:9.5px}.aspectTable th,.aspectTable td{border:1px solid rgba(120,70,120,.09);text-align:center;padding:3px;min-width:22px}.aspectTable .corner{background:#ffffff5c}.aspectTable .colHead,.aspectTable .rowHead{font-weight:850;background:#fff6}.aspectTable td.empty{background:#ffffff29}.aspectTable td.cell{background:#ffffff4d}.aspectTable td.mutedCell{opacity:.48}.aspGlyph{font-size:11px;line-height:11px;font-weight:900}.aspOrb{font-size:8.5px;opacity:.7;margin-top:2px}.legend{margin-top:8px;font-size:9.5px;opacity:.7}.distGrid{display:grid;grid-template-columns:1fr;gap:9px}.distBlock{border:1px solid rgba(120,70,120,.09);border-radius:12px;padding:8px;background:#ffffff4d}.distHead{font-weight:900;margin-bottom:6px;opacity:.9;font-size:12px}.distRow{display:flex;justify-content:space-between;padding:2px 0;border-bottom:1px dashed rgba(120,70,120,.1)}.distRow:last-child{border-bottom:none}.distKey{font-weight:780;opacity:.85;font-size:11px}.distVal{font-weight:900;font-size:11px}.distPct{font-weight:850;opacity:.6;margin-left:6px;font-size:11px}.distNote{margin-top:8px;font-size:9.5px;opacity:.65}
