.room-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.secondary{background:#fffdf7;border:1.5px solid #182c52;border-radius:9px;box-shadow:2px 3px 0 #182c52;padding:15px 22px;color:#182c52;font-weight:700;font-size:16px;cursor:pointer}.secondary:hover{background:#fff1bb}button:disabled{cursor:default;opacity:.55}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.room-heading h1{font-size:clamp(30px,4vw,46px);letter-spacing:-1px}.room-heading .eyebrow{font-size:12px;line-height:1.6}.room-code-box{padding:14px 20px;background:#ffd857;border:2px solid #182c52;border-radius:12px;flex-shrink:0;box-shadow:3px 4px 0 #182c52}.room-code-box>span{font-size:12px;font-weight:700;letter-spacing:1px}.room-code-box button{display:flex;align-items:center;gap:14px;color:inherit;border:0;background:none;padding:7px 0 0}.room-code-box strong{font:700 25px 'Space Grotesk',sans-serif;letter-spacing:2px}.room-code-box small{font-size:14px}.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}.room-main{min-width:0;display:grid;gap:26px}.room-card{padding:28px;background:#fff;border:2px solid #182c52;border-radius:16px;box-shadow:4px 5px 0 #182c52;min-width:0}.room-card p{font-size:16px;line-height:1.6}.room-card .eyebrow{font-size:12px;color:#4264e8}.lobby-settings{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:26px 0 18px}.lobby-settings label,#roomEntryForm>label,#joinCodeField>label{display:block;font-weight:700;font-size:16px}.lobby-settings input,.lobby-settings select{display:block;border:1.5px solid #abb5ca;border-radius:8px;background:#f6f8fd;color:#182c52;width:100%;padding:12px;margin-top:10px;font:inherit}.lobby-settings small{display:block;font-size:14px;font-weight:400;margin-top:8px;color:#66738a}#settingsStatus{display:inline-block;margin:12px;font-size:14px;color:#526685}.shared-settings{background:#eef2ff;padding:12px 16px;border-radius:8px}.muted{color:#64718a;font-size:14px!important}.players-heading{display:flex;gap:12px;justify-content:space-between;align-items:center}.players-heading h2{font-size:23px}.players-card{position:sticky;top:20px}.players-card ul{list-style:none;margin:22px 0 12px;padding:0}.players-card li{display:flex;gap:12px;padding:16px 0;align-items:center;border-bottom:1px solid #e3e7ef}.avatar{width:39px;height:39px;background:#ffd857;border:1px solid #182c52;border-radius:12px;display:grid;place-items:center;font-weight:700;flex-shrink:0}.player-info{min-width:0;flex:1}.player-info strong{display:block;overflow-wrap:anywhere;font-size:16px}.player-info small{display:block;margin-top:4px;color:#67758c;line-height:1.5;font-size:13px}.player-score{font-weight:700;white-space:nowrap;font-size:14px}#connectionStatus{font-size:13px;color:#64718a}.tile-section{background:#edf1fc;border:2px solid #182c52;border-radius:18px;padding:28px 28px 18px}.tile-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.tile-heading .eyebrow{font-size:12px;color:#4264e8;margin-bottom:8px}.tile-heading h2{font-size:24px}.letter-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:24px 18px;padding:30px 4px 22px;perspective:900px}.letter-tile{appearance:none;width:100%;max-width:128px;aspect-ratio:1;border:0;padding:0;background:none;position:relative;perspective:700px;justify-self:center;color:#182c52;opacity:1!important;animation:tile-float 4s ease-in-out infinite;animation-delay:calc(var(--i)*-.37s)}.tile-inner{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(9deg) rotateY(-8deg);transition:transform .65s cubic-bezier(.2,.7,.2,1)}.tile-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;border:2px solid #182c52;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 6px 0 #263e74,0 14px 18px #182c5226,inset 0 3px 0 #ffffff88;font:700 40px 'Outfit',sans-serif}.tile-back{background:linear-gradient(140deg,#6c8aff,#4264e8);color:white}.tile-back small{font:600 12px 'DM Sans',sans-serif;margin-top:2px;opacity:.85}.tile-front{background:linear-gradient(135deg,#ffe995,#ffd857);transform:rotateY(180deg);font-size:46px}.letter-tile.revealed .tile-inner{transform:rotateX(9deg) rotateY(180deg)}.letter-tile.current .tile-front{border-color:#4264e8;box-shadow:0 6px 0 #4264e8,0 0 0 4px #4264e829,0 14px 20px #182c5226}.letter-tile:not(:disabled):hover .tile-inner{transform:translateY(-5px) rotateX(0deg) rotateY(0deg)}.letter-tile:focus-visible{outline:3px solid #182c52;outline-offset:9px;border-radius:12px}#tileHelp{font-size:14px;line-height:1.6;min-height:23px;color:#52637f}.round-timer{text-align:right;flex-shrink:0}.round-timer span{display:block;font-size:12px;font-weight:700}.round-timer strong{font:600 29px 'Space Grotesk',sans-serif;font-variant-numeric:tabular-nums}.room-error{padding:12px 16px;background:#ffede8;border:1px solid #ba492e;border-radius:8px;color:#8b301c;font-size:15px;line-height:1.5}.room-card .field{padding:16px}.room-card .review label{font-size:14px}.room-card .action-row p{font-size:14px}.room-card .board-heading{gap:14px}.room-card .board-heading h2{font-size:24px}#roomEntryForm{margin-top:25px}#roomEntryForm input{margin:10px 0 22px;border:1px solid #a9b5cf;padding:12px;border-radius:8px;background:#fff}#roomEntryForm .primary{width:100%}#joinCode{text-transform:uppercase;letter-spacing:2px}#roomHistory .history-row span{overflow-wrap:anywhere}.room-heading h1,.tile-heading h2,.room-card h2{overflow-wrap:anywhere}@keyframes tile-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@media(max-width:900px){.room-layout{grid-template-columns:minmax(0,1fr)}.players-card{position:static}.players-card ul{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.room-heading{flex-wrap:wrap}.room-code-box{padding:10px 16px}}@media(max-width:540px){.room-heading{gap:20px}.room-card,.tile-section{padding:22px 18px}.lobby-settings{grid-template-columns:1fr;gap:18px}.letter-tiles{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:24px 14px}.tile-face{font-size:34px}.tile-front{font-size:40px}.players-card ul{grid-template-columns:1fr}.room-card .fields{grid-template-columns:1fr}.room-actions{gap:12px}.room-actions .primary{width:auto}.room-code-box strong{font-size:23px}.tile-heading{align-items:flex-start}.room-card .board-heading h2{font-size:21px}.room-card .action-row{gap:16px}.tile-heading h2{font-size:21px}}@media(prefers-reduced-motion:reduce){.letter-tile{animation:none}.tile-inner{transition:none}}

.game-entry{max-width:760px;padding:36px}.game-entry h2{font-size:28px}.game-entry p{color:#64718a}.game-entry .room-actions{margin-top:26px}@media(max-width:540px){.game-entry{padding:26px 22px}.game-entry .room-actions{flex-direction:column}.game-entry .room-actions button{width:100%}}

.room-card .match-note{font-size:14px;line-height:1.5;margin:12px 0 0;padding:10px 12px;border-left:3px solid #4264e8;background:#ffffffa8;border-radius:5px;color:#243d70;overflow-wrap:anywhere}.history-match{display:block;margin-top:8px;font-size:14px;line-height:1.5;color:#335292;overflow-wrap:anywhere}

#facilitatorReview{margin-top:26px;border-top:1px solid #dce2ee;padding-top:18px}#facilitatorReview h3{font-size:22px;margin:0 0 8px}#facilitatorReview>p{font-size:14px;color:#64718a}.player-review{border:1px solid #bdc8dc;border-radius:10px;margin:18px 0;padding:16px;min-width:0}.player-review legend{font-weight:700;padding:0 8px;overflow-wrap:anywhere}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-grid label{display:flex;gap:10px;align-items:flex-start;min-width:0;font-size:16px}.review-grid input{width:18px;height:18px;flex-shrink:0;accent-color:#4264e8}.review-grid span{overflow-wrap:anywhere;min-width:0}.review-grid strong{display:block;font-size:14px;margin-bottom:5px}@media(max-width:540px){.review-grid{grid-template-columns:1fr}}
#winnersDialog{width:min(760px,calc(100% - 28px));max-width:760px;max-height:calc(100dvh - 32px);overflow:auto;padding:32px 32px 28px;text-align:center;background:radial-gradient(ellipse at top,#3a58a0,#15294f 70%);color:white;border:2px solid #d6b45b;box-shadow:0 25px 100px #0c163f99;border-radius:24px;isolation:isolate}#winnersDialog::backdrop{background:#0b1537d9;backdrop-filter:blur(7px)}#winnersDialog .eyebrow{color:#f8d87b;font-size:12px;margin:4px 28px 10px}#winnersTitle{font-size:clamp(28px,5vw,42px);line-height:1.12;overflow-wrap:anywhere;letter-spacing:-.8px}#winnersSubtitle{color:#ced9f1;margin:12px 0 18px;font-size:16px}.winner-trophy{font-size:50px;line-height:1.2;margin-bottom:12px}.podium-close{position:absolute;right:16px;top:14px;border:1px solid #ffffff55;color:white;background:#ffffff12;border-radius:50%;width:36px;height:36px;font-size:16px}.winners-podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:12px;margin:28px 0 20px}.podium-place{min-width:0;animation:podium-rise .65s ease-out both}.podium-place-1{grid-column:2;grid-row:1;--medal:#ffe296;--base:#c59432;--height:150px}.podium-place-2{grid-column:1;grid-row:1;--medal:#e7eef8;--base:#8795b0;--height:112px;animation-delay:.12s}.podium-place-3{grid-column:3;grid-row:1;--medal:#efbb96;--base:#a3633f;--height:84px;animation-delay:.24s}.podium-people{display:flex;flex-direction:column;gap:6px;padding:0 4px 16px}.podium-people strong{font-size:18px;line-height:1.25;overflow-wrap:anywhere}.podium-people strong small{font-size:13px;color:#cfd9ec;font-weight:400}.podium-medal{font-size:32px;line-height:1.2}.podium-points{font:700 25px 'Space Grotesk',sans-serif;color:var(--medal);font-variant-numeric:tabular-nums}.podium-points small{font:400 14px 'DM Sans',sans-serif}.podium-step{height:var(--height);background:linear-gradient(120deg,var(--medal),var(--base));color:#26314a;border-radius:10px 10px 5px 5px;border:1px solid #ffffff70;box-shadow:inset 0 5px 0 #ffffff50,5px 7px 0 #070f2940;display:flex;align-items:center;justify-content:center;flex-direction:column}.podium-step>span{font:800 54px/1 'Outfit',sans-serif}.podium-step>small{font-size:12px;font-weight:700;margin-top:8px;letter-spacing:.6px}.podium-personal{background:#ffffff10;border:1px solid #ffffff20;padding:12px;border-radius:10px;font-size:15px!important}.podium-ties{font-size:14px!important;color:#ced9f1}#winnersDialog .primary{background:#ffd857;color:#182c52;box-shadow:0 3px 0 #a07c1f;border-color:#ffd857;margin-top:8px}.podium-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1;border-radius:24px}.podium-confetti i{position:absolute;left:var(--x);top:-20px;width:7px;height:13px;background:var(--color);animation:podium-confetti 2.8s var(--delay) ease-out both}.winners-podium[data-places="1"]{grid-template-columns:1fr;max-width:320px;margin-left:auto;margin-right:auto}.winners-podium[data-places="1"] .podium-place{grid-column:1}@keyframes podium-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes podium-confetti{0%{opacity:0;transform:translateY(0) rotate(0)}10%{opacity:1}100%{opacity:0;transform:translateY(600px) rotate(var(--spin))}}@media(max-width:540px){#winnersDialog{padding:28px 16px 22px}.winners-podium{gap:8px}.podium-people strong{font-size:15px}.podium-points{font-size:21px}.podium-step>small{font-size:12px;letter-spacing:0}.podium-step>span{font-size:42px}.podium-place-1{--height:125px}.podium-place-2{--height:98px}.podium-place-3{--height:76px}.winner-trophy{font-size:42px}}@media(prefers-reduced-motion:reduce){.podium-place{animation:none}.podium-confetti{display:none}}
