:root{--ink:#0D0D0D;--muted:#555b63;--line:#d9dce1;--bg:#f6f6f4;--card:#fff;--accent:#F05A28;--accent-ink:#A8360F;--ok:#1d6b3a;--okbg:#e7f4ec;--err:#a1121b;--errbg:#fdecec;--warn:#7a5200;--warnbg:#fff4d9;
  --r:10px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;line-height:1.5;font-size:16px}
a{color:var(--accent-ink)}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
nav.top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 24px;background:var(--ink);color:#fff}
nav.top a{color:#fff;text-decoration:none}nav.top a:hover{text-decoration:underline}
.brand{font-weight:800;display:flex;align-items:center;gap:10px}.brand .sub{font-weight:400;opacity:.8;font-size:.9em}
.mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--accent);color:var(--ink);font-size:13px;font-weight:900}
.navr{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.navr form{margin:0}
.badge{display:inline-block;min-width:22px;padding:0 6px;border-radius:11px;background:var(--accent);color:var(--ink);font-weight:800;text-align:center;font-size:.85em}
.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
nav.top .linkish{color:#fff}.linkish.danger{color:var(--err)}
main{max-width:1100px;margin:0 auto;padding:24px 20px 80px}
h1{font-size:1.75rem;margin:.2em 0 .2em;line-height:1.2}h2{font-size:1.2rem;margin:1.6em 0 .5em}h3{font-size:1rem;margin:.4em 0}
.muted{color:var(--muted)}.small{font-size:.875rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 10px;font-size:.9rem}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--muted)}
.headrow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}
.acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 18px;border-radius:8px;border:2px solid var(--ink);background:var(--ink);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.btn:hover{background:#333;color:#fff}.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.ghost{background:#fff;color:var(--ink)}.btn.ghost:hover{background:#eee}
.btn.sm{min-height:36px;padding:4px 12px;font-size:.9rem}.btn.danger{color:var(--err);border-color:var(--err)}
.flash{padding:12px 16px;border-radius:var(--r);margin:12px 0;border-left:5px solid}
.flash.ok{background:var(--okbg);border-color:var(--ok)}.flash.err{background:var(--errbg);border-color:var(--err)}.flash.warn{background:var(--warnbg);border-color:var(--warn)}
.flash ul{margin:.3em 0 0;padding-left:1.2em}
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;position:relative}
.card h2{margin:0 0 4px;font-size:1.1rem}.cardlink{color:var(--ink);text-decoration:none}.cardlink::after{content:"";position:absolute;inset:0}
.card:hover{border-color:var(--ink)}.card p{margin:.2em 0}
.sws{display:flex;gap:4px}.sw{display:inline-block;width:22px;height:22px;border-radius:5px;background:var(--c);border:1px solid rgba(0,0,0,.2);vertical-align:middle}
.tag{display:inline-block;padding:1px 8px;border-radius:999px;background:#eceef1;font-size:.8rem;font-weight:600}
.tag.warn{background:var(--warnbg);color:var(--warn)}.tag.ok{background:var(--okbg);color:var(--ok)}
.stack{display:grid;gap:14px}.narrow{max-width:520px}
label{display:grid;gap:4px;font-weight:600}.hint{font-weight:400;color:var(--muted);font-size:.875rem}
input,textarea,select{font:inherit;padding:9px 11px;border:1.5px solid #8a9099;border-radius:7px;background:#fff;min-height:44px;width:100%}
input[type=checkbox]{width:20px;height:20px;min-height:0}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:12px 16px 16px;background:#fff}legend{font-weight:800;padding:0 6px}
.rows{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}
.rowedit{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.rowedit input{flex:1 1 160px;width:auto}.rowedit .hex{flex:0 1 130px}
.links{display:flex;flex-wrap:wrap;gap:12px 32px;margin:10px 0}.links dt{font-size:.8rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.links dd{margin:0;word-break:break-all}
.tablewrap{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.grid th,.grid td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.grid thead th{font-size:.85rem;color:var(--muted)}
.empty{background:#fff;border:1px dashed #9aa0a8;border-radius:var(--r);padding:18px}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 16px;margin:16px 0}.box summary{font-weight:700;cursor:pointer;min-height:32px}
.grp{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:4px 16px 14px;margin:14px 0}.grp h2{margin:.6em 0}
ol.items{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:6px}
li.item{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid #eef0f2}
li.item .nm{flex:1 1 260px;width:auto}.handle{color:#9aa0a8}
.chk{display:inline-flex;flex-direction:row;align-items:center;gap:6px;font-weight:500}
.long{color:var(--warn);font-size:.85rem;font-weight:700}
.savebar{position:sticky;bottom:0;background:var(--bg);padding:12px 0;display:flex;flex-wrap:wrap;gap:14px;align-items:center;border-top:1px solid var(--line)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px}.chips li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 12px}
.files{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.files li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;display:grid;gap:6px;word-break:break-all}
.files img{width:100%;height:110px;object-fit:contain;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/16px 16px;border-radius:6px}
.fileicon{display:grid;place-items:center;height:110px;background:#eef0f2;border-radius:6px;font-weight:800;color:var(--muted)}
form.inline{display:inline;margin:0}
.artsec{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:4px 16px 16px;margin:16px 0}
.months{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.month{border:1px solid var(--line);border-radius:8px;padding:8px;display:grid;gap:6px;align-content:start}.month.has{border-color:#8a9099}
.mname{font-weight:700}.month img,.fixed img{width:100%;border-radius:4px;border:1px solid var(--line)}
.none{display:grid;place-items:center;aspect-ratio:16/9;background:#f1f2f4;border-radius:4px;color:var(--muted);font-size:.85rem}
.fixed{display:grid;gap:8px;max-width:520px;margin-bottom:12px}
.filebtn{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;min-height:36px;padding:4px 12px;border:2px solid var(--ink);border-radius:8px;background:#fff;font-weight:700;font-size:.9rem;cursor:pointer;position:relative}
.filebtn:hover{background:#eee}.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0}
.filebtn:focus-within{outline:3px solid var(--accent);outline-offset:2px}.filebtn.busy{opacity:.6}.filebtn.busy::after{content:" …"}
.compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:16px 0}
.compare figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px}.compare img{width:100%}.compare figcaption{font-weight:700;margin-bottom:6px}
.checklist{padding-left:1.2em}
ol.changes{padding-left:1.4em;display:grid;gap:6px}ol.changes li{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.login{max-width:420px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 28px}
@media (max-width:600px){main{padding:16px 14px 60px}nav.top{padding:10px 14px}.navr{gap:12px}}
/* Menu types, built versions, requests */
h3.sub{margin:1em 0 .4em;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
h4{font-size:.95rem;margin:0}
.built{border-top:1px dashed var(--line);margin-top:14px;padding-top:6px}
ul.plain{list-style:none;padding:0;margin:.3em 0;display:grid;gap:4px}
.pvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;align-items:start}
.pv{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:8px;display:grid;gap:6px}
.pv img{width:100%;border-radius:4px}.pv figcaption{font-size:.85rem;font-weight:600}
.fixedrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.radios{display:grid;gap:8px}
label.radio{display:flex;gap:10px;align-items:flex-start;font-weight:400;padding:8px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}
label.radio:has(input:checked){border-color:var(--ink);background:#f7f7f8}
label.radio input{margin-top:4px;width:18px;height:18px;flex:0 0 auto}
label.radio span{display:grid;gap:2px}
.pre{white-space:pre-wrap;margin:0}
.files.plain{display:grid;grid-template-columns:1fr;gap:6px}.files.plain li{display:flex;gap:10px;align-items:center}
label.radio .tag{justify-self:start}
