/* Party finder board (item 115, src/party-board-ui.js): the "หาปาร์ตี้" pill in item 61's party dock, the board window
   (modal <dialog>, two tabs) and the join-request card (top centre, not modal, under item 61's invite card). Same
   palette as the party frame. Phones: the window fills the screen and scrolls inside itself. */
#party-board-open[hidden],#party-board-request[hidden],.party-board-badge[hidden],.party-board-mine[hidden],.party-board-browse[hidden],
#party-board-form[hidden],#party-board-more[hidden],.party-board-note-row[hidden],#party-board-bump[hidden],#party-board-withdraw[hidden],
.party-board-subtitle[hidden],#party-board-incoming[hidden]{display:none}
#party-board-open.party-board-floating{position:absolute;z-index:3;left:22px;top:150px}
#party-board-open{position:relative;min-height:0;padding:3px 10px;border:1px solid #f2d48a99;border-radius:12px;background:#33301fdd;color:#fff3cf;font:bold 11px/18px Tahoma,"Noto Sans Thai",sans-serif;cursor:pointer;box-shadow:0 2px 6px #0006}
#party-board-open:hover,#party-board-open:focus-visible{background:#6b5a2f}
.party-solo{gap:6px}
/* In a party the button sits in the frame head beside + เชิญ / ออก (small like them; the head wraps on narrow docks). */
#party-frame .party-head{flex-wrap:wrap}
#party-frame .party-tools{flex-wrap:wrap;justify-content:flex-end}
.party-tools #party-board-open{padding:1px 8px;font-size:10px;line-height:16px;box-shadow:none}
.party-tools #party-board-open .party-board-badge{min-width:12px;margin-left:3px;font-size:9px;line-height:13px}
.party-board-badge{display:inline-block;min-width:16px;margin-left:5px;padding:0 4px;border-radius:8px;background:#e2513c;color:#fff;font:bold 10px/16px Tahoma,sans-serif;text-align:center}
/* The window. */
#party-board-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 24px));padding:12px;border:1.5px solid #8fcf8a;border-radius:12px;background:#1f3328;color:#fff8dc;font:13px Tahoma,"Noto Sans Thai",sans-serif;box-shadow:0 8px 24px #000a;overflow:auto}
#party-board-dialog::backdrop{background:#0006}
.party-board-head{display:flex;align-items:center;gap:8px}
.party-board-head h2{flex:1;margin:0;font-size:16px;color:#d9ffcf}
.party-board-close{min-height:0;width:30px;height:30px;padding:0;border:1px solid #8fcf8a88;border-radius:7px;background:#0003;color:#fff8dc;font:bold 16px/1 Tahoma,sans-serif;cursor:pointer}
.party-board-tabs{display:flex;gap:6px;margin:10px 0 8px}
.party-board-tab{flex:1;min-height:34px;padding:5px 8px;border:1px solid #8fcf8a66;border-radius:8px;background:#0003;color:#e9ffe2;font:bold 12px Tahoma,"Noto Sans Thai",sans-serif;cursor:pointer}
.party-board-tab[aria-selected="true"]{background:#2f6b3a;border-color:#9fd39a}
.party-board-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}
.party-board-select,.party-board-number,.party-board-text{box-sizing:border-box;min-height:32px;padding:4px 8px;border:1px solid #8fcf8a88;border-radius:7px;background:#0b1a12;color:#fff8dc;font:13px Tahoma,"Noto Sans Thai",sans-serif}
.party-board-filters .party-board-select{flex:1 1 130px;min-width:0}
.party-board-fits{display:flex;align-items:center;gap:5px;font-size:12px;color:#cfe8c9;cursor:pointer}
.party-board-refresh,.party-board-more,.party-board-cancel,.party-board-request-btn,.party-board-yes,.party-board-no,#party-board-post,#party-board-bump,#party-board-withdraw{min-height:32px;padding:4px 12px;border:1px solid #9fd39a;border-radius:7px;background:#2f6b3a;color:#f2ffe9;font:bold 12px Tahoma,"Noto Sans Thai",sans-serif;cursor:pointer}
.party-board-refresh,.party-board-more,.party-board-cancel,.party-board-no,#party-board-withdraw{background:#0003;border-color:#8fcf8a88;color:#fff8dc}
#party-board-withdraw,.party-board-no{border-color:#ff9a7e88;color:#ffe6dc}
#party-board-dialog button:disabled{opacity:.55;cursor:not-allowed}
.party-board-list,.party-board-incoming{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.party-board-item{display:grid;gap:4px;padding:8px 9px;border:1px solid #8fcf8a44;border-radius:9px;background:#0003}
.party-board-item.party-board-mine-row{border-color:#f2d48a88}
.party-board-item-top{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.party-board-topic{color:#d9ffcf}
.party-board-map,.party-board-range,.party-board-size{color:#f4dfa8;font-size:12px}
.party-board-item-note{margin:0;color:#fff8dc;overflow-wrap:anywhere}
.party-board-item-foot{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.party-board-owner{flex:1;min-width:0;color:#cfe8c9;font-size:12px}
.party-board-left{color:#cfe8c9;font-size:11px}
.party-board-own{color:#f2d48a;font-size:12px;font-weight:bold}
.party-board-empty{padding:14px 6px;color:#cfe8c9;text-align:center}
.party-board-more{width:100%;margin-top:8px}
.party-board-note{margin:0 0 8px;color:#cfe8c9;font-size:12px}
#party-board-form{display:grid;gap:8px}
.party-board-field{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:center;font-size:12px;color:#cfe8c9}
.party-board-levels{display:flex;gap:8px;align-items:center;font-size:12px;color:#cfe8c9}
.party-board-levels span:first-child{width:72px}
.party-board-number{width:84px}
.party-board-status{margin:0;color:#f4dfa8;font-size:12px}
.party-board-status:empty{display:none}
.party-board-actions{display:flex;flex-wrap:wrap;gap:6px}
.party-board-subtitle{margin:14px 0 6px;font-size:13px;color:#d9ffcf}
.party-board-incoming-item{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;border-radius:8px;background:#0003}
.party-board-incoming-name{flex:1;min-width:0;font-weight:bold;overflow-wrap:anywhere}
.party-board-incoming-time{color:#cfe8c9;font-size:11px}
/* The join-request card: top centre, below item 61's invite card when both show (src/party-board-ui.js sets top). */
#party-board-request{position:absolute;z-index:4;top:64px;left:50%;transform:translateX(-50%);display:grid;gap:5px;box-sizing:border-box;width:min(320px,calc(100vw - 24px));padding:8px 10px;border:1.5px solid #f2d48a;border-radius:10px;background:#33301ff2;box-shadow:0 4px 14px #0008;color:#fff8dc;font:12px Tahoma,"Noto Sans Thai",sans-serif;text-align:center}
.party-board-request-text{margin:0;font-weight:bold;overflow-wrap:anywhere}
.party-board-request-time,.party-board-request-more{color:#f4dfa8;font-size:10px}
.party-board-request-more:empty{display:none}
.party-board-request-actions{display:flex;gap:8px;justify-content:center}
#party-board-accept,#party-board-decline{min-height:0;padding:4px 14px;border-radius:8px;font:bold 12px/18px Tahoma,"Noto Sans Thai",sans-serif;cursor:pointer}
#party-board-accept{border:1px solid #9fd39a;background:#2f6b3a;color:#f2ffe9}
#party-board-decline{border:1px solid #ff9a7e88;background:#0003;color:#ffe6dc}
#party-board-accept:disabled,#party-board-decline:disabled{opacity:.6;cursor:wait}
/* Phones (390 px) and landscape phones: the window fills the screen and scrolls inside; rows wrap to two lines. */
@media(max-width:720px){
 #party-board-dialog{width:calc(100vw - 12px);max-width:none;max-height:calc(100vh - 12px);margin:6px auto;padding:10px}
 .party-board-field{grid-template-columns:1fr}
 .party-board-levels span:first-child{width:auto}
 #party-board-request{top:56px}
}
@media(max-height:500px){#party-board-dialog{max-height:calc(100vh - 8px);margin:4px auto}#party-board-request{top:8px;width:min(236px,calc(100vw - 24px))}}
/* Touch screens: 16 px text in the fields so the browser does not zoom in. */
@media(pointer:coarse){.party-board-select,.party-board-number,.party-board-text{font-size:16px}}
