/* ---------- LAN 멀티플레이 로비 ---------- */
.startActions{display:flex;gap:12px;align-items:center;justify-content:center;margin:28px 0 10px;flex-wrap:wrap}
.startActions #startBtn{margin:0}
#lanBtn{font-family:'Jua';font-size:18px;padding:13px 24px;border:2px solid #315d78;border-radius:12px;
  background:#e8f5fb;color:#17384b;cursor:pointer;transition:transform .12s,background .12s}
#select .nameRow #lanBtn{font-size:15px;padding:8px 16px;border-color:#315d78;background:#e8f5fb;color:#17384b}
#lanBtn:hover{transform:translateY(-2px);background:#d5eef9}
#lanLobby{z-index:55;background:rgba(13,20,29,.94);padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));
  color:#eef6fa;align-items:center;justify-content:center;overscroll-behavior:none}
.lanShell{width:min(1060px,100%);max-height:calc(100dvh - 28px);display:flex;flex-direction:column;overflow:hidden;
  border:1px solid rgba(255,255,255,.14);border-radius:20px;background:#182431;box-shadow:0 24px 70px rgba(0,0,0,.42)}
.lanHeader,.lanRoomTop{display:flex;align-items:center;justify-content:space-between;gap:14px}
.lanHeader{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.10);background:linear-gradient(120deg,#1e3545,#17222d)}
.lanHeader small,.lanRoomTop small{display:block;color:#68d7f2;font-weight:700;font-size:10px;letter-spacing:1.6px}
.lanHeader h2{font-size:28px;letter-spacing:1px}.lanHeader button,.lanRoomTop button{border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;padding:8px 12px;cursor:pointer}
.lanHeaderActions{display:flex;align-items:center;gap:9px;margin-left:auto}.lanAndroidDownload{min-height:42px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;padding:7px 13px;border:1px solid rgba(98,224,177,.42);border-radius:11px;background:linear-gradient(135deg,rgba(35,145,103,.34),rgba(29,94,125,.38));color:#effff8;text-decoration:none;box-shadow:0 5px 18px rgba(0,0,0,.18);transition:transform .12s,background .12s,border-color .12s}.lanAndroidDownload>span{grid-row:1/3;font-size:20px}.lanAndroidDownload>b{font:400 14px 'Jua';white-space:nowrap}.lanAndroidDownload>small{color:#8ee5bd;font-size:8px;letter-spacing:.3px}.lanAndroidDownload:hover{transform:translateY(-1px);border-color:#79e5b7;background:linear-gradient(135deg,rgba(42,166,118,.48),rgba(33,112,147,.48))}.lanAndroidDownload:focus-visible{outline:3px solid rgba(104,215,242,.45);outline-offset:2px}
.native-app .lanAndroidDownload{display:none}
.lanGuide{display:grid;grid-template-columns:auto 1fr;gap:3px 13px;align-items:center;padding:10px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,rgba(49,123,150,.20),rgba(33,61,82,.13));color:#dcebf2}
.lanGuide strong{grid-row:1/3;color:#7ce2f5;font-family:'Jua';font-size:14px;white-space:nowrap}.lanGuide p{font-size:11px;line-height:1.45;color:#b8cbd5}
.lanGuide div{display:flex;gap:12px;flex-wrap:wrap}.lanGuide span{color:#89e0ba;font-size:10px;font-weight:700;white-space:nowrap}
#lanLobby.room-active .lanGuide{display:none}
.lanConnection{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(130px,1fr) minmax(130px,1fr) auto;gap:10px;padding:14px 18px;align-items:end;border-bottom:1px solid rgba(255,255,255,.08)}
.lanConnection label,.lanCreatePanel label,.lanOptionsPanel label{display:flex;flex-direction:column;gap:5px;color:#aebdca;font-size:11px;font-weight:700}
.lanConnection input,.lanConnection select,.lanCreatePanel input,.lanCreatePanel select,.lanCodeJoin input,.lanOptionsPanel select,.lanChatPanel input,.lanChatPanel select{width:100%;min-height:40px;border:1px solid #3d5365;border-radius:9px;background:#101923;color:#fff;padding:8px 10px;font:inherit;outline:none}
.lanServerInputRow{display:flex;gap:7px}.lanServerInputRow input{min-width:0;flex:1}.lanScanQr{min-width:70px;border:0;border-radius:9px;background:#7753a6;color:#fff;font-family:'Jua';cursor:pointer}
.lanConnection input:focus,.lanConnection select:focus,.lanCreatePanel input:focus,.lanCreatePanel select:focus,.lanCodeJoin input:focus,.lanOptionsPanel select:focus,.lanChatPanel input:focus,.lanChatPanel select:focus{border-color:#61d8f3;box-shadow:0 0 0 3px rgba(97,216,243,.15)}
#lanRefresh,#lanCreate,.lanCodeJoin button,.lanChatPanel button,#lanReady,#lanStart{min-height:40px;border:0;border-radius:9px;padding:8px 15px;background:#2d6d8b;color:#fff;font-family:'Jua';cursor:pointer}
.lanHostPhone{min-height:40px;border:0;border-radius:9px;padding:8px 14px;background:#287a58;color:#fff;font-family:'Jua';cursor:pointer}.lanHostHint{color:#7ddfb1;line-height:1.45}
#lanStatus{grid-column:1/-1;min-height:18px;color:#93a8b8;font-size:12px}#lanStatus.ok{color:#68e0a6}#lanStatus.error{color:#ff8175}
.lanConnection .lanPolicyAccept{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding:8px 10px;border:1px solid rgba(104,215,242,.2);border-radius:9px;background:rgba(18,38,49,.65)}
.lanPolicyAccept input{width:18px;height:18px;min-height:0;flex:0 0 auto;accent-color:#2f9e63}.lanPolicyAccept a{color:#86def1}.lanPolicyAccept span{line-height:1.45}
.lanBrowser{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(360px,1.3fr);gap:14px;padding:16px;overflow:auto}
.lanCreatePanel,.lanJoinPanel,.lanPlayersPanel,.lanOptionsPanel,.lanChatPanel{border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(8,15,22,.34);padding:15px}
.lanBrowser h3,.lanRoom h4{font-family:'Jua';margin-bottom:12px;color:#fff}.lanCreatePanel{display:flex;flex-direction:column;gap:12px}.lanCodeJoin{display:flex;gap:8px;margin-bottom:12px}.lanCodeJoin input{text-transform:uppercase}
.lanRoomList{display:flex;flex-direction:column;gap:8px;min-height:130px}.lanRoomEmpty{color:#7f93a2;font-size:13px;padding:24px;text-align:center}
.lanRoomEntry{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px;background:#121d27}.lanRoomEntry b{display:block}.lanRoomEntry small{color:#8ca0af}.lanRoomEntry button{border:0;border-radius:8px;background:#2f9e63;color:#fff;padding:8px 13px;cursor:pointer}
.lanRoom{padding:16px;overflow:auto}.lanRoomTop{margin-bottom:12px}.lanRoomTop h3{font-family:'Jua';font-size:24px}.lanRoomGrid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(210px,.65fr) minmax(290px,1fr);gap:12px}
.lanQrModal{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:18px;background:rgba(5,12,18,.82);backdrop-filter:blur(5px)}
.lanQrCard{position:relative;width:min(360px,92vw);display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:#f7fbfd;color:#173548;box-shadow:0 24px 70px rgba(0,0,0,.55);text-align:center}.lanQrCard>small{color:#477289;font-weight:800;letter-spacing:1.5px}.lanQrCard h3{font-family:'Jua';font-size:25px}.lanQrCard img{width:min(230px,48vh);height:min(230px,48vh);image-rendering:pixelated;border:8px solid #fff}.lanQrCard b{font-family:'Jua';font-size:20px;color:#1d6a88}.lanQrCard span{font-size:11px;color:#456474;overflow-wrap:anywhere}.lanQrCard p{font-size:11px;color:#56707e;line-height:1.45}.lanQrClose{position:absolute;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:9px;background:#dce8ee;color:#29485a;font-size:17px;cursor:pointer}
.lanPlayers{display:flex;flex-direction:column;gap:8px}.lanPlayer{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;padding:8px;border-radius:10px;background:#111c26}.lanPlayerFace{width:38px;height:38px;border-radius:10px;background:#263d4d;display:grid;place-items:center;font-size:21px}.lanPlayer b{font-size:13px}.lanPlayer small{display:block;color:#89a0b0;font-size:10px}.lanReadyMark{font-size:11px;color:#ffba61}.lanReadyMark.on{color:#61e8a1}
.lanOptionsPanel{display:flex;flex-direction:column;gap:9px}.lanOptionsPanel select:disabled{opacity:.65}.lanOptionsPanel #lanReady{margin-top:auto;background:#7958b1}.lanOptionsPanel #lanReady[aria-pressed="true"]{background:#2f9e63}.lanOptionsPanel #lanStart{background:#e84e3c}.lanOptionsPanel #lanStart:disabled{opacity:.38;cursor:default}
.lanChatPanel{display:flex;flex-direction:column;min-height:310px}.lanChatLog{flex:1;min-height:210px;max-height:42vh;overflow:auto;display:flex;flex-direction:column;gap:7px;padding:3px 2px 10px}.lanChatLine{font-size:12px;line-height:1.45;overflow-wrap:anywhere}.lanChatLine b{color:#65d8f2;margin-right:6px}.lanChatLine.system{color:#8498a8;font-style:italic}.lanChatPanel form{display:flex;gap:7px}.lanChatPanel form select{min-width:0;flex:1}.networkNotice{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;z-index:70;transform:translateX(-50%);max-width:min(520px,90vw);padding:10px 16px;border-radius:10px;background:rgba(15,25,35,.9);color:#fff;font-size:13px;box-shadow:0 8px 30px rgba(0,0,0,.3);pointer-events:none}
@media(max-width:760px){#lanLobby{padding:0;align-items:flex-start;overflow:auto}.lanShell{position:relative;width:100%;height:100dvh;max-height:none;border-radius:0;overflow-y:auto}.lanHeader{position:sticky;top:0;z-index:4;padding:9px 13px}.lanHeader h2{font-size:21px}.lanHeaderActions{gap:6px}.lanAndroidDownload{min-height:38px;padding:5px 9px;column-gap:5px}.lanAndroidDownload>span{font-size:17px}.lanAndroidDownload>b{font-size:12px}.lanAndroidDownload>small{font-size:7px}.lanGuide{grid-template-columns:1fr;padding:8px 11px;gap:4px}.lanGuide strong{grid-row:auto;font-size:13px}.lanGuide p{font-size:10px}.lanGuide div{gap:6px 10px}.lanConnection{grid-template-columns:1fr 1fr;padding:8px 10px}.lanConnection .lanServerLabel{grid-column:1/-1}.lanHostHint{display:none}.lanBrowser{grid-template-columns:1fr;padding:8px;overflow:visible}.lanCreatePanel,.lanJoinPanel,.lanPlayersPanel,.lanOptionsPanel,.lanChatPanel{padding:10px}.lanRoom{padding:8px;overflow:visible}.lanRoomGrid{grid-template-columns:1fr 1fr}.lanRoomTop{align-items:flex-start}.lanChatPanel{grid-column:1/-1;min-height:190px}.lanChatLog{min-height:100px;max-height:28vh}}
@media(max-height:520px) and (orientation:landscape){.lanQrCard{width:min(540px,88vw);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto auto;padding:14px 18px;text-align:left}.lanQrCard>small,.lanQrCard h3,.lanQrCard b,.lanQrCard span,.lanQrCard p{grid-column:2}.lanQrCard img{grid-column:1;grid-row:1/6;width:min(210px,70vh);height:min(210px,70vh);margin-right:10px}.lanQrCard p{margin:0}}
@media(max-height:520px) and (orientation:landscape){.lanHeader{min-height:48px;padding:4px 12px}.lanHeader>div:first-child>small{display:none}.lanHeader h2{font-size:17px}.lanHeaderActions>button{padding:6px 10px}.lanAndroidDownload{min-height:34px;padding:4px 9px;grid-template-rows:1fr}.lanAndroidDownload>span{grid-row:auto;font-size:15px}.lanAndroidDownload>small{display:none}.lanAndroidDownload>b{font-size:11px}.lanGuide{display:flex;gap:10px;padding:5px 10px}.lanGuide strong{font-size:11px}.lanGuide p{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lanGuide div{display:none}.lanConnection{position:relative;grid-template-columns:minmax(250px,1.6fr) minmax(118px,.7fr) minmax(106px,.65fr) 42px;gap:6px;padding:5px 10px 20px}.lanConnection .lanServerLabel{grid-column:auto}.lanConnection label{font-size:9px}.lanConnection input,.lanConnection select{min-height:34px}.lanConnection .lanHostPhone{display:none!important}.lanConnection #lanRefresh{width:42px;min-height:34px;padding:0;font-size:0}.lanConnection #lanRefresh:after{content:'↻';font:22px Arial}.lanConnection #lanStatus{position:absolute;left:11px;right:11px;bottom:2px;min-height:14px;line-height:14px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lanBrowser{grid-template-columns:minmax(230px,.75fr) minmax(330px,1.25fr)}.lanRoomGrid{grid-template-columns:minmax(180px,.65fr) minmax(180px,.65fr) minmax(260px,1fr)}.lanChatPanel{grid-column:auto;min-height:180px}.lanChatLog{min-height:95px;max-height:30vh}#lanLobby.room-active .lanConnection{display:block;padding:5px 10px 20px}#lanLobby.room-active .lanConnection>:not(.lanServerLabel):not(#lanStatus){display:none}#lanLobby.room-active .lanServerLabel{width:100%;max-width:none}#lanLobby.room-active .lanServerInputRow{max-width:none}#lanLobby.room-active .lanRoom{padding-top:5px}}
@media(max-width:520px){.lanHeader>div:first-child small{display:none}.lanHeader h2{font-size:18px}.lanAndroidDownload{grid-template-columns:auto auto;grid-template-rows:1fr}.lanAndroidDownload>small{display:none}.lanAndroidDownload>b{font-size:10px}.lanConnection{grid-template-columns:1fr}.lanConnection label:first-child,#lanStatus{grid-column:auto}.lanRoomGrid{grid-template-columns:1fr}.lanChatPanel{grid-column:auto}.lanRoomEntry{grid-template-columns:1fr auto}.lanRoomEntry>small{display:none}}
