:root { color-scheme:light; font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif; color:#15171b; background:#eef0f3; }
* { box-sizing:border-box; }
body { margin:0; }
.launcher-downloads { display:grid;gap:0;margin:28px 0; }
.launcher-downloads article { border-top:1px solid #d7dbe0;padding:20px 0; }
.launcher-downloads h2 { font-size:18px;margin:0; }
.launcher-downloads p { color:#465260;font-size:14px; }
.launcher-downloads nav { display:flex;flex-wrap:wrap;gap:12px 24px; }
.editor-opening { display:grid; gap:24px; justify-content:center; align-content:center; min-height:100dvh; padding:32px; font-size:15px; }
.editor-opening .error { max-width:55ch; line-height:1.6; color:#9b2019; }
a { color:#174d88; text-underline-offset:3px; }
a:focus-visible,button:focus-visible { outline:3px solid #146ef5; outline-offset:3px; }
button { min-height:40px; padding:8px 12px; border:1px solid #d7dbe0; border-radius:7px; background:#f8f9fa; color:#15171b; cursor:pointer; font:inherit; }
button:hover { background:#eef0f3; }
.credits { width:min(1040px,calc(100% - 40px)); margin:32px auto 64px; }
.credits h1 { font-size:28px; letter-spacing:-.025em; }
.credits > p { max-width:75ch; color:#465260; line-height:1.6; }
.credits details { margin-top:24px; max-width:75ch; color:#465260; font-size:14px; line-height:1.6; }
.credits summary { cursor:pointer; padding-block:8px; color:#15171b; }
.credits-list { margin-top:28px; }
.credits-list article { display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; padding:24px 0; border-top:1px solid #d7dbe0; }
.credits-list img { width:48px; height:48px; object-fit:contain; }
.credits-list h2 { margin:0 0 8px; font-size:18px; }
.credits-list p { margin:8px 0; color:#465260; line-height:1.6; }
.credits-list nav { display:flex; flex-wrap:wrap; gap:12px 22px; font-size:13px; }
.credits-list small { color:#465260; font-size:12px; font-weight:400; }
.personal-note { border:0; border-radius:12px; padding:46px 56px; max-width:calc(100% - 32px); background:#fff; color:#15171b; animation:note-in 180ms ease-out; }
.personal-note::backdrop { background:rgb(21 23 27 / .3); }
.personal-note p { margin:0; font-size:clamp(22px,4vw,30px); letter-spacing:-.025em; }
.personal-note button { position:absolute; top:6px; right:6px; border:0; background:transparent; font-size:22px; min-width:40px; }
@keyframes note-in { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:760px){.credits { width:calc(100% - 32px); }}
@media(prefers-reduced-motion:reduce){* { scroll-behavior:auto; }.personal-note { animation:none; }}
