:root{--background:#f4efe3;--foreground:#171717;--surface:#fff;--cream:#fffaf0;--cream-strong:#ffe9a8;--muted:hsla(0,0%,9%,.55);--red:#9d1f2d;--red-soft:#fff4f4;--green:#177245;--loader:navy;--green-soft:#effff6;--yellow:#f2b705;--border:#171717;--shadow:8px 8px 0 #171717;--radius-box:8px;--radius-control:6px}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:1}.game-shell{min-height:100vh;background:var(--background);color:var(--foreground)}.game-container{gap:20px;width:100%;max-width:1280px;min-height:100vh;margin:0 auto;padding:20px 16px}.game-container,.game-header{display:flex;flex-direction:column}.game-header{gap:16px;padding-bottom:20px;border-bottom:1px solid hsla(0,0%,9%,.15)}.eyebrow,.panel-title,.section-label,.timer-label,.word-number{margin:0;font-size:12px;font-weight:900;text-transform:uppercase}.eyebrow{color:var(--red);letter-spacing:.24em}.page-title{margin:8px 0 0;font-size:clamp(40px,8vw,56px);line-height:.95;font-weight:900;letter-spacing:0}.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.score-card{min-height:104px;padding:16px;text-align:left;border:2px solid hsla(0,0%,9%,.3);border-radius:var(--radius-box);background:var(--surface)}.score-card-a{background:var(--red-soft)}.score-card-b{background:var(--green-soft)}.score-card-active{border-color:var(--border);box-shadow:4px 4px 0 var(--border)}.score-team{margin:0;font-size:14px;font-weight:900}.score-value{margin:4px 0 0;font-size:40px;line-height:1;font-weight:900}.winner-banner{display:grid;gap:6px;padding:18px 20px;border:2px solid var(--border);border-radius:var(--radius-box);background:var(--yellow);box-shadow:var(--shadow);text-align:center}.winner-label{margin:0;font-size:12px;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:hsla(0,0%,9%,.62)}.winner-title{margin:0;font-size:clamp(32px,6vw,64px);line-height:.95;font-weight:900}.winner-detail{margin:0;font-size:18px;line-height:1.25;font-weight:900}.word-check-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:2px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--foreground);font-weight:900;text-decoration:none;box-shadow:3px 3px 0 var(--border)}.word-check-panel{display:grid;gap:18px;padding:20px;border:2px solid var(--border);border-radius:var(--radius-box);background:var(--surface);box-shadow:var(--shadow)}.word-check-toolbar{display:grid;gap:16px}.word-check-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.word-check-summary{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;padding:12px 14px;border:2px solid var(--border);border-radius:var(--radius-control);background:var(--cream);font-weight:900}.word-check-summary p{margin:0}.word-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.word-review-item{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:2px solid var(--border);border-radius:var(--radius-control);background:var(--cream);font-weight:900;overflow-wrap:anywhere}.word-review-item small{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:var(--yellow);color:var(--foreground);font-size:10px;text-transform:uppercase}.empty-review-list{margin:0;font-size:18px;font-weight:900;color:hsla(0,0%,9%,.58)}.game-layout{display:grid;flex:1;gap:20px}.play-area{display:flex;flex-direction:column;gap:20px}.admin-panel,.board-card,.play-card{border:2px solid var(--border);border-radius:var(--radius-box);background:var(--surface)}.board-card,.play-card{box-shadow:var(--shadow)}.play-card{flex-direction:column;padding:20px}.play-card,.play-card-header{display:flex;justify-content:space-between}.play-card-header{flex-wrap:wrap;align-items:center;gap:12px}.section-label{color:var(--muted);letter-spacing:.18em}.turn-title{margin:4px 0 0;font-size:26px;line-height:1.1;font-weight:900}.next-play-card{flex:1 1 220px;padding:10px 12px;border:2px solid var(--border);border-radius:var(--radius-control);background:var(--green-soft)}.next-play-bonus{background:var(--yellow)}.next-play-detail,.next-play-label,.next-play-team{margin:0}.next-play-label{font-size:11px;font-weight:900;text-transform:uppercase;color:hsla(0,0%,9%,.55);letter-spacing:.14em}.next-play-team{margin-top:4px;font-size:20px;line-height:1.05;font-weight:900}.next-play-detail{margin-top:4px;font-size:12px;line-height:1.2;font-weight:800;color:hsla(0,0%,9%,.7)}.timer-box{min-width:108px;padding:8px 16px;text-align:center;border:2px solid var(--border);border-radius:var(--radius-control)}.timer-label{color:hsla(0,0%,9%,.5)}.timer-value{margin:2px 0 0;font-size:40px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.word-stage{margin:24px 0}.progress-track{height:12px;border:2px solid var(--border);border-radius:999px;background:#ece7db;overflow:hidden}.progress-fill{height:100%;transition:width .18s linear}.progress-guess{background:var(--loader)}.progress-steal{background:var(--yellow)}.word-display{display:grid;place-items:center;min-height:288px;margin-top:24px;padding:48px 16px;text-align:center;border:2px solid hsla(0,0%,9%,.35);background:var(--cream);border-radius:var(--radius-box)}.word-number{color:hsla(0,0%,9%,.45);letter-spacing:.2em}.active-word{margin:16px 0 0;font-size:clamp(52px,11vw,84px);line-height:.95;font-weight:900;letter-spacing:0}.empty-word{margin:0;font-size:32px;line-height:1;font-weight:900;color:hsla(0,0%,9%,.35)}.status-message{min-height:32px;margin:0;font-size:18px;line-height:1.35;font-weight:900;color:hsla(0,0%,9%,.75)}.board-card{padding:16px}.number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.number-tile{display:flex;flex-direction:column;aspect-ratio:1/1;min-width:0;padding:8px;text-align:left;border:2px solid var(--border);border-radius:var(--radius-control);background:var(--cream);color:var(--foreground);transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.number-tile:not(:disabled):hover{background:var(--cream-strong)}.number-tile-selected{background:var(--yellow);box-shadow:4px 4px 0 var(--border)}.number-tile-correct{border-color:var(--green);background:var(--green);color:#fff}.number-tile-failed{border-color:var(--red);background:var(--red);color:#fff}.number-tile-locked{opacity:.42;filter:grayscale(1)}.tile-number{display:block;font-size:30px;line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.tile-label{display:block;min-height:22px;margin-top:8px;overflow-wrap:anywhere}.tile-label,.tile-word{font-size:11px;line-height:1.1;font-weight:900;text-transform:uppercase}.tile-word{display:-webkit-box;margin-top:auto;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.admin-sidebar{display:grid;align-content:start;gap:20px}.admin-panel{padding:20px}.admin-panel-dark{background:var(--foreground);color:#fff}.host-review-alert{position:relative;animation:host-review-pulse .9s ease-in-out infinite}.host-review-alert .panel-title-muted{color:#fff}.host-review-alert .control-button:not(:disabled){animation:host-button-nudge .9s ease-in-out infinite}.panel-title{color:hsla(0,0%,9%,.5);letter-spacing:.2em}.panel-title-muted{color:hsla(0,0%,100%,.5)}.button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-grid,.button-stack{display:grid;gap:12px;margin-top:16px}.win-mode-control{display:grid;gap:8px;margin-top:16px}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid var(--border);border-radius:var(--radius-control);overflow:hidden;background:var(--cream)}.segmented-control-three{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control-four{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-button{min-height:44px;padding:10px;border:0;background:transparent;color:var(--foreground);font-weight:900}.segmented-button+.segmented-button{border-left:2px solid var(--border)}.segmented-button-active{background:var(--yellow)}.segmented-button:disabled{cursor:not-allowed;opacity:.72}.setting-note{margin:0;font-size:13px;line-height:1.35;font-weight:800;color:hsla(0,0%,9%,.55)}.team-setup-grid{display:grid;gap:16px;margin-top:16px}.team-setup{display:grid;gap:8px}.field-label{font-size:12px;font-weight:900;text-transform:uppercase;color:hsla(0,0%,9%,.55);letter-spacing:.14em}.text-area,.text-field{width:100%;border:2px solid var(--border);border-radius:var(--radius-control);background:var(--cream);color:var(--foreground);font-weight:800}.text-field{min-height:44px;padding:8px 10px}.text-area{min-height:88px;resize:vertical;padding:10px;line-height:1.35}.control-button{min-height:52px;padding:12px 16px;border:2px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--foreground);font-weight:900}.control-link-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}.control-button-light{border-color:#fff;background:#fff;color:var(--foreground)}.control-button-outline-light{border-color:#fff;background:transparent;color:#fff}.control-button-success{border-color:var(--green);background:var(--green);color:#fff}.control-button-success-soft{border-color:var(--green);background:var(--green-soft);color:var(--green)}.control-button-generate,.control-button-warning{border-color:var(--border);background:var(--yellow);color:var(--foreground)}.control-button-danger-soft{border-color:var(--red);background:var(--red-soft);color:var(--red)}.control-button-danger-outline{border-color:var(--red);background:var(--surface);color:var(--red)}.control-button-save{border-color:var(--green);background:var(--green);color:#fff}@keyframes host-review-pulse{0%,to{box-shadow:0 0 0 0 rgba(246,194,71,.62);outline:0 solid rgba(246,194,71,0)}50%{box-shadow:0 0 0 8px rgba(246,194,71,.18);outline:3px solid var(--yellow)}}@keyframes host-button-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.database-message{margin:16px 0 0;font-size:14px;line-height:1.35;font-weight:900;color:hsla(0,0%,9%,.6)}.board-key{background:var(--cream)}.key-list{display:grid;gap:8px;margin-top:16px;font-size:14px;font-weight:900}.key-list p{margin:0}@media (min-width:640px){.game-container{padding-right:24px;padding-left:24px}.score-grid{width:384px}.number-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.play-card{padding:24px}.team-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control-four{grid-template-columns:repeat(4,minmax(0,1fr))}.word-check-toolbar{grid-template-columns:minmax(280px,1fr) auto;align-items:end}.word-check-actions{min-width:320px}}@media (min-width:1024px){.game-header{flex-direction:row;align-items:flex-end;justify-content:space-between}.game-container{padding-right:32px;padding-left:32px}.play-area{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:start}}@media (min-width:1280px){.game-layout{grid-template-columns:minmax(0,1fr) 380px}.play-area{grid-template-columns:minmax(0,1fr)}}