/* Pass 1 — Multiplayer Host Studio. Only Classic creates real Worker rooms. */
.multiplayer-entry{grid-template-columns:minmax(0,1.45fr) minmax(290px,.78fr);align-items:start}
.multiplayer-panel.student-entry{position:sticky;top:18px}
.host-studio{display:grid;gap:14px;min-width:0}
.host-studio [hidden]{display:none!important}
.host-studio .studio-step{min-width:0;border:1px solid #c5dfce;border-radius:17px;background:#f7fcf8;padding:16px}
.host-studio .studio-fieldset{min-inline-size:0;margin:0}
.host-studio .studio-fieldset legend{color:#244e41;font-size:.86rem;font-weight:880;letter-spacing:-.01em;padding:0 6px 9px 0}
.host-studio .studio-step-number{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 5px;
  border-radius:8px;background:#cde8d9;color:#245a43;font-size:.67rem;font-weight:870;margin-right:7px;vertical-align:middle}
.studio-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.studio-choice{position:relative;cursor:pointer;display:flex;flex-direction:column;gap:7px;min-width:0;
  border-radius:13px;border:1.5px solid #c9dbd0;background:#fff;padding:13px;min-height:112px;
  box-shadow:0 2px 7px #1a493a0b;transition:background .16s,border-color .16s,box-shadow .16s}
.studio-choice-wide{grid-column:1/-1;min-height:auto}
.studio-choice:hover{background:#f0f7f2;border-color:#80b29a}
.studio-choice.is-selected{background:#e2f3e9;border:2px solid #227457;padding:12.5px;box-shadow:0 3px 13px #286e4e18}
.studio-choice:has(input:focus-visible){outline:3px solid #d6a54a;outline-offset:3px}
.studio-choice input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.studio-choice-heading{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap;line-height:1.3}
.studio-choice-heading strong{font-size:.83rem;color:#214f3f;overflow-wrap:anywhere}
.studio-choice-icon{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:9px;
  color:#275b44;background:#e4f0e9;font-size:1.05rem;font-weight:900}
.studio-choice.is-selected .studio-choice-icon{background:#b8e0c8}
.studio-choice small{display:block;color:#557064;font-size:.71rem;line-height:1.5}
.studio-status{margin-left:auto;color:#7b6266;border:1px solid #e5cfc7;background:#fff0e7;border-radius:20px;
  padding:3px 7px;font-size:.53rem;letter-spacing:.055em;font-weight:850;white-space:nowrap}
.studio-status.is-live{color:#246044;border-color:#a7d5b9;background:#e3f5e6}
.studio-step-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.studio-step-heading h4{font-size:.87rem;font-weight:890;color:#224d3d;margin:0}
.studio-preset-row{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid #c5dacb;
  border-radius:12px;background:#eaf4ec}
.studio-preset-row button{min-height:35px;padding:7px 11px;border:1px solid transparent;border-radius:9px;
  color:#365c49;background:transparent;font-size:.71rem;font-weight:830;cursor:pointer}
.studio-preset-row button.is-selected{background:#fff;color:#195f46;border-color:#b3d6c2;box-shadow:0 1px 6px #14553c1b}
.studio-preset-row button:focus-visible{outline:3px solid #cba04d;outline-offset:2px}
.host-studio .studio-fields{margin-top:0}
.host-studio .studio-fields label,.host-studio .studio-inline-field label{font-size:.78rem;color:#254e40;font-weight:810;margin:6px 0 2px}
.studio-field-row{display:grid;gap:6px;min-width:0}
.studio-field-note{font-size:.71rem!important;line-height:1.52!important;color:#597568!important;margin:5px 0!important}
.studio-inline-field{display:grid;gap:5px;margin-top:10px}
.studio-inline-field select{width:100%;min-height:46px;border:2px solid #b6d3c1;background:#fff;
  color:#1d4d3a;border-radius:11px;padding:10px 13px;font:inherit;font-size:.84rem}
.studio-future-fields{display:grid;gap:11px;padding-top:11px;border-top:1px solid #d3e4d9}
.studio-future-note{font-size:.75rem;color:#5c584c;line-height:1.6;background:#fff6e7;
  border:1px solid #f0debd;padding:10px 12px;border-radius:10px;margin:2px 0 5px}
.studio-advanced{border:1px solid #c1d8c9;border-radius:14px;background:#f2f8f3;padding:11px 15px}
.studio-advanced summary{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-size:.81rem;font-weight:850;color:#24513f;cursor:pointer}
.studio-advanced summary:focus-visible{outline:3px solid #d1a24a;outline-offset:2px;border-radius:6px}
.studio-advanced[open] summary{margin-bottom:8px}
.studio-advanced .entry-inputs{margin-top:10px}
.studio-checkbox-label{display:flex!important;align-items:center;gap:9px;line-height:1.45}
.studio-checkbox-label input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:#22775a}
.studio-preview{background:linear-gradient(140deg,#173f44,#1c5b4c);border:1px solid #317568;border-radius:17px;
  color:#fff;padding:17px 18px;box-shadow:0 9px 20px #1c59441a}
.studio-preview-top{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.studio-preview-top>span:first-child{color:#bde4d3;font-size:.65rem;letter-spacing:.13em;font-weight:890}
.studio-availability{color:#ffe3aa;font-size:.7rem;font-weight:790}
.studio-availability.is-ready{color:#b4f1c9}
.studio-preview h4{color:#fff;font-size:1.04rem;line-height:1.38;margin:11px 0 7px;letter-spacing:-.018em}
.studio-preview p{color:#e1f5e9;font-size:.79rem;line-height:1.65;margin:0}
.host-studio .studio-validation{padding:10px 12px;border:1px solid #dbac96;background:#fff1e9;
  color:#80391f;border-radius:11px;font-size:.8rem;font-weight:770;margin:0}
.host-studio .entry-submit{margin-top:1px;min-height:54px;border-radius:12px}
.host-studio .entry-submit:disabled{opacity:.7;filter:none;cursor:not-allowed;background:#566e64!important}
.host-studio .studio-footer-note{font-size:.69rem;line-height:1.6;color:#587366;margin:0}
@media(max-width:940px){
 .multiplayer-entry{grid-template-columns:1fr}
 .multiplayer-panel.student-entry{position:static}
}
@media(max-width:560px){
 .host-studio .studio-step{padding:12px}
 .studio-choice{padding:11px;min-height:112px}
 .studio-choice.is-selected{padding:10.5px}
 .studio-choice-heading strong{font-size:.79rem}
 .studio-status{font-size:.48rem}
}
@media(max-width:390px){
 .studio-choice-grid{grid-template-columns:1fr}
 .studio-choice{min-height:auto}
 .studio-choice-wide{grid-column:auto}
 .studio-step-heading{align-items:flex-start}
 .studio-preset-row{width:100%}
 .studio-preset-row button{flex:1 1 30%}
}
@media(prefers-reduced-motion:reduce){.studio-choice{transition:none}}
