.account-page{max-width:680px;margin:auto;padding:36px 22px 60px}.account-page h1{margin:12px 0}.account-page .eyebrow{margin-top:32px}.account-page section{margin:24px 0}.account-page form{margin:14px 0}.account-page label{display:block;margin-top:14px}.account-page input,.account-page select{display:block;width:100%;margin:8px 0 16px;padding:12px;color:inherit;background:#18242a;border:1px solid #62736c;border-radius:8px}.account-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.account-metrics div{padding:14px;background:#162522;border:1px solid #bba15c55;border-radius:12px}.account-metrics b{display:block;font-size:24px}.account-page li{margin:12px 0}.account-page a.gold{display:inline-block;text-decoration:none}.account-legal{font-size:12px;margin-top:28px}.account-page button{min-height:44px}.account-dock{position:fixed;bottom:12px;left:12px;z-index:20;max-width:calc(100vw - 24px);font-size:12px;box-shadow:0 3px 12px #0008}.account-save{margin:14px 0;padding:12px;background:#243a32;border-radius:10px}
/* Match information stays beside the board; chat is non-modal. */
.match-live{font-size:12px;min-width:0;padding:8px;color:var(--cream,#eee)}
.match-live details{max-height:130px;overflow:auto}.match-live p{margin:6px 0}.turn-countdown{color:var(--gold,#efc968);font-size:16px}.turn-countdown.urgent{color:#ffad7d}.player-chip,.sl-player{position:relative}.player-reaction{position:absolute;z-index:6;bottom:100%;left:0;max-width:180px;padding:5px 8px;border-radius:8px;background:#18342d;color:#fff;font-size:12px;box-shadow:0 2px 10px #0008;pointer-events:none}.badge-countdown{color:#ffda8a;margin-left:auto}
.match-summary{text-align:left;font-size:13px}.match-summary details{padding:8px;border-top:1px solid #ffffff20}.match-summary summary{cursor:pointer;font-weight:bold;min-height:32px}.match-summary dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.match-summary dd{margin:0;font-weight:bold}.match-summary dt{font-size:11px;opacity:.7}.xp-summary progress{display:block;width:100%;height:18px;accent-color:#e8bc58;animation:xp-reveal .7s ease-out}@keyframes xp-reveal{from{opacity:.2;transform:scaleX(.85)}to{opacity:1;transform:scaleX(1)}}
#dialog.room-chat[open]{position:fixed;transform:none;inset:auto 12px 12px auto;width:min(360px,calc(100vw - 24px));height:auto;max-height:min(320px,40vh);margin:0;padding:12px;z-index:30;background:#102820;color:#eee;border:1px solid #d4ad63;border-radius:14px;box-shadow:0 8px 35px #0008}#dialog.room-chat #dialogContent{height:auto;gap:6px;max-height:inherit;display:flex;flex-direction:column}#dialog.room-chat .chat-list{min-height:40px;max-height:120px;overflow:auto}#dialog.room-chat .chat-reactions{display:flex;gap:4px;overflow:auto;flex-wrap:nowrap;flex-shrink:0}#dialog.room-chat .chat-reactions button{white-space:nowrap;min-height:36px}#dialog.room-chat .chat-compose{flex-shrink:0}#dialog.room-chat input{font-size:16px;min-width:0}#dialog.room-chat .dialog-head h2{font-size:16px}#dialog.room-chat .dialog-head{margin-bottom:6px}
@media(max-width:700px){body.chat-visible #app{padding-bottom:240px}#dialog.room-chat[open]{right:4px;left:4px;bottom:max(0px,calc(100dvh - var(--chat-height,100dvh) - var(--chat-top,0px)));width:auto;max-height:min(230px,40dvh);padding:8px}#dialog.room-chat .chat-list{max-height:65px}.match-summary dl{grid-template-columns:repeat(2,1fr)}.match-live{font-size:11px}.match-live details{max-height:90px}}
@media(prefers-reduced-motion:reduce){.xp-summary progress{animation:none}}

#dialog.room-chat .dialog-head{min-height:32px}#dialog.room-chat .dialog-head button{min-width:32px;min-height:32px}#dialog.room-chat .chat-list{min-height:24px}#dialog.room-chat #dialogContent{max-height:calc(min(320px,40vh) - 26px)}
@media(max-width:700px){body.chat-visible #app{padding-bottom:280px}#dialog.room-chat[open]{max-height:min(270px,45dvh)}#dialog.room-chat #dialogContent{max-height:calc(min(270px,45dvh) - 20px)}#dialog.room-chat .chat-foot{min-height:20px}}
