:root{--bg:#0b0b0c;--panel:#111113;--panel2:#171719;--line:#29292d;--text:#f4f1eb;--muted:#aaa7a1;--orange:#e66b12;--orange2:#ff8a2b;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.nav{height:76px;border-bottom:1px solid var(--line);background:rgba(11,11,12,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.navin{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em}.brand img{width:44px;height:44px;object-fit:contain}.links{display:flex;align-items:center;gap:25px;color:#cbc8c1;font-size:14px}.links a:hover,.links a.active{color:#fff}.navjoin,.btn.primary{background:var(--orange);color:#fff}.navjoin{padding:10px 15px;border-radius:7px;font-weight:750}.menu{display:none;background:none;border:0;color:#fff;font-size:26px}.hero{min-height:620px;display:grid;align-items:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-180px;top:30px;width:620px;height:620px;background:url('assets/tsrp-halloween.webp') center/contain no-repeat;opacity:.16;filter:grayscale(.15)}.heroGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;position:relative;z-index:2}.eyebrow{font-size:12px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:var(--orange2);margin-bottom:18px}.hero h1,.pageHero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,7vw,84px);line-height:.95;margin:0 0 20px;letter-spacing:-.04em}.hero p,.pageHero p{max-width:680px;color:#bbb7b0;font-size:18px;line-height:1.7}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border:1px solid var(--line);border-radius:7px;font-weight:750;background:#151517}.btn:hover{transform:translateY(-1px);border-color:#45454a}.heroLogo{text-align:center}.heroLogo img{width:min(420px,90%);filter:drop-shadow(0 20px 55px rgba(0,0,0,.55))}.stats{border-bottom:1px solid var(--line);background:#0e0e10}.statsGrid{display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:27px 0;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat+.stat{padding-left:32px}.stat strong{display:block;font-family:Georgia,serif;font-size:30px}.stat span{color:var(--muted);font-size:13px}.section{padding:82px 0}.sectionHead{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section h2{font-family:Georgia,serif;font-size:40px;margin:0}.sectionHead p{max-width:520px;color:var(--muted);line-height:1.65}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid var(--line);background:var(--panel);padding:25px;border-radius:8px}.card .num{font-size:11px;color:var(--orange2);font-weight:850;letter-spacing:.12em}.card h3{font-size:20px;margin:28px 0 9px}.card p{color:var(--muted);font-size:14px;line-height:1.65;margin:0 0 20px}.textlink{font-size:13px;font-weight:800;color:#fff}.pageHero{padding:90px 0 60px;border-bottom:1px solid var(--line)}.pageHero h1{font-size:clamp(44px,6vw,70px)}.ruleGroup{margin-bottom:55px}.ruleGroup h2{font-family:Georgia,serif;font-size:32px;border-bottom:1px solid var(--line);padding-bottom:15px}.rules{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.rule{background:var(--panel);padding:18px 20px;line-height:1.55;color:#d4d0c9}.rule b{color:var(--orange2);margin-right:10px}.deptList{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dept{border:1px solid var(--line);background:var(--panel);padding:26px;display:flex;flex-direction:column;min-height:200px;border-radius:8px}.dept h3{font-family:Georgia,serif;font-size:25px;margin:0 0 10px}.dept p{color:var(--muted);line-height:1.6;flex:1}.application{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;border-top:1px solid var(--line);padding:30px 0}.application:last-child{border-bottom:1px solid var(--line)}.application h3{margin:0 0 7px;font-size:22px}.application p{margin:0;color:var(--muted)}.infoGrid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.infoBox{border-top:2px solid var(--orange);padding-top:20px}.infoBox h3{font-family:Georgia,serif;font-size:26px}.infoBox p{color:var(--muted);line-height:1.75}.code{font:700 28px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;border:1px solid var(--line);background:var(--panel);padding:17px 20px;display:inline-block;margin:12px 0}.footer{border-top:1px solid var(--line);padding:34px 0 50px;color:#817e78;font-size:13px}.footerin{display:flex;justify-content:space-between;gap:20px}.loader{position:fixed;inset:0;z-index:999;background:#080809;display:flex;align-items:center;justify-content:center;transition:opacity .35s ease,visibility .35s}.loader.hide{opacity:0;visibility:hidden}.loadInner{text-align:center;width:min(330px,75vw)}.loadInner img{width:115px}.loadTitle{font-family:Georgia,serif;font-size:24px;margin:14px 0}.loadbar{height:2px;background:#262629;overflow:hidden}.loadbar i{display:block;height:100%;width:0;background:var(--orange);animation:load 1s ease forwards}@keyframes load{to{width:100%}}.loadText{font-size:11px;color:#777;margin-top:11px;letter-spacing:.12em;text-transform:uppercase}@media(max-width:850px){.links{display:none;position:absolute;top:76px;left:0;right:0;background:#0c0c0e;border-bottom:1px solid var(--line);padding:22px;flex-direction:column;align-items:flex-start}.links.open{display:flex}.menu{display:block}.heroGrid{grid-template-columns:1fr}.heroLogo{display:none}.hero{min-height:570px}.cards{grid-template-columns:1fr}.deptList,.infoGrid{grid-template-columns:1fr}.statsGrid{grid-template-columns:1fr}.stat,.stat+.stat{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.application{grid-template-columns:1fr}.sectionHead{display:block}.footerin{display:block}.hero:after{right:-320px;opacity:.1}}

/* v4: original design + light mode + smaller home logo */
.heroLogo img{width:min(260px,72%)}
.themeToggle{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:7px;padding:9px 11px;cursor:pointer;font:700 12px Inter,ui-sans-serif,system-ui;white-space:nowrap}
.themeToggle:hover{border-color:#4a4a4f}
body.light{--bg:#f4f1eb;--panel:#ffffff;--panel2:#ebe7df;--line:#d8d2c8;--text:#181716;--muted:#69655f;background:var(--bg);color:var(--text)}
body.light .nav{background:rgba(244,241,235,.94)}
body.light .links{color:#4e4b47}
body.light .links a:hover,body.light .links a.active{color:#111}
body.light .menu{color:#111}
body.light .hero p,body.light .pageHero p{color:#5f5b55}
body.light .btn{background:#fff;color:#181716}
body.light .btn.primary,body.light .navjoin{background:var(--orange);color:#fff}
body.light .stats{background:#ece8e0}
body.light .textlink{color:#181716}
body.light .rule{color:#302e2b}
body.light .loader{background:#f4f1eb}
body.light .loadbar{background:#d8d2c8}
body.light .loadText{color:#77716a}
body.light .footer{color:#706b64}
@media(max-width:850px){body.light .links{background:#f4f1eb}.themeToggle{align-self:flex-start}.heroLogo img{width:min(220px,68%)}}
/* v6 restrained refresh */
:root{--radius:14px;--radius-sm:10px}body{background:linear-gradient(180deg,#0b0b0d,#0e1015 52%,#0b0b0c)}.nav{background:rgba(12,12,15,.9)}.navjoin,.btn,.themeToggle,.card,.dept{border-radius:10px}.hero{min-height:590px;background:radial-gradient(circle at 78% 45%,rgba(230,107,18,.10),transparent 30%),linear-gradient(135deg,#0b0b0d,#11141b 58%,#15100d)}.hero:after{display:none}.heroGrid{grid-template-columns:1.35fr .65fr}.heroLogo img{width:min(205px,66%);filter:drop-shadow(0 18px 30px rgba(0,0,0,.4))}.hero h1{font-size:clamp(48px,6.5vw,78px)}.btn{border-color:#32343a;background:linear-gradient(180deg,#191a1e,#131417);transition:.18s}.btn.primary,.navjoin{background:linear-gradient(135deg,#d95d0b,#f17a1d);border-color:transparent;box-shadow:0 8px 24px rgba(230,107,18,.12)}.stats{background:linear-gradient(90deg,#0e0f12,#12141a 50%,#0f0f11)}.statsGrid{max-width:920px}.stat strong{font-size:27px}.section{padding:72px 0}.cards{grid-template-columns:1.12fr .94fr .94fr;gap:16px}.card{background:linear-gradient(145deg,#141519,#101114);border-color:#292b31;padding:27px;box-shadow:0 14px 34px rgba(0,0,0,.12);transition:.18s}.card:hover,.dept:hover{transform:translateY(-2px);border-color:#3b3d44}.card:first-child{background:linear-gradient(145deg,#181716,#121317);border-color:#3a3028}.pageHero{background:linear-gradient(135deg,#0c0d10,#12151b 65%,#15100d);padding:76px 0 54px}.deptList{gap:16px}.dept{background:linear-gradient(145deg,#141519,#101114);border-color:#292b31;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.1)}.rules{border-radius:14px;overflow:hidden;border-color:#2b2d32;background:#2b2d32}.rule{background:#121317}.code{border-radius:10px}.loader{background:radial-gradient(circle at 50% 45%,#17130f,#09090b 55%)}.loadInner img{width:88px}body.light{background:linear-gradient(180deg,#f5f3ef,#eeece7 60%,#f5f3ef)}body.light .hero{background:radial-gradient(circle at 78% 45%,rgba(230,107,18,.08),transparent 30%),linear-gradient(135deg,#f8f6f2,#eceff4 60%,#f4ece5)}body.light .stats{background:linear-gradient(90deg,#ece9e3,#f3f1ed,#ebe8e2)}body.light .card,body.light .dept{background:linear-gradient(145deg,#fff,#f7f5f1);border-color:#d8d3ca;box-shadow:0 12px 30px rgba(39,35,29,.06)}body.light .card:first-child{background:linear-gradient(145deg,#fffaf5,#f7f4ef)}body.light .pageHero{background:linear-gradient(135deg,#f8f6f2,#edf0f5 65%,#f7eee7)}body.light .rule{background:#fff}body.light .rules{background:#d8d2c8;border-color:#d8d2c8}body.light .btn{background:linear-gradient(180deg,#fff,#f4f1ec);border-color:#d8d2c8}body.light .loader{background:radial-gradient(circle at 50% 45%,#fff,#f2efe9 60%)}@media(max-width:850px){.heroGrid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.hero{min-height:540px}.heroLogo{display:none}}
