.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.field-group.full{grid-column:1 / -1}.geo-result{display:block;font-size:.72rem;color:var(--accent);margin-top:.25rem;min-height:1.1em;font-weight:300;opacity:.85}.geo-result:not(:empty):before{content:"✓"}.coord-row{display:flex;gap:1rem}.coord-row .field-group{flex:1}.asc-card{background:var(--bg-card);border:none;box-shadow:0 0 0 1px var(--border);border-radius:var(--radius);padding:2rem;text-align:center;margin-bottom:2rem}.asc-label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);font-weight:400;margin-bottom:.5rem}.asc-sign{font-family:var(--font-display);font-size:3rem;font-weight:300;font-variation-settings:"SOFT" 60;color:var(--accent);line-height:1.1}.asc-detail{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.quick-info{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--border);border:none;box-shadow:0 0 0 1px var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:2rem}.qi-item{background:var(--bg-card);padding:1rem 1.25rem}.qi-label{font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:400;margin-bottom:.2rem}.qi-value{font-family:var(--font-display);font-size:1.2rem;font-weight:400;font-variation-settings:"SOFT" 80;color:var(--accent)}.qi-num{font-size:.75rem;color:var(--text-muted);margin-top:.1rem}.val-accent{color:var(--accent);font-family:var(--font-display);font-weight:300}.val-dim{color:var(--text-muted);font-size:.72rem}.aspect-row{display:flex;flex-wrap:wrap;gap:.25rem}.aspect-badge{display:inline-block;font-size:.6rem;padding:.1rem .4rem;border-radius:2px;border:1px solid var(--border);color:var(--text-muted)}.aspect-badge.conjunction{border-color:#8bba7a;color:#8bba7a}.aspect-badge.sextile{border-color:#7ab5c9;color:#7ab5c9}.aspect-badge.square{border-color:#c87a7a;color:#c87a7a}.aspect-badge.trine{border-color:#c9955a;color:var(--accent)}.aspect-badge.opposition{border-color:#c87a7a;color:#c87a7a}.element-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:none;box-shadow:0 0 0 1px var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:2rem}.el-item{background:var(--bg-card);padding:1.25rem;text-align:center}.el-name{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:.3rem}.el-count{font-family:var(--font-display);font-size:1.6rem;font-weight:300;font-variation-settings:"SOFT" 60;color:var(--accent);line-height:1.2}.el-bar{height:3px;background:var(--border);border-radius:2px;margin-top:.5rem;overflow:hidden}.el-bar-fill{height:100%;transition:width .8s var(--ease-out)}.el-bar-fill.fire{background:#c87a4a}.el-bar-fill.earth{background:#7aad6a}.el-bar-fill.air{background:#7ab5c9}.el-bar-fill.water{background:#5a7aad}.dignity-table{margin-bottom:2rem}.dignity-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.82rem;color:var(--text-muted);border-bottom:1px solid var(--border)}.dignity-badge{display:inline-block;padding:.15rem .5rem;font-size:.6rem;letter-spacing:.05em;border-radius:2px;text-transform:uppercase}.dignity-badge.essential{background:#8bba7a1f;color:#8bba7a}.dignity-badge.exalted{background:#c9955a1f;color:var(--accent)}.dignity-badge.detriment,.dignity-badge.fall{background:#c87a7a1f;color:#c87a7a}.dignity-badge.neutral{background:#7a6e621f;color:var(--text-muted)}.aspect-grid{display:grid;gap:1px;background:var(--border);border:none;box-shadow:0 0 0 1px var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:2rem}.aspect-item{background:var(--bg-card);padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem}.aspect-planets{font-size:.78rem;color:var(--text);flex:1}.aspect-type{display:inline-block;padding:.1rem .5rem;font-size:.6rem;letter-spacing:.05em;border-radius:2px;text-transform:uppercase;white-space:nowrap}.aspect-type.conjunction{background:#8bba7a26;color:#8bba7a}.aspect-type.sextile{background:#7ab5c926;color:#7ab5c9}.aspect-type.square{background:#c87a7a26;color:#c87a7a}.aspect-type.trine{background:#c9955a26;color:var(--accent)}.aspect-type.opposition{background:#c87a7a26;color:#c87a7a}.aspect-orb{font-size:.65rem;color:var(--text-muted);margin-left:.5rem}.aspect-angle{font-size:.65rem;color:var(--text-muted)}.planet-icon-lg{font-size:1.3rem;width:1.8rem;text-align:center;flex-shrink:0}.retro{color:#c87a7a;font-size:.65rem}.copy-block-btn{float:right;cursor:pointer;font-size:.85rem;color:var(--text-muted);transition:color .3s;line-height:1;padding:.3rem .5rem}.copy-block-btn:hover{color:var(--accent)}.copy-block-btn:active{transform:scale(.92)}.shadow-card{background:var(--bg-card);border:none;box-shadow:0 0 0 1px var(--border);border-radius:var(--radius);padding:1.5rem 2rem;text-align:center}.shadow-pair{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.shadow-daimon{flex:1;min-width:140px}.shadow-daimon .sd-type{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);font-weight:400;margin-bottom:.3rem}.shadow-daimon .sd-name{font-family:var(--font-display);font-size:1.5rem;font-weight:300;font-variation-settings:"SOFT" 60;color:var(--accent);line-height:1.2}.shadow-daimon .sd-desc{font-size:.75rem;color:var(--text-muted);font-weight:300;line-height:1.5;margin:.5rem 0;max-width:260px;margin-left:auto;margin-right:auto}.shadow-daimon .sd-label{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:.3rem}.shadow-meta{font-size:.72rem;color:var(--text-muted);margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.transit-meta{padding:.5rem 1.25rem;font-size:.72rem;color:var(--text-muted);background:var(--bg-card);border-bottom:1px solid var(--border)}.transit-item{background:var(--bg-card);padding:.65rem 1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.78rem;border-bottom:1px solid var(--border)}.transit-item:last-child{border-bottom:none}.transit-item .t-icon{font-size:1rem;width:1.4rem;text-align:center;flex-shrink:0}.transit-item .t-transiting{color:var(--text-muted);font-size:.7rem}.transit-item .t-natal{color:var(--text)}.transit-item .t-asp{display:inline-block;padding:.1rem .45rem;font-size:.6rem;letter-spacing:.05em;border-radius:2px;text-transform:uppercase;white-space:nowrap}.transit-item .t-asp.conjunction{background:#8bba7a26;color:#8bba7a}.transit-item .t-asp.sextile{background:#7ab5c926;color:#7ab5c9}.transit-item .t-asp.square{background:#c87a7a26;color:#c87a7a}.transit-item .t-asp.trine{background:#c9955a26;color:var(--accent)}.transit-item .t-asp.opposition{background:#c87a7a26;color:#c87a7a}.transit-item .t-orb{font-size:.62rem;color:var(--text-muted)}.transit-item .t-dur{font-size:.6rem;color:var(--accent-dim);letter-spacing:.03em}.transit-summary{background:var(--bg-alt);padding:1rem 1.25rem;border-bottom:1px solid var(--border);font-size:.78rem;color:var(--text-muted);line-height:1.7}.transit-summary .ts-row{margin-bottom:.15rem}.transit-summary .ts-label{color:var(--text);font-weight:400}.transit-summary .ts-count{font-family:var(--font-display);font-size:.9rem;color:var(--accent);margin-bottom:.5rem}.transit-summary .ts-asp{display:inline-block;padding:.05rem .4rem;font-size:.65rem;letter-spacing:.05em;border-radius:2px;text-transform:uppercase}.transit-summary .ts-asp.conjunction{background:#8bba7a26;color:#8bba7a}.transit-summary .ts-asp.sextile{background:#7ab5c926;color:#7ab5c9}.transit-summary .ts-asp.square{background:#c87a7a26;color:#c87a7a}.transit-summary .ts-asp.trine{background:#c9955a26;color:var(--accent)}.transit-summary .ts-asp.opposition{background:#c87a7a26;color:#c87a7a}.transit-summary .ts-planet{color:var(--text);font-weight:400}.transit-summary .ts-theme{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border);font-size:.78rem;font-weight:300;color:var(--text);line-height:1.5}.transit-item .t-interp{width:100%;font-size:.72rem;color:var(--text-muted);font-weight:300;line-height:1.5;margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--border)}@media(max-width:700px){.calc-grid,.quick-info{grid-template-columns:1fr}.element-grid{grid-template-columns:repeat(2,1fr)}.coord-row{flex-direction:column}}
