.room-picker-backdrop,.room-picker-panel,.room-picker-panel *{box-sizing:border-box}
.room-picker-backdrop{position:fixed;inset:0;z-index:100000;background:#080f20;font-family:system-ui,-apple-system,'PingFang SC',sans-serif;color:#ffe8b3;padding:max(8px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;align-items:stretch;justify-content:center;touch-action:pan-y}
.room-picker-panel{position:relative;width:100%;max-width:1600px;overflow:auto;border:1px solid #c9975266;border-radius:22px;padding:clamp(14px,2.3vw,30px);background:linear-gradient(#12142f88,#080c1cd9),url('assets/DZPK/native/3c/3c154745-2bf9-4d00-b606-34659e04fbd6.jpg') center/cover;box-shadow:inset 0 0 90px #0007;display:flex;flex-direction:column;gap:12px;text-align:left;scrollbar-color:#ae8748 #141e35;overscroll-behavior:contain}
.room-picker-panel.fishing{background-image:linear-gradient(#04244366,#04172dcf),url('assets/JCBY/native/f7/f781c2f0-9ec0-4704-b2f5-fd420102916d.jpg')}
.room-picker-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.room-picker-header h2{font-size:clamp(23px,3vw,36px);font-weight:800;letter-spacing:2px;color:#ffdf96;margin:0;text-shadow:0 3px 0 #53331a,0 0 24px #edb95955}.room-picker-header h2 small{display:block;font-size:11px;letter-spacing:4px;color:#ddc8a0;margin-top:5px;font-weight:500;text-shadow:none}
.room-picker-panel button{font:inherit;color:#f7ddb0;background:linear-gradient(#403329,#201b25);border:1px solid #bd986166;border-radius:12px;min-height:44px;padding:10px 18px;cursor:pointer;touch-action:manipulation;box-shadow:inset 0 1px #ffdd9b22,0 4px 10px #0003}.room-picker-panel button:focus-visible{outline:3px solid #ffe8a3;outline-offset:4px}.room-picker-panel button:disabled{cursor:not-allowed;filter:saturate(.4);opacity:.7}.room-picker-panel button:hover:not(:disabled){border-color:#ffda91}
.room-picker-tabs{display:flex;gap:10px;overflow:auto;flex-shrink:0;padding:4px 2px 8px;scrollbar-width:thin}.room-picker-tabs button{white-space:nowrap;flex:1;min-width:90px;font-weight:650;letter-spacing:1px}.room-picker-tabs button.selected{background:linear-gradient(#ffdf93,#dfa749 65%,#a56824);color:#4a250e;border-color:#ffe7a6;box-shadow:0 0 20px #ecb74f30,inset 0 1px #fff4d3;text-shadow:0 1px #fff1c3}
.room-picker-info{margin:0;text-align:center;font-size:13px;line-height:1.6;color:#decfb0;min-height:24px}.room-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:clamp(12px,2vw,28px);align-content:center;flex:1;padding:10px 8px;min-height:235px}
.room-picker-panel .room-picker-room{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;position:relative;background:linear-gradient(#101f3238,#0914218c);border:1px solid #d5b77226;border-radius:20px;padding:14px 12px;min-height:238px;box-shadow:inset 0 1px #ffefc014;transition:transform .16s,border-color .16s,background .16s}
.room-picker-panel .room-picker-room:hover:not(:disabled){transform:translateY(-3px);background:#122b3baa;border-color:#f5d18a99}.room-picker-room strong{font-size:17px;letter-spacing:1px;font-weight:650}.room-picker-room small{font-size:11px;color:#deceb2;line-height:1.5}.room-picker-table{position:relative;width:min(100%,235px);height:120px;margin:12px 4px 8px;border:8px solid #6e4627;border-radius:50%;background:radial-gradient(ellipse,#247365,#10483e 70%);box-shadow:0 0 0 2px #cca669,inset 0 0 0 2px #d8be7155,inset 0 0 30px #0007,0 12px 0 #2b1c18,0 17px 16px #0006;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#f8dfa0}
.fishing .room-picker-table{background:radial-gradient(ellipse,#198eae,#06465f 74%);box-shadow:0 0 0 2px #c8aa70,inset 0 0 0 2px #7bddf65c,inset 0 0 26px #00182caa,0 12px 0 #182b3b,0 17px 16px #0006}
.room-picker-table:before{content:'♠  ♥  ♣  ♦';font-size:24px;opacity:.18;position:absolute;inset:22px 0 auto;text-align:center;letter-spacing:10px}.fishing .room-picker-table:before{content:'◌  ◌  ◌';font-size:35px;color:#98efff}.room-picker-table b{position:relative;font-size:23px;color:#fbe4b0;letter-spacing:1px;text-shadow:0 2px #0008}.room-picker-table em{font-size:10px;font-style:normal;color:#c8e2d3;margin-top:3px;position:relative}
.room-picker-seat{position:absolute;width:29px;height:29px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(#20374c,#152134);border:2px solid #a294724d;color:#788b9e;font-size:10px;box-shadow:0 3px 4px #0007;transform:translate(-50%,-50%)}.room-picker-seat.human{background:linear-gradient(#5bcdb7,#167f70);border-color:#a5ffe5;color:white}.room-picker-seat.robot{background:linear-gradient(#f0cd81,#a9712e);border-color:#ffe4a0;color:#4b2c14}.room-picker-room .room-picker-enter{background:linear-gradient(#ffe3a0,#d9a445);border:1px solid #ffe4a2;box-shadow:0 3px 0 #805024;border-radius:8px;min-width:130px;padding:7px 16px;font-size:13px;font-weight:750;color:#543315;text-shadow:0 1px #fff0b7;text-align:center}.room-picker-room:disabled .room-picker-enter{background:#293a49;border-color:#748091;color:#c6ced7;box-shadow:none;text-shadow:none}
.room-picker-status{margin:0;color:#ffd1a4;font-size:12px;text-align:center;line-height:1.6}.room-picker-status:empty{display:none}.room-picker-panel>.room-picker-refresh{align-self:center;min-height:36px;font-size:12px;padding:7px 20px;background:#0a1b2cbb}.room-picker-room .room-picker-people{color:#ead7ae;font-variant-numeric:tabular-nums}
@media(max-height:520px) and (min-width:600px){.room-picker-panel{padding:12px 20px;gap:6px;border-radius:18px}.room-picker-header h2{font-size:23px}.room-picker-header h2 small{display:none}.room-picker-header button{min-height:36px;padding:7px 16px;font-size:12px}.room-picker-tabs{padding:2px 0 5px;gap:8px}.room-picker-tabs button{min-height:36px;padding:6px 15px;font-size:14px}.room-picker-info{font-size:11px;min-height:19px}.room-picker-grid{padding:2px 8px;min-height:180px;gap:18px}.room-picker-panel .room-picker-room{min-height:178px;padding:8px;gap:5px;border-color:transparent;background:transparent}.room-picker-table{width:min(100%,195px);height:88px;margin:10px 5px 9px;border-width:6px}.room-picker-table b{font-size:20px}.room-picker-table:before{inset:13px 0 auto}.room-picker-seat{width:24px;height:24px;font-size:9px}.room-picker-room strong{font-size:14px}.room-picker-room small{font-size:10px}.room-picker-room .room-picker-enter{padding:5px 16px;font-size:12px}.room-picker-panel>.room-picker-refresh{min-height:30px;padding:5px 16px;font-size:11px}}
@media(max-width:599px){.room-picker-header h2{font-size:25px}.room-picker-panel{gap:10px;padding:18px 14px}.room-picker-tabs button{min-width:85px}.room-picker-grid{grid-template-columns:1fr;align-content:start}.room-picker-panel .room-picker-room{min-height:240px;max-width:430px;width:100%;justify-self:center}.room-picker-info{text-align:left;font-size:12px}}
@media(prefers-reduced-motion:reduce){.room-picker-panel .room-picker-room{transition:none}}
/* Let additional rows increase scroll height instead of overlapping the title. */
.room-picker-grid{flex-shrink:0;align-content:start}
@media(max-height:520px) and (min-width:600px){.room-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}}
