:root{--navy:#1b2a4a;--red:#c8102e;--green:#1e7b3a;--amber:#b7791f;--blue:#1f6fd1;--bg:#f5f6f8;
--drums:#b3392f;--drums-bg:#f9dcd8;--gtr:#1f6fd1;--gtr-bg:#dbe8fb;--bass:#1b2a5e;--bass-bg:#d3d9ea;--keys:#2e8b3e;--keys-bg:#dcf0dd;
--mics:#8a6d00;--mics-bg:#f6ecc4;--iem:#e8620c;--iem-bg:#fde3d2;--spk:#6a2aa0;--spk-bg:#ebdcf6;--off:#999;--off-bg:#eee}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1a1a1a;background:var(--bg)}
.top{position:sticky;top:0;z-index:10;background:var(--navy);color:#fff;padding:8px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;box-shadow:0 2px 6px #0003}
.top a{color:#fff;text-decoration:none}
.top .home{font-weight:700;background:#ffffff22;border-radius:8px;padding:10px 14px;min-height:44px;display:inline-flex;align-items:center}
.top .help{flex:1 1 200px;font-size:14px;line-height:1.3}
.top .help a{text-decoration:underline}
.top .btns{display:flex;gap:6px}
.top .btns a{background:#fff;color:var(--navy);font-weight:700;border-radius:8px;padding:10px 14px;min-height:44px;display:inline-flex;align-items:center}
main{max-width:860px;margin:0 auto;padding:12px 14px 24px}
h1{font-size:1.5em;line-height:1.2;margin:.4em 0 .2em;color:var(--navy)}
h2{font-size:1.2em;color:var(--navy);margin:1.2em 0 .4em}
h3{font-size:1.05em;margin:1em 0 .3em}
.lead{color:#333;margin:.2em 0 1em}
details{background:#fff;border:1px solid #d5d9e0;border-radius:12px;margin:10px 0;overflow:hidden}
summary{cursor:pointer;padding:14px 16px;min-height:52px;font-weight:700;font-size:1.05em;color:var(--navy);list-style:none;display:flex;align-items:center;gap:8px}
summary::-webkit-details-marker{display:none}
summary::before{content:"▸";transition:transform .15s}
details[open]>summary::before{transform:rotate(90deg)}
details>.body{padding:0 16px 14px}
.box{border-radius:10px;padding:10px 14px;margin:10px 0;border-left:6px solid}
.good{background:#e8f5ec;border-color:var(--green)}
.warn{background:#fdecec;border-color:var(--red)}
.note{background:#fff6e0;border-color:var(--amber)}
.info{background:#e8f0fc;border-color:var(--blue)}
.box b:first-child{display:inline}
figure{margin:10px 0;text-align:center}
figure a{display:block}
figure img{max-width:100%;height:auto;border-radius:8px;border:1px solid #ccd}
figcaption{font-size:.85em;color:#555}
table{border-collapse:collapse;width:100%;background:#fff;font-size:.95em}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0}
th,td{border-bottom:1px solid #e1e4ea;padding:8px 6px;text-align:left;vertical-align:top}
th{background:var(--navy);color:#fff}
ol,ul{padding-left:1.4em}li{margin:.25em 0}
code{background:#eef;padding:1px 4px;border-radius:4px;word-break:break-all}
.num{display:inline-flex;justify-content:center;align-items:center;min-width:1.8em;height:1.8em;border-radius:50%;background:#ffd400;border:2px solid #222;font-weight:800;font-size:.9em}
.num.red{background:var(--red);color:#fff}.num.dash{background:#fff;border-style:dashed}
/* home */
.role{margin:14px 0}
.role h2{margin:.2em 0}
.card{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid #d5d9e0;border-left:8px solid var(--navy);border-radius:12px;padding:14px 16px;margin:8px 0;min-height:60px;color:var(--navy);text-decoration:none;font-weight:700;font-size:1.1em}
.card small{display:block;font-weight:400;color:#555;font-size:.8em}
.card .slug{font-family:monospace;font-size:.75em;color:#777;font-weight:400}
.r-setup{border-left-color:var(--iem)}.r-sound{border-left-color:var(--red)}.r-video{border-left-color:var(--blue)}.r-music{border-left-color:var(--keys)}
/* big setup-crew cards */
.big{display:flex;align-items:center;gap:12px;border:3px solid;border-left-width:12px;border-radius:12px;padding:12px;margin:8px 0;background:#fff}
.big .n{flex:0 0 auto;min-width:56px;height:56px;border-radius:28px;background:#111;color:#fff;font-size:1.5em;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 8px}
.big .t{font-size:1.25em;font-weight:800;line-height:1.2}
.big .t small{display:block;font-size:.7em;font-weight:500;color:#333}
.big .tag{margin-left:auto;font-size:.7em;font-weight:800;letter-spacing:.05em;align-self:flex-start}
.drums{border-color:var(--drums);background:var(--drums-bg)}.drums .tag{color:var(--drums)}
.gtr{border-color:var(--gtr);background:var(--gtr-bg)}.gtr .tag{color:var(--gtr)}
.bass{border-color:var(--bass);background:var(--bass-bg)}.bass .tag{color:var(--bass)}
.keys{border-color:var(--keys);background:var(--keys-bg)}.keys .tag{color:var(--keys)}
.mics{border-color:var(--mics);background:var(--mics-bg)}.mics .tag{color:var(--mics)}
.iem{border-color:var(--iem);background:var(--iem-bg)}.iem .tag{color:var(--iem)}
.spk{border-color:var(--spk);background:var(--spk-bg)}.spk .tag{color:var(--spk)}
.off{border-color:var(--off);background:repeating-linear-gradient(45deg,#f4f4f4,#f4f4f4 8px,#e6e6e6 8px,#e6e6e6 16px);color:#777}
tr.drums td{background:var(--drums-bg)}tr.gtr td{background:var(--gtr-bg)}tr.bass td{background:var(--bass-bg)}tr.keys td{background:var(--keys-bg)}tr.mics td{background:var(--mics-bg)}tr.iem td{background:var(--iem-bg)}tr.spk td{background:var(--spk-bg)}tr.off td{background:#eee;color:#666;font-style:italic}
.chan{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.chan .big{flex:1 1 140px;flex-direction:column;align-items:flex-start}
.chan .big .n{font-size:2.2em;height:auto;background:none;color:inherit;padding:0}
.check li{list-style:"☐  "}
footer{text-align:center;color:#555;font-size:.85em;padding:16px;border-top:1px solid #d5d9e0;margin-top:20px}
@media (min-width:700px){body{font-size:18px}}
@media print{
 .top{position:static;background:#fff;color:#000;box-shadow:none;border-bottom:2px solid #000}
 .top a,.top .btns a{color:#000;background:none}.top .btns,.top .home{display:none}
 body{background:#fff;font-size:11pt}
 details{border:none;break-inside:avoid-page}details>summary::before{content:""}
 details:not([open])>.body{display:block}
 figure img{max-height:9cm;width:auto}
 a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em}
 .card{break-inside:avoid}
}
figure.small img{max-width:260px}
