.recipeGame { margin-top:24px; padding-top:16px; border-top:2px solid #d4dde0; }
.recipeGame details { background:#edf3f5; padding:14px; border-radius:10px; margin:16px 0; }
.recipeGame summary { cursor:pointer; font-weight:bold; }
.recipeGame table { width:100%; border-collapse:collapse; margin:12px 0; }
.recipeGame td,.recipeGame th { text-align:left; padding:6px; border-bottom:1px solid #d4dde0; }
.recipeGame td { white-space:nowrap; }
.recipeGame .taskTitle { font-weight:bold; font-size:20px; }
.recipeGame .roundClock { background:#fff2d9; padding:12px; border-radius:8px; font-weight:bold; }
.recipeChoices { display:grid; gap:10px; margin:16px 0; padding-left:0; }
ol.recipeChoices { padding-left:24px; }
.recipeGame .orderCard { width:100%; color:#24343b; text-align:left; border:2px solid #c4d1d6; min-height:80px; cursor:grab; user-select:none; touch-action:none; }
.recipeGame .orderCard:disabled { opacity:1; }
.recipeGame .orderCard[aria-disabled="true"] { cursor:default; }
.recipeGame .orderCard.dropTarget { border-color:#b85022; background:#fff2d9; }
.recipeGame .orderCard:focus-visible { outline:3px solid #b85022; outline-offset:3px; }
.orderHandle { display:block; font-size:13px; font-weight:bold; color:#7c431f; margin-top:10px; }
.recipeGame .recipeChoice { margin:0; padding:12px; background:#edf3f5; border-radius:8px; font-weight:normal; overflow-wrap:anywhere; }
.recipeChoice input { width:20px; height:20px; margin-right:12px; vertical-align:middle; }
.ingredientCards { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.recipeGame .ingredientCard { width:100%; color:#24343b; text-align:left; border:2px solid #c4d1d6; min-height:90px; cursor:pointer; }
.recipeGame .ingredientCard.selected { background:#e0f2e5; border-color:#24643a; }
.recipeGame .ingredientCard.errorCard.selected { background:#fde5e5; border-color:#a52626; color:#7a1d1d; }
.ingredientSelection { display:block; font-size:13px; font-weight:bold; margin-bottom:8px; }
.recipeGame .ingredientCard:focus-visible { outline:3px solid #b85022; outline-offset:3px; }
.recipeGame .ingredientCard:disabled { cursor:default; opacity:1; }
.recipeChoice button { width:auto; margin:8px 8px 0 0; padding:8px 12px; font-size:15px; }
.recipeGame .solution { display:block; color:#24643a; }
.recipeGame .answerFeedback { font-weight:bold; }
select { font:inherit; padding:12px; border:1px solid #aaa; border-radius:8px; width:100%; }
.matchingLayout { display:grid; grid-template-columns:minmax(0,2fr) minmax(120px,1fr); gap:20px; align-items:start; }
.matchingRow { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,1fr) auto; gap:8px; align-items:center; padding:10px 0; border-bottom:1px solid #d4dde0; }
.matchingRow .solution { grid-column:1/-1; }
.recipeGame .quantityTarget { margin:0; padding:12px; background:#fff; color:#24343b; border:2px dashed #b85022; font-size:16px; width:100%; min-height:48px; }
.recipeGame .quantityCard { display:block; width:100%; margin:8px 0; padding:12px; cursor:grab; font-size:16px; }
.recipeGame .quantityCard:disabled { cursor:default; }
.recipeGame .quantityCard.chosen { outline:3px solid #24343b; outline-offset:2px; }
.recipeGame .quantityTarget.reviewCorrect,.recipeGame .quantityCard.reviewCorrect { background:#e0f2e5; border:2px solid #24643a; color:#17492a; opacity:1; }
.recipeGame .quantityTarget.reviewWrong,.recipeGame .quantityCard.reviewWrong { background:#ffe2e2; border:2px solid #b42323; color:#751414; opacity:1; }
.recipeGame .removePair { width:auto; margin:0; padding:8px; }
.ingredientName { font-weight:bold; overflow-wrap:anywhere; }
@media(max-width:480px){.matchingLayout{gap:10px;grid-template-columns:minmax(0,2fr) minmax(90px,1fr)}.matchingRow{grid-template-columns:minmax(0,1fr) auto}.ingredientName{grid-column:1/-1}.recipeGame .quantityCard,.recipeGame .quantityTarget{padding:10px;font-size:14px}}


/* First-round post-reveal ingredient feedback */
.recipeGame .ingredientCard.reviewCorrect { background:#e0f2e5; border-color:#24643a; color:#17492a; }
.recipeGame .ingredientCard.reviewWrong { background:#ffe2e2; border-color:#b42323; color:#751414; }
.recipeGame .ingredientCard.reviewMissing { background:#fff1b8; border-color:#b17a00; color:#604500; }
.recipeGame .ingredientCard.reviewNeutral { background:#edf3f5; border-color:#c4d1d6; color:#24343b; }
.recipeGame .ingredientScoreSummary { background:#f7fafb; border:2px solid #b9cdd5; border-radius:14px; padding:18px; margin:16px 0 22px; }
.recipeGame .ingredientScoreSummary h3 { margin:0 0 14px; }
.recipeGame .ingredientScoreMetrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:12px; }
.recipeGame .ingredientScoreMetric { display:flex; flex-direction:column; background:white; border-radius:10px; padding:12px; gap:4px; }
.recipeGame .ingredientScoreMetric span { font-size:14px; }
.recipeGame .ingredientScoreMetric strong { font-size:24px; }
.recipeGame .teamStanding { font-size:20px; font-weight:bold; }
.recipeGame .relativeStandings { table-layout:fixed; }
.recipeGame .relativeStandings td,.recipeGame .relativeStandings th { white-space:normal; overflow-wrap:anywhere; }
.recipeGame .relativeStandings caption { text-align:left; font-weight:bold; margin-bottom:8px; }

.recipeGame .orderCard.reviewCorrect { background:#e0f2e5; border-color:#24643a; color:#17492a; }
.recipeGame .orderCard.reviewWrong { background:#ffe2e2; border-color:#b42323; color:#751414; }

.recipeGame .teacherTableScroll { min-width:0; max-width:100%; overflow-x:auto; margin-top:18px; }
.recipeGame .teacherRoundTable { min-width:820px; }
.recipeGame .teacherLeaderboard { min-width:560px; }
.teacherAnswerGrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:12px; }
.recipeGame .teacherResultCard { min-width:0; margin:0; padding:14px; border:2px solid #c4d1d6; border-radius:10px; overflow-wrap:anywhere; }
.recipeGame .teacherResultCard summary { cursor:pointer; font-weight:normal; }
.teacherVoteCount { display:block; margin-top:8px; font-size:16px; }
.recipeGame .teacherResultCard p { margin:10px 0 0; }
.recipeGame .teacherResultCard summary:focus-visible { outline:3px solid #b85022; outline-offset:5px; }
.recipeGame .teacherResultCard.reviewCorrect { background:#e0f2e5; border-color:#24643a; color:#17492a; }
.recipeGame .teacherResultCard.reviewWrong { background:#ffe2e2; border-color:#b42323; color:#751414; }
.recipeGame .teacherResultCard.reviewMissing { background:#fff1b8; border-color:#b17a00; color:#604500; }
.recipeGame .teacherResultCard.reviewNeutral { background:#edf3f5; border-color:#c4d1d6; color:#24343b; }
.teacherVoters { font-weight:bold; }
.teacherPage .setupPanel { border:1px solid #b9cdd5; border-radius:12px; padding:16px; margin:20px 0; background:#f7fafb; }
.teacherPage .setupPanel > summary,.teacherAnswerDetails > summary { cursor:pointer; font-weight:700; padding:8px; }
.teacherPage summary:focus-visible { outline:3px solid #b85022; outline-offset:4px; }
.teacherRoundMonitor { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.teacherRoundMonitor .roundClock,.teacherRoundMonitor .answerCount { margin:0; padding:24px; border-radius:14px; font-size:clamp(22px,2.8vw,38px); font-weight:800; line-height:1.3; }
.teacherRoundMonitor .roundClock { background:#fff2d9; border:2px solid #bf742b; }
.teacherRoundMonitor .answerCount { background:#e0f2e5; color:#17492a; border:2px solid #24643a; }
.teacherPage .teacherRoundAction { font-size:20px; padding:16px 24px; }
.teacherSubmissionTeams { display:flex; flex-wrap:wrap; gap:10px; padding:0; list-style:none; }
.teacherSubmissionTeams li { padding:10px 14px; border-radius:8px; background:#edf3f5; overflow-wrap:anywhere; }
.teacherSubmissionTeams .submitted { background:#e0f2e5; color:#17492a; font-weight:700; }
.teacherPage .teacherLeaderboard { font-size:clamp(17px,1.5vw,22px); }
.teacherPage .teacherLeaderboard tbody tr:first-child { background:#e0f2e5; font-weight:800; }
.teacherPage .teacherScoreSummary { border-color:#24643a; background:#f0f8f3; }
.teacherPage .teacherRoundTable td:last-child { font-size:22px; font-weight:800; color:#17492a; }
.teacherPage .teacherAnswerDetails { margin-top:24px; border:1px solid #b9cdd5; background:#f7fafb; }
@media(max-width:700px) { .teacherRoundMonitor { grid-template-columns:1fr; gap:10px; } .teacherRoundMonitor .roundClock,.teacherRoundMonitor .answerCount { padding:16px; } }
.teacherDistribution { display:grid; gap:20px; }
.teacherDistributionGroup { min-width:0; }
.teacherDistributionGroup h4 { margin:0 0 10px; overflow-wrap:anywhere; }
.teacherAnswerStatistics { margin:24px 0; padding:clamp(12px,2vw,24px); border:2px solid #b9cdd5; border-radius:14px; }
.teacherHighlightColumns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.teacherHighlights { min-width:0; }
.teacherHighlights h4 { margin-top:0; overflow-wrap:anywhere; }
@media(max-width:700px) { .teacherHighlightColumns { grid-template-columns:minmax(0,1fr); } }

.recipeGame .animatedRoundClock { display:flex; align-items:center; gap:24px; padding:20px; margin:20px 0; border:2px solid #247849; border-radius:18px; background:#f0f8f3; }
.clockDial { flex:0 0 auto; width:154px; height:154px; padding:10px; border-radius:50%; box-shadow:0 2px 8px #142b361a; }
.clockFace { position:relative; width:100%; height:100%; border-radius:50%; display:grid; place-items:center; background:repeating-conic-gradient(#9bafb5 0deg 1deg, transparent 1deg 30deg),#fff; }
.clockFace::before { content:''; position:absolute; inset:9px; border-radius:50%; background:#fff; }
.clockHand { position:absolute; top:9px; left:calc(50% - 2px); width:4px; height:calc(50% - 9px); background:#247849; border-radius:4px; transform-origin:50% 100%; transition:transform .25s linear; }
.clockDigits { position:relative; z-index:1; padding:5px 8px; border-radius:8px; background:#fff; font-size:30px; color:#173f2a; font-variant-numeric:tabular-nums; }
.clockCopy { min-width:0; }
.recipeGame .clockTime { margin:0 0 10px; font-size:clamp(22px,2.6vw,34px); line-height:1.2; font-variant-numeric:tabular-nums; }
.recipeGame .clockBonus { margin:0 0 8px; font-size:17px; color:#17492a; }
.recipeGame .clockLegend { margin:0; font-size:14px; font-weight:normal; }
.recipeGame .animatedRoundClock.urgent { border-color:#a9571b; background:#fff3e2; }
.recipeGame .animatedRoundClock.ended { border-color:#81969e; background:#edf3f5; }
.animatedRoundClock.ended .clockHand { visibility:hidden; }
.teamHelp { margin:20px 0; padding:20px; border:2px solid #b85022; border-radius:16px; background:#fff8ed; }
.teamHelp h3 { margin:0 0 8px; }
.teamHelpChoices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.teamHelpCard { min-width:0; padding:14px; border:1px solid #e0c6a7; border-radius:12px; background:white; }
.recipeGame .teamHelpCard button { width:100%; margin:0 0 8px; min-height:48px; padding:12px; border:0; border-radius:8px; background:#b85022; color:white; font:inherit; font-weight:700; cursor:pointer; }
.recipeGame .teamHelpCard button:disabled { cursor:default; background:#dce4e7; color:#42555e; opacity:1; }
.teamHelpCard button:focus-visible { outline:3px solid #173f2a; outline-offset:3px; }
.teamHelpCard p { font-size:14px; font-weight:normal; margin:8px 0 0; }
.helpAvailability { display:block; font-size:14px; font-weight:700; }
.teacherPage .helpToggle { display:flex; align-items:center; gap:12px; font-weight:700; padding:14px; border:1px solid #b9cdd5; border-radius:10px; background:#edf3f5; }
.teacherPage .helpToggle input { width:24px; height:24px; flex-shrink:0; accent-color:#b85022; }
.helpResult { padding:14px; border-left:4px solid #247849; border-radius:6px; background:#e0f2e5; font-weight:700; overflow-wrap:anywhere; }
.chefPeek { margin-top:18px; padding:18px; background:#fff; border:2px solid #247849; border-radius:12px; overflow-wrap:anywhere; }
.chefPeek h4 { margin:0 0 8px; font-size:22px; }
.chefPeek p { white-space:pre-line; }
.chefCountdown { font-size:20px; font-weight:800; color:#17492a; }
@media(max-width:700px) { .teamHelpChoices { grid-template-columns:1fr; } .teamHelp { padding:14px; } }
@media(max-width:540px) { .recipeGame .animatedRoundClock { flex-direction:column; text-align:center; gap:14px; padding:16px; } .clockDial { width:130px; height:130px; } }
@media(prefers-reduced-motion:reduce) { .clockHand { transition:none; } }
