/* Hallmark · macrostructure: banquet craft workbench · theme: approved reference · tone: warm ink painting
 * pre-emit critique: P5 H4 E4 S5 R4 V4. User-approved two-stage layout; scoped to this game. */
@import url("../../tokens.css");
@import url('./presentation.css');
.banquet-game,.banquet-modal,.banquet-preview {box-sizing:border-box;color:var(--banquet-ink);font-family:var(--banquet-font);}
.banquet-game *,.banquet-modal *,.banquet-preview * {box-sizing:border-box;}
.banquet-game {position:fixed;inset:0;margin:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;overflow:visible;background:var(--banquet-wood);}
.banquet-game::backdrop {background:var(--banquet-wood);}
.banquet-game:not([open]),.banquet-modal:not([open]),.banquet-game [hidden] {display:none!important;}
.banquet-is-open {overflow:clip;}
.banquet-window {height:100%;padding:var(--banquet-gap) 3%;display:grid;grid-template-rows:56px 40px minmax(0,1fr) 76px 16px;gap:var(--banquet-gap);background:var(--banquet-wood) url("./art/jining/room.png") center/cover no-repeat;}
.banquet-game button,.banquet-modal button,.banquet-preview button {font:600 clamp(15px,1.3vw,22px)/1.2 var(--banquet-font);letter-spacing:.04em;white-space:nowrap;min-height:44px;padding:8px 20px;cursor:pointer;color:var(--banquet-ink);background:var(--banquet-paper);border:1px solid var(--banquet-rule);outline:1px solid var(--banquet-rule);outline-offset:-5px;border-radius:3px;transition:transform var(--banquet-duration) var(--banquet-ease);}
.banquet-game button:active,.banquet-modal button:active {transform:scale(.98);}
.banquet-game button:disabled,.banquet-modal button:disabled {opacity:.48;cursor:not-allowed;}
.banquet-game button:focus-visible,.banquet-modal button:focus-visible {outline:3px solid var(--banquet-teal);outline-offset:3px;box-shadow:0 0 0 5px var(--banquet-paper);}
.banquet-game button.banquet-primary,.banquet-modal button.banquet-primary {background:var(--banquet-red);color:var(--banquet-paper-light);outline-color:var(--banquet-light-rule);}
@media(hover:hover) and (pointer:fine) {.banquet-game button:not(:disabled):hover,.banquet-modal button:not(:disabled):hover {transform:translateY(-1px);}}
.banquet-header {display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;}
.banquet-brand {display:flex;align-items:baseline;gap:20px;background:var(--banquet-teal);color:var(--banquet-paper-light);padding:8px 20px;clip-path:polygon(0 3%,98% 0,100% 95%,1% 100%);min-width:0;}
.banquet-brand b {font-size:clamp(25px,2.4vw,40px);letter-spacing:.15em;white-space:nowrap;}
.banquet-brand span {font-size:clamp(16px,1.4vw,24px);white-space:nowrap;}
.banquet-header-actions {display:flex;gap:8px;flex-shrink:0;}
.banquet-header-actions button {font-size:16px;padding:8px 16px;}
.banquet-steps {justify-self:end;display:flex;gap:24px;align-items:center;background:var(--banquet-paper);border:1px solid var(--banquet-rule);padding:4px 24px;min-width:0;}
.banquet-steps span {display:flex;gap:12px;align-items:center;font-size:22px;white-space:nowrap;color:var(--banquet-muted);}
.banquet-steps i {font-style:normal;display:grid;place-items:center;width:30px;height:30px;background:var(--banquet-muted);border-radius:50%;color:var(--banquet-paper-light);}
.banquet-steps em {font-style:normal;color:var(--banquet-rule);}
.banquet-steps .is-current {color:var(--banquet-red);}
.banquet-steps .is-current i {background:var(--banquet-red);}
.banquet-steps .is-done {color:var(--banquet-teal);}
.banquet-steps .is-done i {background:var(--banquet-teal);}
.banquet-body {min-height:0;min-width:0;display:grid;grid-template-columns:minmax(0,2.35fr) minmax(0,1fr);gap:3%;align-items:stretch;}
.banquet-body>* {min-width:0;min-height:0;}
.banquet-paper {padding:clamp(16px,2vw,32px);background:var(--banquet-paper);border:1px solid var(--banquet-rule);outline:1px solid var(--banquet-rule);outline-offset:-8px;box-shadow:0 4px 16px var(--banquet-shadow);}
.banquet-game h1,.banquet-game h2,.banquet-modal h2 {font-style:normal;margin:0;color:var(--banquet-teal);font-weight:700;overflow-wrap:anywhere;}
.banquet-game h1 {font-size:clamp(30px,3vw,52px);line-height:1.15;}
.banquet-game h2 {font-size:clamp(24px,2.4vw,40px);}
.banquet-game p {margin:0;line-height:1.45;}
.banquet-scenery,.banquet-finished-table {position:relative;display:flex;flex-direction:column;justify-content:flex-end;}
.banquet-scene-label {align-self:flex-start;padding:8px 20px;background:var(--banquet-teal);color:var(--banquet-paper-light);font-size:clamp(18px,1.7vw,28px);}
.banquet-intro-sheet {display:flex;flex-direction:column;justify-content:space-between;gap:16px;}
.banquet-intro-sheet h1 {font-size:clamp(40px,4.8vw,76px);}
.banquet-lede {font-size:clamp(20px,2vw,32px);}
.banquet-intro-steps {display:grid;gap:20px;}
.banquet-intro-steps p {display:flex;align-items:center;gap:20px;}
.banquet-intro-steps b {border-radius:50%;background:var(--banquet-red);color:var(--banquet-paper-light);width:48px;height:48px;display:grid;place-items:center;font-size:28px;font-weight:400;flex-shrink:0;}
.banquet-intro-steps span {font-size:clamp(20px,1.9vw,32px);}
.banquet-intro-steps small {display:block;color:var(--banquet-muted);font-size:clamp(15px,1.2vw,20px);}
.banquet-token-note {display:flex;flex-direction:column;align-items:center;font-size:18px;color:var(--banquet-muted);}
.banquet-token-note img {width:160px;height:100px;object-fit:contain;}
.banquet-menu-play {display:grid;grid-template-rows:40px minmax(0,1fr) 32px 44px;gap:8px;}
.banquet-game .banquet-menu-play>h1 {color:var(--banquet-paper-light);background:var(--banquet-teal);padding:4px 12px;font-size:28px;justify-self:start;line-height:1.1;}
.banquet-cards {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;}
.banquet-game button.banquet-card {display:grid;grid-template-rows:minmax(0,1fr) 26px 22px;align-items:center;justify-items:center;position:relative;padding:12px 8px;min-width:0;min-height:0;white-space:normal;touch-action:none;}
.banquet-card b {font-size:clamp(16px,1.4vw,24px);white-space:nowrap;}
.banquet-card small {font-size:clamp(13px,1vw,18px);font-weight:400;}
.banquet-dish {display:block;width:100%;height:100%;min-width:0;min-height:0;pointer-events:none;}
.banquet-check {position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:700 22px/1 var(--banquet-body);}
.banquet-card.is-picked {border:3px solid var(--banquet-teal);outline-color:var(--banquet-teal);}
.banquet-card.is-picked .banquet-check {background:var(--banquet-teal);color:var(--banquet-paper-light);}
.banquet-pager {display:flex;align-items:center;justify-content:center;gap:16px;color:var(--banquet-paper-light);font-size:16px;text-shadow:0 1px 4px var(--banquet-wood);}
.banquet-pager button {min-height:32px;padding:4px 12px;font-size:14px;}
.banquet-feedback {font-family:var(--banquet-body);font-size:clamp(13px,1vw,17px);background:var(--banquet-paper);padding:4px 12px;display:flex;align-items:center;}
.banquet-feedback[data-kind=error] {color:var(--banquet-red);}
.banquet-menu-panel {display:flex;flex-direction:column;gap:clamp(8px,2vh,20px);}
.banquet-picked {font-size:24px;text-align:center;}
.banquet-picked b {color:var(--banquet-red);font-size:48px;}
.banquet-quotas {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-block:12px;border-block:1px solid var(--banquet-rule);}
.banquet-quotas span {white-space:nowrap;font-size:clamp(17px,1.5vw,25px);}
.banquet-menu-caption {font-size:16px;color:var(--banquet-muted);}
.banquet-menu-slots {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(40px,1fr));gap:8px;flex:1;}
.banquet-menu-slots button {font-size:clamp(15px,1.4vw,22px);min-width:0;padding:4px 8px;min-height:40px;background:var(--banquet-paper-light);color:var(--banquet-teal);}
.banquet-drag-ghost {position:fixed;left:0;top:0;pointer-events:none;z-index:5;padding:12px 16px;background:var(--banquet-paper);color:var(--banquet-teal);border:2px solid var(--banquet-teal);font-size:20px;box-shadow:0 8px 20px var(--banquet-shadow);}
.banquet-service-play {display:grid;grid-template-rows:100px minmax(0,1fr) 88px 48px;gap:12px;}
.banquet-table-progress {display:flex;gap:16px;align-items:center;background:var(--banquet-soft-paper);padding:8px 16px;min-width:0;}
.banquet-table-progress>b {white-space:nowrap;font-size:22px;}
.banquet-served-dishes {display:flex;flex:1;height:84px;min-width:0;gap:0;}
.banquet-served-dishes .banquet-dish {width:16.66%;flex:none;}
.banquet-trays {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;min-height:0;}
.banquet-game button.banquet-tray {position:relative;display:grid;grid-template-rows:minmax(0,1fr) 32px 32px 12px;align-items:center;justify-items:center;gap:8px;min-width:0;min-height:0;padding:24px 12px 16px;outline:2px solid var(--banquet-gold);outline-offset:-8px;background:var(--banquet-tray);color:var(--banquet-paper-light);white-space:normal;border:2px solid var(--banquet-dark-rule);}
.banquet-tray-key {position:absolute;left:12px;top:12px;background:var(--banquet-paper);color:var(--banquet-ink);padding:4px 12px;}
.banquet-tray b {font-size:clamp(16px,1.6vw,28px);white-space:nowrap;}
.banquet-tray-state {font-size:clamp(13px,1.2vw,20px);white-space:nowrap;}
.banquet-game button.banquet-tray.is-selected {border:3px solid var(--banquet-teal-light);outline-color:var(--banquet-teal-light);}
.banquet-tray[data-status=cold] .banquet-tray-state {color:var(--banquet-warning);}
.banquet-tray[data-status=sending] {opacity:.72;}
.banquet-tray meter {width:90%;height:12px;accent-color:var(--banquet-red);}
.banquet-empty {display:grid;place-items:center;min-height:0;border:1px dashed var(--banquet-gold);color:var(--banquet-paper);font-size:20px;}
.banquet-service-controls {display:flex;flex-wrap:wrap;gap:8px;align-content:center;}
.banquet-service-controls button {flex:1;}
.banquet-service-controls small {flex-basis:100%;text-align:center;color:var(--banquet-paper-light);font-size:14px;background:var(--banquet-dark-rule);}
.banquet-service-panel {display:flex;flex-direction:column;justify-content:space-between;gap:12px;}
.banquet-service-panel h1 {font-size:36px;}
.banquet-current {font-size:32px;color:var(--banquet-red);}
.banquet-course-order {display:flex;justify-content:space-between;gap:4px;align-items:center;font-size:18px;}
.banquet-course-order span {white-space:nowrap;color:var(--banquet-muted);}
.banquet-course-order em {font-style:normal;}
.banquet-course-order .is-current {color:var(--banquet-red);font-weight:700;}
.banquet-course-order .is-done {color:var(--banquet-teal);}
.banquet-condition {padding:12px;background:var(--banquet-teal);color:var(--banquet-paper-light);font-size:20px;}
.banquet-service-status {display:flex;justify-content:space-between;gap:8px;font-size:21px;border-bottom:1px solid var(--banquet-rule);padding-bottom:12px;}
.banquet-selected-name {font-size:21px;}
.banquet-service-hint {font-size:17px;}
.banquet-service-panel [data-action=assist] {align-self:start;font-size:16px;}
.banquet-finished-table {gap:16px;justify-content:center;}
.banquet-round-table {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;padding:32px;border-radius:45%;background:var(--banquet-table);border:8px double var(--banquet-gold);height:min(55vh,500px);box-shadow:0 8px 24px var(--banquet-shadow);}
.banquet-round-table>div {display:grid;grid-template-rows:minmax(0,1fr) 24px;min-height:0;min-width:0;text-align:center;}
.banquet-round-table>div>span {font-size:17px;white-space:nowrap;color:var(--banquet-paper-light);text-shadow:0 1px 5px var(--banquet-wood);}
.banquet-reward-sheet {display:flex;flex-direction:column;justify-content:space-between;gap:12px;}
.banquet-reward-title {font-size:22px;color:var(--banquet-red);}
.banquet-ruyi {width:100%;height:clamp(100px,24vh,240px);object-fit:contain;min-height:0;}
.banquet-river {display:flex;align-items:center;justify-content:space-between;gap:4px;}
.banquet-river span {display:flex;flex-direction:column;align-items:center;gap:8px;font-size:17px;white-space:nowrap;color:var(--banquet-muted);}
.banquet-river i {width:22px;height:22px;background:var(--banquet-muted);border:3px double var(--banquet-paper);border-radius:50%;}
.banquet-river .is-lit {color:var(--banquet-red);}
.banquet-river .is-lit i {background:var(--banquet-red);}
.banquet-clue {font-size:18px;}
.banquet-clue strong {font-size:clamp(17px,1.6vw,24px);font-weight:500;color:var(--banquet-teal);}
.banquet-return-note {font-size:15px;color:var(--banquet-muted);}
.banquet-footer {display:flex;align-items:stretch;justify-content:space-between;gap:24px;min-width:0;}
.banquet-speech {display:flex;align-items:center;gap:16px;flex:1;padding:12px 20px;background:var(--banquet-paper);border:1px solid var(--banquet-rule);min-width:0;}
.banquet-speech b {font-size:clamp(20px,1.8vw,30px);color:var(--banquet-paper-light);background:var(--banquet-teal);padding:4px 12px;white-space:nowrap;font-weight:500;}
.banquet-speech>span {font-size:clamp(16px,1.5vw,24px);line-height:1.35;}
.banquet-actions {display:flex;gap:12px;flex-shrink:0;}
.banquet-actions button {min-width:120px;font-size:clamp(20px,1.8vw,30px);}
.banquet-save {text-align:right;font:12px/1.2 var(--banquet-body);color:var(--banquet-paper-light);text-shadow:0 1px 3px var(--banquet-wood);}
.banquet-modal {position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 32px));max-width:none;max-height:none;padding:0;border:0;overflow:visible;background:var(--banquet-paper);}
.banquet-modal::backdrop {background:var(--banquet-backdrop);}
.banquet-modal-sheet {padding:clamp(20px,3vw,40px);border:2px solid var(--banquet-rule);outline:1px solid var(--banquet-gold);outline-offset:-10px;display:grid;gap:24px;}
.banquet-modal h2 {font-size:clamp(28px,3vw,44px);line-height:1.15;}
.banquet-modal-body {display:grid;gap:16px;font-size:clamp(17px,1.5vw,24px);line-height:1.5;}
.banquet-modal-body p {margin:0;}
.banquet-modal-body ol {margin:0;padding-left:28px;}
.banquet-modal-body li {padding-left:4px;margin-bottom:12px;}
.banquet-modal-actions {display:flex;justify-content:flex-end;gap:16px;}
.banquet-modal-actions button {font-size:22px;}
.banquet-preview {margin:0;min-height:100dvh;display:grid;place-items:center;background:var(--banquet-wood) url("./art/jining/room.png") center/cover fixed;}
.banquet-preview>main {max-width:640px;margin:20px;padding:32px;background:var(--banquet-paper);}
.banquet-preview h1 {font-size:48px;color:var(--banquet-teal);}
.banquet-preview a {color:var(--banquet-teal);}
@media(max-height:760px) and (min-width:761px) {
 .banquet-window {grid-template-rows:48px 36px minmax(0,1fr) 60px 14px;gap:8px;padding:12px 2%;}
 .banquet-paper {padding:16px;}
 .banquet-menu-play {grid-template-rows:28px minmax(0,1fr) 24px 36px;gap:4px;}
 .banquet-game .banquet-menu-play>h1 {font-size:22px;}
 .banquet-picked b {font-size:36px;}
 .banquet-menu-panel {gap:8px;}
 .banquet-quotas {gap:8px;padding-block:8px;}
 .banquet-service-play {grid-template-rows:68px minmax(0,1fr) 80px 40px;gap:8px;}
 .banquet-served-dishes {height:60px;}
 .banquet-service-panel {gap:8px;}
 .banquet-service-panel h1 {font-size:28px;}
 .banquet-current {font-size:24px;}
 .banquet-service-status,.banquet-selected-name {font-size:18px;}
 .banquet-condition {padding:8px;font-size:17px;}
 .banquet-service-hint {font-size:15px;}
 .banquet-intro-sheet {gap:8px;}
 .banquet-intro-steps {gap:8px;}
 .banquet-intro-sheet h1 {font-size:48px;}
 .banquet-token-note img {height:68px;}
 .banquet-reward-sheet {gap:8px;}
 .banquet-ruyi {height:16vh;}
}
@media(max-width:1100px) and (min-width:761px) {
 .banquet-body {grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:16px;}
 .banquet-paper {padding:16px;}
 .banquet-header-actions button {padding:8px;}
 .banquet-brand {padding:8px 12px;gap:12px;}
 .banquet-card b {font-size:16px;}
 .banquet-card small {font-size:13px;}
 .banquet-service-play {grid-template-rows:80px minmax(0,1fr) 88px 56px;}
 .banquet-trays {gap:8px;}
 .banquet-game button.banquet-tray {padding:24px 4px 12px;gap:4px;}
 .banquet-tray b {font-size:18px;}
 .banquet-tray-state {font-size:13px;}
 .banquet-service-panel h1 {font-size:28px;}
 .banquet-current {font-size:25px;}
 .banquet-course-order {font-size:15px;}
 .banquet-service-status,.banquet-selected-name {font-size:17px;}
 .banquet-footer {gap:12px;}
 .banquet-actions button {min-width:88px;}
}
@media(max-width:760px) {
 .banquet-window {padding:8px;grid-template-rows:40px 28px minmax(0,1fr) 80px 14px;gap:6px;}
 .banquet-header {gap:4px;}
 .banquet-brand {gap:6px;padding:4px 8px;flex-wrap:wrap;line-height:1;}
 .banquet-brand b {font-size:20px;letter-spacing:.08em;}
 .banquet-brand span {font-size:12px;}
 .banquet-header-actions {gap:4px;}
 .banquet-header-actions button {font-size:12px;min-height:36px;padding:4px 6px;letter-spacing:0;}
 .banquet-header-actions button:first-child {font-size:12px;}
 .banquet-steps {padding:2px 12px;gap:12px;justify-self:stretch;justify-content:center;}
 .banquet-steps span {font-size:16px;gap:8px;}
 .banquet-steps i {width:20px;height:20px;font-size:13px;}
 .banquet-body {grid-template-columns:minmax(0,1fr);gap:8px;}
 .banquet-paper {padding:12px;outline-offset:-5px;box-shadow:none;}
 .banquet-game h1 {font-size:30px;}
 .banquet-intro {grid-template-rows:minmax(50px,1fr) minmax(0,2.6fr);}
 .banquet-intro-sheet {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px 12px;}
 .banquet-intro-sheet h1 {font-size:38px;}
 .banquet-lede {font-size:16px;align-self:center;}
 .banquet-intro-steps {gap:12px;}
 .banquet-intro-steps p {gap:8px;}
 .banquet-intro-steps b {width:28px;height:28px;font-size:20px;}
 .banquet-intro-steps span {font-size:18px;}
 .banquet-intro-steps small {font-size:12px;}
 .banquet-token-note {font-size:12px;justify-content:center;}
 .banquet-token-note img {width:120px;height:80px;}
 .banquet-scene-label {font-size:16px;padding:4px 12px;}
 .banquet-menu {grid-template-rows:minmax(0,1fr) 132px;}
 .banquet-menu-play {grid-template-rows:24px minmax(0,1fr) 32px 42px;gap:4px;}
 .banquet-game .banquet-menu-play>h1 {font-size:20px;padding:2px 8px;}
 .banquet-cards {grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;}
 .banquet-game button.banquet-card {grid-template-rows:minmax(0,1fr) 20px 16px;padding:4px 8px;gap:0;}
 .banquet-card b {font-size:16px;}
 .banquet-card small {font-size:12px;}
 .banquet-check {width:20px;height:20px;right:4px;top:4px;font-size:16px;}
 .banquet-feedback {font-size:12px;line-height:1.4;padding:4px 8px;}
 .banquet-pager {font-size:13px;gap:16px;}
 .banquet-pager button {font-size:13px;}
 .banquet-menu-panel {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:24px 28px minmax(0,1fr);gap:4px 8px;padding:8px;}
 .banquet-menu-panel h2 {font-size:20px;}
 .banquet-picked {font-size:16px;text-align:right;}
 .banquet-picked b {font-size:22px;}
 .banquet-quotas {grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px 0;gap:4px;}
 .banquet-quotas span {font-size:13px;}
 .banquet-menu-caption {display:none;}
 .banquet-menu-slots {grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;}
 .banquet-menu-slots button {font-size:12px;min-height:24px;padding:2px 4px;outline-offset:-3px;letter-spacing:0;}
 .banquet-service {grid-template-rows:minmax(0,1fr) 152px;}
 .banquet-service-play {grid-template-rows:36px minmax(0,1fr) 68px 42px;gap:4px;}
 .banquet-table-progress {padding:4px 8px;gap:8px;}
 .banquet-table-progress>b {font-size:16px;}
 .banquet-served-dishes {height:32px;}
 .banquet-trays {gap:6px;}
 .banquet-game button.banquet-tray {grid-template-rows:minmax(0,1fr) 20px 20px 6px;gap:2px;padding:20px 2px 8px;outline-offset:-5px;}
 .banquet-tray-key {left:6px;top:4px;font-size:12px;padding:2px 6px;}
 .banquet-tray b {font-size:14px;letter-spacing:0;}
 .banquet-tray-state {font-size:10px;letter-spacing:0;}
 .banquet-tray meter {height:6px;}
 .banquet-empty {font-size:14px;}
 .banquet-service-controls {gap:4px;}
 .banquet-service-controls button {font-size:17px;min-height:38px;padding:4px 8px;}
 .banquet-service-controls small {font-size:11px;}
 .banquet-service-panel {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:24px 22px 32px 24px;gap:4px 8px;padding:8px;}
 .banquet-service-panel h1 {font-size:23px;}
 .banquet-current {font-size:19px;text-align:right;}
 .banquet-course-order {grid-column:1/-1;font-size:14px;justify-content:flex-start;gap:8px;}
 .banquet-condition {grid-column:1/-1;padding:4px 8px;font-size:13px;line-height:1.5;}
 .banquet-service-status {padding:0;font-size:13px;align-items:center;border:0;gap:6px;}
 .banquet-selected-name {display:none;}
 .banquet-service-hint {display:none;}
 .banquet-service-panel [data-action=assist] {justify-self:end;font-size:12px;min-height:24px;padding:2px 8px;outline-offset:-3px;}
 .banquet-result,.banquet-claimed {grid-template-rows:minmax(0,1fr) 238px;}
 .banquet-finished-table {gap:4px;}
 .banquet-round-table {height:100%;min-height:0;padding:8px 16px;border-width:4px;}
 .banquet-round-table>div {grid-template-rows:minmax(0,1fr) 16px;}
 .banquet-round-table>div>span {font-size:12px;}
 .banquet-reward-sheet {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:30px 52px 48px 42px 20px;gap:4px 8px;padding:12px;}
 .banquet-reward-sheet h1 {font-size:30px;}
 .banquet-reward-title {font-size:14px;}
 .banquet-ruyi {grid-column:1/-1;width:100%;height:52px;}
 .banquet-river {grid-column:1/-1;gap:4px;}
 .banquet-river span {font-size:13px;gap:4px;}
 .banquet-river i {width:18px;height:18px;}
 .banquet-clue {grid-column:1/-1;font-size:12px;}
 .banquet-clue strong {font-size:16px;}
 .banquet-return-note {grid-column:1/-1;font-size:11px;}
 .banquet-footer {display:grid;grid-template-rows:minmax(0,1fr) 36px;gap:4px;}
 .banquet-speech {padding:4px 8px;gap:8px;}
 .banquet-speech b {font-size:16px;padding:2px 6px;}
 .banquet-speech>span {font-size:12px;line-height:1.3;}
 .banquet-actions {justify-content:flex-end;gap:8px;}
 .banquet-actions button {font-size:18px;min-height:36px;min-width:88px;padding:4px 8px;}
 .banquet-save {font-size:10px;white-space:nowrap;}
 .banquet-modal {width:calc(100vw - 24px);}
 .banquet-modal-sheet {padding:20px;gap:16px;}
 .banquet-modal h2 {font-size:28px;}
 .banquet-modal-body {font-size:17px;gap:12px;}
 .banquet-modal-body li {margin-bottom:12px;}
 .banquet-modal .banquet-condition {font-size:16px;padding:8px;}
 .banquet-modal-actions {gap:8px;}
 .banquet-modal-actions button {font-size:17px;padding:8px 12px;min-height:44px;}
}
@media(max-width:374px) {
 .banquet-brand {gap:4px;padding:4px 6px;}
 .banquet-brand b {font-size:18px;}
 .banquet-brand span {font-size:11px;}
 .banquet-header-actions button {padding:4px;font-size:11px;}
 .banquet-menu-slots button {font-size:11px;}
 .banquet-service-panel {gap:4px;}
 .banquet-service-status {font-size:12px;}
 .banquet-modal-sheet {padding:20px 16px;}
 .banquet-modal-actions button {font-size:15px;padding:8px;}
}
@media(prefers-reduced-motion:reduce) {.banquet-game *, .banquet-modal * {transition:none!important;animation:none!important;}}

