/* Server Launcher: store, download page, owner editor, admin (Figma "Server Launcher") */
.slic{display:block;flex:none}
.sl{background:var(--bg)}
.sl .h span{color:var(--a)}
.sl-lead{font:500 19px/1.55 Cairo,sans-serif;color:#e4e4e4;margin:22px 0 30px;max-width:520px}
.sl-hero{position:relative;min-height:640px;background-size:cover;background-position:center;overflow:hidden}
.sl-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.95) 0%,rgba(20,20,20,.78) 42%,rgba(20,20,20,.2) 75%),linear-gradient(0deg,var(--bg) 0%,rgba(30,30,30,0) 35%)}
.sl-hw{position:relative;display:flex;align-items:center;min-height:640px}
.sl-ht{position:relative;z-index:1;max-width:620px;padding:60px 0}
.sl-hero .h{font-size:76px;line-height:.95}
.sl-hero .crumb{font:600 14px Cairo;color:#bbb;margin-bottom:14px}.sl-hero .crumb a{color:#bbb}.sl-hero .crumb b{color:#fff}
.sl-cta{display:flex;flex-wrap:wrap;gap:12px}
.btn.lg{height:54px;padding:0 26px;font-size:16px}
.sl-shot{position:absolute;right:-180px;bottom:60px;width:640px;height:auto;box-shadow:0 30px 80px rgba(0,0,0,.7);border:1px solid #333;transform:perspective(1400px) rotateY(-14deg)}
.sl-sec{padding:80px 0 0}
.sl-sec:last-child{padding-bottom:100px}
.sl-h2{font:800 italic 40px/1 Kanit;color:#fff;text-transform:uppercase}
.sl-sub{font:500 17px Cairo;color:#999;margin:10px 0 28px;max-width:640px}
.sl-err{color:#ff8f8f;font:600 15px Cairo;margin:0 0 16px}
.sl-sg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sl-sg.one{grid-template-columns:2fr 1fr}
.sl-tc{background:var(--s1)}
.sl-pvbtn{position:relative;display:block;width:100%;padding:0;border:0;background:#111;cursor:pointer}
.sl-pvbtn img{display:block;width:100%;height:auto}
.sl-pvl{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;background:rgba(15,15,15,.85);color:#fff;font:700 italic 13px Kanit;text-transform:uppercase;border:1px solid rgba(255,255,255,.2)}
.sl-pvbtn:hover .sl-pvl,.sl-pvbtn:focus-visible .sl-pvl{background:var(--a);color:#140a02;border-color:var(--a)}
.sl-tb{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 26px}
.sl-tb b{display:block;font:800 italic 28px Kanit;color:#fff;text-transform:uppercase}.sl-tb span{font:500 15px/1.45 Cairo;color:#aaa}
.sl-buy{display:flex;align-items:center;gap:18px;flex:none}
.sl-tc.prem{box-shadow:inset 0 0 0 2px var(--a)}
.sl-prem{display:inline-block;vertical-align:middle;margin-left:8px;padding:2px 10px;font:800 italic 13px/1.3 Kanit;font-style:normal;text-transform:uppercase;color:#000;background:var(--a);transform:skewX(-12deg) translateY(-3px)}
.sl-pr{margin:0;text-align:right}.sl-pr b{display:block;font:800 italic 40px/1 Kanit;color:#fff}.sl-pr small{font:600 13px Cairo;color:#999}
.sl-soon{border:1px dashed #444;display:flex;flex-direction:column;justify-content:center;padding:30px}
.sl-soon p{font:800 italic 22px Kanit;color:#ddd;text-transform:uppercase}.sl-soon small{font:500 14px Cairo;color:#888;margin-top:6px}
.sl-get-l{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:28px 40px;margin-top:28px;padding:0}
.sl-get-l li{display:flex;gap:16px}.sl-get-l svg{color:var(--a);margin-top:2px}
.sl-get-l b{display:block;font:800 italic 18px Kanit;color:#fff;text-transform:uppercase;margin-bottom:4px}.sl-get-l span{font:500 15px/1.5 Cairo;color:#aaa}
.sl-steps ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s;margin:24px 0 0;padding:0}
.sl-steps li{counter-increment:s;background:var(--s1);padding:30px 28px}
.sl-steps li:before{content:counter(s);display:block;width:42px;height:42px;background:var(--a);color:#1b1b1b;font:800 italic 22px/42px Kanit;text-align:center;margin-bottom:18px}
.sl-steps b{display:block;font:800 italic 20px Kanit;color:#fff;text-transform:uppercase;margin-bottom:6px}.sl-steps span{font:500 16px/1.5 Cairo;color:#bbb}
.sl-fine{font:500 14px/1.6 Cairo;color:#8f8f8f;margin-top:22px;max-width:760px}.sl-fine b{color:#ddd}
.sl-dlg{width:min(1180px,calc(100vw - 32px));max-width:none;padding:0;border:1px solid #333;background:#141414;color:#ddd}
.sl-dlg::backdrop{background:rgba(0,0,0,.75)}
.sl-dlgh{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font:800 italic 15px Kanit;text-transform:uppercase;color:#fff}
.btn.sm{height:36px;padding:0 14px;font-size:12px}
.sl-frame{position:relative;width:100%;aspect-ratio:1156/758;background:#000;overflow:hidden}
.sl-frame iframe{position:absolute;left:0;top:0;width:1156px;height:758px;border:0;transform-origin:0 0;transform:scale(var(--k,1))}
/* download page */
.sl-gh{position:relative;min-height:560px;display:flex;align-items:center;background:#161616 center/cover}
.sl-gh:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,18,18,.94),rgba(18,18,18,.6))}
.sl-gh .w{position:relative;padding:80px 0}
.sl-glogo{display:block;width:96px;height:96px;object-fit:contain;margin-bottom:22px}
.sl-dl{display:flex;flex-wrap:wrap;gap:12px}
/* owner editor */
.sl-note{padding:14px 18px;margin-bottom:18px;font:600 15px Cairo;color:#ddd;border-left:3px solid #666}.sl-note.ok{border-color:var(--on)}
.sl-ed{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:32px;align-items:start}
.sl-form label{display:block}
.sl-form .in,.sl-aform .in,.sl-adm .in{width:100%}
.lbl{display:block;font:800 italic 13px Kanit;color:#888;text-transform:uppercase;margin:18px 0 8px}
.sl-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sl-hint{display:block;font:500 13px/1.5 Cairo;color:#8a8a8a;margin-top:8px}
.sl-tp{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sl-tp label{position:relative;background:var(--s1);border:2px solid transparent;padding:4px;color:#ccc;font:700 12px Cairo;cursor:pointer}
.sl-tp label.on{border-color:var(--a);color:#fff}.sl-tp input{position:absolute;opacity:0}
.sl-tp label:focus-within{outline:2px solid var(--a);outline-offset:2px}
.sl-tp img{display:block;width:100%;height:auto;margin-bottom:4px}
.sl-tp .more{display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px dashed #555;font:700 13px Cairo;color:#ddd;min-height:70px;text-align:center}.sl-tp .more small{font:500 12px Cairo;color:#888}
.sl-col{display:flex;align-items:center;gap:12px;height:46px;background:#141414;border:1px solid #3a3a3a;padding:0 10px}
.sl-col input{width:30px;height:30px;padding:0;border:0;background:none;cursor:pointer}.sl-col code{font:700 14px Cairo;color:#fff}
.sl-up{margin-top:18px}
.sl-up>label{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 14px;border:1px dashed #555;color:#ddd;font:700 14px Cairo;cursor:pointer}
.sl-up>label:hover{border-color:var(--a)}
.sl-up span small{display:block;font:500 12px Cairo;color:#888}
.sl-up input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.sl-up>label:focus-within{outline:2px solid var(--a);outline-offset:2px}
.sl-cur{display:flex;align-items:center;gap:10px;margin-top:8px}.sl-cur img{height:40px;max-width:120px;object-fit:contain;background:#111}
.sl-rm{font:600 13px Cairo;color:#aaa}
.sl-ln{display:grid;grid-template-columns:20px 64px 1fr;align-items:center;gap:10px;margin-bottom:8px;font:700 14px Cairo;color:#ccc}
.sl-nw{background:var(--s1);margin-bottom:8px;padding:10px 12px}
.sl-nw summary{cursor:pointer;font:700 14px Cairo;color:#ddd}
.sl-nw .in{margin-top:8px}
.sl-nw textarea.in{height:auto;padding:10px 12px;resize:vertical}
.sl-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sl-side{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px}
.sl-pv .lbl{margin-top:0}
.sl-share{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px}
.sl-share.col{flex-direction:column;align-items:stretch}
.sl-share .lbl{margin:0 0 4px}.sl-share b{display:block;font:700 18px Cairo;color:#fff}.sl-share small{display:block;font:500 13px Cairo;color:#888;margin-top:2px}
.sl-st.failed{color:#ff8f8f}.sl-st.ready{color:#fff}
.sl-share .cp{display:flex;gap:8px}
.sl-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px}
.sl-pick .sl-act{grid-column:1/-1}
.sl-pt{position:relative;display:block;background:var(--s1);border:2px solid transparent;padding:6px;cursor:pointer;font:700 14px Cairo;color:#ddd}
.sl-pt:has(input:checked){border-color:var(--a)}.sl-pt input{position:absolute;opacity:0}.sl-pt img{display:block;width:100%;height:auto;margin-bottom:6px}
/* admin */
.sl-adm{margin-bottom:24px}
.sl-tbl{width:100%;border-collapse:collapse}
.sl-tbl th{text-align:left;font:800 italic 13px Kanit;color:#888;text-transform:uppercase;padding:10px 12px;border-bottom:1px solid #333}
.sl-tbl td{padding:12px;border-bottom:1px solid #2c2c2c;font:600 15px Cairo;color:#ddd;vertical-align:middle}
.sl-tbl .tn{display:flex;align-items:center;gap:14px}.sl-tbl .tn img{width:120px;height:auto}
.sl-tbl .tn b{display:block;font:800 italic 18px Kanit;color:#fff;text-transform:uppercase}.sl-tbl .tn small{font:500 13px Cairo;color:#999}
.sl-tbl .ac{white-space:nowrap}.sl-tbl .ac .btn{margin-left:6px}
.sl-sw{display:inline-block;width:46px;height:26px;background:#3a3a3a;position:relative;border:0;cursor:pointer;padding:0}
.sl-sw.on{background:var(--a)}.sl-sw i{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;transition:left .15s}.sl-sw.on i{left:23px}
.sl-file input{display:block;margin-top:4px;color:#ccc;font:500 14px Cairo}.sl-file small{display:block;font:500 12px Cairo;color:#888;margin-top:6px}
.sl-chk{display:flex;align-items:center;gap:10px;margin-top:14px;font:600 14px Cairo;color:#ccc}
.sl-spec{margin-top:22px;font:500 14px/1.6 Cairo;color:#aaa}.sl-spec summary{cursor:pointer;color:#ddd;font-weight:700}.sl-spec ul{margin:8px 0 0 18px}.sl-spec code{color:#ffb27a}
.sl-adm .cp{display:flex;gap:8px}
@media (max-width:960px){
  .sl-ed{grid-template-columns:1fr}.sl-side{position:static;order:-1}
  .sl-sg{grid-template-columns:1fr}.sl-get-l,.sl-steps ol{grid-template-columns:1fr 1fr}
  .sl-shot{display:none}.sl-hero .h{font-size:56px}
}
@media (max-width:640px){
  .sl-hero,.sl-hw{min-height:0}.sl-hero .h{font-size:42px}.sl-lead{font-size:17px}
  .sl-get-l,.sl-steps ol,.sl-two{grid-template-columns:1fr}
  .sl-tb{flex-direction:column;align-items:flex-start}.sl-pr{text-align:left}
  .sl-tbl thead{display:none}.sl-tbl tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #2c2c2c}.sl-tbl td{border:0}.sl-tbl td.tn{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.sl-sw i{transition:none}}
.sl-adm h2.h3{position:static;margin:0 0 6px;transform:none}
.va .sl-adm p.lead{margin:0 0 4px}
@media (max-width:960px){.sl-hero:before{background:linear-gradient(0deg,var(--bg) 0%,rgba(20,20,20,.86) 30%,rgba(20,20,20,.8) 100%)}}
/* build progress */
.sl-prog{padding:20px 24px}
.sl-ph{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.sl-ph b{font:700 17px Cairo;color:#fff}.sl-ph span{font:800 italic 20px Kanit;color:var(--a)}
.sl-bar{height:8px;background:#141414;overflow:hidden}.sl-bar i{display:block;height:100%;background:var(--a);transition:width .6s}
.sl-os{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.sl-os li{display:grid;grid-template-columns:14px 80px 1fr;align-items:center;gap:10px;font:600 14px Cairo;color:#8a8a8a}
.sl-os li b{color:#ddd;font-weight:700}
.sl-os li i{width:10px;height:10px;border:2px solid #555}
.sl-os li.working i{border-color:var(--a);background:var(--a);animation:slp 1.2s ease-in-out infinite}
.sl-os li.working span{color:#ddd}
.sl-os li.done i{border-color:var(--on);background:var(--on)}.sl-os li.done span{color:var(--on)}
@keyframes slp{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.sl-bar i{transition:none}.sl-os li.working i{animation:none}}
.sl-tb .sl-own{display:inline-flex;align-items:center;gap:8px;font:800 italic 15px Kanit;text-transform:uppercase;color:var(--on)}
/* download page: the picture runs from the menu to the footer */
body:has(.sl-get) .ft{margin-top:0}
.sl-gh{background-color:#161616}
.sl-notes{height:auto;padding:10px 12px;resize:vertical}
.sl-warn{display:flex;gap:16px;margin-top:22px;padding:20px 24px;background:#2a2116;border:1px solid #5a4020;border-left:4px solid #ffb020;color:#e6dccd}
.sl-warn svg{color:#ffb020;margin-top:2px}
.sl-warn b{display:block;font:800 italic 17px Kanit;text-transform:uppercase;color:#fff;margin-bottom:6px}
.sl-warn p{font:500 15px/1.6 Cairo;color:#d9cdb8;margin:0 0 6px;max-width:820px}
.sl-warn p b{display:inline;font:700 15px Cairo;text-transform:none;color:#fff;margin:0}
