/* Tabú 1.2.0 · Forest game UI. Every rule is scoped to the game or its guide. */
.aula-tabu-app {
	--tabu-ink: #253f35;
	--tabu-muted: #62705a;
	--tabu-paper: #fff0c4;
	--tabu-paper-light: #fff9e8;
	--tabu-gold: #ffd878;
	--tabu-gold-deep: #a66b27;
	--tabu-wood: #674329;
	--tabu-green: #24745b;
	--tabu-green-dark: #123e36;
	--tabu-coral: #d96448;
	--tabu-blue: #428894;
	--tabu-line: #d1b980;
	box-sizing: border-box;
	position: relative;
	isolation: isolate;
	width: min(1440px, 100%);
	max-width: none !important;
	min-height: 0;
	margin: 12px auto !important;
	padding: 0;
	overflow: hidden;
	border: 3px solid #365c45;
	border-radius: 28px;
	background: linear-gradient(180deg, #0c2c270d, #12362b00 35%, #0a2a3626), url('../images/forest-board.webp') center / cover no-repeat #194f48;
	box-shadow: 0 18px 50px #153d342d, inset 0 0 0 2px #cfb66b78;
	color: var(--tabu-ink);
	font-family: "Avenir Next", "Trebuchet MS", Avenir, system-ui, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
.aula-tabu-app *, .aula-tabu-app *::before, .aula-tabu-app *::after { box-sizing: inherit; }
.aula-tabu-app [hidden] { display: none !important; }
.aula-tabu-app h1, .aula-tabu-app h2, .aula-tabu-app h3, .aula-tabu-app p { margin: 0; padding: 0; }
.aula-tabu-app h1, .aula-tabu-app h2, .aula-tabu-app h3 { color: inherit; font-family: inherit; font-weight: 950; text-wrap: balance; }
.aula-tabu-app h2 { font-size: clamp(32px, 3.4vw, 44px); line-height: 1.1; letter-spacing: -.9px; }
.aula-tabu-app h3 { font-size: 26px; line-height: 1.15; letter-spacing: -.4px; }
.aula-tabu-app button, .aula-tabu-app input, .aula-tabu-app select, .aula-tabu-app textarea { font: inherit; }
.aula-tabu-app button { appearance: none; -webkit-appearance: none; cursor: pointer; touch-action: manipulation; color: inherit; text-transform: none; letter-spacing: normal; }
.aula-tabu-app button:disabled { cursor: not-allowed; opacity: .46; filter: saturate(.4); transform: none; }
.aula-tabu-app button:focus-visible, .aula-tabu-app input:focus-visible, .aula-tabu-app select:focus-visible, .aula-tabu-app textarea:focus-visible, .aula-tabu-app summary:focus-visible, .aula-tabu-app a:focus-visible { outline: 4px solid #ffdf80; outline-offset: 3px; }
.aula-tabu-app a { color: inherit; }
.aula-tabu-app .game-icon { display: inline-block; width: 1.5em; height: 1.5em; flex-shrink: 0; vertical-align: middle; overflow: visible; }
.aula-tabu-app .topbar { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; gap: 16px; min-height: 82px; padding: 14px 24px; }
.aula-tabu-app .brand { display: inline-flex; align-items: center; min-width: 0; gap: 14px; color: #ffdf87; text-decoration: none; font-size: 38px; font-weight: 950; line-height: 1; text-shadow: 0 3px 0 #725125, 0 5px 8px #123a30; }
.aula-tabu-app .brand-logo { display: block; width: 161px; height: 49px; max-width: none; object-fit: contain; padding: 7px 9px; border: 1px solid #d7c697; border-radius: 12px; background: #fff9e8; box-shadow: 0 3px 0 #806138, 0 5px 10px #123b304d; }
.aula-tabu-app .brand-title { display: block; font: inherit; white-space: nowrap; }
.aula-tabu-app .brand-mark, .aula-tabu-app .brand small { display: none; }
.aula-tabu-app .toolbar { display: flex; gap: 9px; align-items: center; flex-shrink: 0; }
.aula-tabu-app .icon-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 48px; min-height: 48px; padding: 9px 12px; border: 2px solid #c5c496a1; border-radius: 13px; color: #fff8df; background: linear-gradient(#326b51, #174537); box-shadow: 0 4px 0 #0a2d26d9, inset 0 1px 0 #b5d69b70; font-size: 24px; line-height: 1; font-weight: 950; }
.aula-tabu-app .icon-button span { font-size: 16px; }
.aula-tabu-app .icon-button:hover { filter: brightness(1.1); }
.aula-tabu-app .icon-button[aria-pressed="true"] { color: #ffe49b; border-color: var(--tabu-gold); }
.aula-tabu-app [data-tabu-ui="app"] { position: relative; z-index: 1; width: min(1220px, 100%); min-height: 0; margin: 0 auto; padding: 5px 25px 26px; }
.aula-tabu-app [data-tabu-ui="app"]:focus { outline: none; }
.aula-tabu-app .aula-tabu-loading, .aula-tabu-app noscript p { padding: 30px; color: #fff4cf; text-align: center; font-size: 22px; }

/* Menu: large, familiar choices floating above the forest. */
.aula-tabu-app .home-scene { display: flex; flex-direction: column; align-items: center; gap: 25px; padding: 2px 0 12px; }
.aula-tabu-app .home-title { margin: 4px 0 0; text-align: center; }
.aula-tabu-app .home-title h1 { position: relative; color: #ffdc79; font-family: "Avenir Next", "Trebuchet MS", Avenir, system-ui, sans-serif; font-weight: 1000; font-size: clamp(112px, 13vw, 166px); line-height: 1.02; letter-spacing: -7px; text-shadow: 0 4px 0 #a26a23, 0 8px 0 #533c27, 0 12px 14px #0b332ce0; -webkit-text-stroke: 1px #ffe8a9; }
.aula-tabu-app .home-title h1 span { color: #fff0ab; display: inline-block; transform: rotate(8deg); }
.aula-tabu-app .home-kicker { display: none; }
.aula-tabu-app .home-title p, .aula-tabu-app .home-title .subtitle { display: inline-block; margin-top: 15px; padding: 7px 18px; border-radius: 30px; border: 1px solid #d5bd7c85; color: #fff4cc; background: #194638e8; font-size: 20px; font-weight: 900; box-shadow: 0 3px 10px #123c3659; }
.aula-tabu-app .modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; gap: 22px; width: min(930px, 100%); margin: 0 auto; }
.aula-tabu-app .mode { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: end; gap: 12px; min-width: 0; min-height: 275px; padding: 23px 14px 25px; border: 2px solid #d8b777; border-radius: 31px 31px 22px 22px; color: #334b34; background: radial-gradient(ellipse at 50% 0, #fffce8, transparent 69%), linear-gradient(160deg, #f4e0a8, #edc77a); box-shadow: 0 7px 0 #7e552c, 0 10px 0 #3f3e2b, 0 18px 22px #173b346e, inset 0 0 0 4px #fff5cc9c; text-align: center; transition: transform .15s ease, filter .15s ease; }
.aula-tabu-app .mode::before, .aula-tabu-app .mode::after { content: ""; position: absolute; bottom: 13px; width: 6px; height: 6px; border-radius: 50%; background: #ac7e3e; box-shadow: 0 1px 0 #fff4bd; }
.aula-tabu-app .mode::before { left: 13px; }
.aula-tabu-app .mode::after { right: 13px; }
.aula-tabu-app .mode:hover { transform: translateY(-5px); filter: brightness(1.04); }
.aula-tabu-app .mode:active { transform: translateY(3px); }
.aula-tabu-app .mode.featured { min-height: 302px; color: #fff8da; border-color: #ead080; background: radial-gradient(ellipse at 50% 0, #5c9b70, transparent 68%), linear-gradient(150deg, #3a7d59, #1f5e4b); box-shadow: 0 7px 0 #154533, 0 10px 0 #12362d, 0 18px 22px #173b346e, inset 0 0 0 4px #d2d98f49; }
.aula-tabu-app .mode-art { display: block; width: 112px; height: 112px; margin: 0 auto 1px; filter: drop-shadow(0 6px 2px #4d4c2b30); }
.aula-tabu-app .mode-art .game-icon, .aula-tabu-app .mode-art svg { display: block; width: 100%; height: 100%; }
.aula-tabu-app .mode h2, .aula-tabu-app .mode h3 { font-family: inherit; font-size: 33px; font-weight: 950; letter-spacing: -.9px; line-height: 1.05; }
.aula-tabu-app .mode p, .aula-tabu-app .mode small, .aula-tabu-app .mode-caption { display: block; color: #5c6948; font-size: 20px; line-height: 1.15; font-weight: 900; }
.aula-tabu-app .mode.featured p, .aula-tabu-app .mode.featured small, .aula-tabu-app .mode.featured .mode-caption { color: #e7ecc4; }
.aula-tabu-app .mode-start { display: inline-flex; align-items: center; gap: 8px; padding: 8px 19px; margin-top: 3px; border: 1px solid #c49b4b; border-radius: 12px; color: #5c5729; background: #ffdb7e; font-size: 20px; font-weight: 950; box-shadow: 0 3px 0 #b18842; }
.aula-tabu-app .mode-start .game-icon { width: 21px; height: 21px; }
.aula-tabu-app .mode-tag, .aula-tabu-app .mode .arrow { display: none; }
.aula-tabu-app .home-bottom { display: flex; justify-content: center; width: 100%; margin-top: 7px; }

/* Shared physical controls and warm surfaces. */
.aula-tabu-app .link-button, .aula-tabu-app .back { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 10px 17px; border: 1px solid #e6c888a6; border-radius: 13px; color: #fff6d3; background: #174b3ded; font-size: 19px; font-weight: 900; line-height: 1.15; text-decoration: none; box-shadow: 0 3px 0 #15392bd4; }
.aula-tabu-app .link-button:hover, .aula-tabu-app .back:hover { background: #2a644b; }
.aula-tabu-app .back { margin-bottom: 18px; }
.aula-tabu-app .button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 59px; padding: 13px 22px; border: 2px solid #b98a47; border-radius: 15px; color: #5a4328; background: linear-gradient(#fff2c8, #eed38f); box-shadow: 0 5px 0 #8c6133, 0 7px 9px #253e351f, inset 0 2px 0 #fff9e9; font-size: 22px; line-height: 1.15; font-weight: 950; text-decoration: none; transition: transform .12s ease, filter .12s ease; }
.aula-tabu-app .button:hover { filter: brightness(1.06); transform: translateY(-2px); }
.aula-tabu-app .button:active { transform: translateY(3px); box-shadow: 0 2px 0 #8c6133; }
.aula-tabu-app .button.primary, .aula-tabu-app .button.dark { color: #fff9dc; background: linear-gradient(#489c6b, #24734f); border-color: #256445; box-shadow: 0 5px 0 #123d31, 0 7px 9px #253e351f, inset 0 2px 0 #a5cb87; text-shadow: 0 2px 0 #174e3880; }
.aula-tabu-app .button.coral { color: #fff9e5; background: linear-gradient(#ed9468, #cf583c); border-color: #a7472c; box-shadow: 0 5px 0 #843c2b, 0 7px 9px #253e351f, inset 0 2px 0 #ffd0a2; text-shadow: 0 2px 0 #9d3f3080; }
.aula-tabu-app .button.blue { color: #fffde7; background: linear-gradient(#6bb7bb, #3b8995); border-color: #386b70; box-shadow: 0 5px 0 #254b50, 0 7px 9px #253e351f, inset 0 2px 0 #b7e6df; text-shadow: 0 2px 0 #28616c80; }
.aula-tabu-app .button.soft { color: #f2f5d8; background: linear-gradient(#356a52f5, #1b4c3ff5); border: 1px solid #b7c594a1; box-shadow: 0 3px 0 #103c30, inset 0 1px 0 #abc39a40; }
.aula-tabu-app .button.full, .aula-tabu-app .full { width: 100%; }
.aula-tabu-app .panel, .aula-tabu-app .ready, .aula-tabu-app .summary { position: relative; border: 2px solid #cfad6a; border-radius: 24px; background: radial-gradient(ellipse at 30% 0, #fffce9, transparent 70%), linear-gradient(120deg, #f8e9bd, #f0dcaa); box-shadow: 0 6px 0 #7c5832, 0 11px 25px #123c3473, inset 0 0 0 4px #fff8d78c; }
.aula-tabu-app .panel { padding: 24px 28px; }
.aula-tabu-app .eyebrow { color: #58755b; font-size: 18px; line-height: 1.2; letter-spacing: 1px; font-weight: 950; text-transform: uppercase; }
.aula-tabu-app .badge { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 1px solid #b99b5c; border-radius: 11px; color: #5f653f; background: #e7dcae; font-size: 18px; font-weight: 900; line-height: 1.15; white-space: nowrap; }
.aula-tabu-app .small { color: var(--tabu-muted); font-size: 18px; line-height: 1.5; }
.aula-tabu-app .error { margin: 8px 0 14px; color: #a13b28; font-size: 18px; font-weight: 900; }
.aula-tabu-app .error:empty { display: none; }
.aula-tabu-app .hint, .aula-tabu-app .inline-note { margin: 17px 0; padding: 15px 17px; border: 1px solid #d1bb85; border-radius: 12px; background: #e7ddba; color: #5d684f; font-size: 18px; line-height: 1.5; }

/* Every setting remains visible. */
.aula-tabu-app .setup-shell { width: min(1060px, 100%); margin: 3px auto 5px; }
.aula-tabu-app .setup-head { display: flex; justify-content: space-between; align-items: center; gap: 17px; margin-bottom: 24px; }
.aula-tabu-app .setup-head h2 { font-size: 38px; }
.aula-tabu-app .setup-head p { margin-top: 9px; font-size: 20px; }
.aula-tabu-app .settings-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .8fr); gap: 22px; align-items: stretch; }
.aula-tabu-app .settings-primary, .aula-tabu-app .settings-rules, .aula-tabu-app .settings-topics { min-width: 0; }
.aula-tabu-app .settings-rules { display: flex; flex-direction: column; justify-content: space-between; gap: 14px; padding: 15px 17px; border: 1px solid #d2bb81; border-radius: 15px; background: #fffae163; }
.aula-tabu-app .field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; min-width: 0; }
.aula-tabu-app .field-row.three, .aula-tabu-app .field-row--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aula-tabu-app .field { display: block; min-width: 0; margin: 0 0 17px; color: #4e6245; font-size: 20px; font-weight: 950; }
.aula-tabu-app .field select, .aula-tabu-app .field input, .aula-tabu-app .field textarea { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 55px; margin: 8px 0 0; padding: 11px 13px; border: 2px solid #c7ad73; border-radius: 11px; color: #2c493c; background-color: #fff9e7; box-shadow: inset 0 2px 3px #ac85431a; font-size: 22px; font-weight: 900; line-height: 1.2; }
.aula-tabu-app .field textarea { resize: vertical; min-height: 100px; font-weight: 700; }
.aula-tabu-app .field input::placeholder, .aula-tabu-app .field textarea::placeholder { color: #8a9274; opacity: 1; }
.aula-tabu-app .field small { display: block; margin-top: 8px; color: var(--tabu-muted); font-size: 17px; font-weight: 700; }
.aula-tabu-app .field-label { margin-bottom: 11px; color: #516348; font-size: 21px; font-weight: 950; }
.aula-tabu-app .toggle { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; margin: 0; font-size: 20px; font-weight: 950; }
.aula-tabu-app .toggle > span { display: flex; align-items: center; gap: 9px; min-width: 0; }
.aula-tabu-app .toggle .game-icon { width: 28px; height: 28px; }
.aula-tabu-app .toggle input { width: 28px; height: 28px; margin: 0; flex-shrink: 0; accent-color: #2e7453; }
.aula-tabu-app .settings-rules > .field { margin: 0; }
.aula-tabu-app .settings-topics { margin-top: 21px; }
.aula-tabu-app .chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 23px; }
.aula-tabu-app .chip { display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 49px; padding: 10px 13px; border: 2px solid #c3ac70; border-radius: 11px; color: #6f714b; background: #eee5c7; font-size: 19px; font-weight: 900; cursor: pointer; }
.aula-tabu-app .chip input { accent-color: #2e7453; width: 21px; height: 21px; margin: 0; flex-shrink: 0; }
.aula-tabu-app .chip:has(input:checked) { color: #fff9dd; border-color: #376948; background: #3d7955; box-shadow: inset 0 1px 0 #7ba369, 0 2px 0 #2b523c; }
.aula-tabu-app .chip .game-icon { width: 24px; height: 24px; }
.aula-tabu-app .team-names-group { min-width: 0; margin: 0 0 17px; padding: 15px 17px 0; border: 1px solid #cdb782; border-radius: 14px; }
.aula-tabu-app .team-names-group legend { width: auto; max-width: 100%; padding: 0 8px; color: #4b6445; font-size: 21px; font-weight: 950; }
.aula-tabu-app .team-name-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 21px; min-width: 0; }
.aula-tabu-app .team-name { min-width: 0; }
.aula-tabu-app .team-name-label { display: flex; align-items: center; min-width: 0; gap: 9px; font-size: 19px; }
.aula-tabu-app .team-name input { width: 100%; min-width: 0; max-width: 100%; }
.aula-tabu-app .team-dot { --team-color: #398461; display: inline-block; width: 13px; height: 13px; border-radius: 50%; flex-shrink: 0; background: var(--team-color); border: 1px solid #ffffff87; box-shadow: 0 1px 2px #183b3526; }
.aula-tabu-app [data-team-index="0"] { --team-color: #378463; }
.aula-tabu-app [data-team-index="1"] { --team-color: #d36b50; }
.aula-tabu-app [data-team-index="2"] { --team-color: #4895a8; }
.aula-tabu-app [data-team-index="3"] { --team-color: #9674b0; }
.aula-tabu-app [data-team-index="4"] { --team-color: #bc8a28; }
.aula-tabu-app [data-team-index="5"] { --team-color: #c9799d; }
.aula-tabu-app .team-dot[data-team-index] { background: var(--team-color); }
.aula-tabu-app .setup-footer { display: flex; justify-content: flex-end; align-items: center; gap: 18px; padding-top: 17px; border-top: 1px solid #cbb884; }
.aula-tabu-app .setup-footer .button { min-width: 245px; min-height: 66px; font-size: 28px; }
.aula-tabu-app .more-settings, .aula-tabu-app .deck-count { display: none; }

/* Ready and scores. Team names can wrap instead of disappearing. */
.aula-tabu-app .ready { width: min(770px, 100%); margin: 18px auto 8px; padding: 25px 30px; text-align: center; }
.aula-tabu-app .ready-icon { display: grid; place-items: center; width: 100px; height: 100px; margin: 0 auto 13px; border-radius: 50%; color: #2d7353; background: radial-gradient(circle, #ffdc83, #f7ce6c 58%, transparent 60%); filter: drop-shadow(0 5px 1px #b1a06b31); font-size: 48px; }
.aula-tabu-app .ready-icon .game-icon, .aula-tabu-app .ready-icon svg { width: 89px; height: 89px; }
.aula-tabu-app .ready h2 { margin: 11px auto 19px; font-size: clamp(38px, 5vw, 56px); letter-spacing: -1px; overflow-wrap: anywhere; }
.aula-tabu-app .ready p { margin: 12px 0; color: #657252; font-size: 20px; line-height: 1.4; }
.aula-tabu-app .ready-cues { display: flex; justify-content: center; gap: 13px; margin: 18px 0 24px; }
.aula-tabu-app .ready-cues > span, .aula-tabu-app .ready-cue { display: flex; flex-direction: column; align-items: center; gap: 11px; width: 240px; padding: 17px 12px; border: 1px solid #c6b77e; border-radius: 15px; background: #f8efce; color: #586b48; font-size: 21px; font-weight: 900; }
.aula-tabu-app .ready-cues .game-icon { width: 43px; height: 43px; }
.aula-tabu-app .ready > .button { min-width: 275px; min-height: 68px; font-size: 28px; }
.aula-tabu-app .ready > .button span { font-size: 20px; opacity: .85; }
.aula-tabu-app .ready .link-button { display: flex; width: fit-content; margin: 18px auto 0; color: #5b6c4f; border: 0; background: transparent; box-shadow: none; }
.aula-tabu-app .score-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; width: 100%; margin: 0 auto 11px; }
.aula-tabu-app .score-strip[data-count="1"] { grid-template-columns: minmax(0, 480px); justify-content: center; }
.aula-tabu-app .score-strip[data-count="3"], .aula-tabu-app .score-strip[data-count="5"], .aula-tabu-app .score-strip[data-count="6"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aula-tabu-app .score-strip[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.aula-tabu-app .score-chip { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; min-height: 64px; padding: 8px 15px 8px 17px; border: 2px solid #dcc78e; border-left: 7px solid var(--team-color, #398461); border-radius: 14px; background: #fff0c9ed; color: #4d634c; box-shadow: 0 3px 0 #6e5633b3, inset 0 1px 0 #fff9e1; font-size: 20px; font-weight: 950; }
.aula-tabu-app .score-team-name { display: flex; align-items: center; gap: 9px; min-width: 0; overflow-wrap: anywhere; line-height: 1.15; }
.aula-tabu-app .score-chip b { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; flex-shrink: 0; color: #365e44; font-size: 38px; line-height: 1; font-variant-numeric: tabular-nums; }
.aula-tabu-app .score-chip.active { border-color: #ffe28c; border-left-color: var(--team-color); color: #fff9dc; background: linear-gradient(#3e805b, #20553f); box-shadow: 0 4px 0 #103b2d, 0 0 0 2px #e5c572, inset 0 2px 0 #c1d7928c; text-shadow: 0 1px 1px #0f3529; }
.aula-tabu-app .score-chip.active b { color: #ffe398; }
.aula-tabu-app .score-chip.active .team-dot { border-color: #fff6cc; box-shadow: 0 0 0 2px #fff6cc45; }

/* The stage fills its available height; the word and each taboo own a tile. */
.aula-tabu-app[data-view="play"] { display: flex; flex-direction: column; height: min(960px, calc(100dvh - 24px)); min-height: 0; }
.aula-tabu-app[data-view="play"] [data-tabu-ui="app"] { display: flex; flex-direction: column; flex: 1; gap: 0; min-height: 0; padding-top: 1px; padding-bottom: 15px; }
.aula-tabu-app[data-view="play"] .score-strip { flex-shrink: 0; }
.aula-tabu-app .game-top { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 12px; min-height: 46px; margin: 0 0 11px; color: #fff8d7; }
.aula-tabu-app .round-label { display: block; color: #fff1bd; font-size: 21px; font-weight: 950; line-height: 1.15; text-shadow: 0 2px 4px #123e32; }
.aula-tabu-app .game-tools { display: flex; gap: 8px; }
.aula-tabu-app .game-tools .button { min-height: 44px; padding: 8px 12px; border-radius: 12px; font-size: 18px; }
.aula-tabu-app .game-tools .game-icon { width: 23px; height: 23px; }
.aula-tabu-app .play-layout { display: grid; grid-template-columns: minmax(0, 1fr) 286px; align-items: stretch; flex: 1; min-height: 0; gap: 17px; }
.aula-tabu-app .card-slot { position: relative; display: flex; min-width: 0; min-height: 0; }
.aula-tabu-app .word-card { position: relative; display: grid; grid-template-rows: minmax(122px, .82fr) minmax(0, 1.65fr); gap: 12px; width: 100%; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: #274b3b; text-align: center; }
.aula-tabu-app .word-card::before, .aula-tabu-app .word-card::after, .aula-tabu-app .card-meta, .aula-tabu-app .card-seal { display: none; }
.aula-tabu-app .target-panel { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 0; padding: 12px 20px; border: 3px solid #cba65c; border-radius: 21px; background: radial-gradient(ellipse at 50% 0, #fffdee, transparent 65%), linear-gradient(135deg, #fcecc3, #f4d998); box-shadow: 0 6px 0 #79522b, 0 10px 14px #173b3454, inset 0 0 0 4px #fff7d7bd; }
.aula-tabu-app .target { width: 100%; margin: 0; color: #24513d; font-family: inherit; font-size: clamp(80px, 7.7vw, 110px); font-weight: 1000; line-height: .98; letter-spacing: -3px; overflow-wrap: anywhere; text-shadow: 0 2px 0 #fff6d5; }
.aula-tabu-app .target.target-long { font-size: clamp(54px, 5.4vw, 76px); letter-spacing: -1.8px; }
.aula-tabu-app .target.target-phrase { font-size: clamp(40px, 4vw, 58px); letter-spacing: -1px; }
.aula-tabu-app .forbidden-area { display: flex; flex-direction: column; min-width: 0; min-height: 0; gap: 8px; }
.aula-tabu-app .forbidden-title { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; color: #fff0c5; font-size: 23px; font-weight: 950; line-height: 1.1; text-shadow: 0 2px 3px #1a3d30; }
.aula-tabu-app .forbidden-title .game-icon { width: 24px; height: 24px; }
.aula-tabu-app .forbidden-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); flex: 1; min-width: 0; min-height: 0; gap: 11px; }
.aula-tabu-app .taboo-tile { display: flex; align-items: center; justify-content: center; gap: 10px; min-width: 0; min-height: 100px; padding: 13px 14px; border: 2px solid #cfad72; border-radius: 18px; color: #77553d; background: radial-gradient(ellipse at 40% 0, #fffdf0, transparent 75%), linear-gradient(135deg, #fff0cc, #efd9ab); box-shadow: 0 5px 0 #80562f, 0 8px 14px #173b343b, inset 0 0 0 3px #fff8df9e; font-size: clamp(34px, 3.2vw, 46px); font-weight: 950; line-height: 1.04; letter-spacing: -.7px; }
.aula-tabu-app .taboo-mark { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 28px; color: #bc6346; font-family: Arial, sans-serif; font-size: 33px; line-height: 1; font-weight: 800; }
.aula-tabu-app .taboo-text { min-width: 0; overflow-wrap: anywhere; }
.aula-tabu-app .tabs-off, .aula-tabu-app .free-description { display: flex; align-items: center; justify-content: center; flex: 1; min-height: 130px; padding: 20px; border: 2px dashed #f0d28ea6; border-radius: 20px; color: #fff3c7; background: #1c4e3ebf; font-size: 32px; font-weight: 950; }
.aula-tabu-app .free-description { flex-direction: column; gap: 18px; }
.aula-tabu-app .free-description .game-icon { width: 70px; height: 70px; }
.aula-tabu-app .free-description strong { font: inherit; }
.aula-tabu-app .forbidden-list:not(:has(> .taboo-tile:nth-child(3))) { grid-template-rows: minmax(0, 1fr); }
.aula-tabu-app .forbidden-list:has(> .taboo-tile:nth-child(5)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aula-tabu-app .side-controls { display: grid; grid-template-rows: minmax(156px, .95fr) minmax(0, 1.7fr); gap: 12px; min-width: 0; min-height: 0; }
.aula-tabu-app .time-panel { display: flex; align-items: center; justify-content: center; gap: 13px; min-width: 0; min-height: 0; padding: 8px; border: 2px solid #d5bc7bb5; border-radius: 22px; color: #fff6d1; background: linear-gradient(#28654beF, #174b3ef5); box-shadow: 0 5px 0 #11392e, inset 0 0 0 3px #72936924; }
.aula-tabu-app .timer-orbit { --remaining: 100%; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: clamp(140px, 17vh, 170px); height: clamp(140px, 17vh, 170px); flex-shrink: 0; padding: 12px; border-radius: 50%; background: radial-gradient(circle at center, #1a4c3e 0 62%, transparent 63%), conic-gradient(#f8d17a var(--remaining), #789b794d 0); }
.aula-tabu-app .timer { color: #fff0ad; font-size: clamp(66px, 7vh, 83px); font-weight: 1000; line-height: .95; letter-spacing: -3px; font-variant-numeric: tabular-nums; }
.aula-tabu-app .timer.urgent { color: #ffa48c; }
.aula-tabu-app .timer-label { margin-top: 7px; color: #e4e7c1; font-size: 16px; font-weight: 950; letter-spacing: .5px; line-height: 1; }
.aula-tabu-app .turn-points { min-width: 0; padding: 0; margin: 0; border: 0; color: #d2e0bf; font-size: 17px; font-weight: 900; line-height: 1.1; text-align: center; }
.aula-tabu-app .turn-points b { display: block; margin-top: 8px; color: #fff0b3; font-size: 40px; font-weight: 950; line-height: 1; }
.aula-tabu-app .progress { display: none; }
.aula-tabu-app .actions { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 11px; min-height: 0; margin: 0; }
.aula-tabu-app .actions .button { display: flex; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; min-width: 0; min-height: 90px; padding: 14px 17px; border-radius: 18px; font-size: 29px; font-weight: 950; }
.aula-tabu-app .actions .button > span { display: block; flex: 1; min-width: 0; text-align: left; overflow-wrap: anywhere; }
.aula-tabu-app .actions .button .game-icon { width: 35px; height: 35px; }
.aula-tabu-app .actions small { display: block; min-width: 25px; font-size: 21px; font-weight: 950; line-height: 1; opacity: .9; text-align: right; }
.aula-tabu-app .turn-utility { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; gap: 15px; margin-top: 12px; }
.aula-tabu-app .under-game { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0; }
.aula-tabu-app .turn-utility .button, .aula-tabu-app .under-game .button, .aula-tabu-app .turn-utility .link-button, .aula-tabu-app .under-game .link-button { min-height: 44px; padding: 8px 13px; font-size: 18px; }
.aula-tabu-app .turn-utility .game-icon, .aula-tabu-app .under-game .game-icon { width: 23px; height: 23px; }
.aula-tabu-app .coach { margin: 0; color: #fff5d2; font-size: 18px; }
.aula-tabu-app .coach summary { cursor: pointer; padding: 8px 0; color: #fff2c9; font-size: 18px; font-weight: 900; }
.aula-tabu-app .coach[open] { position: relative; z-index: 4; padding: 4px 15px 12px; border-radius: 13px; background: #174435f5; }
.aula-tabu-app .coach p { max-width: 600px; color: #f3edcd; font-size: 18px; line-height: 1.45; }
.aula-tabu-app .word-card.paused-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px; padding: 25px; border: 2px solid #d4ba7a; border-radius: 22px; background: #f6e7bddf; box-shadow: 0 6px 0 #79562f; }
.aula-tabu-app .paused-card .target { font-size: 66px; }
.aula-tabu-app .paused-card .ready-icon { margin: 0; }
.aula-tabu-app .paused-card .button { min-width: 220px; font-size: 28px; }
.aula-tabu-app .action-feedback { position: absolute; z-index: 8; top: 46%; left: 50%; display: none; align-items: center; justify-content: center; gap: 11px; max-width: min(420px, calc(100% - 34px)); padding: 14px 24px; border: 3px solid #ffe8ab; border-radius: 19px; color: #fffce8; background: #357b50f5; box-shadow: 0 5px 0 #183e2d, 0 12px 28px #123b346b; font-size: 36px; font-weight: 1000; line-height: 1.05; white-space: nowrap; pointer-events: none; transform: translate(-50%, -50%); animation: tabu-feedback-pop .4s cubic-bezier(.2, .8, .2, 1) both; }
.aula-tabu-app .action-feedback.is-visible { display: inline-flex; }
.aula-tabu-app .action-feedback .game-icon, .aula-tabu-app .action-feedback-symbol { width: 43px; height: 43px; font-size: 43px; line-height: 1; }
.aula-tabu-app .action-feedback[data-kind="taboo"] { background: #c56343f5; box-shadow: 0 5px 0 #7e3b29, 0 12px 28px #123b346b; }
.aula-tabu-app .action-feedback[data-kind="pass"] { background: #3b8b99f5; box-shadow: 0 5px 0 #254d56, 0 12px 28px #123b346b; }
@keyframes tabu-feedback-pop { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.72); } 55% { opacity: 1; transform: translate(-50%, -50%) scale(1.07); } 100% { opacity: 1; transform: translate(-50%, -50%) scale(1); } }

/* Short result screens keep the next move prominent. */
.aula-tabu-app .summary { width: min(850px, 100%); margin: 15px auto 6px; padding: 25px 28px; text-align: center; }
.aula-tabu-app .summary h2 { margin: 9px 0 17px; font-size: clamp(34px, 4vw, 46px); }
.aula-tabu-app .summary .ready-icon { width: 83px; height: 83px; margin: 0 auto 12px; }
.aula-tabu-app .summary .ready-icon .game-icon { width: 77px; height: 77px; }
.aula-tabu-app .turn-result { width: min(760px, 100%); margin: 15px auto 5px; padding: 25px 28px; text-align: center; }
.aula-tabu-app .turn-total { margin: 9px 0 14px; color: #3d714c; font-size: 70px; font-weight: 1000; line-height: 1; }
.aula-tabu-app .turn-total span { display: block; margin-top: 5px; color: #68754f; font-size: 20px; font-weight: 900; }
.aula-tabu-app .result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin: 20px 0; }
.aula-tabu-app .result-stat, .aula-tabu-app .result-medal { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 120px; padding: 16px 10px; border: 1px solid #d2bc83; border-radius: 16px; background: #fff6daaf; color: #66754e; font-size: 20px; font-weight: 900; }
.aula-tabu-app .result-stat b, .aula-tabu-app .result-medal b, .aula-tabu-app .result-medal strong { color: #3d714c; font-size: 44px; font-weight: 1000; line-height: 1; }
.aula-tabu-app .result-stat .game-icon, .aula-tabu-app .result-medal .game-icon { width: 40px; height: 40px; }
.aula-tabu-app .result-medal { flex-direction: row; flex-wrap: wrap; gap: 12px; }
.aula-tabu-app .result-medal > span { font-size: 20px; }
.aula-tabu-app .ranking { width: 100%; margin: 18px 0; border-collapse: separate; border-spacing: 0; text-align: left; color: #526c4d; font-size: 20px; }
.aula-tabu-app .ranking th { padding: 11px 12px; border-bottom: 1px solid #cdb783; color: #6e7c54; font-size: 18px; font-weight: 950; }
.aula-tabu-app .ranking td { padding: 13px 12px; border-bottom: 1px solid #cdb7838c; overflow-wrap: anywhere; }
.aula-tabu-app .ranking th:last-child, .aula-tabu-app .ranking td:last-child { text-align: right; }
.aula-tabu-app .ranking .winner td { background: #d7dfb2; color: #3d674b; font-weight: 950; }
.aula-tabu-app .ranking .winner td:first-child { border-radius: 10px 0 0 10px; }
.aula-tabu-app .ranking .winner td:last-child { border-radius: 0 10px 10px 0; }
.aula-tabu-app .review { padding: 14px 17px; margin: 18px 0; border: 1px solid #cbb67c; border-radius: 13px; color: #64734e; background: #eee3bb; text-align: left; }
.aula-tabu-app .review summary { cursor: pointer; padding: 5px 0; font-size: 19px; font-weight: 900; }
.aula-tabu-app .review p { margin: 11px 0 0; font-size: 18px; line-height: 1.45; }
.aula-tabu-app .summary-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 15px; margin-top: 20px; }
.aula-tabu-app .summary-actions .button { min-height: 65px; font-size: 26px; }

/* Personal cards and help. */
.aula-tabu-app .bank-shell { width: min(1060px, 100%); margin-inline: auto; }
.aula-tabu-app .bank-head { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 23px; }
.aula-tabu-app .setup-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: start; gap: 24px; }
.aula-tabu-app .bank-shell .field-row { align-items: end; }
.aula-tabu-app .bank-shell .field-row > .button { margin-bottom: 17px; }
.aula-tabu-app .bank-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
.aula-tabu-app .bank-actions .button { min-height: 51px; padding: 11px 15px; font-size: 20px; cursor: pointer; }
.aula-tabu-app .custom-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.aula-tabu-app .custom-card { min-width: 0; padding: 18px; border: 1px solid #c7aa6b; border-radius: 17px; color: #4c6547; background: #f5e8c3; box-shadow: 0 3px 0 #7b5935, inset 0 0 0 3px #fff6d793; }
.aula-tabu-app .custom-card h3 { margin: 12px 0; font-size: 27px; overflow-wrap: anywhere; }
.aula-tabu-app .custom-card p { color: #76815b; font-size: 18px; line-height: 1.4; overflow-wrap: anywhere; }
.aula-tabu-app .custom-card button { min-height: 44px; margin-top: 14px; padding: 9px 12px; border: 1px solid #ceb783; border-radius: 9px; color: #a9563b; background: #eee0b9; font-size: 18px; font-weight: 950; }
.aula-tabu-app .bank-empty { margin-top: 20px; padding: 22px; border: 1px dashed #c3cd9a; border-radius: 18px; color: #fff2ca; background: #1d4e3dcb; text-align: center; font-size: 20px; }
.aula-tabu-app dialog { width: min(700px, calc(100% - 26px)); max-height: min(88dvh, 900px); padding: 27px; border: 2px solid #bd9b56; border-radius: 24px; background: radial-gradient(ellipse at 30% 0, #fffce9, transparent 70%), #f3e3b6; color: #405c43; box-shadow: 0 8px 0 #6f502f, 0 30px 100px #102f2b82, inset 0 0 0 4px #fff6d7a1; font-size: 20px; overflow-y: auto; }
.aula-tabu-app dialog::backdrop { background: #062b28bf; backdrop-filter: blur(5px); }
.aula-tabu-app dialog h2 { margin: 0 0 20px; font-size: 36px; text-align: center; }
.aula-tabu-app dialog p { margin: 11px 0 18px; color: #677355; font-size: 19px; line-height: 1.45; }
.aula-tabu-app dialog ol { margin: 0 0 22px; padding-left: 24px; font-size: 19px; line-height: 1.5; }
.aula-tabu-app dialog li { margin: 10px 0; }
.aula-tabu-app .help-list { display: grid; gap: 13px; margin: 15px 0 20px; }
.aula-tabu-app .help-step { display: flex; align-items: center; gap: 15px; padding: 14px; border-radius: 13px; color: #536a49; background: #e6dbb4; font-size: 19px; }
.aula-tabu-app .help-step strong { display: block; color: #3c6045; font-size: 22px; }
.aula-tabu-app .help-step p { margin: 5px 0 0; font-size: 18px; }
.aula-tabu-app .help-icon { display: grid; place-items: center; flex-shrink: 0; width: 53px; height: 53px; border-radius: 13px; color: #557b4c; background: #fff5cf; }
.aula-tabu-app .help-icon .game-icon { width: 40px; height: 40px; }
.aula-tabu-app .keys { margin: 15px 0 20px; padding: 15px; border: 1px solid #cfbb80; border-radius: 12px; color: #707b55; font-size: 18px; line-height: 1.5; }
.aula-tabu-app .keys summary { cursor: pointer; font-weight: 950; }
.aula-tabu-app kbd { padding: 3px 7px; border: 1px solid #b7a16a; border-radius: 5px; background: #fff7de; color: #5e714c; box-shadow: 0 2px 0 #c0aa74; font: 900 17px "Trebuchet MS", sans-serif; }
.aula-tabu-app [data-tabu-ui="closeModal"] { margin-top: 14px; }
.aula-tabu-app [data-tabu-ui="modalConfirm"] { margin: 8px 0 5px; }
.aula-tabu-app .toast { display: none; position: absolute; z-index: 20; left: 50%; bottom: 20px; max-width: calc(100% - 32px); padding: 14px 21px; border: 1px solid #dfc586; border-radius: 15px; color: #fff8dc; background: #173e31f5; box-shadow: 0 5px 0 #103429, 0 10px 30px #102e2880; font-size: 19px; font-weight: 900; transform: translateX(-50%); text-align: center; }
.aula-tabu-app .toast.show { display: block; }
.aula-tabu-app .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.aula-tabu-app .game-pulse { animation: tabu-card-arrive .16s ease-out; }
@keyframes tabu-card-arrive { from { opacity: .8; transform: translateY(3px); } to { opacity: 1; transform: none; } }

/* The guide belongs to the WordPress page, outside the game and fullscreen. */
.aula-tabu-guide { box-sizing: border-box; width: min(1180px, 100%); max-width: 1180px !important; margin: 28px auto !important; padding: 30px 36px; border: 1px solid #e1d9c5; border-radius: 20px; color: #394c43; background: #fffdf5; box-shadow: 0 6px 20px #233b3310; font-family: "Avenir Next", "Trebuchet MS", Avenir, system-ui, sans-serif; font-size: 18px; font-weight: 400; line-height: 1.65; }
.aula-tabu-guide *, .aula-tabu-guide *::before, .aula-tabu-guide *::after { box-sizing: inherit; }
.aula-tabu-guide h2 { margin: 0 0 17px; color: #294d3c; font-family: inherit; font-size: clamp(28px, 3vw, 34px); font-weight: 900; line-height: 1.2; letter-spacing: -.5px; }
.aula-tabu-guide h3 { margin: 24px 0 9px; color: #365b46; font-family: inherit; font-size: 23px; font-weight: 900; line-height: 1.25; }
.aula-tabu-guide p { margin: 10px 0; font-size: inherit; line-height: inherit; }
.aula-tabu-guide ol, .aula-tabu-guide ul { margin: 12px 0 20px; padding-left: 25px; font-size: inherit; line-height: inherit; }
.aula-tabu-guide li { padding-left: 3px; margin: 8px 0; }
.aula-tabu-guide dl { margin: 14px 0 0; }
.aula-tabu-guide dt { margin-top: 16px; color: #365b46; font-weight: 900; }
.aula-tabu-guide dd { margin: 4px 0 0; }
.aula-tabu-guide details { margin: 12px 0; padding: 12px 0; border-bottom: 1px solid #e3ddcd; }
.aula-tabu-guide summary { min-height: 44px; padding: 7px 0; color: #365b46; font-size: 19px; font-weight: 900; line-height: 1.4; cursor: pointer; }
.aula-tabu-guide details[open] summary { margin-bottom: 6px; }
.aula-tabu-guide summary:focus-visible { outline: 3px solid #ad7936; outline-offset: 3px; border-radius: 4px; }
.aula-tabu-guide a { color: #23654a; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.aula-tabu-guide a:focus-visible { outline: 3px solid #ad7936; outline-offset: 3px; }

/* Only the canonical game page can expand the host theme's content width. */
body.aula-tabu-page .aula-entry-content { --wp--style--global--content-size: 100%; width: 100%; max-width: none !important; margin-inline: 0 !important; padding-inline: 0; font-size: inherit; line-height: inherit; }
body.aula-tabu-page .aula-entry-content > .wp-block-shortcode { width: 100%; max-width: none !important; margin-inline: 0 !important; }
.aula-tabu-app:fullscreen { width: 100%; height: 100dvh; min-height: 0; margin: 0 !important; border: 0; border-radius: 0; overflow-y: auto; background-position: center; }
.aula-tabu-app:fullscreen [data-tabu-ui="app"] { width: min(1320px, 100%); }
.aula-tabu-app:fullscreen[data-view="play"] { overflow: hidden; }

@media (min-width: 1450px) and (min-height: 850px) {
	.aula-tabu-app .play-layout { grid-template-columns: minmax(0, 1fr) 305px; gap: 20px; }
	.aula-tabu-app .taboo-tile { min-height: 130px; }
	.aula-tabu-app .actions .button { min-height: 105px; font-size: 30px; }
}
@media (max-width: 1100px) {
	.aula-tabu-app .topbar { padding-inline: 19px; }
	.aula-tabu-app [data-tabu-ui="app"] { padding-inline: 19px; }
	.aula-tabu-app .toolbar .icon-button span { display: none; }
	.aula-tabu-app .play-layout { grid-template-columns: minmax(0, 1fr) 270px; gap: 14px; }
	.aula-tabu-app .target { font-size: clamp(80px, 8vw, 96px); }
	.aula-tabu-app .taboo-tile { font-size: 35px; gap: 7px; padding-inline: 10px; }
	.aula-tabu-app .taboo-mark { width: 24px; font-size: 29px; }
	.aula-tabu-app .actions .button { padding-inline: 14px; font-size: 27px; gap: 10px; }
	.aula-tabu-app .actions .button .game-icon { width: 31px; height: 31px; }
	.aula-tabu-app .turn-points { font-size: 16px; }
	.aula-tabu-app .custom-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* A 1024×768 teaching panel gives its pixels to words, tiles and actions. */
@media (max-height: 820px) and (min-width: 801px) {
	.aula-tabu-app[data-view="play"] { height: calc(100dvh - 16px); margin-block: 8px !important; border-radius: 20px; }
	.aula-tabu-app[data-view="play"] .topbar { min-height: 57px; padding: 5px 18px 7px; }
	.aula-tabu-app[data-view="play"] .brand { gap: 12px; font-size: 31px; }
	.aula-tabu-app[data-view="play"] .brand-logo { width: 132px; height: 38px; padding: 5px 7px; border-radius: 9px; }
	.aula-tabu-app[data-view="play"] .toolbar .icon-button { min-width: 44px; min-height: 44px; padding: 8px; }
	.aula-tabu-app[data-view="play"] .toolbar .icon-button span { display: none; }
	.aula-tabu-app[data-view="play"] [data-tabu-ui="app"] { padding: 1px 18px 10px; }
	.aula-tabu-app[data-view="play"] .score-strip { gap: 7px; margin-bottom: 7px; }
	.aula-tabu-app[data-view="play"] .score-chip { min-height: 48px; padding: 5px 12px 5px 13px; border-radius: 11px; font-size: 18px; gap: 10px; }
	.aula-tabu-app[data-view="play"] .score-chip b { min-width: 34px; font-size: 32px; }
	.aula-tabu-app[data-view="play"] .score-team-name { gap: 7px; }
	.aula-tabu-app[data-view="play"] .game-top { min-height: 42px; margin-bottom: 7px; }
	.aula-tabu-app[data-view="play"] .round-label { font-size: 20px; }
	.aula-tabu-app[data-view="play"] .game-tools .button { min-height: 40px; font-size: 17px; padding-block: 6px; }
	.aula-tabu-app[data-view="play"] .play-layout { gap: 13px; }
	.aula-tabu-app[data-view="play"] .word-card { grid-template-rows: minmax(105px, .78fr) minmax(0, 1.65fr); gap: 10px; }
	.aula-tabu-app[data-view="play"] .target-panel { padding: 8px 14px; border-radius: 18px; }
	.aula-tabu-app[data-view="play"] .target { font-size: clamp(76px, 8vw, 98px); }
	.aula-tabu-app[data-view="play"] .target.target-long { font-size: clamp(54px, 5.4vw, 70px); }
	.aula-tabu-app[data-view="play"] .target.target-phrase { font-size: clamp(40px, 4vw, 54px); }
	.aula-tabu-app[data-view="play"] .forbidden-area { gap: 6px; }
	.aula-tabu-app[data-view="play"] .forbidden-title { font-size: 21px; }
	.aula-tabu-app[data-view="play"] .forbidden-list { gap: 9px; }
	.aula-tabu-app[data-view="play"] .taboo-tile { min-height: 96px; padding-block: 9px; font-size: 34px; border-radius: 15px; }
	.aula-tabu-app[data-view="play"] .side-controls { grid-template-rows: 148px minmax(0, 1fr); gap: 9px; }
	.aula-tabu-app[data-view="play"] .time-panel { padding: 2px 7px; gap: 10px; border-radius: 18px; }
	.aula-tabu-app[data-view="play"] .timer-orbit { width: 140px; height: 140px; }
	.aula-tabu-app[data-view="play"] .timer { font-size: 65px; }
	.aula-tabu-app[data-view="play"] .timer-label { font-size: 16px; }
	.aula-tabu-app[data-view="play"] .turn-points b { font-size: 35px; }
	.aula-tabu-app[data-view="play"] .actions { gap: 9px; }
	.aula-tabu-app[data-view="play"] .actions .button { min-height: 0; padding-block: 10px; font-size: 27px; border-radius: 15px; }
	.aula-tabu-app[data-view="play"] .turn-utility { gap: 12px; margin-top: 9px; }
	.aula-tabu-app[data-view="play"] .turn-utility .button, .aula-tabu-app[data-view="play"] .turn-utility .link-button { min-height: 41px; padding-block: 6px; font-size: 18px; }
	.aula-tabu-app:fullscreen[data-view="play"] { height: 100dvh; margin: 0 !important; }
}
@media (max-width: 800px) {
	.aula-tabu-app { border-radius: 22px; font-size: 20px; }
	.aula-tabu-app .topbar { min-height: 72px; padding: 11px 15px; gap: 10px; }
	.aula-tabu-app .brand { gap: 10px; font-size: 34px; }
	.aula-tabu-app .brand-logo { width: 133px; height: 43px; padding: 6px 8px; }
	.aula-tabu-app .toolbar { gap: 7px; }
	.aula-tabu-app .icon-button { min-width: 45px; min-height: 45px; padding: 8px; }
	.aula-tabu-app [data-tabu-ui="app"] { padding: 3px 15px 22px; }
	.aula-tabu-app .home-scene { gap: 24px; }
	.aula-tabu-app .home-title h1 { font-size: 128px; }
	.aula-tabu-app .modes { gap: 14px; }
	.aula-tabu-app .mode { gap: 11px; min-height: 250px; padding-inline: 9px; }
	.aula-tabu-app .mode.featured { min-height: 276px; }
	.aula-tabu-app .mode-art { width: 94px; height: 94px; }
	.aula-tabu-app .mode h2, .aula-tabu-app .mode h3 { font-size: 28px; }
	.aula-tabu-app .mode-caption { font-size: 19px; }
	.aula-tabu-app .settings-grid { grid-template-columns: minmax(0, 1fr); gap: 4px; }
	.aula-tabu-app .settings-rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 12px 20px; }
	.aula-tabu-app .settings-rules > .field { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; }
	.aula-tabu-app .settings-rules > .field select { flex: 1; width: auto; margin: 0; }
	.aula-tabu-app .panel { padding: 22px; }
	.aula-tabu-app .setup-head h2 { font-size: 34px; }
	.aula-tabu-app .team-name-grid { gap: 0 15px; }
	.aula-tabu-app .score-strip[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aula-tabu-app .score-chip { padding: 8px 10px; font-size: 18px; gap: 8px; }
	.aula-tabu-app .score-chip b { font-size: 34px; min-width: 30px; }
	.aula-tabu-app .score-team-name { gap: 6px; }
	.aula-tabu-app .score-chip .team-dot { width: 11px; height: 11px; }
	.aula-tabu-app[data-view="play"] { height: auto; min-height: 0; }
	.aula-tabu-app[data-view="play"] [data-tabu-ui="app"] { display: block; padding-bottom: 22px; }
	.aula-tabu-app .play-layout { grid-template-columns: minmax(0, 1fr) 220px; gap: 12px; min-height: 510px; }
	.aula-tabu-app .word-card { grid-template-rows: minmax(120px, .8fr) minmax(0, 1.8fr); gap: 11px; }
	.aula-tabu-app .target-panel { padding-inline: 11px; }
	.aula-tabu-app .target { font-size: 65px; letter-spacing: -2px; }
	.aula-tabu-app .forbidden-list { gap: 9px; }
	.aula-tabu-app .taboo-tile { min-height: 110px; padding: 11px 8px; flex-direction: column; gap: 5px; font-size: 30px; }
	.aula-tabu-app .taboo-mark { width: 22px; font-size: 25px; }
	.aula-tabu-app .side-controls { grid-template-rows: 180px minmax(0, 1fr); gap: 11px; }
	.aula-tabu-app .time-panel { flex-direction: column; gap: 6px; padding: 5px; }
	.aula-tabu-app .timer-orbit { width: 140px; height: 140px; }
	.aula-tabu-app .timer { font-size: 65px; }
	.aula-tabu-app .turn-points { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 16px; }
	.aula-tabu-app .turn-points b { margin: 0; font-size: 27px; }
	.aula-tabu-app .actions { gap: 11px; }
	.aula-tabu-app .actions .button { min-height: 89px; padding: 12px 10px; gap: 8px; font-size: 25px; }
	.aula-tabu-app .actions .button .game-icon { width: 27px; height: 27px; }
	.aula-tabu-app .actions small { min-width: 19px; font-size: 20px; }
	.aula-tabu-app .game-tools .button { font-size: 17px; padding-inline: 9px; }
	.aula-tabu-app .turn-utility { align-items: flex-start; flex-wrap: wrap; }
	.aula-tabu-app .setup-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.aula-tabu-guide { padding: 26px; }
}
@media (min-width: 541px) and (max-width: 660px) {
	.aula-tabu-app .brand { gap: 8px; font-size: 30px; }
	.aula-tabu-app .brand-logo { width: 114px; height: 39px; }
	.aula-tabu-app .play-layout { grid-template-columns: minmax(0, 1fr) 200px; min-height: 570px; }
	.aula-tabu-app .target { font-size: 56px; }
	.aula-tabu-app .forbidden-list { grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(4, minmax(0, 1fr)); }
	.aula-tabu-app .taboo-tile { min-height: 84px; flex-direction: row; font-size: 30px; }
	.aula-tabu-app .side-controls { grid-template-rows: 190px minmax(0, 1fr); }
	.aula-tabu-app .actions .button { font-size: 24px; }
	.aula-tabu-app .actions .button .game-icon { width: 23px; height: 23px; }
}
@media (min-width: 541px) and (max-width: 800px) {
	.aula-tabu-app .word-card:has(.taboo-tile:nth-child(5)) { min-height: 630px; }
	.aula-tabu-app .forbidden-list:has(> .taboo-tile:nth-child(5)) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(120px, 1fr)); }
}
@media (max-width: 540px) {
	.aula-tabu-app { margin-block: 8px !important; border-width: 2px; border-radius: 20px; background-position: 47% center; }
	.aula-tabu-app .topbar { min-height: 83px; padding: 10px 12px; gap: 8px; }
	.aula-tabu-app .brand { flex-direction: column; align-items: flex-start; gap: 6px; font-size: 30px; letter-spacing: -.6px; }
	.aula-tabu-app .brand-logo { width: 105px; height: 30px; padding: 3px 6px; border-radius: 7px; }
	.aula-tabu-app .toolbar { gap: 6px; }
	.aula-tabu-app .icon-button { min-width: 44px; width: 44px; min-height: 46px; padding: 8px; font-size: 25px; border-radius: 12px; }
	.aula-tabu-app .icon-button span { display: none; }
	.aula-tabu-app [data-tabu-ui="app"] { padding: 2px 12px 20px; }
	.aula-tabu-app .home-scene { gap: 22px; padding: 0 0 5px; }
	.aula-tabu-app .home-title { margin: 0; }
	.aula-tabu-app .home-title h1 { font-size: 114px; letter-spacing: -6px; }
	.aula-tabu-app .home-title p { margin-top: 14px; font-size: 20px; padding: 6px 14px; }
	.aula-tabu-app .modes { grid-template-columns: minmax(0, 1fr); gap: 17px; width: min(390px, 100%); }
	.aula-tabu-app .mode, .aula-tabu-app .mode.featured { display: grid; grid-template-columns: 81px minmax(0, 1fr); grid-template-rows: auto auto; justify-content: start; align-items: center; gap: 4px 14px; min-height: 124px; padding: 17px 18px 17px 14px; border-radius: 23px; text-align: left; }
	.aula-tabu-app .mode-art { grid-column: 1; grid-row: 1 / span 2; width: 81px; height: 81px; margin: 0; }
	.aula-tabu-app .mode h2, .aula-tabu-app .mode h3 { align-self: end; font-size: 32px; letter-spacing: -.8px; }
	.aula-tabu-app .mode-caption, .aula-tabu-app .mode p, .aula-tabu-app .mode small { align-self: start; font-size: 20px; }
	.aula-tabu-app .mode-start { display: none; }
	.aula-tabu-app .home-bottom { margin-top: 3px; }
	.aula-tabu-app .home-bottom .link-button { font-size: 20px; }
	.aula-tabu-app .panel { padding: 21px 17px; border-radius: 20px; }
	.aula-tabu-app .back { min-height: 46px; font-size: 20px; padding: 9px 13px; }
	.aula-tabu-app .setup-head { gap: 10px; margin-bottom: 21px; }
	.aula-tabu-app .setup-head h2 { font-size: 32px; }
	.aula-tabu-app .setup-head .badge { font-size: 17px; padding: 7px 9px; }
	.aula-tabu-app .field-row, .aula-tabu-app .field-row.three, .aula-tabu-app .field-row--three { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
	.aula-tabu-app .field-row.three > :last-child, .aula-tabu-app .field-row--three > :last-child { grid-column: 1 / -1; }
	.aula-tabu-app .field { margin-bottom: 16px; font-size: 20px; }
	.aula-tabu-app .field select, .aula-tabu-app .field input, .aula-tabu-app .field textarea { min-height: 54px; padding-inline: 10px; font-size: 21px; }
	.aula-tabu-app .settings-rules { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 13px; }
	.aula-tabu-app .settings-rules > .field { grid-column: auto; }
	.aula-tabu-app .toggle { font-size: 20px; }
	.aula-tabu-app .toggle input { width: 28px; height: 28px; }
	.aula-tabu-app .chip { min-height: 48px; font-size: 20px; padding: 9px 11px; }
	.aula-tabu-app .chips { gap: 9px; }
	.aula-tabu-app .team-names-group { padding: 14px 12px 0; }
	.aula-tabu-app .team-names-group legend { font-size: 20px; }
	.aula-tabu-app .team-name-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.aula-tabu-app .team-name-label { font-size: 20px; }
	.aula-tabu-app .setup-footer .button { width: 100%; min-width: 0; min-height: 65px; font-size: 28px; }
	.aula-tabu-app .ready { margin-top: 14px; padding: 23px 17px; }
	.aula-tabu-app .ready h2 { font-size: 38px; }
	.aula-tabu-app .ready-cues { gap: 10px; margin: 20px 0 23px; }
	.aula-tabu-app .ready-cues > span { width: 50%; min-width: 0; padding: 15px 8px; font-size: 20px; }
	.aula-tabu-app .ready > .button { width: 100%; min-width: 0; min-height: 68px; font-size: 27px; }
	.aula-tabu-app .score-strip, .aula-tabu-app .score-strip[data-count="3"], .aula-tabu-app .score-strip[data-count="4"], .aula-tabu-app .score-strip[data-count="5"], .aula-tabu-app .score-strip[data-count="6"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 13px; }
	.aula-tabu-app .score-strip[data-count="1"] { grid-template-columns: minmax(0, 1fr); }
	.aula-tabu-app .score-chip { min-height: 66px; padding: 9px 8px; border-left-width: 5px; border-radius: 12px; gap: 7px; font-size: 20px; }
	.aula-tabu-app .score-team-name { gap: 5px; }
	.aula-tabu-app .score-chip b { min-width: 24px; font-size: 32px; }
	.aula-tabu-app .score-chip .team-dot { display: none; }
	.aula-tabu-app .game-top { align-items: center; gap: 8px; min-height: 48px; margin-bottom: 13px; }
	.aula-tabu-app .round-label { font-size: 20px; }
	.aula-tabu-app .game-tools { gap: 7px; }
	.aula-tabu-app .game-tools .button { min-height: 46px; min-width: 46px; padding: 9px; font-size: 20px; }
	.aula-tabu-app .game-tools .button > span { display: none; }
	.aula-tabu-app .game-tools .game-icon { width: 25px; height: 25px; }
	.aula-tabu-app .play-layout { grid-template-columns: minmax(0, 1fr); gap: 17px; min-height: 0; }
	.aula-tabu-app .word-card { grid-template-rows: minmax(120px, auto) minmax(275px, auto); gap: 13px; }
	.aula-tabu-app .target-panel { min-height: 120px; padding: 16px 12px; border-radius: 19px; }
	.aula-tabu-app .target { font-size: clamp(52px, 13vw, 70px); letter-spacing: -2px; }
	.aula-tabu-app .target.target-long, .aula-tabu-app[data-view="play"] .target.target-long { font-size: 44px; letter-spacing: -1px; }
	.aula-tabu-app .target.target-phrase, .aula-tabu-app[data-view="play"] .target.target-phrase { font-size: 36px; letter-spacing: -.7px; }
	.aula-tabu-app .forbidden-area { gap: 9px; }
	.aula-tabu-app .forbidden-title { font-size: 22px; }
	.aula-tabu-app .forbidden-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(118px, 1fr)); gap: 11px; }
	.aula-tabu-app .forbidden-list:has(> .taboo-tile:nth-child(5)) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(118px, 1fr)); }
	.aula-tabu-app .taboo-tile { flex-direction: column; gap: 6px; min-height: 118px; padding: 12px 8px; border-radius: 16px; font-size: 31px; }
	.aula-tabu-app .taboo-mark { width: 23px; font-size: 27px; }
	.aula-tabu-app .tabs-off, .aula-tabu-app .free-description { min-height: 245px; font-size: 29px; }
	.aula-tabu-app .side-controls { grid-template-rows: auto auto; gap: 14px; }
	.aula-tabu-app .time-panel { flex-direction: row; justify-content: center; gap: 25px; min-height: 129px; padding: 8px 14px; border-radius: 19px; }
	.aula-tabu-app .timer-orbit { width: 112px; height: 112px; }
	.aula-tabu-app .timer { font-size: 53px; }
	.aula-tabu-app .timer-label { font-size: 16px; margin-top: 5px; }
	.aula-tabu-app .turn-points { display: block; font-size: 20px; }
	.aula-tabu-app .turn-points b { margin-top: 5px; font-size: 39px; }
	.aula-tabu-app .actions { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto; gap: 10px; }
	.aula-tabu-app .actions .button { flex-direction: column; justify-content: center; min-height: 112px; padding: 12px 4px; gap: 7px; border-radius: 15px; font-size: 22px; }
	.aula-tabu-app .actions .button > span { flex: 0; text-align: center; }
	.aula-tabu-app .actions .button .game-icon { width: 29px; height: 29px; }
	.aula-tabu-app .actions small { min-width: 0; font-size: 20px; text-align: center; }
	.aula-tabu-app .turn-utility { gap: 12px; margin-top: 17px; }
	.aula-tabu-app .under-game { display: flex; justify-content: space-between; width: 100%; gap: 9px; }
	.aula-tabu-app .turn-utility .button, .aula-tabu-app .turn-utility .link-button, .aula-tabu-app .under-game .button, .aula-tabu-app .under-game .link-button { min-height: 46px; padding: 8px 10px; font-size: 20px; }
	.aula-tabu-app .coach summary, .aula-tabu-app .coach p { font-size: 20px; }
	.aula-tabu-app .word-card.paused-card { min-height: 400px; }
	.aula-tabu-app .paused-card .target { font-size: 56px; }
	.aula-tabu-app .action-feedback { padding: 13px 18px; font-size: 29px; border-radius: 16px; }
	.aula-tabu-app .action-feedback .game-icon { width: 35px; height: 35px; }
	.aula-tabu-app .summary, .aula-tabu-app .turn-result { margin-top: 14px; padding: 23px 17px; }
	.aula-tabu-app .summary h2 { font-size: 34px; }
	.aula-tabu-app .result-grid { gap: 9px; }
	.aula-tabu-app .result-stat, .aula-tabu-app .result-medal { min-height: 127px; padding: 13px 6px; gap: 7px; font-size: 20px; }
	.aula-tabu-app .result-medal { flex-direction: column; flex-wrap: nowrap; }
	.aula-tabu-app .result-stat b, .aula-tabu-app .result-medal b, .aula-tabu-app .result-medal strong { font-size: 37px; }
	.aula-tabu-app .result-stat .game-icon, .aula-tabu-app .result-medal .game-icon { width: 32px; height: 32px; }
	.aula-tabu-app .summary-actions .button { width: 100%; min-height: 65px; font-size: 25px; }
	.aula-tabu-app .ranking { font-size: 20px; }
	.aula-tabu-app .ranking th, .aula-tabu-app .ranking td { padding: 10px 6px; }
	.aula-tabu-app .ranking th { font-size: 17px; }
	.aula-tabu-app .bank-head { gap: 10px; }
	.aula-tabu-app .bank-head h2 { font-size: 32px; }
	.aula-tabu-app .bank-head .badge { font-size: 17px; }
	.aula-tabu-app .custom-list { grid-template-columns: minmax(0, 1fr); gap: 15px; }
	.aula-tabu-app dialog { padding: 23px 17px; border-radius: 20px; }
	.aula-tabu-app dialog h2 { font-size: 32px; }
	.aula-tabu-app .help-step { gap: 11px; padding: 12px; }
	.aula-tabu-app .help-step strong { font-size: 21px; }
	.aula-tabu-app .help-icon { width: 45px; height: 45px; }
	.aula-tabu-app .help-icon .game-icon { width: 35px; height: 35px; }
	.aula-tabu-app .toast { bottom: 16px; padding: 12px 15px; font-size: 20px; width: max-content; }
	.aula-tabu-guide { margin-block: 22px !important; padding: 23px 20px; border-radius: 17px; font-size: 17px; }
	.aula-tabu-guide h2 { font-size: 28px; }
	.aula-tabu-guide h3 { font-size: 22px; }
	.aula-tabu-app:fullscreen[data-view="play"] { height: 100dvh; overflow-y: auto; }
}
@media (max-width: 360px) {
	.aula-tabu-app .topbar { padding-inline: 10px; gap: 6px; }
	.aula-tabu-app .brand-logo { width: 94px; height: 28px; }
	.aula-tabu-app .brand { font-size: 29px; }
	.aula-tabu-app .toolbar { gap: 5px; }
	.aula-tabu-app [data-tabu-ui="app"] { padding-inline: 10px; }
	.aula-tabu-app .home-title h1 { font-size: 104px; }
	.aula-tabu-app .mode, .aula-tabu-app .mode.featured { grid-template-columns: 67px minmax(0, 1fr); gap: 4px 11px; padding-inline: 12px; }
	.aula-tabu-app .mode-art { width: 67px; height: 67px; }
	.aula-tabu-app .mode h2 { font-size: 30px; }
	.aula-tabu-app .setup-head { flex-wrap: wrap; }
	.aula-tabu-app .setup-head .badge { font-size: 18px; }
	.aula-tabu-app .setup-head h2 { font-size: 32px; }
	.aula-tabu-app .panel { padding-inline: 14px; }
	.aula-tabu-app .field-row { gap: 11px; }
	.aula-tabu-app .settings-rules > .field { flex-direction: column; align-items: stretch; gap: 7px; }
	.aula-tabu-app .settings-rules > .field select { width: 100%; }
	.aula-tabu-app .score-chip { font-size: 20px; padding-inline: 6px; gap: 5px; }
	.aula-tabu-app .score-chip b { font-size: 32px; min-width: 22px; }
	.aula-tabu-app .target { font-size: 52px; }
	.aula-tabu-app .taboo-tile { font-size: 28px; padding-inline: 6px; }
	.aula-tabu-app .actions { gap: 8px; }
	.aula-tabu-app .actions .button { min-height: 117px; font-size: 20px; }
	.aula-tabu-app .under-game { flex-direction: column; align-items: stretch; }
	.aula-tabu-app .under-game .button, .aula-tabu-app .under-game .link-button { width: 100%; }
	.aula-tabu-app .result-grid { gap: 7px; }
	.aula-tabu-app .result-medal > span { font-size: 18px; }
}
@media (pointer: coarse) {
	.aula-tabu-app .icon-button, .aula-tabu-app .game-tools .button, .aula-tabu-app .custom-card button, .aula-tabu-app .chip, .aula-tabu-app .back, .aula-tabu-app .turn-utility .button, .aula-tabu-app .turn-utility .link-button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	.aula-tabu-app *, .aula-tabu-app *::before, .aula-tabu-app *::after { animation: none !important; transition: none !important; }
}
