.btn{position: relative; overflow: hidden; display: inline-block; padding: 13px 30px; border-radius: 8px; font: 500 .9rem 'Noto Sans Arabic', sans-serif; color: var(--text); text-decoration: none; cursor: pointer; transition: transform .3s, box-shadow .3s, border-color .3s, background .3s}
.btn:focus-visible,a:focus-visible{outline: 2px solid var(--cyan); outline-offset: 3px}
.btn.p{background: linear-gradient(180deg, rgba(109, 74, 255, .9), rgba(79, 52, 200, .95)); border: 1px solid rgba(160, 140, 255, .45); box-shadow: 0 10px 30px -12px rgba(109, 74, 255, .7), inset 0 1px 0 rgba(255, 255, 255, .18)}
.btn.p::after{content: ""; position: absolute; top: 0; bottom: 0; width: 40%; left: -60%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .22), transparent); transform: skewX(-20deg); transition: left .7s}
.btn.p:hover{transform: translateY(-1px); box-shadow: 0 14px 34px -10px rgba(109, 74, 255, .8), inset 0 1px 0 rgba(255, 255, 255, .25)}
.btn.p:hover::after{left: 130%}
.btn.s{background: rgba(255, 255, 255, .015); border: 1px solid var(--line2)}
.btn.s:hover{border-color: rgba(53, 214, 232, .55); background: rgba(53, 214, 232, .04)}
.sub{color: var(--muted); margin: 0}
.meta{font: 300 .66rem var(--display); letter-spacing: .24em; color: var(--muted); direction: ltr}
.lbl{font: 300 .66rem var(--display); letter-spacing: .26em; color: var(--muted); direction: ltr; text-align: right}
.fa{font-family: var(--fa); font-weight: 500; font-size: 1.2em; line-height: 1; letter-spacing: 0}
.fa>span{font-family: var(--display); font-weight: 400; font-size: .84em}
.btn{font-weight: 600; font-size: .95rem; letter-spacing: 0}
.sub{font-size: .95rem; font-weight: 400; line-height: 2}
.lbl{font-size: .7rem; font-weight: 500}
.meta{font-size: .7rem; font-weight: 500}
.birth-grid{display: grid; grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr); gap: 16px; margin-top: 18px}
.birth-panel,.birth-result{border: 1px solid var(--line); border-radius: 14px; background: linear-gradient(145deg, rgba(109, 74, 255, .07), rgba(53, 214, 232, .025)); padding: 18px; min-width: 0}
.birth-panel h3,.birth-result h3{margin: 0 0 8px; font-size: 1rem}
.birth-panel p,.birth-result p{color: var(--muted); font-size: .83rem; line-height: 1.9}
.birth-fields{display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0}
.birth-fields label{display: block; color: var(--muted); font-size: .78rem; margin-bottom: 6px}
.birth-fields input{width: 100%; min-width: 0; background: var(--s1); color: var(--text); border: 1px solid var(--line2); border-radius: 8px; padding: 11px; font: inherit}
.birth-result[hidden]{display: none}
.birth-hero{display: flex; align-items: center; gap: 14px; margin-bottom: 12px}
.birth-planet{width: 72px; height: 72px; flex: 0 0 72px; border-radius: 50%; display: grid; place-items: center; font-size: 2rem; background: radial-gradient(circle at 30% 28%, rgba(255, 255, 255, .9), var(--planet, #6D4AFF) 32%, #080c16 78%); box-shadow: 0 0 28px color-mix(in srgb, var(--planet, #6D4AFF) 35%, transparent)}
.birth-stats{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 14px 0}
.birth-stats>div{border: 1px solid var(--line); border-radius: 9px; padding: 10px; min-width: 0}
.birth-stats span{display: block; font-size: .72rem; color: var(--muted); margin-bottom: 4px}
.birth-stats b{font-size: .88rem; overflow-wrap: anywhere}
.birth-note{border-inline-start: 3px solid var(--gold); padding: 9px 12px; background: rgba(212, 175, 106, .06); font-size: .78rem; line-height: 1.9; color: #d7dceb; border-radius: 5px}
.birth-error{color: #ffb6b6!important; min-height: 1.5em}
@media(max-width:760px){.birth-grid{grid-template-columns: 1fr}}
@media(max-width:420px){.birth-fields,.birth-stats{grid-template-columns: 1fr}}
.btn{border-radius: 999px; padding: 11px 24px; font-weight: 600; box-shadow: 0 8px 25px rgba(41, 80, 255, .12)}
.btn.p{background: linear-gradient(110deg, #5c42f5, #227eea); border: 1px solid rgba(151, 176, 255, .55); box-shadow: 0 8px 28px rgba(74, 78, 255, .3)}
.btn.s{background: rgba(7, 18, 38, .75); border: 1px solid rgba(90, 170, 255, .38)}
.sub{color: #95a9cb!important; font-size: .9rem}
.meta,.lbl{color: #62d8ff!important; letter-spacing: .08em}
@media(max-width:720px){.head .meta{align-self: flex-start}}
@media(max-width:420px){.btn{padding: 10px 17px}}
.btn{border-radius: 14px; padding: 12px 22px; font-weight: 600; transition: transform .25s, box-shadow .25s, border-color .25s; background-clip: padding-box}
.btn.p{background: linear-gradient(115deg, #376BFF, #7656E8 65%, #8B5CF6); border: 1px solid rgba(177, 190, 255, .38); box-shadow: 0 10px 32px rgba(74, 91, 255, .26), inset 0 1px rgba(255, 255, 255, .25)}
.btn.p:hover{transform: translateY(-3px); box-shadow: 0 14px 40px rgba(74, 91, 255, .4)}
.btn.s{background: rgba(12, 24, 47, .65); border: 1px solid rgba(155, 191, 255, .23); backdrop-filter: blur(12px)}
.btn.s:hover{border-color: rgba(101, 230, 255, .65); transform: translateY(-2px)}
.sub{color: #A2B0CA; max-width: 680px}
.meta{color: #7F9BC7; letter-spacing: .12em}
[class*="card"]{border-color: rgba(145, 180, 240, .16); box-shadow: 0 16px 44px rgba(0, 0, 0, .16); transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease}
@media(max-width:560px){.btn{padding: 10px 15px}}
p,.sub{color: #aebbd1}
button,.button,input,select,textarea{font-family: 'Noto Sans Arabic', sans-serif; font-size: inherit}
button,.button{border-radius: 12px; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s}
button:not(:disabled):hover,.button:hover{transform: translateY(-1px); box-shadow: 0 8px 24px rgba(54, 108, 220, .18)}
.btn{min-height: 46px; border-radius: 13px!important; padding: 11px 21px!important; font-weight: 700; transition: transform .25s ease, box-shadow .25s ease, background .25s ease!important}
.btn.p{background: linear-gradient(120deg, #3b69d9, #6559d9 58%, #448ec8)!important; border: 1px solid rgba(192, 220, 255, .38)!important; box-shadow: 0 10px 30px rgba(64, 103, 216, .25), inset 0 1px rgba(255, 255, 255, .16)!important}
.btn.s{background: rgba(5, 13, 27, .62)!important; border: 1px solid rgba(175, 201, 239, .26)!important; color: #e5efff!important; backdrop-filter: blur(12px)}
.btn:hover{transform: translateY(-3px); box-shadow: 0 15px 38px rgba(51, 107, 218, .28)!important}
.sub,.head .sub{color: #a8b8d0!important; line-height: 2!important}
.meta{border: 1px solid rgba(133, 173, 232, .2)!important; background: rgba(13, 30, 53, .68)!important; border-radius: 999px!important; color: #b9cde8!important; padding: 7px 12px!important}
button,input,select,textarea{font-family: 'Noto Sans Arabic', Tahoma, sans-serif}
button,.btn,a{-webkit-tap-highlight-color: transparent}
.wrap,header.wrap,main.wrap,main.wrap>section,.birth-grid>*{min-width: 0;}
@media (max-width:720px){.birth-grid{grid-template-columns: minmax(0, 1fr) !important;}.head,.head .meta{min-width: 0; max-width: 100%;}}
@media (min-width: 721px){body>header.wrap,body>main.wrap,body>footer{float: none !important; left: auto !important; right: auto !important; margin-left: 0 !important; margin-right: var(--sidebar-width) !important; width: calc(100% - var(--sidebar-width)) !important; max-width: none !important; min-width: 0 !important; transform: none !important;}}
@media (max-width: 720px){body>header.wrap,body>main.wrap,body>footer{position: relative !important; left: auto !important; right: auto !important; margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; max-width: 100% !important; transform: none !important;}}
.sr-only{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0}
.crumb{display: inline-flex; align-items: center; margin: 24px 0 0; font-size: .82rem; color: var(--muted); text-decoration: none}
.crumb:hover,.crumb:focus-visible{color: var(--cyan); outline: none}
main.wrap>.crumb+section{padding-top: 28px}
.more-tools{margin: 44px 0 28px; padding-top: 22px; border-top: 1px solid var(--line)}
.more-title{margin: 0 0 12px; font-size: .82rem; color: var(--muted)}
.more-links{display: flex; flex-wrap: wrap; gap: 8px}
.more-links a{display: inline-flex; padding: 4px 14px; border: 1px solid var(--line2); border-radius: 99px; color: #aab8d3; font-size: .82rem; text-decoration: none; transition: color .2s, border-color .2s}
.more-links a:hover,.more-links a:focus-visible{color: var(--cyan); border-color: rgba(53, 214, 232, .5); outline: none}
