a:focus-visible{outline: 2px solid var(--cyan); outline-offset: 3px}
.sub{color: var(--muted); margin: 0}
.meta{font: 300 .66rem var(--display); letter-spacing: .24em; color: var(--muted); direction: ltr}
.sub{font-size: .95rem; font-weight: 400; line-height: 2}
.meta{font-size: .7rem; font-weight: 500}
.public-lab{border: 1px solid var(--line2); border-radius: 18px; background: linear-gradient(145deg, rgba(109, 74, 255, .07), rgba(53, 214, 232, .025)); padding: clamp(14px, 3vw, 24px); margin-top: 20px}
.public-tabs{display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px}
.public-tab{font: inherit; font-size: .82rem; color: var(--muted); background: var(--s1); border: 1px solid var(--line2); border-radius: 9px; padding: 9px 13px; cursor: pointer}
.public-tab[aria-selected="true"]{color: var(--text); border-color: rgba(53, 214, 232, .6); background: rgba(53, 214, 232, .08)}
.public-panel[hidden]{display: none!important}
.public-panel{animation: publicFade .25s ease}
@keyframes publicFade{from {
        opacity: .4;
        transform: translateY(4px)
    }
    to {
        opacity: 1;
        transform: none
    }}
.public-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px}
.public-card{border: 1px solid var(--line); border-radius: 12px; padding: 16px; background: rgba(3, 5, 10, .42); min-width: 0}
.public-card h3{margin: 0 0 7px; font-size: 1rem; font-weight: 500}
.public-card p{font-size: .82rem; color: var(--muted); line-height: 1.9}
.public-fields{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 12px 0}
.public-fields label{display: block; font-size: .78rem; color: var(--muted); margin-bottom: 5px}
.public-fields input,.public-fields select{width: 100%; min-width: 0; padding: 10px; border-radius: 8px; border: 1px solid var(--line2); background: var(--s1); color: var(--text); font: inherit}
.public-action{font: inherit; font-size: .83rem; color: var(--text); background: linear-gradient(135deg, rgba(109, 74, 255, .8), rgba(53, 214, 232, .18)); border: 1px solid rgba(109, 74, 255, .5); border-radius: 9px; padding: 10px 15px; cursor: pointer}
.public-result{margin-top: 12px; padding: 13px; border: 1px solid rgba(53, 214, 232, .24); border-radius: 10px; background: rgba(53, 214, 232, .045); font-size: .86rem; line-height: 2; overflow-wrap: anywhere}
.public-result strong{color: var(--cyan)}
.public-stats{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px}
.public-stat{padding: 10px; border: 1px solid var(--line); border-radius: 9px; min-width: 0}
.public-stat span{display: block; font-size: .72rem; color: var(--muted)}
.public-stat b{display: block; font-size: 1rem; color: var(--cyan); overflow-wrap: anywhere}
.public-warning{border-inline-start: 3px solid var(--gold); padding: 9px 12px; background: rgba(212, 175, 106, .06); border-radius: 5px; color: #d7dceb; font-size: .77rem; line-height: 1.9; margin-top: 12px}
.public-scale{width: 100%; accent-color: var(--cyan)}
.public-bar{height: 9px; border-radius: 9px; background: var(--s2); overflow: hidden; margin: 9px 0}
.public-bar span{display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--violet), var(--cyan)); transition: width .3s}
@media(max-width:650px){.public-grid{grid-template-columns: 1fr}.public-fields{grid-template-columns: 1fr 1fr}.public-stats{grid-template-columns: 1fr 1fr}}
@media(prefers-reduced-motion:reduce){.public-panel{animation: none}.public-bar span{transition: none}}
.sub{color: #95a9cb!important; font-size: .9rem}
.meta{color: #62d8ff!important; letter-spacing: .08em}
@media(max-width:720px){.head .meta{align-self: flex-start}}
.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}
p,.sub{color: #aebbd1}
.public-card{border: 1px solid rgba(125, 166, 235, .2); border-radius: 18px; background: linear-gradient(145deg, rgba(13, 29, 54, .92), rgba(5, 13, 29, .96)); box-shadow: 0 12px 30px rgba(0, 0, 0, .17); transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease}
.public-card{overflow: hidden}
.public-card:hover{transform: translateY(-3px); border-color: rgba(112, 228, 244, .46); box-shadow: 0 18px 38px rgba(0, 0, 0, .24), 0 0 28px rgba(69, 128, 232, .07)}
.public-card h3{font-weight: 700; color: #edf5ff; line-height: 1.55}
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)}
@media(max-width:560px){.public-card{border-radius: 15px}}
.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}
.public-card{border: 1px solid rgba(127, 168, 227, .18)!important; border-radius: 18px!important; background: linear-gradient(150deg, rgba(13, 27, 47, .92), rgba(5, 12, 24, .97))!important; box-shadow: 0 14px 34px rgba(0, 0, 0, .16), inset 0 1px rgba(255, 255, 255, .035)!important; transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease!important}
.public-card:hover{transform: translateY(-4px); border-color: rgba(123, 231, 255, .38)!important; box-shadow: 0 20px 42px rgba(0, 0, 0, .25), 0 0 24px rgba(73, 142, 236, .06)!important}
.public-card h3{font-weight: 750; letter-spacing: -.02em; color: #f0f5ff}
.public-card p{color: #a9bad2; line-height: 1.9}
.public-card{overflow: hidden}
@media(max-width:560px){.public-card:hover{transform: none}}
button,a{-webkit-tap-highlight-color: transparent}
.wrap,header.wrap,main.wrap,main.wrap>section,.public-grid>*{min-width: 0;}
@media (max-width:720px){.public-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}

/* cosmos-hub: کارت‌های صفحهٔ مرکزی «کیهان و من» */
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}
.hub-card{position:relative;display:flex;flex-direction:column;gap:6px;min-height:150px;padding:20px 20px 16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(165deg,rgba(255,255,255,.045),rgba(255,255,255,.012));color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s,background .2s}
.hub-card:hover,.hub-card:focus-visible{border-color:rgba(53,214,232,.5);background:linear-gradient(165deg,rgba(53,214,232,.08),rgba(109,74,255,.04));transform:translateY(-2px);outline:none}
.hub-card .hub-tag{font:300 .66rem var(--display);letter-spacing:.2em;color:var(--muted);direction:ltr;text-align:right}
.hub-card h3{margin:0;font-size:1.08rem;font-weight:500}
.hub-card p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.9}
.hub-card .hub-go{margin-top:auto;padding-top:6px;color:var(--cyan);font-size:.82rem}
@media(max-width:900px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hub-grid{grid-template-columns:1fr}.hub-card{min-height:0}}
.public-table{width:100%;border-collapse:collapse;font-size:.82rem}
.public-table th,.public-table td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.public-table th{color:var(--muted);font-weight:400}
.public-table-wrap{overflow-x:auto}
.public-list{margin:8px 0 0;padding-inline-start:18px;line-height:2}
.public-next{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
