:root {
  --void: #000000;
  --fg: #ffffff;
  --title: #ffffff;
  --muted: #a3a3a3;
  --line: rgba(255, 255, 255, 0.12);
  --panel: rgba(10, 10, 10, 0.82);
  --accent: #ffb366;
  --measured: #ffd966;   /* sarı */
  --derived: #ff8a3d;    /* turuncu */
  --estimated: #c9b08a;  /* kum rengi, kesikli çerçeve */
  --font: 'Jost', system-ui, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;
  --star: #ffe9c8;
  color-scheme: dark;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { height: 100%; }
body {
  margin: 0; background: var(--void); color: var(--fg);
  font: 300 16px/1.55 var(--font); -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* ---------- Arka plan ---------- */
.bg { position: fixed; inset: 0; width: 100%; height: 100%; display: block; transition: opacity .6s ease; }
.bg-fallback { position: fixed; inset: 0; display: none; background: radial-gradient(circle at 75% 50%, var(--star) 0 14vmin, transparent 30vmin), var(--void); }
.nowebgl .bg { display: none; }
.nowebgl .bg-fallback { display: block; }
.veil { position: fixed; inset: 0; pointer-events: none; transition: background .6s ease; }
[data-state="object"] .veil { background: linear-gradient(90deg, rgba(0,0,0,.85) 0, rgba(0,0,0,.55) 34rem, transparent 52rem); }
[data-kind="other"][data-state="object"] .bg { opacity: .25; }

/* ---------- Üst çubuk ---------- */
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 32px); }
.top { position: fixed; top: 0; left: 0; right: 0; z-index: 5; background: rgba(0,0,0,.82); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.site-foot a { color: var(--accent); text-decoration: none; }
/* Dil seçici: iki parçalı hap, seçili dilin altında kayan sıcak vurgu */
.langs { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.035); }
.langs::before { content: ""; position: absolute; top: 3px; bottom: 3px; left: 3px; width: calc(50% - 3px); border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,179,102,.30), rgba(255,138,61,.16)); box-shadow: inset 0 0 0 1px rgba(255,179,102,.55), 0 0 16px rgba(255,138,61,.28);
  transition: transform .35s cubic-bezier(.3,.7,.2,1); }
.langs:has(#lang-en[aria-current="true"])::before { transform: translateX(100%); }
.langs a { position: relative; min-width: 42px; min-height: 34px; display: grid; place-items: center; padding: 0 12px; border-radius: 999px;
  color: var(--muted); font: 500 12px var(--mono); letter-spacing: .1em; text-decoration: none; transition: color .2s; }
.langs a:hover { color: var(--title); }
.langs a[aria-current="true"] { color: #ffe2c2; }
.langs a:focus-visible { outline-offset: 1px; }
.top__bar .wrap { min-height: 60px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 28px; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--title); }
.brand__dot { width: 12px; height: 12px; border-radius: 50%; background: radial-gradient(circle, #fff4e0, var(--accent)); box-shadow: 0 0 14px var(--accent); }
.brand__name { font-size: 19px; font-weight: 500; letter-spacing: .01em; }
.brand__name span { font-weight: 300; color: var(--muted); }
.mainnav { flex: 1 1 auto; display: flex; flex-wrap: wrap; gap: 2px; }
.mainnav a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border-radius: 10px; color: #c2c2c2; text-decoration: none; font-size: 15px; }
.mainnav a:hover { color: var(--title); background: rgba(255,255,255,.05); }
.top__right { display: flex; align-items: center; gap: 8px; margin-left: auto; }
[data-state="3d"] .top, [data-state="3d"] .stage, [data-state="3d"] .site-foot, [data-state="3d"] .starfield { opacity: 0; pointer-events: none; }

/* ---------- Kayan yıldızlar (CSS; WebGL sahnesinin üstünde, ışığı ekleyerek) ---------- */
.starfield { position: fixed; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; mix-blend-mode: screen; transition: opacity .6s; }
.stars { position: absolute; left: 0; top: 0; width: 1px; height: 1px; border-radius: 50%; animation: drift 200s linear infinite; }
.stars::after { content: ""; position: absolute; left: 0; top: 2000px; width: inherit; height: inherit; border-radius: 50%; box-shadow: inherit; }
.s1 { box-shadow: 926px 1773px rgba(255,255,255,0.9), 925px 1040px rgba(255,255,255,0.5), 378px 1646px rgba(255,255,255,0.9), 1289px 1257px rgba(255,255,255,0.5), 192px 914px rgba(255,255,255,0.7), 290px 185px rgba(255,255,255,0.35), 1219px 811px rgba(255,255,255,0.9), 1339px 1513px rgba(255,255,255,0.5), 1276px 30px rgba(255,255,255,0.35), 121px 73px rgba(255,255,255,0.5), 1801px 495px rgba(255,255,255,0.35), 1593px 950px rgba(255,255,255,0.7), 902px 1210px rgba(255,255,255,0.5), 1063px 478px rgba(255,255,255,0.7), 1023px 9px rgba(255,255,255,0.35), 936px 1341px rgba(255,255,255,0.7), 833px 1128px rgba(255,255,255,0.35), 1449px 520px rgba(255,255,255,0.7), 1552px 470px rgba(255,255,255,0.7), 60px 143px rgba(255,255,255,0.35), 820px 220px rgba(255,255,255,0.7), 791px 136px rgba(255,255,255,0.35), 1735px 1402px rgba(255,255,255,0.35), 437px 429px rgba(255,255,255,0.35), 962px 768px rgba(255,255,255,0.9), 859px 149px rgba(255,255,255,0.5), 1594px 1382px rgba(255,255,255,0.7), 689px 178px rgba(255,255,255,0.7), 681px 31px rgba(255,255,255,0.9), 1552px 1889px rgba(255,255,255,0.35), 275px 504px rgba(255,255,255,0.35), 22px 122px rgba(255,255,255,0.9), 1632px 997px rgba(255,255,255,0.5), 1396px 1145px rgba(255,255,255,0.5), 916px 1042px rgba(255,255,255,0.5), 1498px 1575px rgba(255,255,255,0.5), 858px 1318px rgba(255,255,255,0.9), 238px 808px rgba(255,255,255,0.9), 435px 0px rgba(255,255,255,0.7), 1770px 1988px rgba(255,255,255,0.7), 1812px 40px rgba(255,255,255,0.5), 383px 807px rgba(255,255,255,0.35), 86px 299px rgba(255,255,255,0.5), 904px 528px rgba(255,255,255,0.35), 1582px 1249px rgba(255,255,255,0.7), 1700px 606px rgba(255,255,255,0.9), 150px 152px rgba(255,255,255,0.35), 427px 1193px rgba(255,255,255,0.5), 31px 1231px rgba(255,255,255,0.7), 761px 1274px rgba(255,255,255,0.9), 260px 1964px rgba(255,255,255,0.9), 1704px 1176px rgba(255,255,255,0.5), 1774px 790px rgba(255,255,255,0.5), 1284px 315px rgba(255,255,255,0.7), 1860px 467px rgba(255,255,255,0.5), 1485px 388px rgba(255,255,255,0.5), 1514px 1288px rgba(255,255,255,0.5), 1406px 1945px rgba(255,255,255,0.9), 1806px 988px rgba(255,255,255,0.35), 863px 97px rgba(255,255,255,0.35), 223px 79px rgba(255,255,255,0.7), 488px 1515px rgba(255,255,255,0.9), 526px 861px rgba(255,255,255,0.9), 600px 1065px rgba(255,255,255,0.5), 1903px 1475px rgba(255,255,255,0.35), 258px 467px rgba(255,255,255,0.9), 1145px 1338px rgba(255,255,255,0.35), 573px 434px rgba(255,255,255,0.5), 1533px 33px rgba(255,255,255,0.35), 551px 842px rgba(255,255,255,0.9), 510px 123px rgba(255,255,255,0.35), 360px 577px rgba(255,255,255,0.7), 1087px 1171px rgba(255,255,255,0.5), 188px 741px rgba(255,255,255,0.5), 1824px 922px rgba(255,255,255,0.7), 1345px 1500px rgba(255,255,255,0.5), 1208px 71px rgba(255,255,255,0.35), 972px 1864px rgba(255,255,255,0.7), 1435px 638px rgba(255,255,255,0.35), 43px 1225px rgba(255,255,255,0.35), 987px 137px rgba(255,255,255,0.7), 653px 279px rgba(255,255,255,0.35), 154px 927px rgba(255,255,255,0.7), 1509px 91px rgba(255,255,255,0.5), 1624px 1973px rgba(255,255,255,0.7), 720px 173px rgba(255,255,255,0.9), 1844px 159px rgba(255,255,255,0.9), 1933px 1619px rgba(255,255,255,0.35), 1768px 1023px rgba(255,255,255,0.35), 1279px 1356px rgba(255,255,255,0.9), 776px 1193px rgba(255,255,255,0.35), 1246px 147px rgba(255,255,255,0.35), 185px 1309px rgba(255,255,255,0.35), 526px 1801px rgba(255,255,255,0.9), 1491px 676px rgba(255,255,255,0.9), 1913px 1505px rgba(255,255,255,0.9), 902px 947px rgba(255,255,255,0.35), 1062px 1536px rgba(255,255,255,0.35), 635px 1231px rgba(255,255,255,0.35), 984px 45px rgba(255,255,255,0.5), 1960px 1430px rgba(255,255,255,0.35), 1018px 1597px rgba(255,255,255,0.9), 523px 1835px rgba(255,255,255,0.35), 753px 616px rgba(255,255,255,0.5), 1388px 1252px rgba(255,255,255,0.5), 1061px 347px rgba(255,255,255,0.7), 1351px 1905px rgba(255,255,255,0.9), 1020px 1826px rgba(255,255,255,0.5), 669px 828px rgba(255,255,255,0.7), 406px 1298px rgba(255,255,255,0.9), 1646px 1650px rgba(255,255,255,0.5), 1802px 438px rgba(255,255,255,0.9), 449px 1194px rgba(255,255,255,0.7), 429px 278px rgba(255,255,255,0.5), 1016px 718px rgba(255,255,255,0.35), 1456px 131px rgba(255,255,255,0.7), 1683px 346px rgba(255,255,255,0.35), 922px 965px rgba(255,255,255,0.7), 1895px 438px rgba(255,255,255,0.9), 783px 1281px rgba(255,255,255,0.9), 1376px 645px rgba(255,255,255,0.9), 656px 152px rgba(255,255,255,0.35), 569px 1787px rgba(255,255,255,0.35), 1389px 1451px rgba(255,255,255,0.7), 1168px 725px rgba(255,255,255,0.7), 1329px 1621px rgba(255,255,255,0.35), 1312px 278px rgba(255,255,255,0.9), 931px 388px rgba(255,255,255,0.35), 1575px 1699px rgba(255,255,255,0.7), 486px 1595px rgba(255,255,255,0.5), 1631px 96px rgba(255,255,255,0.35), 914px 223px rgba(255,255,255,0.7), 1962px 159px rgba(255,255,255,0.5), 408px 1687px rgba(255,255,255,0.9), 524px 365px rgba(255,255,255,0.35), 1546px 967px rgba(255,255,255,0.35), 366px 463px rgba(255,255,255,0.7), 1594px 708px rgba(255,255,255,0.5), 805px 1738px rgba(255,255,255,0.5), 178px 840px rgba(255,255,255,0.9), 266px 922px rgba(255,255,255,0.9), 403px 1281px rgba(255,255,255,0.35), 771px 1126px rgba(255,255,255,0.7), 949px 668px rgba(255,255,255,0.5), 202px 1478px rgba(255,255,255,0.35), 436px 496px rgba(255,255,255,0.9), 179px 634px rgba(255,255,255,0.7), 536px 1863px rgba(255,255,255,0.35), 713px 1033px rgba(255,255,255,0.35), 76px 902px rgba(255,255,255,0.7), 1127px 863px rgba(255,255,255,0.7), 998px 1883px rgba(255,255,255,0.35), 447px 1657px rgba(255,255,255,0.35), 878px 1638px rgba(255,255,255,0.35), 354px 1091px rgba(255,255,255,0.7), 1406px 1613px rgba(255,255,255,0.5), 963px 304px rgba(255,255,255,0.9), 1936px 1802px rgba(255,255,255,0.9), 1185px 1943px rgba(255,255,255,0.35), 1552px 453px rgba(255,255,255,0.9), 1078px 1144px rgba(255,255,255,0.7), 1702px 1492px rgba(255,255,255,0.5), 1070px 1053px rgba(255,255,255,0.7), 638px 1374px rgba(255,255,255,0.9), 1955px 1731px rgba(255,255,255,0.5), 623px 1742px rgba(255,255,255,0.5), 1983px 1115px rgba(255,255,255,0.7), 1173px 1019px rgba(255,255,255,0.5), 841px 1097px rgba(255,255,255,0.35), 1030px 10px rgba(255,255,255,0.9), 56px 1102px rgba(255,255,255,0.35), 1056px 1878px rgba(255,255,255,0.9), 1114px 1640px rgba(255,255,255,0.35), 1005px 190px rgba(255,255,255,0.5), 134px 1906px rgba(255,255,255,0.9), 847px 1885px rgba(255,255,255,0.9), 551px 504px rgba(255,255,255,0.9), 1009px 260px rgba(255,255,255,0.7), 888px 1845px rgba(255,255,255,0.9), 1075px 649px rgba(255,255,255,0.35), 392px 859px rgba(255,255,255,0.35), 1894px 532px rgba(255,255,255,0.5), 1437px 1595px rgba(255,255,255,0.35), 72px 397px rgba(255,255,255,0.5), 465px 24px rgba(255,255,255,0.7), 659px 1481px rgba(255,255,255,0.7), 500px 1269px rgba(255,255,255,0.9), 214px 1023px rgba(255,255,255,0.35), 1744px 1045px rgba(255,255,255,0.7), 1469px 404px rgba(255,255,255,0.9), 47px 769px rgba(255,255,255,0.9), 1689px 1084px rgba(255,255,255,0.5), 1102px 418px rgba(255,255,255,0.5), 1084px 442px rgba(255,255,255,0.5), 476px 1873px rgba(255,255,255,0.7), 1848px 370px rgba(255,255,255,0.7), 1235px 645px rgba(255,255,255,0.5), 446px 1593px rgba(255,255,255,0.5), 1817px 198px rgba(255,255,255,0.5), 1820px 490px rgba(255,255,255,0.5), 1488px 180px rgba(255,255,255,0.7), 794px 198px rgba(255,255,255,0.9), 1704px 1927px rgba(255,255,255,0.9), 1112px 1617px rgba(255,255,255,0.5), 410px 824px rgba(255,255,255,0.35), 196px 411px rgba(255,255,255,0.7), 1866px 1681px rgba(255,255,255,0.7), 236px 1443px rgba(255,255,255,0.7), 1029px 1404px rgba(255,255,255,0.5), 1644px 144px rgba(255,255,255,0.9), 217px 49px rgba(255,255,255,0.35), 1560px 1129px rgba(255,255,255,0.9), 300px 388px rgba(255,255,255,0.5), 235px 417px rgba(255,255,255,0.5), 1720px 323px rgba(255,255,255,0.7), 1898px 1378px rgba(255,255,255,0.35), 1187px 126px rgba(255,255,255,0.5), 1948px 1394px rgba(255,255,255,0.9), 158px 1566px rgba(255,255,255,0.35), 669px 800px rgba(255,255,255,0.9), 873px 1055px rgba(255,255,255,0.7), 880px 430px rgba(255,255,255,0.7), 27px 1298px rgba(255,255,255,0.35), 1729px 410px rgba(255,255,255,0.5), 835px 929px rgba(255,255,255,0.7), 1514px 758px rgba(255,255,255,0.9), 1887px 399px rgba(255,255,255,0.5), 194px 1049px rgba(255,255,255,0.35), 662px 1829px rgba(255,255,255,0.35), 1641px 1724px rgba(255,255,255,0.9), 1166px 1227px rgba(255,255,255,0.5), 1032px 1197px rgba(255,255,255,0.7), 1648px 1561px rgba(255,255,255,0.7), 572px 1866px rgba(255,255,255,0.35), 1524px 1521px rgba(255,255,255,0.5), 1668px 1912px rgba(255,255,255,0.9), 272px 1836px rgba(255,255,255,0.7), 1801px 1103px rgba(255,255,255,0.7), 1571px 884px rgba(255,255,255,0.5), 830px 423px rgba(255,255,255,0.5), 144px 1632px rgba(255,255,255,0.7), 617px 960px rgba(255,255,255,0.35), 21px 1818px rgba(255,255,255,0.7), 1308px 1848px rgba(255,255,255,0.35), 475px 559px rgba(255,255,255,0.7), 691px 442px rgba(255,255,255,0.9), 1166px 372px rgba(255,255,255,0.35), 797px 1054px rgba(255,255,255,0.9), 1315px 436px rgba(255,255,255,0.35), 1560px 809px rgba(255,255,255,0.35), 235px 1260px rgba(255,255,255,0.35), 1513px 485px rgba(255,255,255,0.7), 908px 822px rgba(255,255,255,0.35), 1559px 400px rgba(255,255,255,0.9), 22px 201px rgba(255,255,255,0.7), 513px 564px rgba(255,255,255,0.7), 1126px 1106px rgba(255,255,255,0.9), 1980px 1066px rgba(255,255,255,0.35), 1306px 910px rgba(255,255,255,0.35), 1125px 1223px rgba(255,255,255,0.35), 791px 1904px rgba(255,255,255,0.5), 790px 966px rgba(255,255,255,0.5), 1752px 1014px rgba(255,255,255,0.35), 879px 1935px rgba(255,255,255,0.9), 861px 582px rgba(255,255,255,0.9), 1224px 639px rgba(255,255,255,0.7), 1086px 585px rgba(255,255,255,0.9), 1341px 552px rgba(255,255,255,0.7), 1359px 1467px rgba(255,255,255,0.7), 55px 28px rgba(255,255,255,0.5), 1199px 87px rgba(255,255,255,0.5), 837px 1545px rgba(255,255,255,0.9), 108px 1838px rgba(255,255,255,0.7), 1532px 814px rgba(255,255,255,0.35), 1191px 1480px rgba(255,255,255,0.7), 150px 1633px rgba(255,255,255,0.5), 879px 1472px rgba(255,255,255,0.9), 513px 1993px rgba(255,255,255,0.5), 93px 1071px rgba(255,255,255,0.35), 1919px 1659px rgba(255,255,255,0.9), 295px 1965px rgba(255,255,255,0.5), 1236px 1446px rgba(255,255,255,0.35), 103px 1278px rgba(255,255,255,0.9), 933px 241px rgba(255,255,255,0.5), 1763px 106px rgba(255,255,255,0.7), 1081px 316px rgba(255,255,255,0.35), 744px 906px rgba(255,255,255,0.5), 1367px 853px rgba(255,255,255,0.9), 1230px 536px rgba(255,255,255,0.9), 745px 1593px rgba(255,255,255,0.5), 1950px 594px rgba(255,255,255,0.5), 488px 985px rgba(255,255,255,0.35), 1030px 1828px rgba(255,255,255,0.7), 1606px 1039px rgba(255,255,255,0.7), 562px 556px rgba(255,255,255,0.5), 1296px 570px rgba(255,255,255,0.5), 388px 1949px rgba(255,255,255,0.5), 1028px 1337px rgba(255,255,255,0.5), 1799px 1399px rgba(255,255,255,0.35), 1286px 124px rgba(255,255,255,0.35), 554px 531px rgba(255,255,255,0.9), 55px 1276px rgba(255,255,255,0.35), 209px 455px rgba(255,255,255,0.7), 148px 1547px rgba(255,255,255,0.35), 1869px 1385px rgba(255,255,255,0.5), 1127px 480px rgba(255,255,255,0.7), 991px 980px rgba(255,255,255,0.7), 431px 692px rgba(255,255,255,0.7), 1012px 1525px rgba(255,255,255,0.5), 1717px 1780px rgba(255,255,255,0.35), 1643px 245px rgba(255,255,255,0.9), 1657px 1683px rgba(255,255,255,0.5), 910px 869px rgba(255,255,255,0.7), 798px 1658px rgba(255,255,255,0.5), 755px 314px rgba(255,255,255,0.7), 595px 1123px rgba(255,255,255,0.5), 875px 1338px rgba(255,255,255,0.7), 1189px 198px rgba(255,255,255,0.9), 1792px 663px rgba(255,255,255,0.35), 1113px 170px rgba(255,255,255,0.9), 1155px 1163px rgba(255,255,255,0.9), 1669px 1403px rgba(255,255,255,0.9), 612px 1686px rgba(255,255,255,0.35), 155px 635px rgba(255,255,255,0.5), 1865px 1355px rgba(255,255,255,0.35), 1423px 622px rgba(255,255,255,0.9), 1484px 1564px rgba(255,255,255,0.7), 579px 1805px rgba(255,255,255,0.5), 448px 732px rgba(255,255,255,0.7), 750px 1856px rgba(255,255,255,0.35), 660px 1452px rgba(255,255,255,0.9), 1165px 1218px rgba(255,255,255,0.7), 897px 1085px rgba(255,255,255,0.7), 938px 650px rgba(255,255,255,0.5), 818px 1981px rgba(255,255,255,0.5), 172px 740px rgba(255,255,255,0.7), 49px 744px rgba(255,255,255,0.9), 1197px 793px rgba(255,255,255,0.5), 1513px 1154px rgba(255,255,255,0.7), 1632px 799px rgba(255,255,255,0.5), 1712px 1210px rgba(255,255,255,0.5), 361px 183px rgba(255,255,255,0.9), 1804px 1750px rgba(255,255,255,0.7), 1662px 45px rgba(255,255,255,0.5), 1056px 118px rgba(255,255,255,0.5), 1162px 605px rgba(255,255,255,0.35), 1333px 1723px rgba(255,255,255,0.9), 131px 1191px rgba(255,255,255,0.7), 1613px 1117px rgba(255,255,255,0.35), 685px 167px rgba(255,255,255,0.7), 1509px 215px rgba(255,255,255,0.7), 173px 53px rgba(255,255,255,0.5), 199px 1527px rgba(255,255,255,0.9), 502px 1458px rgba(255,255,255,0.5), 1001px 1567px rgba(255,255,255,0.7), 1566px 940px rgba(255,255,255,0.9), 717px 691px rgba(255,255,255,0.7), 1377px 279px rgba(255,255,255,0.9), 999px 1100px rgba(255,255,255,0.35), 1450px 1265px rgba(255,255,255,0.35), 840px 1550px rgba(255,255,255,0.7), 1747px 7px rgba(255,255,255,0.9), 1707px 182px rgba(255,255,255,0.9), 1961px 1108px rgba(255,255,255,0.35), 1072px 741px rgba(255,255,255,0.35), 1643px 225px rgba(255,255,255,0.9), 1891px 861px rgba(255,255,255,0.5), 503px 1518px rgba(255,255,255,0.5), 1300px 769px rgba(255,255,255,0.5), 657px 418px rgba(255,255,255,0.9), 870px 1083px rgba(255,255,255,0.7), 561px 1986px rgba(255,255,255,0.35), 965px 631px rgba(255,255,255,0.35), 621px 1327px rgba(255,255,255,0.5), 1589px 1883px rgba(255,255,255,0.5), 1868px 127px rgba(255,255,255,0.9), 35px 1196px rgba(255,255,255,0.9), 1862px 1639px rgba(255,255,255,0.35), 640px 222px rgba(255,255,255,0.5), 377px 735px rgba(255,255,255,0.5); }
.s2 { width: 2px; height: 2px; animation-duration: 300s; box-shadow: 1204px 482px rgba(255,255,255,0.9), 1218px 1041px rgba(255,255,255,0.5), 905px 378px rgba(255,255,255,0.7), 824px 353px rgba(255,255,255,0.7), 1283px 1122px rgba(255,255,255,0.9), 1747px 533px rgba(255,255,255,0.9), 1817px 824px rgba(255,255,255,0.7), 1352px 1120px rgba(255,255,255,0.35), 988px 1766px rgba(255,255,255,0.5), 818px 101px rgba(255,255,255,0.5), 1940px 275px rgba(255,255,255,0.9), 1998px 1080px rgba(255,255,255,0.7), 1613px 118px rgba(255,255,255,0.5), 1827px 22px rgba(255,255,255,0.9), 1853px 760px rgba(255,255,255,0.9), 1631px 504px rgba(255,255,255,0.9), 1241px 1791px rgba(255,255,255,0.5), 851px 321px rgba(255,255,255,0.7), 296px 531px rgba(255,255,255,0.5), 1304px 1518px rgba(255,255,255,0.7), 1056px 1094px rgba(255,255,255,0.35), 308px 1171px rgba(255,255,255,0.5), 2px 418px rgba(255,255,255,0.5), 1683px 262px rgba(255,255,255,0.35), 720px 552px rgba(255,255,255,0.35), 1822px 983px rgba(255,255,255,0.9), 169px 1956px rgba(255,255,255,0.7), 38px 1616px rgba(255,255,255,0.5), 853px 395px rgba(255,255,255,0.35), 1600px 1692px rgba(255,255,255,0.9), 426px 76px rgba(255,255,255,0.9), 1076px 1012px rgba(255,255,255,0.5), 1938px 1703px rgba(255,255,255,0.7), 647px 636px rgba(255,255,255,0.9), 155px 1139px rgba(255,255,255,0.7), 956px 1366px rgba(255,255,255,0.35), 736px 152px rgba(255,255,255,0.5), 216px 1367px rgba(255,255,255,0.9), 1384px 945px rgba(255,255,255,0.35), 1339px 911px rgba(255,255,255,0.35), 1768px 772px rgba(255,255,255,0.9), 486px 601px rgba(255,255,255,0.35), 938px 1580px rgba(255,255,255,0.35), 1753px 1729px rgba(255,255,255,0.5), 1846px 1261px rgba(255,255,255,0.5), 594px 1285px rgba(255,255,255,0.9), 1919px 1105px rgba(255,255,255,0.7), 1953px 690px rgba(255,255,255,0.9), 1137px 1365px rgba(255,255,255,0.35), 525px 386px rgba(255,255,255,0.5), 771px 1497px rgba(255,255,255,0.35), 674px 634px rgba(255,255,255,0.7), 1152px 962px rgba(255,255,255,0.7), 915px 1693px rgba(255,255,255,0.9), 188px 208px rgba(255,255,255,0.5), 1273px 193px rgba(255,255,255,0.5), 1387px 1291px rgba(255,255,255,0.5), 368px 395px rgba(255,255,255,0.9), 74px 1714px rgba(255,255,255,0.9), 1213px 1441px rgba(255,255,255,0.35), 205px 464px rgba(255,255,255,0.35), 321px 254px rgba(255,255,255,0.9), 833px 1579px rgba(255,255,255,0.35), 699px 1885px rgba(255,255,255,0.9), 1898px 1047px rgba(255,255,255,0.5), 1325px 420px rgba(255,255,255,0.5), 1681px 1415px rgba(255,255,255,0.9), 988px 678px rgba(255,255,255,0.9), 1275px 31px rgba(255,255,255,0.9), 1255px 1433px rgba(255,255,255,0.7), 1615px 1617px rgba(255,255,255,0.5), 1352px 1246px rgba(255,255,255,0.35), 533px 677px rgba(255,255,255,0.5), 700px 628px rgba(255,255,255,0.9), 217px 1141px rgba(255,255,255,0.9), 419px 1043px rgba(255,255,255,0.7), 1614px 601px rgba(255,255,255,0.35), 1252px 1461px rgba(255,255,255,0.5), 519px 1569px rgba(255,255,255,0.7), 1122px 479px rgba(255,255,255,0.7), 1253px 1024px rgba(255,255,255,0.5), 1175px 1461px rgba(255,255,255,0.5), 1911px 1056px rgba(255,255,255,0.5), 1161px 1935px rgba(255,255,255,0.35), 1284px 1350px rgba(255,255,255,0.5), 1590px 170px rgba(255,255,255,0.5), 500px 978px rgba(255,255,255,0.9), 1427px 683px rgba(255,255,255,0.7), 187px 1902px rgba(255,255,255,0.7), 545px 948px rgba(255,255,255,0.35), 926px 1993px rgba(255,255,255,0.5), 488px 1851px rgba(255,255,255,0.35), 1147px 1874px rgba(255,255,255,0.7), 345px 1862px rgba(255,255,255,0.7), 1231px 298px rgba(255,255,255,0.35), 1912px 1688px rgba(255,255,255,0.35), 591px 1403px rgba(255,255,255,0.7), 493px 1553px rgba(255,255,255,0.7), 1701px 339px rgba(255,255,255,0.5), 1223px 1122px rgba(255,255,255,0.35), 930px 65px rgba(255,255,255,0.9), 368px 1603px rgba(255,255,255,0.5), 630px 1548px rgba(255,255,255,0.9), 1259px 1212px rgba(255,255,255,0.35), 324px 408px rgba(255,255,255,0.9), 958px 67px rgba(255,255,255,0.5), 1081px 791px rgba(255,255,255,0.35), 1166px 830px rgba(255,255,255,0.5), 688px 1064px rgba(255,255,255,0.5), 539px 499px rgba(255,255,255,0.7), 109px 1314px rgba(255,255,255,0.35), 1477px 1374px rgba(255,255,255,0.5), 825px 1964px rgba(255,255,255,0.9), 1228px 209px rgba(255,255,255,0.9), 707px 842px rgba(255,255,255,0.9), 1539px 576px rgba(255,255,255,0.9), 1821px 949px rgba(255,255,255,0.9), 1689px 888px rgba(255,255,255,0.35), 1159px 234px rgba(255,255,255,0.7), 1075px 1066px rgba(255,255,255,0.9); }
.s3 { width: 3px; height: 3px; animation-duration: 420s; box-shadow: 860px 1851px rgba(255,255,255,0.35), 656px 1858px rgba(255,255,255,0.35), 606px 1485px rgba(255,255,255,0.9), 1499px 771px rgba(255,255,255,0.7), 1539px 1617px rgba(255,255,255,0.7), 1807px 1215px rgba(255,255,255,0.35), 500px 254px rgba(255,255,255,0.9), 496px 1029px rgba(255,255,255,0.9), 1991px 106px rgba(255,255,255,0.9), 1423px 215px rgba(255,255,255,0.5), 1116px 627px rgba(255,255,255,0.9), 1925px 483px rgba(255,255,255,0.35), 1866px 1496px rgba(255,255,255,0.7), 1774px 1118px rgba(255,255,255,0.9), 1154px 1649px rgba(255,255,255,0.5), 454px 1330px rgba(255,255,255,0.9), 1160px 251px rgba(255,255,255,0.35), 201px 1064px rgba(255,255,255,0.5), 253px 1806px rgba(255,255,255,0.9), 1px 606px rgba(255,255,255,0.5), 1491px 612px rgba(255,255,255,0.35), 665px 352px rgba(255,255,255,0.35), 902px 1833px rgba(255,255,255,0.9), 1670px 1086px rgba(255,255,255,0.9), 289px 730px rgba(255,255,255,0.5), 93px 627px rgba(255,255,255,0.35), 931px 1840px rgba(255,255,255,0.7), 630px 664px rgba(255,255,255,0.9), 293px 1912px rgba(255,255,255,0.9), 1799px 422px rgba(255,255,255,0.5), 604px 1759px rgba(255,255,255,0.35), 400px 646px rgba(255,255,255,0.7), 1841px 967px rgba(255,255,255,0.35), 352px 1301px rgba(255,255,255,0.5), 1091px 1295px rgba(255,255,255,0.5), 392px 1944px rgba(255,255,255,0.35), 1331px 217px rgba(255,255,255,0.7), 1486px 1674px rgba(255,255,255,0.7), 1968px 1843px rgba(255,255,255,0.7), 1780px 860px rgba(255,255,255,0.5); }
/* Desen 2000 × 2000 px; geniş ekranda (2000 px üstü) sağ taraf boş kalıyordu: yatayda bir kopya daha */
.stars.far { left: 2000px; }
@keyframes drift { from { transform: translateY(0); } to { transform: translateY(-2000px); } }
[data-state="object"] .starfield { opacity: .45; }

/* ---------- Ana alan ---------- */
.stage { position: relative; z-index: 2; min-height: 100vh; padding: 0 clamp(16px, 3vw, 32px); transition: opacity .4s ease; }
.hero { max-width: 640px; margin: 0 auto; padding-top: 24vh; text-align: center; transition: padding .5s ease; }
.hero__title { font-weight: 300; font-size: clamp(34px, 6vw, 60px); line-height: 1.05; letter-spacing: -.01em; color: var(--title); margin: 0 0 14px; }
.hero__tagline { color: var(--muted); margin: 0 auto 32px; max-width: 34rem; }

[data-state="object"] .hero { padding-top: 80px; margin: 0; max-width: 30rem; text-align: left; }
[data-state="object"] .hero__title, [data-state="object"] .hero__tagline { display: none; }

/* ---------- Arama ---------- */
.search { position: relative; }
.search__icon { position: absolute; z-index: 1; left: 18px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); fill: none; stroke: var(--muted); stroke-width: 1.8; pointer-events: none; }
.search__input {
  width: 100%; padding: 16px 20px 16px 50px; font: 400 18px var(--font); color: var(--fg);
  background: var(--panel); border: 1px solid var(--line); border-radius: 14px;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  transition: border-color .2s, box-shadow .2s;
}
.search__input::placeholder { color: #7d7d7d; }
.search__input:focus { outline: none; border-color: rgba(255,179,102,.55); box-shadow: 0 0 0 4px rgba(255,179,102,.12); }
[data-state="object"] .search__input { padding-block: 12px; font-size: 16px; }
.suggest {
  position: absolute; z-index: 10; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 6px; list-style: none;
  background: rgba(10, 10, 10, .97); border: 1px solid var(--line); border-radius: 14px; text-align: left;
  max-height: 60vh; overflow-y: auto; box-shadow: 0 24px 60px rgba(0,0,0,.5);
}
.opt { display: flex; flex-direction: column; padding: 9px 12px; border-radius: 9px; cursor: pointer; }
.opt:hover, .opt[aria-selected="true"] { background: rgba(255,179,102,.1); }
.opt__name { font-weight: 400; color: var(--title); }
.opt__meta { font: 12px/1.4 var(--mono); color: var(--muted); }
.search__status { min-height: 1.4em; margin: 10px 2px 0; font-size: 13px; color: var(--muted); }

/* ---------- Kart ---------- */
.card {
  position: relative; max-width: 30rem; margin: 8px 0 120px; padding: 22px 22px 18px;
  background: var(--panel); border: 1px solid var(--line); border-radius: 18px;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  animation: rise .45s cubic-bezier(.2,.8,.2,1);
}
@keyframes rise { from { opacity: 0; transform: translateY(10px); } }
.card__loading { color: var(--muted); margin: 0; }
.card__head { display: flex; gap: 14px; align-items: center; margin-bottom: 6px; }
.swatch { flex: none; width: 38px; height: 38px; border-radius: 50%; box-shadow: 0 0 22px currentColor; }
.card__title { margin: 0; font-weight: 400; font-size: 28px; line-height: 1.15; color: var(--title); }
.card__sub { margin: 2px 0 0; font-size: 14px; color: var(--muted); }
.card__h { margin: 22px 0 8px; font: 500 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.props { margin: 0; }
.props__row { display: grid; grid-template-columns: 11rem 1fr; gap: 12px; padding: 7px 0; border-top: 1px solid var(--line); }
.props dt { color: var(--muted); font-size: 14px; }
.props dd { margin: 0; font: 400 14px/1.5 var(--mono); }
.muted { color: #8c8c8c; }
.badge { display: inline-block; margin-left: 6px; padding: 0 6px; font: 500 10px/18px var(--mono); border-radius: 4px; vertical-align: 1px; cursor: help; border: 1px solid; }
.badge--measured { color: var(--measured); border-color: rgba(255,217,102,.45); }
.badge--derived { color: var(--derived); border-color: rgba(255,138,61,.5); }
.badge--estimated { color: var(--estimated); border-color: rgba(201,176,138,.55); border-style: dashed; }
.note { margin: 12px 0 0; font-size: 13px; color: var(--muted); }
.links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.links a { display: flex; flex-direction: column; height: 100%; padding: 10px 12px; text-decoration: none; border: 1px solid var(--line); border-radius: 10px; transition: border-color .2s, background .2s; }
.links a:hover { border-color: rgba(255,179,102,.5); background: rgba(255,179,102,.06); }
.links__name { font-weight: 400; color: var(--title); }
.links__name::after { content: ' ↗'; color: var(--muted); }
.links__desc { font-size: 12px; color: var(--muted); line-height: 1.35; }

/* ---------- Köşe önizlemesi ---------- */
.corner {
  position: fixed; z-index: 4; right: clamp(16px, 3vw, 32px); bottom: 70px;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 10px 10px 12px; background: var(--panel); border: 1px solid var(--line); border-radius: 18px; cursor: pointer;
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), border-color .2s;
}
.corner:hover { transform: translateY(-3px); border-color: rgba(255,179,102,.5); }
.corner__canvas { width: 168px; height: 168px; border-radius: 12px; display: block; background: #000; }
.corner__label { font-size: 13px; letter-spacing: .04em; }
.corner__label::before { content: '⤢ '; color: var(--accent); }
[data-state="3d"] .corner { display: none; }

/* ---------- 3D panel ---------- */
.v3d { position: fixed; z-index: 6; right: clamp(12px, 2vw, 24px); top: clamp(12px, 2vw, 24px); width: min(300px, calc(100vw - 24px)); }
.v3d__panel { display: grid; gap: 12px; padding: 16px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.v3d__close { justify-self: end; padding: 6px 14px; background: none; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; }
.v3d__close:hover { border-color: var(--accent); }
.ctl { display: grid; gap: 4px; font-size: 13px; color: var(--muted); }
.ctl input { width: 100%; accent-color: var(--accent); }
.ctl__val { font: 12px var(--mono); color: var(--fg); }
.chk { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.chk input { accent-color: var(--accent); }
.v3d__btn { padding: 8px; background: rgba(255,255,255,.04); border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.v3d__help, .v3d__model { margin: 0; font-size: 12px; color: var(--muted); }
[data-state="3d"] .bg { cursor: grab; touch-action: none; }
[data-state="3d"] .bg:active { cursor: grabbing; }

/* ---------- Alt bilgi ---------- */
.site-foot { position: relative; z-index: 3; background: #000; border-top: 1px solid var(--line); color: #c2c2c2; font-size: 15px; transition: opacity .4s; }
.site-foot__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 32px; padding-top: 48px; padding-bottom: 32px; }
.site-foot__brand p { margin: 14px 0 0; font-size: 14px; line-height: 1.6; max-width: 22rem; }
.site-foot h2 { margin: 0 0 12px; font: 500 12px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--title); }
.site-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.site-foot ul a { color: #c2c2c2; }
.site-foot ul a:hover { color: var(--accent); }
.site-foot__bottom { border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.site-foot__bottom .wrap { min-height: 60px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; padding-top: 10px; padding-bottom: 10px; }
.site-foot__bottom p { margin: 0; }
.pillbtn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; background: none; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: var(--fg); cursor: pointer; font-size: 14px; }
.pillbtn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.pillbtn:hover { border-color: var(--accent); color: var(--accent); }
.toast { position: fixed; z-index: 20; left: 50%; bottom: 24px; transform: translate(-50%, 20px); padding: 10px 16px; background: #2a1414; border: 1px solid #6b2a2a; border-radius: 10px; font-size: 14px; opacity: 0; pointer-events: none; transition: opacity .3s, transform .3s; }
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* ---------- Dar ekran ---------- */
@media (max-width: 760px) {
  [data-state="object"] .veil { background: linear-gradient(180deg, transparent 0, rgba(0,0,0,.6) 30vh, rgba(0,0,0,.92) 50vh); }
  [data-state="object"] .hero { max-width: none; }
  .card { max-width: none; margin-top: 34vh; }
  .props__row { grid-template-columns: 1fr; gap: 0; }
  .links { grid-template-columns: 1fr; }
  .corner { top: 168px; bottom: auto; padding: 6px 6px 8px; }
  .corner__canvas { width: 96px; height: 96px; }
  .corner__label { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- Gezegen kartı ---------- */
[data-kind="planet"] .v3d .chk { display: none; }
.swatch--planet { background: radial-gradient(circle at 35% 35%, var(--planet, #c8b8a0), #000 120%); box-shadow: none; }
.host { margin: 10px 0 0; font-size: 14px; color: var(--muted); }
.host__btn { padding: 0; background: none; border: 0; border-bottom: 1px dashed rgba(255,179,102,.6); color: var(--title); cursor: pointer; font: inherit; }
.host__btn:hover { color: var(--accent); }
.hz { margin: 8px 0 0; font-size: 13px; color: var(--muted); }
.hz--in { color: var(--measured); }
.orbit { margin: 14px 0 0; }
.orbit svg { width: 100%; height: auto; display: block; }
.orbit__hz { fill: rgba(255, 217, 102, .12); stroke: rgba(255, 217, 102, .45); stroke-width: 1; }
.orbit__path { stroke: var(--fg); stroke-width: 1.5; opacity: .5; }
.orbit__planet { fill: var(--title); }
.orbit__scale { stroke: var(--muted); stroke-width: 1; }
.orbit__label { fill: var(--muted); font: 10px var(--mono); }
.orbit figcaption { font-size: 12px; color: var(--muted); margin-top: 2px; }

/* ---------- Gözlem görüntüsü ve bulutsu ---------- */
.obs { margin: 14px 0 0; }
.obs img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; background: #05060a; border: 1px solid var(--line); }
.obs figcaption { margin-top: 6px; font-size: 12px; color: var(--muted); }
.obs__tag { display: inline-block; padding: 0 6px; margin-right: 4px; font: 500 10px/18px var(--mono); border-radius: 4px; color: var(--measured); border: 1px solid rgba(255,217,102,.45); }
[data-kind="nebula"] .v3d .chk, [data-kind="nebula"] .v3d .ctl--time { display: none; }
.swatch--nebula { box-shadow: none; }
.swatch--hii { background: radial-gradient(circle, #4fe0c8 0, #ff2a2a 55%, transparent 75%); }
.swatch--pn { background: radial-gradient(circle, #0b0d12 0 25%, #4fe0c8 40%, #ff2a2a 65%, transparent 78%); }
.swatch--snr { background: radial-gradient(circle, transparent 0 45%, #ff2a2a 60%, #4fe0c8 70%, transparent 80%); }
.swatch--rne { background: radial-gradient(circle, #fff 0 8%, #6f9bff 30%, transparent 75%); }
.swatch--dne { background: radial-gradient(circle, #050608 0 45%, #b3262a 60%, transparent 78%); }

/* ---------- Gökada ---------- */
[data-kind="galaxy"] .v3d .chk, [data-kind="galaxy"] .v3d .ctl--time { display: none; }
.swatch--galaxy { box-shadow: none; }
.swatch--gS, .swatch--gIrr { background: radial-gradient(circle, #ffe1b8 0 12%, #9fb4ff 35%, rgba(159,180,255,.25) 60%, transparent 72%); }
.swatch--gS0 { background: radial-gradient(ellipse 60% 35%, #ffe1b8 0 25%, rgba(255,225,184,.4) 55%, transparent 75%); }
.swatch--gE { background: radial-gradient(circle, #ffe9cc 0 15%, rgba(255,214,170,.55) 45%, transparent 72%); }

/* ---------- Kara delik ---------- */
[data-kind="bh"] .v3d .chk { display: none; }
.swatch--bh { background: radial-gradient(circle, #000 0 32%, #fff3dc 36%, #9fc2ff 48%, rgba(159,194,255,.25) 60%, transparent 72%); box-shadow: none; }

/* ---------- Yıldız kümesi ---------- */
[data-kind="cluster"] .v3d .chk, [data-kind="cluster"] .v3d .ctl--time { display: none; }
.swatch--cluster { box-shadow: none; background:
  radial-gradient(circle at 30% 35%, #9fc2ff 0 6%, transparent 9%), radial-gradient(circle at 62% 30%, #fff 0 5%, transparent 8%),
  radial-gradient(circle at 48% 62%, #ffd8a8 0 6%, transparent 9%), radial-gradient(circle at 72% 66%, #cfe0ff 0 4%, transparent 7%),
  radial-gradient(circle at 26% 70%, #fff3dc 0 4%, transparent 7%); }
.swatch--globular { background: radial-gradient(circle, #fff3dc 0 15%, rgba(255,214,170,.6) 35%, transparent 70%); }
.cmd { margin: 14px 0 0; }
.cmd svg { width: 100%; height: auto; display: block; }
.cmd__frame { fill: #05060a; stroke: var(--line); }
.cmd__zams { fill: none; stroke: rgba(255, 217, 102, .75); stroke-width: 1.3; stroke-dasharray: 4 3; }
.cmd__to { fill: none; stroke: var(--accent); stroke-width: 1.6; }
.cmd__tick { fill: var(--muted); font: 9px var(--mono); }
.cmd__axis { fill: var(--muted); font: 10px var(--mono); }
.cmd figcaption { font-size: 12px; color: var(--muted); margin-top: 4px; }

/* ---------- Pulsar ---------- */
[data-kind="pulsar"] .v3d .chk { display: none; }
.swatch--pulsar { box-shadow: none; background:
  linear-gradient(60deg, transparent 44%, rgba(160, 130, 255, .8) 49% 51%, transparent 56%),
  radial-gradient(circle, #fff 0 10%, #cfe0ff 16%, rgba(120, 160, 255, .35) 34%, transparent 62%); }
.pulse__line { fill: none; stroke: #ffb366; stroke-width: 1.5; }
.listen { margin-top: 8px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: none; font-size: 13px; cursor: pointer; }
.listen[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); }

/* ---------- Küçük cisimler ---------- */
[data-kind="sso"] .v3d .chk { display: none; }
.swatch--sso { box-shadow: none; background: radial-gradient(ellipse 46% 34% at 50% 50%, #b9b2a8 0 60%, #6f6a63 85%, transparent 100%); }
.swatch--comet { background: radial-gradient(circle at 40% 50%, #fff 0 8%, rgba(190, 215, 255, .6) 20%, transparent 46%), linear-gradient(200deg, transparent 40%, rgba(190, 215, 255, .35) 60%, transparent 80%); }
.orb svg { max-width: 320px; margin: 0 auto; }
.orb__planet { fill: none; stroke: rgba(255, 255, 255, .18); }
.orb__path { fill: none; stroke: var(--accent); stroke-width: 1.4; }
.orb__sun { fill: #ffd27a; }
.orb__earth { fill: #6fa8ff; }
.orb__body { fill: var(--accent); stroke: #fff; stroke-width: 1; }

/* ---------- Kuasar ---------- */
[data-kind="quasar"] .v3d .chk { display: none; }
.swatch--quasar { box-shadow: 0 0 14px var(--q); background: radial-gradient(circle, #fff 0 12%, var(--q) 26%, transparent 60%); }

/* ---------- Hata ve tekrar dene ---------- */
.note--warn { color: var(--estimated); }
.retry { margin-top: 10px; padding: 6px 14px; background: none; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-size: 13px; }
.retry:hover { border-color: var(--accent); color: var(--accent); }
.retry--inline { margin: 0 0 0 6px; padding: 1px 10px; font-size: 12px; }

/* ---------- Gökyüzünde ---------- */
.sky__now { margin: 0 0 6px; font-size: 14px; }
.sky__now b { font-weight: 500; color: var(--title); }
.sky__loc { margin: 6px 0 0; font-size: 13px; color: var(--muted); }
.linkbtn { padding: 0; background: none; border: 0; border-bottom: 1px dashed rgba(255,179,102,.6); color: var(--title); cursor: pointer; font: inherit; }
.linkbtn:hover { color: var(--accent); }
.linkbtn:disabled { opacity: .6; cursor: wait; }
.skyc { margin: 12px 0 0; }
.skyc svg { width: 100%; height: auto; display: block; }
.skyc__night { fill: rgba(255, 255, 255, .07); }
.skyc__twilight { fill: rgba(255, 255, 255, .03); }
.skyc__horizon { stroke: var(--muted); stroke-width: 1; }
.skyc__grid { stroke: var(--line); stroke-width: 1; stroke-dasharray: 2 4; }
.skyc__path { fill: none; stroke: var(--accent); stroke-width: 1.8; }
.skyc__now { fill: var(--title); stroke: var(--accent); stroke-width: 1.5; }
.skyc__tick { stroke: var(--muted); }
.skyc__label { fill: var(--muted); font: 10px var(--mono); }
.skyc figcaption { font-size: 12px; color: var(--muted); margin-top: 2px; }

/* ---------- Ana sayfa: keşfet ve turlar ---------- */
.explore { margin: 34px auto 0; max-width: 40rem; text-align: center; }
[data-state="object"] .explore, [data-state="3d"] .explore { display: none; }
.explore__today { margin: 0 0 18px; font-size: 15px; }
.explore__tag { display: inline-block; padding: 0 8px; margin-right: 4px; font: 500 10px/20px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--accent); border: 1px solid rgba(255,179,102,.4); border-radius: 4px; }
.explore__h { margin: 18px 0 10px; font: 500 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.chip { padding: 6px 13px; font-size: 14px; background: var(--panel); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transition: border-color .2s, color .2s; }
.chip:hover:not(:disabled) { border-color: rgba(255,179,102,.55); color: var(--title); }
.chip:disabled { opacity: .4; cursor: default; }
.chip--small { padding: 4px 11px; font-size: 13px; }
.chip--accent { border-color: rgba(255,179,102,.55); color: var(--accent); }
.chip[aria-pressed="true"] { border-color: var(--measured); color: var(--measured); }
.chips--rel { justify-content: flex-start; flex-direction: column; gap: 6px; }
.chips--rel li { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.chip__meta { font: 12px var(--mono); color: var(--muted); }
.tours { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 8px; }
.tour-btn { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 14px; text-align: left; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; cursor: pointer; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.tour-btn:hover { border-color: rgba(255,179,102,.55); }
.tour-btn__name { color: var(--title); font-weight: 400; }
.tour-btn__meta { font: 12px var(--mono); color: var(--muted); }
[data-state="home"] .hero { padding-top: calc(64px + 9vh); }
[data-state="home"] .stage { padding-bottom: 80px; }

/* ---------- Tur çubuğu ---------- */
.tourbar { margin: -4px 0 16px; padding: 12px 14px; border: 1px solid rgba(255,179,102,.35); border-radius: 12px; background: rgba(255,179,102,.05); }
.tourbar__head { margin: 0; font-size: 13px; color: var(--muted); }
.tourbar__tag { color: var(--accent); font: 500 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; margin-right: 4px; }
.tourbar__text { margin: 6px 0 0; font-size: 14px; line-height: 1.5; }
.tourbar__nav { margin: 10px 0 0; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.tourbar__nav .linkbtn { margin-left: auto; font-size: 13px; }

/* ---------- Karşılaştırma ---------- */
.card__actions { margin: 10px 0 0; }
.top__right { display: flex; align-items: center; gap: 8px; }
.cmp-pill { white-space: nowrap; padding: 6px 12px; background: var(--panel); border: 1px solid rgba(255,179,102,.5); border-radius: 999px; color: var(--accent); cursor: pointer; font-size: 14px; }
.cmp { width: min(720px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 18px 20px; color: var(--fg); background: rgba(10, 10, 10, .97); border: 1px solid var(--line); border-radius: 18px; }
.cmp::backdrop { background: rgba(0, 0, 0, .7); backdrop-filter: blur(4px); }
.cmp__head { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.cmp__title { margin: 0 auto 0 0; font-weight: 400; font-size: 22px; color: var(--title); }
.cmp__scale { font-size: 13px; color: var(--muted); }
.cmp__svg { width: 100%; height: auto; display: block; margin: 8px 0; }
.cmp__label { fill: var(--fg); font: 11px var(--font); }
.cmp__ground { stroke: var(--line); }
.cmp__dot { stroke: #fff; stroke-width: .5; }
.cmp__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cmp__table th { text-align: left; font: 500 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 6px 4px; }
.cmp__table td { padding: 7px 4px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 13px; }
.cmp__table td:first-child { font-family: var(--font); font-size: 14px; }
.cmp__refs { margin: 14px 0 0; font-size: 13px; color: var(--muted); }
.cmp__foot { margin: 12px 0 0; font-size: 13px; text-align: right; }
@media (max-width: 760px) {
  .cmp__table th:nth-child(3), .cmp__table td:nth-child(3) { display: none; }
}
@media (max-width: 480px) {
  .cmp-pill__txt { display: none; }
  .brand { font-size: 14px; }
}
[data-kind="moon"] .v3d .chk { display: none; }

/* ---------- Çift yıldız ---------- */
.orb--binary { margin: 10px 0 0; }
.orb--binary svg { max-width: 300px; margin: 0 auto; display: block; }
.orb figcaption { font-size: 12px; color: var(--muted); margin-top: 4px; }
.orb__sep { stroke: var(--muted); stroke-dasharray: 3 3; }
[data-kind="binary"] .v3d .chk { display: none; }

/* ---------- Değişen yıldız ---------- */
.lc { margin: 12px 0 0; }
.lc svg { width: 100%; height: auto; display: block; }
.lc__path { fill: none; stroke: var(--accent); stroke-width: 1.8; }
.lc figcaption { font-size: 12px; color: var(--muted); margin-top: 2px; }

/* ---------- Bu gece (ana sayfa) ---------- */
.tonight { margin: 0 0 8px; padding: 18px 20px; text-align: left; background: var(--panel); border: 1px solid var(--line); border-radius: 18px; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.tonight__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; }
.tonight__title { margin: 0; font-size: 19px; font-weight: 400; color: var(--title); }
.tonight__loc { margin: 0; font-size: 13px; color: var(--muted); }
.tonight__list { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: 0 18px; }
.tn { width: 100%; min-height: 44px; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 2px; background: none; border: 0; border-top: 1px solid var(--line); color: var(--fg); cursor: pointer; text-align: left; font-size: 15px; }
.tn:hover .tn__name { color: var(--accent); }
.tn__kind { margin-left: 8px; font: 11px var(--mono); color: var(--muted); }
.tn__when { font: 13px var(--mono); color: #c2c2c2; white-space: nowrap; }

/* ---------- Çerez onayı ---------- */
.consent { position: fixed; z-index: 15; left: clamp(12px, 3vw, 32px); bottom: clamp(12px, 3vw, 32px); width: min(440px, calc(100vw - 24px)); padding: 20px; background: #0a0a0a; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; box-shadow: 0 24px 60px rgba(0,0,0,.6); display: grid; gap: 12px; }
.consent h2 { margin: 0; font-size: 17px; font-weight: 500; color: var(--title); }
.consent p { margin: 0; font-size: 14px; line-height: 1.55; color: #c2c2c2; }
.consent a, .prose a, .page a { color: var(--accent); }
.consent__btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.consent__btns--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 6px; }
.consent__more { justify-self: center; min-height: 36px; }
.btn { min-height: 46px; padding: 0 14px; border-radius: 12px; font-size: 15px; cursor: pointer; }
.btn--ghost { background: none; border: 1px solid rgba(255,255,255,.32); color: var(--title); }
.btn--ghost:hover { border-color: var(--title); }
.btn--accent { background: none; border: 1px solid rgba(255,179,102,.65); color: var(--accent); }
.btn:disabled { opacity: .45; cursor: not-allowed; }
.cs-list { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.cs-list li { display: flex; gap: 16px; align-items: flex-start; justify-content: space-between; padding: 14px 16px; background: rgba(255,255,255,.03); border-radius: 12px; }
.cs-list strong { font-weight: 500; color: var(--title); font-size: 16px; }
.cs-list p { margin: 4px 0 0; font-size: 14px; color: var(--muted); line-height: 1.5; }
.cs-tag { flex: none; padding: 4px 10px; border-radius: 999px; font-size: 12px; background: rgba(255,217,102,.12); color: var(--measured); }
.cs-tag--off { background: rgba(255,255,255,.06); color: var(--muted); }
.switch { flex: none; appearance: none; -webkit-appearance: none; position: relative; width: 50px; height: 28px; margin: 0; border-radius: 999px; background: #333; border: 1px solid rgba(255,255,255,.2); cursor: pointer; transition: background .2s; }
.switch::after { content: ""; position: absolute; left: 3px; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: #c2c2c2; transition: transform .2s, background .2s; }
.switch:checked { background: rgba(255,179,102,.35); border-color: var(--accent); }
.switch:checked::after { transform: translateX(22px); background: var(--accent); }
.consent-dlg { width: min(640px, calc(100vw - 32px)); }

/* ---------- Yasal sayfalar ---------- */
[data-state="page"] .hero, [data-state="page"] .bg, [data-state="page"] .bg-fallback, [data-state="page"] .veil, [data-state="page"] .corner { display: none; }
.page { max-width: 1200px; margin: 0 auto; padding: 96px 0 72px; display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.page__nav { flex: 1 1 240px; max-width: 300px; padding: 16px; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; }
.page__navh { margin: 0 0 8px; font: 500 12px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.page__nav ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.page__nav a { display: block; padding: 9px 10px; border-radius: 9px; color: #c2c2c2; text-decoration: none; font-size: 15px; }
.page__nav a[aria-current="page"] { background: rgba(255,179,102,.12); color: var(--accent); }
.page__body { flex: 999 1 520px; min-width: 0; max-width: 46rem; }
.page__draft { margin: 0 0 14px; padding: 10px 14px; border: 1px dashed rgba(255,217,102,.6); border-radius: 10px; color: var(--measured); font-size: 14px; }
.page__meta { margin: 0 0 6px; font: 13px var(--mono); color: var(--muted); }
.page__title { margin: 0 0 18px; font-size: clamp(30px, 4vw, 42px); font-weight: 400; line-height: 1.15; color: var(--title); }
.page__note { color: var(--muted); }
.prose { font-size: 16px; line-height: 1.7; color: #d6d6d6; }
.prose h2 { margin: 32px 0 8px; font-size: 22px; font-weight: 400; color: var(--title); }
.prose strong { font-weight: 500; color: var(--title); }
.prose code { font: 13px var(--mono); color: var(--accent); }
.prose .summary { padding: 16px 20px; border: 1px solid rgba(255,217,102,.35); border-radius: 14px; background: rgba(255,217,102,.05); }
.prose .summary h2 { margin: 0 0 6px; font-size: 17px; font-weight: 500; color: var(--measured); }
.prose .summary ul { margin: 0; padding-left: 20px; }
.ph { background: rgba(255,217,102,.18); color: var(--measured); padding: 0 4px; border-radius: 4px; }
.tbl { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; margin: 10px 0; }
.tbl table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.tbl th { text-align: left; padding: 10px 12px; font-weight: 500; color: var(--title); background: rgba(255,255,255,.03); }
.tbl td { padding: 10px 12px; border-top: 1px solid var(--line); vertical-align: top; }
.srcs { margin: 10px 0; display: grid; gap: 12px; }
.srcs dt { color: var(--title); font-weight: 400; }
.srcs dd { margin: 2px 0 0; }
.form { display: grid; gap: 12px; max-width: 32rem; }
.form label { display: grid; gap: 4px; font-size: 14px; color: #c2c2c2; }
.form input, .form select, .form textarea { min-height: 44px; padding: 8px 12px; background: #0a0a0a; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; color: var(--fg); font: inherit; font-size: 15px; }
.form input:focus, .form select:focus, .form textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; }
@media (prefers-reduced-motion: reduce) { .stars { animation: none; } }
@media (max-width: 760px) {
  .mainnav { order: 3; flex-basis: 100%; overflow-x: auto; flex-wrap: nowrap; margin: 0 -8px 6px; }
  [data-state="object"] .hero { padding-top: 118px; }
  .corner { top: 168px; }
  .page { padding-top: 128px; }
  .consent__btns--3 { grid-template-columns: 1fr; }
}
.site-foot .brand { color: var(--title); }
