@import url('./vendor/fonts.css');
:root{color-scheme:dark;--ink:#eae9d8;--muted:#9caeaa;--gold:#d3b779;--line:#a9b69c26;--teal:#96d5c3}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 15% 45%,#284a413b,transparent 55%),radial-gradient(ellipse at 90% 0,#44422b30,transparent 45%),#101c1b;color:var(--ink);font:14px Inter,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal);outline-offset:4px}[hidden]{display:none!important}
main{max-width:1240px;margin:auto;padding:0 44px}header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:600 19px Cinzel,Georgia,serif;letter-spacing:2px}.brand-mark{font-size:45px;color:var(--gold);line-height:1}.brand small{display:block;font:9px Inter,Arial,sans-serif;letter-spacing:3px;color:var(--muted);margin-top:7px}.connection-wrap{display:flex;align-items:center;gap:12px}#connection{color:var(--muted);font-size:11px;display:flex;align-items:center;gap:8px}#connection:before{content:'';height:6px;width:6px;flex-shrink:0;border-radius:50%;background:currentColor}#connection[data-status=online]{color:var(--teal)}#connection[data-status=offline]{color:#e4a694}.layout{display:grid;grid-template-columns:.83fr 1.35fr;gap:64px;align-items:center;min-height:690px;padding:50px 0 35px}.eyebrow{font-size:9px;letter-spacing:2.2px;color:var(--gold);font-weight:600}h1,h2,h3{font-family:Cinzel,Georgia,serif;font-weight:500}h1{font-size:clamp(36px,4vw,51px);line-height:1.25;letter-spacing:-1px;margin:21px 0}h1 em{font-style:normal;color:var(--gold)}p{color:var(--muted);font-size:12px;line-height:1.8;margin:12px 0}.intro>p{max-width:300px;font-size:13px}.crest{position:relative;width:142px;height:142px;display:grid;place-items:center;margin:26px 0 22px}.crest:before,.crest:after{content:'';position:absolute;inset:20px;border:1px solid #d3b77945;transform:rotate(45deg)}.crest:after{inset:8px;border-color:#d3b77916}.crest span{font:108px Georgia,serif;color:var(--gold);text-shadow:0 0 45px #bba76340}.crest i{position:absolute;height:3px;width:3px;background:var(--teal);box-shadow:0 0 10px var(--teal);top:15%;left:15%}.crest i:nth-child(3){top:75%;left:90%}.crest i:nth-child(4){top:20%;left:85%}.map-info strong{display:block;font:19px Cinzel,Georgia,serif;margin-top:10px}.map-info p{font-size:11px}.steps{display:flex;flex-wrap:wrap;gap:15px;margin-top:28px;font-size:9px;color:#84968f}.lobby-panel{min-width:0}section{background:linear-gradient(140deg,#233532c9,#182724e6);border:1px solid #b9bb8f36;border-top-color:#c9b47c77;border-radius:6px;padding:32px;box-shadow:0 22px 65px #0003}h2{font-size:29px;margin:10px 0}h3{font-size:16px;margin:0 0 18px}section>p{margin:0 0 24px}label{display:block;color:#c0c9bb;font-size:10px;letter-spacing:.4px;margin:17px 0 8px}input,select{width:100%;min-width:0;padding:13px 12px;border:1px solid #a9b69c35;background:#101e1b;color:var(--ink);border-radius:3px}input::placeholder{color:#71877d}#code{text-transform:uppercase;letter-spacing:3px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:27px;padding-top:24px;border-top:1px solid var(--line)}.columns form+form{padding-left:24px;border-left:1px solid var(--line)}.columns label{margin-top:0}.mode-description{min-height:52px;font-size:10px;line-height:1.7;margin:12px 0}button{cursor:pointer;color:#17231c;background:linear-gradient(110deg,#ddc58d,#bfa063);border:1px solid #dbc28b;padding:13px 15px;border-radius:3px;font-size:11px;font-weight:600;transition:filter .15s}button:hover:not(:disabled){filter:brightness(1.13)}button:disabled{opacity:.4;cursor:not-allowed}.columns button{width:100%;display:flex;justify-content:space-between;gap:8px}.secondary{background:#1b302b;color:var(--ink);border-color:#a9b69c4d}.quiet{color:var(--muted);background:transparent;border-color:var(--line)}.practice{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.practice strong{font-size:10px;font-weight:500}.practice p{font-size:10px;margin:6px 0 0}.text-link{font-size:10px;line-height:1.7;color:var(--gold);text-decoration:none}.text-link:hover{text-decoration:underline}.room-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 22px;border-bottom:1px solid var(--line)}.room-title label{margin:14px 0 8px;font-size:9px;color:var(--muted)}#roomCode{font:28px Cinzel,Georgia,serif;letter-spacing:5px;color:var(--gold);user-select:all}.room-details{display:flex;justify-content:space-between;gap:12px;margin:23px 0 17px;font-size:11px}.room-details strong{font-weight:500}#playerCount{color:var(--muted)}#roster{display:grid;gap:8px}.player-row,.empty-slot{display:flex;align-items:center;gap:12px;padding:13px 12px;border:1px solid var(--line);border-radius:3px;background:#12231e80;min-width:0}.player-mark{width:28px;height:28px;border:1px solid #d3b77944;display:grid;place-items:center;color:var(--gold);font:16px Cinzel,Georgia,serif;flex-shrink:0}.player-name{font-size:11px;overflow-wrap:anywhere;min-width:0}.player-name small{display:block;font-size:8px;letter-spacing:.6px;color:var(--muted);margin-top:4px}.player-status{font-size:8px;letter-spacing:.5px;margin-left:auto;color:var(--muted);white-space:nowrap}.player-status.is-ready{color:var(--teal)}.empty-slot{color:#758d80;border-style:dashed;font-size:10px}.empty-slot .player-mark{color:#758d80;border-style:dashed;border-color:var(--line)}.team-heading{margin:12px 0 2px;color:var(--gold);font-size:10px;letter-spacing:1px}#roomStatus{font-size:11px;background:#0e1d1959;border-left:2px solid var(--gold);padding:12px;margin:22px 0 16px}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions #leave{margin-left:auto}.note{font-size:9px;margin:18px 0 0;color:#81998c}#error{color:#ffb5a0;font-size:11px;line-height:1.7;min-height:30px;padding-top:12px}footer{display:flex;justify-content:space-between;gap:20px;padding:23px 0;border-top:1px solid var(--line);color:#83958c;font-size:9px;letter-spacing:1px}.version{color:#61786a;font-size:8px}
@media(min-width:1500px){.layout{min-height:calc(100vh - 190px)}}@media(max-width:1000px){main{padding:0 26px}.layout{gap:28px;grid-template-columns:.7fr 1.3fr}section{padding:24px}h1{font-size:36px}.columns{gap:16px}.columns form+form{padding-left:16px}}@media(max-width:760px){main{padding:0 20px}header{min-height:88px}.brand{font-size:15px}.brand-mark{font-size:36px}.brand small{font-size:8px;letter-spacing:2px}#connection{font-size:10px}.connection-wrap{align-items:flex-end;flex-direction:column;gap:8px}.layout{display:block;padding:32px 0 18px;min-height:0}.intro h1{font-size:35px;margin:15px 0}.intro h1 br{display:none}.intro>p{max-width:430px}.crest,.map-info,.steps{display:none}.intro{margin-bottom:26px}section{padding:24px}footer{font-size:8px;letter-spacing:.4px}}@media(max-width:430px){main{padding:0 14px}section{padding:20px}.columns{grid-template-columns:1fr;gap:24px}.columns form+form{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.mode-description{min-height:0}.practice{align-items:flex-start;flex-direction:column;gap:12px}.room-title{align-items:flex-start;flex-direction:column;gap:12px}.room-details{font-size:10px}.player-row{gap:8px;padding:12px 9px}.actions #leave{margin-left:0}h2{font-size:25px}footer{flex-wrap:wrap;gap:10px}.version{display:none}}
