.play-mode{border:1px solid #ad8a48;border-radius:12px;padding:1rem;margin:1rem 0;display:flex;gap:1rem;flex-wrap:wrap}.play-mode legend{color:#f5d494;font-weight:700;padding:0 .4rem}.play-mode label{display:flex;align-items:center;gap:.55rem;flex:1 1 13rem;margin:0;cursor:pointer;min-height:44px}.play-mode input{width:auto;min-height:auto;accent-color:#e7ba62}.solo-invitation{margin-top:.8rem;color:#e3d4af}.entry-help{max-width:60ch}.mp-exit-dialog{width:min(92vw,560px);max-height:90vh;overflow:auto;padding:1.5rem;border:1px solid #b39154;border-radius:14px;background:#173136;color:#f8e7c7}.mp-exit-dialog::backdrop{background:rgb(0 0 0 / .65)}.mp-exit-dialog select{display:block;width:100%;margin:1rem 0;min-height:48px;white-space:normal}.mp-exit-dialog .mp-actions{gap:.8rem;flex-wrap:wrap}.mp-exit-dialog button,.mp-exit-dialog a{min-height:44px}.first-clue-guide{border:1px solid #ad8a48;border-radius:10px;background:#173136;padding:1rem;margin:1rem 0;color:#eedcb7}.first-clue-guide summary{cursor:pointer;font-weight:700;min-height:32px}.first-clue-guide ol{padding-left:1.5rem;line-height:1.7}.first-clue-guide p{line-height:1.7}.trail-opening{padding:1rem;border:1px solid #ad8a48;border-radius:12px;background:#1c3538;margin:1rem 0}.trail-opening h2{font-size:1.15rem}.trail-opening details{margin-top:.75rem}.trail-opening summary{cursor:pointer;min-height:36px}.trail-opening .trail-card-grid{margin-top:1rem}@media(max-width:520px){.play-mode{display:grid;gap:.5rem}.mp-exit-dialog .mp-actions{display:grid}.mp-exit-dialog{padding:1rem}}
.room-entry .mp-lobby-columns>section{gap:12px}
.room-entry .mp-lobby-columns>section>:is(h2,label,p,button){margin:0}
.room-entry .mp-lobby-columns :is(input,select,button){height:54px;min-height:54px}
.room-entry .mp-lobby-columns .entry-description{flex:1}
/* Share all six rows so changing the mission description keeps both actions aligned. */
@supports(grid-template-rows:subgrid){
 @media(min-width:761px){
  .room-entry .mp-lobby-columns{row-gap:12px}
  .room-entry .mp-lobby-columns>section{display:grid;grid-template-rows:subgrid;grid-row:span 6}
 }
}
@media(max-width:760px){.room-entry .mp-lobby-columns .entry-description{flex:initial}}

/* Optional first puzzle and a private-by-default completion keepsake. */
.newcomer-desk{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);scroll-margin-top:24px;align-items:start}
.newcomer-intro{padding-top:12px}.newcomer-intro h2{max-width:14ch;text-wrap:balance}.newcomer-steps{padding-left:24px;line-height:1.8;margin:24px 0}.newcomer-steps li+li{margin-top:12px}
.practice-record,.completion-paper{color:#293734;background:linear-gradient(120deg,#f4e8ca,#e4cfa0);border:1px solid #c7a160;box-shadow:inset 0 0 0 5px #a7834630,0 10px 28px #0003;border-radius:5px;padding:clamp(20px,3vw,36px);position:relative}
.practice-record::before,.completion-paper::before{content:'';position:absolute;top:10px;left:12px;width:7px;height:7px;border-radius:50%;background:#ac8241;box-shadow:0 1px 1px #fff9}
.practice-record .eyebrow,.completion-paper .eyebrow{color:#6a4b20}.practice-record h3{font-size:1.5rem;line-height:1.3;margin:12px 0 22px;color:#293734}
.practice-record p,.practice-record summary,.completion-paper p,.completion-paper dt,.completion-paper dd{color:#293734}
.practice-record .fine{color:#514b3c;font-size:.85rem;line-height:1.6}.practice-facts{margin:0 0 24px}.practice-facts>div{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid #a8895060;padding:10px 0}.practice-facts dt{font-size:.95rem}.practice-facts dd{margin:0;text-align:right;font-weight:700}
.practice-record label{display:block;font-weight:700;font-size:.95rem}.practice-controls{display:flex;gap:12px;margin-top:10px}.practice-controls input{min-width:0;flex:1;width:100%;border:1px solid #92703b;background:#fff7e4;color:#263435;padding:12px;font:inherit;border-radius:4px;min-height:48px}.practice-record .button{color:#fff1cf;background:#234347;border:1px solid #234347;min-height:48px;text-align:center;white-space:normal}.practice-controls .button{flex:0 0 auto}.practice-record .button:hover{background:#31575b}
#practice-result{font-size:.95rem;line-height:1.6;margin:12px 0}#practice-result:empty{display:none}#practice-result[data-kind=correct]{border-left:4px solid #345b40;padding-left:12px}
.practice-record details{border-top:1px solid #a8895060;padding:4px 0}.practice-record summary{cursor:pointer;min-height:44px;align-content:center;font-weight:700}.practice-record details p{font-size:1rem;line-height:1.7}.practice-next{border-top:1px solid #a8895060;margin-top:18px;padding-top:12px;display:flex;flex-direction:column;gap:10px}.practice-next p{margin:0 0 8px;font-size:.95rem;line-height:1.6}.practice-record .text-link{color:#284c50;padding:8px 0;min-height:44px;align-content:center}
.newcomer-desk :focus-visible,.completion-panel :focus-visible{outline:3px solid #9a5a15;outline-offset:4px}.newcomer-intro :focus-visible,.completion-actions :focus-visible,.completion-next :focus-visible{outline-color:#ffe0a0}
.completion-panel{max-width:960px;margin:20px auto 36px;padding:clamp(16px,3vw,30px);border:1px solid #aa884e;border-radius:8px;background:#193238;color:#f4e5c5;scroll-margin-top:16px}.completion-panel[hidden],.completion-copy[hidden],#practice-form[hidden]{display:none}
.completion-paper{text-align:center}.completion-paper h2{font-family:Georgia,serif;font-weight:700;font-size:clamp(1.65rem,4vw,2.75rem);color:#293734;line-height:1.2;margin:16px 0}.completion-caption{line-height:1.7}.completion-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px;border-top:1px solid #a8895060;border-bottom:1px solid #a8895060;padding:20px 0;margin:20px 0}.completion-facts dt{font-size:.85rem;line-height:1.6}.completion-facts dd{font-family:Georgia,serif;font-size:1.5rem;font-weight:700;margin:6px 0 0}.completion-note{font-size:.875rem;line-height:1.7}.completion-paper .completion-note{color:#514b3c;margin-bottom:0}
.completion-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.completion-actions .button{min-height:48px;white-space:normal;background:#dec18a;color:#142b30;border:1px solid #e5cfa3;padding:12px 18px;font:700 .95rem/1.5 Arial,sans-serif;cursor:pointer}.completion-actions .button:hover{background:#f0d7a5}.completion-status{min-height:1.5em;line-height:1.6;font-size:.95rem}.completion-copy label{display:block;font-weight:700;margin-bottom:8px}.completion-copy textarea{width:100%;min-height:160px;padding:12px;font:1rem/1.6 Arial,sans-serif;color:#253839;background:#fff3d7}.completion-onward{border-top:1px solid #ad8a4860;padding-top:16px}.completion-onward h3{font-size:1.2rem}.completion-next{display:flex;flex-wrap:wrap;gap:12px 24px}.completion-next a{color:#f4d99f;min-height:44px;display:inline-flex;align-items:center;line-height:1.5;text-underline-offset:4px}
.completion-panel>.completion-note,.completion-panel>.completion-status{color:#e0d7bf}.completion-jump{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-weight:700}
@media(max-width:760px){.newcomer-desk{grid-template-columns:minmax(0,1fr)}.newcomer-intro h2{max-width:22ch}.completion-actions{display:grid;grid-template-columns:minmax(0,1fr)}.completion-next{display:grid}}
@media(max-width:420px){.practice-controls{flex-direction:column}.practice-facts>div{display:block}.practice-facts dd{text-align:left;margin-top:4px}.completion-facts{gap:16px}.completion-facts>div{flex:1 1 100px}}
