:root{--landing-bg:#0d1117;--landing-panel:#161b22;--landing-border:#30363d;--landing-text:#f0f6fc;--landing-muted:#8b949e;--landing-primary:#7c72ff;--landing-danger:#ff7b72;--landing-warning:#e3b341;--landing-orange:#f0883e;--landing-safe:#58a6ff}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--landing-bg)}body.landing-page{min-width:320px;margin:0;background:radial-gradient(ellipse 75% 31rem at 50% 0,#312e81 0,transparent 71%),var(--landing-bg);color:var(--landing-text);font-family:IRANSansX,system-ui,sans-serif}.landing-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:22px 0 36px}.landing-topbar{min-height:44px;display:flex;justify-content:flex-start;align-items:center}.landing-login{display:inline-flex;min-height:42px;align-items:center;gap:8px;border:1px solid rgb(240 246 252 / .45);border-radius:8px;padding:0 15px;color:var(--landing-text);font-size:14px;font-weight:700;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.landing-login:hover{border-color:var(--landing-text);background:#f0f6fc1a;transform:translateY(-1px)}.landing-login:focus-visible{outline:3px solid #a5b4fc;outline-offset:3px}.landing-hero{max-width:100%;margin:52px auto 34px;text-align:center}.landing-hero h1{margin:0;white-space:nowrap;font-size:clamp(27px,3.1vw,38px);line-height:1.45;letter-spacing:-.03em}.landing-news{overflow:hidden;border:1px solid #6e67c8;border-radius:16px;background:linear-gradient(180deg,rgb(35 32 83 / .82),var(--landing-panel) 34%);box-shadow:0 26px 70px #00000059,0 0 70px #7c72ff26}.landing-news__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;border-bottom:1px solid var(--landing-border)}.landing-news h1{margin:0;font-size:20px;line-height:1.5}.landing-news__date{display:flex;align-items:center;gap:7px;margin:0;color:var(--landing-muted);font-size:13px;direction:ltr}.landing-news__table-wrap{max-height:min(66vh,570px);overflow:auto;scrollbar-color:#6e67c8 var(--landing-panel);scrollbar-width:thin}.landing-news__table{width:100%;min-width:620px;border-collapse:collapse;text-align:right}.landing-news__table th{position:sticky;top:0;z-index:1;padding:14px 28px;background:#1d2038;color:var(--landing-muted);font-size:12px;font-weight:600;text-align:right}.landing-news__table td{padding:17px 28px;border-top:1px solid var(--landing-border);font-size:14px}.landing-news__table tbody tr{transition:background .16s ease}.landing-news__table tbody tr:hover{background:#6e67c81f}.landing-news__time{width:100px;color:#c9d1d9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.landing-news__symbol{display:inline-flex;min-width:44px;justify-content:center;border:1px solid #3b4350;border-radius:5px;padding:3px 7px;color:#c9d1d9;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.landing-impact{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:700}.landing-impact i{width:8px;height:8px;border-radius:50%;background:#8b949e}.landing-impact--2{color:#f2cc60}.landing-impact--2 i{background:#f2cc60}.landing-impact--3{color:var(--landing-orange)}.landing-impact--3 i{background:var(--landing-orange)}.landing-impact--4{color:var(--landing-danger)}.landing-impact--4 i{background:var(--landing-danger)}.landing-impact--holiday{color:#79c0ff}.landing-impact--holiday i{background:#79c0ff}.landing-news__empty{height:178px;color:var(--landing-muted);text-align:center}.landing-news__empty i{display:block;margin-bottom:10px;font-size:30px}@media (max-width:640px){.landing-shell{width:min(100% - 24px,1120px);padding-top:12px}.landing-topbar{min-height:42px}.landing-hero{margin:38px auto 28px}.landing-hero h1{white-space:normal;font-size:29px}.landing-news__bar{align-items:start;flex-direction:column;padding:16px 18px;gap:6px}.landing-news h1{font-size:18px}.landing-news__table-wrap{max-height:68vh}.landing-news__table th,.landing-news__table td{padding-right:18px;padding-left:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing-login,.landing-news__table tbody tr{transition:none}}
