*{box-sizing:border-box}
:root{color-scheme:dark}
body{margin:0;background:var(--guild-night);color:#eaf0e8;font:18px/1.43 var(--guild-body)}
a{color:var(--guild-gold);text-underline-offset:3px}
.setup-width{width:min(1060px,calc(100% - 52px));margin-inline:auto}
.return-link{font-weight:650;color:var(--guild-cream);background:#172b3be8;border:1px solid #849286;padding:6px 12px;text-decoration:none}
main:focus{outline:none}
h1,h2{margin:0;color:var(--guild-cream);font-family:var(--guild-serif);font-weight:650;line-height:1.12}
h1{font-size:clamp(32px,4.5vw,47px)}h2{font-size:clamp(23px,2.3vw,29px)}p{margin:.55rem 0}
.setup-title{margin:25px 0 19px}.setup-title p{color:var(--guild-fog);margin-bottom:0}
.setup-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(245px,.8fr);gap:17px;align-items:start}.setup-column{display:grid;gap:16px}
.setup-panel,.practice-panel,.connection-help{padding:clamp(16px,2.4vw,23px);border:1px solid var(--guild-line);background:var(--guild-navy);box-shadow:inset 0 0 0 3px #1b3042,0 3px #0b1723}
.source{margin:14px 0;padding:12px;background:#20394b;border-left:3px solid var(--guild-mint)}
.source label{display:block;color:#f5dfb3;font-weight:700;font-size:16px}
input,select,button{font:inherit}
.source select,.source input{color:var(--guild-cream);background:#132637;border:1px solid #657c85;min-height:41px;padding:6px 9px;font-size:16px;border-radius:2px}
.source select{max-width:100%;margin:4px 0 6px}.source>div{display:flex;gap:6px}.source input{min-width:0;width:100%;flex:1}.source strong{color:var(--guild-cream)}
.actions,.practice-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin-top:13px}
.actions a,button,.paper-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:6px 12px;cursor:pointer;font:650 16px/1.2 var(--guild-body);text-decoration:none;border-radius:2px}
button,.actions a:first-child{background:#ead1a1;border:1px solid #bba078;color:#203537}
.actions a+a{color:var(--guild-mint);text-decoration:underline;padding:4px 0}
#copied{font-size:14px;display:block;color:var(--guild-mint)}
.setup-paper{padding:clamp(16px,2.4vw,23px);background:var(--guild-paper);color:var(--guild-paper-ink);border:1px solid var(--guild-paper-line);border-left:4px solid #b3945d}
.setup-paper h2{color:#5a462d}.setup-paper h2:not(:first-child){border-top:1px solid #c4baa1;padding-top:15px;margin-top:17px}
.paper-link{padding:0;color:#315747;text-decoration:underline}
.practice-panel{padding:13px 15px;text-align:center}.practice-panel h2{font-size:24px;text-align:left;margin-bottom:9px}
#practiceFrame{display:block;width:min(100%,250px);aspect-ratio:9/16;border:1px solid #8c8979;margin-inline:auto;background:#172b3b}
.practice-panel .actions{justify-content:center;margin-top:7px}.practice-panel .actions a:first-child{background:transparent;border:0;color:var(--guild-mint);text-decoration:underline}
#practice,.connection-help{text-align:left}#practice{border-top:1px solid #546b75;margin-top:6px;padding-top:10px}
summary{cursor:pointer;color:var(--guild-cream);font-weight:650}.practice-actions{margin-top:8px;gap:6px}.practice-actions button{min-width:58px}
.practice-actions [data-ballot=close],.practice-actions [data-ballot=reset]{background:#294253;color:var(--guild-cream);border-color:#667e83}
button:disabled{opacity:.55;cursor:default}
#practice p,.connection-help p{color:#d2dfdc}.connection-help{padding:13px 17px;margin-top:17px}.connection-help code{overflow-wrap:anywhere;font-size:.88em}
:focus-visible{outline:3px solid #9edbc0;outline-offset:2px}.setup-paper :focus-visible{outline-color:#316846}
@media(max-width:740px){.setup-width{width:min(620px,calc(100% - 22px))}.setup-grid{grid-template-columns:1fr;gap:14px}.setup-column{display:contents}.setup-panel{order:0}.practice-panel{order:1;display:grid;grid-template-columns:minmax(115px,.9fr) minmax(130px,1fr);gap:6px 14px;align-items:start}.practice-panel h2{grid-column:1/-1}.practice-panel iframe{grid-row:2/5}.practice-panel .actions{margin:0;justify-content:flex-start}.practice-panel #practice{grid-column:2;margin:0}.setup-paper{order:2}.setup-title{margin:19px 0 13px}.guild-mast-inner{min-height:72px}body{font-size:16px}}
@media(max-width:360px){.source{padding:9px}.source>div{flex-wrap:wrap}.source input{flex:1 0 100%}.practice-panel{grid-template-columns:minmax(108px,.9fr) minmax(105px,1fr);gap:5px 9px}.practice-actions button{min-width:42px;padding-inline:7px}}
.credits-panel{max-width:760px}.credits-panel h2{margin-top:1.1rem}.credits-panel summary{cursor:pointer;margin-top:1rem}.credits-panel li{margin:.5rem 0}
