.taboo-page{--taboo-text:48px}.taboo-page [hidden]{display:none!important}.taboo-page .intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.taboo-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}.taboo-controls{background:#D2FDFF;padding:20px;align-self:start;border:1px solid #303C6C}.taboo-controls label{display:block;font-weight:700;margin-top:14px}.taboo-controls select{width:100%;max-width:100%;padding:8px}.taboo-page #main button,.taboo-page #main input{font:inherit}.taboo-page #main button{min-height:42px;padding:7px 11px;border:1px solid #303C6C;background:#D2FDFF;color:#303C6C;cursor:pointer;border-radius:0;box-shadow:none}.taboo-page #main button:disabled{opacity:.55;cursor:default}.taboo-page #main button:focus-visible,.taboo-page #main input:focus-visible,.taboo-page #main select:focus-visible{outline:3px solid #F4976C;outline-offset:3px}.taboo-page #main input[type=text]{padding:8px;min-width:0;max-width:100%;border:1px solid #303C6C}.taboo-toolbar,.taboo-live-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0}.taboo-workspace{min-width:0;padding:20px;border:1px solid #303C6C;background:white}.taboo-workspace>h2{margin-top:0}.taboo-card{border:1px solid #303C6C;padding:16px;margin:14px 0;background:white}.taboo-card h4{margin:0;font-size:1.4rem}.taboo-card-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.taboo-card-meta{font-size:.9rem;margin:8px 0;color:#303C6C}.taboo-remove svg{width:20px;height:20px;vertical-align:middle}.taboo-card.excluded{background:#eee;border-style:dashed}.taboo-word{margin:4px!important;background:#D2FDFF!important}.taboo-word[aria-pressed=false]{text-decoration:line-through;background:#eee!important}.taboo-word-row{display:inline-flex;align-items:center;margin-right:4px}.taboo-word-edit{font-size:.8rem!important;padding:4px!important}.taboo-custom{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.taboo-custom input{flex:1}.taboo-error{color:#8a1c0b;font-weight:700}.taboo-actions{margin:0 0 18px}.taboo-actions .taboo-toolbar{flex-wrap:nowrap;align-items:stretch;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin:0 0 12px;border-bottom:2px solid #B4DFE5;max-width:100%}.taboo-actions p{margin:4px 0}.taboo-actions input{width:100%}.taboo-print-preview #taboo-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.taboo-print-preview .taboo-card{margin:0;min-height:260px;display:flex;flex-direction:column;justify-content:center;text-align:center}.taboo-print-preview .taboo-card h4{font-size:20pt}.taboo-print-line{display:block;font-size:11pt;line-height:1.2}.taboo-print-help{font-size:10pt}.taboo-playing .topbar,.taboo-playing .intro,.taboo-playing footer,.taboo-playing #taboo-editor,.taboo-playing #taboo-play{display:none!important}.taboo-playing #main{max-width:none;padding:16px;background:#fffdf5;min-height:100vh}.taboo-playing .taboo-actions{position:static}.taboo-playing{background:#fffdf5}.taboo-playing:fullscreen{overflow:auto}.taboo-playing #taboo-board{background:#fff;border:2px solid #303C6C;text-align:center;min-height:40vh;padding:24px;overflow-wrap:anywhere}.taboo-playing #taboo-board h2{font-size:calc(var(--taboo-text)*1.3);margin:0 0 18px;color:#303C6C}.taboo-playing .taboo-board-words{font-size:var(--taboo-text);line-height:1.3;display:flex;justify-content:center;gap:12px 28px;flex-wrap:wrap;list-style:none;padding:0}.taboo-playing #taboo-time,.taboo-playing #taboo-points{font-size:1.6rem;font-weight:bold;font-variant-numeric:tabular-nums}.taboo-playing #taboo-round-status{font-size:1.2rem;font-weight:bold;margin:8px 0}.taboo-ready{font-size:1.4rem}.taboo-playing #taboo-link{font-size:1rem}@media(max-width:760px){.taboo-layout{grid-template-columns:minmax(0,1fr)}.taboo-page .intro img{width:70px;height:70px}.taboo-print-preview #taboo-content{grid-template-columns:1fr}.taboo-playing #main{padding:10px}.taboo-playing #taboo-board{padding:14px}.taboo-playing #taboo-board h2{font-size:clamp(28px,calc(var(--taboo-text)*.9),64px)}.taboo-playing .taboo-board-words{font-size:clamp(24px,calc(var(--taboo-text)*.65),48px)}.taboo-page #main button{overflow-wrap:anywhere}.taboo-actions{position:static}}@media print{.taboo-actions,.taboo-controls{display:none!important}}

/* Match the Keyword Builder action row and preserve the shared header controls. */
.taboo-page #main .taboo-toolbar button,.taboo-preview-toggle{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;white-space:nowrap;min-height:44px;font-size:.92rem;padding:8px 10px}
.taboo-preview-toggle{border:1px solid #303C6C;background:#D2FDFF;cursor:pointer;color:#303C6C}
.taboo-preview-toggle input{width:14px;height:14px;padding:0;margin:0;accent-color:#303C6C}.taboo-preview-toggle:has(input:checked){background:#FBE8A6}
.taboo-toolbar svg,.taboo-live-controls svg,#taboo-fill svg,#taboo-close svg,#taboo-reset svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.taboo-toolbar .taboo-format-icon{width:27px;height:27px;stroke:none}
.taboo-page #main #taboo-clear,.taboo-page #main #taboo-reset{background:#ae2828;color:white;border-color:#861e1e}.taboo-page #main #taboo-clear:hover,.taboo-page #main #taboo-reset:hover{background:#861e1e}
.taboo-page #main #taboo-fill,.taboo-page #main #taboo-close,.taboo-page #main #taboo-reset,.taboo-page #main .taboo-live-controls button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.taboo-remove svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.taboo-playing #taboo-clear,.taboo-playing .taboo-preview-toggle{display:none!important}
@media(max-width:700px),(min-width:761px) and (max-width:1100px){.taboo-page #main .taboo-actions .taboo-toolbar button,.taboo-actions .taboo-preview-toggle{flex-direction:column;gap:3px;padding:6px 8px;font-size:.8rem;min-width:66px}.taboo-actions .taboo-toolbar{gap:6px}.taboo-preview-toggle{position:relative}.taboo-preview-toggle input{position:absolute;left:4px;top:4px}.taboo-workspace,.taboo-controls{padding:14px}}

/* Live controls use the Keyword Connect palette. */
.taboo-page #main #taboo-live button{background:#D2FDFF}
.taboo-page #main #taboo-live button:hover:not(:disabled){background:#F4976C}
#taboo-live .taboo-live-controls{gap:12px 20px}
#taboo-timer-controls,#taboo-points-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0;max-width:100%}
#taboo-live .taboo-live-controls label{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}
#taboo-live input[type=checkbox]{margin:0;accent-color:#303C6C}
#taboo-time,#taboo-points{white-space:nowrap}

/* Classroom layout: clock and score beside the word, display controls top right. */
.taboo-playing #main{width:100%}
.taboo-live-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 24px;margin-bottom:18px;background:#FBE8A6;padding:12px;border-bottom:2px solid #303C6C}
#taboo-live-tools{flex:1;min-width:0}.taboo-live-header .taboo-actions{margin:0}.taboo-live-header .taboo-display-controls{flex:none;justify-content:flex-end;margin:0 0 0 auto}
.taboo-live-stage{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.taboo-scoreboard,.taboo-game-card{min-width:0}.taboo-game-card #taboo-round-status{margin-top:0}
#taboo-live .taboo-game-options{margin:0 0 16px;gap:12px}
#taboo-live #taboo-timer-controls,#taboo-live #taboo-points-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px;border:1px solid #303C6C;background:#fff;padding:14px;margin-bottom:16px}
.taboo-score-label{font-weight:700;margin:0;text-align:center}
.taboo-clock{position:relative;width:100%;max-width:280px;align-self:center;aspect-ratio:1}
.taboo-clock svg{display:block;width:100%;height:100%}.taboo-clock-face{fill:#fff;stroke:#303C6C;stroke-width:2}
#taboo-clock-progress{fill:none;stroke:#F4976C;stroke-width:7;stroke-dasharray:60;stroke-dashoffset:0}
.taboo-clock-tick{stroke:#303C6C;stroke-width:1}.taboo-clock-tick.major{stroke-width:2.5}
.taboo-clock-labels{fill:#303C6C;font:700 16px Arial,sans-serif;text-anchor:middle}
#taboo-clock-hand{stroke:#303C6C;stroke-width:3;stroke-linecap:round}.taboo-clock-pin{fill:#303C6C}
.taboo-playing #taboo-clock #taboo-time{position:absolute;top:56%;left:50%;transform:translateX(-50%);font:700 clamp(28px,3vw,38px) Arial,sans-serif;line-height:1.2;background:#fff;color:#303C6C;padding:2px 6px}
.taboo-clock.expired #taboo-time{color:#ae2828}.taboo-clock.expired #taboo-clock-hand{stroke:#ae2828}
.taboo-playing #taboo-points{font-size:2.5rem;text-align:center;line-height:1.25}
#taboo-live #taboo-timer-controls .taboo-live-controls,#taboo-live #taboo-points-controls .taboo-live-controls{justify-content:center;gap:10px;margin:0}
@media(max-width:900px){.taboo-live-stage{grid-template-columns:240px minmax(0,1fr);gap:16px}}
@media(max-width:700px){.taboo-live-header{flex-direction:column;align-items:stretch}#taboo-live-tools{width:100%}.taboo-live-header .taboo-display-controls{gap:10px;align-self:flex-end}.taboo-live-stage{grid-template-columns:minmax(0,1fr)}.taboo-scoreboard{display:flex;flex-direction:column;align-items:stretch}.taboo-clock{max-width:220px}.taboo-game-card{grid-row:1}.taboo-scoreboard{grid-row:2}.taboo-playing #taboo-clock #taboo-time{font-size:30px}}

/* White game surfaces and dark text match Keyword Connect on the cream page. */
.taboo-live-header .taboo-actions .taboo-toolbar{border-bottom:0;margin-bottom:8px;padding-bottom:0}
.taboo-playing #taboo-board,.taboo-playing #taboo-board h2{color:#111}

/* Keep each round within a stable board and control area; fit text independently. */
#taboo-live .taboo-game-options{margin:10px 0 0}
.taboo-live-stage.without-scoreboard{grid-template-columns:minmax(0,1fr)}
.taboo-scoreboard{display:flex;flex-direction:column;gap:16px}
#taboo-live .taboo-scoreboard #taboo-timer-controls,#taboo-live .taboo-scoreboard #taboo-points-controls{margin:0}
.taboo-game-card{display:flex;flex-direction:column;min-height:0}
.taboo-game-card>#taboo-round-status{flex:none}
.taboo-game-card>.taboo-live-controls{flex:none;margin:12px 0 0}
.taboo-playing .taboo-game-card #taboo-board{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,24px);overflow:hidden}
#taboo-board-content{width:100%;min-width:0;flex:none;overflow-wrap:anywhere}
.taboo-playing #taboo-board h2{font-size:calc(var(--taboo-fit,48px)*1.3);line-height:1.12;margin:0 0 calc(var(--taboo-fit,48px)*.38)}
.taboo-playing #taboo-board .taboo-board-words{font-size:var(--taboo-fit,48px);line-height:1.2;gap:calc(var(--taboo-fit,48px)*.25) calc(var(--taboo-fit,48px)*.6);margin:calc(var(--taboo-fit,48px)*.5) 0 0}
.taboo-board-words li{max-width:100%;overflow-wrap:anywhere}
#taboo-board-content>p:not(.taboo-ready){font-size:clamp(14px,calc(var(--taboo-fit,48px)*.4),24px);margin:0;line-height:1.35;color:#535c7b;font-weight:400}
#taboo-board-content>.taboo-ready{font-size:clamp(16px,var(--taboo-fit,24px),28px);margin:0}
.taboo-playing .taboo-game-card #taboo-board.taboo-card-scroll{overflow:auto;align-items:flex-start}

/* Navigation labels change during a round without moving adjacent controls. */
.taboo-page #main #taboo-next{min-width:145px}
.taboo-page #main #taboo-hide{min-width:100px}

/* Match Keyword Connect's board typography without changing button fonts. */
#taboo-live :is(#taboo-board,#taboo-round-status,#taboo-status,label,output,.taboo-score-label){font-family:Arial,Helvetica,sans-serif}

/* The same mode controls stay beside the summary in preparation and live play. */
.taboo-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px}
.taboo-mode{display:flex;flex-wrap:wrap;gap:8px 16px;border:0;padding:0;margin:0;min-width:0;color:#303C6C;font-size:.92rem}
.taboo-mode legend{font-weight:700;font-size:.85rem;margin-bottom:4px}
.taboo-mode label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.taboo-actions .taboo-mode input{width:16px;height:16px;flex:none;margin:0;accent-color:#303C6C}
@media print{.taboo-mode{display:none!important}}

.lesson-taboo-editor .topbar,.lesson-taboo-editor>footer,.lesson-taboo-editor .intro,.lesson-taboo-editor .taboo-controls,.lesson-taboo-editor #taboo-play,.lesson-taboo-editor #taboo-share,.lesson-taboo-editor #taboo-copy,.lesson-taboo-editor #taboo-download,.lesson-taboo-editor #taboo-powerpoint,.lesson-taboo-editor #taboo-clear{display:none!important}.lesson-taboo-editor .taboo-layout{display:block;margin:0}.lesson-taboo-editor main{width:100%;max-width:none;padding:8px;margin:0}.lesson-taboo-editor .taboo-workspace{padding:8px;border:0;min-height:0}

/* Office logos retain their own colours; toolbar line-icon strokes must not outline their letters. */
.taboo-toolbar svg.kb-format-icon{stroke:none}
