:root{color-scheme:dark;--bg:#101714;--panel:#1b2520;--ink:#f3f4eb;--muted:#a6b6aa;--green:#b9e58c;--line:#344039}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,sans-serif}header,main,footer{max-width:1200px;margin:auto}header{padding:36px 32px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;letter-spacing:3px;color:var(--ink);text-decoration:none;font-size:22px}.brand span{color:var(--green)}.pill{font-size:11px;letter-spacing:2px;padding:8px 14px;border:1px solid var(--line);border-radius:30px;color:var(--muted)}main{display:grid;grid-template-columns:1.35fr 1fr;gap:52px;padding:64px 32px 100px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--green);font-weight:700}h1{font-size:clamp(38px,5vw,62px);line-height:1.12;letter-spacing:-2px;margin:28px 0}h1 span{color:var(--green)}.intro{max-width:440px;color:var(--muted);font-size:18px}.facts{display:flex;flex-direction:column;gap:16px;margin-top:54px;font-size:13px;color:var(--muted)}.facts span{border-bottom:1px solid var(--line);padding-bottom:12px;max-width:340px}.panel{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.wide{grid-column:1/-1}h2{font-size:26px;line-height:1.2;margin:26px 0 10px}.panel p{color:var(--muted)}nav{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);padding:10px 14px}button:disabled{opacity:.5;cursor:wait}nav button{font-size:13px;flex:1;padding:10px 4px}nav button.active{background:#334132;color:var(--green);border-color:var(--green)}label{display:block;font-size:13px;color:var(--muted);margin:20px 0 8px}input,select{width:100%;margin-top:7px;background:#111b15;border:1px solid #435349;border-radius:8px;color:var(--ink);padding:12px}input:focus,button:focus-visible,select:focus{outline:2px solid var(--green);outline-offset:3px}.primary{background:var(--green);color:#152710;font-weight:700;border:0}form .primary{width:100%;margin-top:24px}.fine,#password-help{font-size:12px!important}.fine{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.downloads{display:flex;gap:20px;flex-wrap:wrap;margin:28px 0}.downloads a{display:block;text-decoration:none;background:var(--green);color:#152710;padding:18px 28px;border-radius:8px;font-weight:700}.invite-actions{display:flex;gap:24px;align-items:flex-end}.invite-actions button{margin-bottom:8px}output{display:block;overflow-wrap:anywhere;margin:20px 0;color:var(--green)}.user{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line)}#status{grid-column:1/-1;background:#253328;padding:12px 20px;border-radius:8px}#status:empty{display:none}footer{border-top:1px solid var(--line);padding:24px 32px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}[hidden]{display:none!important}@media(max-width:760px){main{grid-template-columns:1fr;padding-top:24px;gap:28px}.hero h1{font-size:43px}.facts{display:none}.pill{font-size:9px;letter-spacing:1px}header{padding:24px}.invite-actions{display:block}footer span{display:none}.panel{padding:22px}}

.auth-alternative{width:100%;margin-top:22px}.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px;margin:0 0 22px}.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line);flex:1}#microsoft-login{width:100%;display:flex;align-items:center;justify-content:center;gap:12px}.microsoft-icon{width:21px;height:21px;flex-shrink:0}.account-actions{display:flex;align-items:center;gap:18px}.launcher-action{display:flex;align-items:center;gap:8px}.launcher-action a{padding:10px 14px;border-radius:8px;text-decoration:none;white-space:nowrap}.launcher-action a[aria-disabled="true"]{opacity:.5;pointer-events:none}.launcher-action select{width:auto;margin:0;padding:10px}header:has(.account-actions:not([hidden]))>.pill{display:none}@media(max-width:760px){header{flex-wrap:wrap;gap:18px}.account-actions{flex-wrap:wrap;gap:12px;width:100%;justify-content:flex-end}.launcher-action{flex:1}.launcher-action a{flex:1;text-align:center;font-size:13px}.launcher-action select,#logout{font-size:13px}}

.password-field{display:block;position:relative}.password-field input{padding-right:48px}.password-toggle{position:absolute;right:5px;top:12px;border:0;padding:8px;display:flex;align-items:center;color:var(--muted)}.password-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}.password-toggle[aria-pressed="true"]{color:var(--green)}.launcher-action{gap:0;background:var(--green);border-radius:8px}.launcher-action a{border-radius:8px 0 0 8px}.os-picker{position:relative;align-self:stretch;width:36px;display:flex;align-items:center;justify-content:center;color:#152710;border-left:1px solid #15271040}.os-picker>span{font-size:22px;line-height:1}.launcher-action .os-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.os-picker:focus-within{outline:2px solid var(--green);outline-offset:3px;border-radius:0 8px 8px 0}

.news-card{border-top:1px solid var(--line);padding:18px 0}.news-card a,#news-article a{color:var(--green);text-decoration:none}.news-card h3{margin:0 0 8px}#article-content{white-space:pre-wrap;overflow-wrap:anywhere}#news-article h1{font-size:38px}#account{max-width:800px;width:100%;justify-self:center}

.text-link{display:inline-block;margin-top:12px;color:var(--green);font-size:13px;text-decoration:none}.text-link:hover{text-decoration:underline}.text-link:focus-visible{outline:2px solid var(--green);outline-offset:4px}

/* BandiCraft identity v1: local vector assets and readable system typography. */
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;letter-spacing:0}.brand-symbol{width:54px;height:54px;display:block}.brand-wordmark{width:178px;height:auto;display:block}h1,h2{font-weight:800}header{gap:20px;flex-wrap:wrap}@media(max-width:480px){.brand-symbol{width:42px;height:42px}.brand-wordmark{width:150px}.brand{gap:8px}}
