.town-room-panel{--room-ink:#35434a;--room-paper:#f1e5c7;color:var(--disc-ink,#35434a)}
.town-room-banner,.town-room-feedback,.town-room-result,.town-room-note,.town-room-book,.town-room-slots>span,.town-room-timeline>span,.town-room-rounds>span,.town-room-beats li{color:var(--room-ink)}
.town-room-panel .town-room-banner h3,.town-room-panel .town-room-result h3,.town-room-panel .town-room-book h3{color:var(--room-ink)}
#content-dialog:has(.town-room-panel){width:min(800px,calc(100vw - 32px));max-width:800px}
.town-room-choice .act-button,.town-room-packing .act-button,.town-room-shot-options .act-button{min-height:44px}
.town-room-banner{display:flex;align-items:center;gap:18px;padding:20px;border:3px solid #735a43;background:#e8d1a4;box-shadow:inset 0 0 0 3px #f6e6bf;margin-bottom:18px}
.town-room-banner>span{display:grid;place-items:center;flex:0 0 66px;min-height:66px;background:#78573e;color:#f7e3b7;font-size:38px;border:3px solid #35434a}
.town-room-banner h3{margin:0 0 8px}.town-room-banner p{margin:0;line-height:1.7}
.town-room-banner.supply{background:#bfd4be;border-color:#477b70}.town-room-banner.supply>span{background:#477b70}
.town-room-banner.media,.town-room-banner.radio{background:#cec0d5;border-color:#695576}.town-room-banner.media>span,.town-room-banner.radio>span{background:#695576}
.town-room-banner.arena,.town-room-banner.kitchen{background:#e6c2a7;border-color:#a35555}.town-room-banner.arena>span,.town-room-banner.kitchen>span{background:#a35555}
.town-room-banner.stage{background:#b7cfcd;border-color:#465b80}.town-room-banner.stage>span{background:#465b80}
.town-room-banner.film{background:#dec1be;border-color:#8e4e62}.town-room-banner.film>span{background:#8e4e62}
.town-room-choice{border:2px solid #c4b391;margin:14px 0;padding:12px}.town-room-choice legend{font-weight:700;padding:0 8px}
.town-room-choice>div,.town-room-packing,.town-room-shot-options,.town-room-controls{display:flex;flex-wrap:wrap;gap:10px}
.town-room-panel button[aria-pressed=true]{background:#416e62;color:#fff4d6;border-color:#294f45;box-shadow:inset 0 -3px #294f45}
.town-room-panel button:disabled{opacity:.55;cursor:default}.town-room-panel button:focus-visible{outline:3px solid #456f86;outline-offset:3px}
.town-room-feedback{padding:14px 16px;background:#e4ecd3;border:2px solid #6f8b65;line-height:1.7;font-weight:700}
.town-room-result,.town-room-note,.town-room-book{padding:16px;border:2px solid #c3aa82;background:#f3e8ca;margin:18px 0}.town-room-result h3,.town-room-note h3,.town-room-book h3{margin:0 0 10px}
.town-room-book ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:0;padding-left:20px}
.town-room-slots,.town-room-timeline,.town-room-rounds{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.town-room-slots>span,.town-room-timeline>span,.town-room-rounds>span{flex:1 1 100px;min-width:0;padding:14px;text-align:center;border:2px solid #b9a57f;background:#eee0bd;font-weight:700}
.town-room-timeline small{display:block;margin-bottom:8px;color:#766b67}.town-room-timeline>span{border-bottom:6px solid #75617f}
.town-room-rounds .is-done,.town-room-beats .is-done{background:#b8d2b5;border-color:#53755e}
.town-room-opponent{display:flex;align-items:center;flex-direction:column;gap:9px;padding:18px;background:#535d60;color:#f6e7c4;border:3px solid #9d5d58;margin:16px 0}.town-room-opponent strong{font-size:58px;line-height:1.1}.town-room-opponent small,.town-room-opponent>span{font-size:15px}
.town-room-controls>.act-button{min-width:100px;min-height:54px;flex:1 1 110px}
.town-room-beats{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0;margin:20px 0}.town-room-beats li{padding:16px 7px;text-align:center;background:#d9cbd7;border:2px solid #7b718d;line-height:1.7}.town-room-beats small{display:block}.town-room-beats [aria-current=step]{outline:3px solid #53798b;outline-offset:2px}
@media(max-width:560px){.town-room-banner{padding:13px;gap:12px;align-items:flex-start}.town-room-banner>span{flex-basis:45px;min-height:45px;font-size:28px}.town-room-banner h3{font-size:18px}.town-room-choice{padding:10px}.town-room-choice .act-button{flex:1 1 75px;padding:10px 8px}.town-room-beats{grid-template-columns:repeat(2,minmax(0,1fr))}.town-room-timeline{gap:6px}.town-room-timeline>span{padding:12px 5px;font-size:13px;flex-basis:75px}.town-room-panel .act-actions{gap:8px}}
@media(max-width:560px){#content-dialog:has(.town-room-panel){width:calc(100vw - 24px)}}
