.game-section{padding-top:0}.game-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.game-card{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.game-card h2{font-size:26px;letter-spacing:-.03em;margin-bottom:24px}.game-card label{display:block;margin:18px 0 8px;font-size:14px;font-weight:600}.game-card input{display:block;width:100%;min-height:46px;background:var(--bg);color:var(--ink);border:1px solid var(--ink-3);border-radius:5px;padding:10px 12px;font-size:16px}.game-card input[aria-invalid=true]{border-color:var(--accent)}.game-card .btn{margin-top:16px}.binary-display{font:clamp(28px,5vw,44px)/1.5 var(--mono);letter-spacing:.1em;overflow-wrap:anywhere;color:var(--accent);margin-bottom:20px}.game-feedback{min-height:3.4em;margin:20px 0 12px}.sum-result{margin:20px 0 0;font-weight:600}.puzzle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.item,.slot{padding:14px;margin:12px 0;border:1px solid var(--ink-3);border-radius:6px;cursor:pointer;min-height:50px;line-height:1.6}.item{background:var(--surface-2)}.item[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.slot{border-style:dashed;background:var(--bg)}.placed-component{display:block;padding:8px;margin-top:8px;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit}.slot-feedback{display:block;font-weight:600;margin-top:8px}.slot.correct{background:#dcfce7;color:#14532d;border-color:#166534}.slot.wrong{background:#fee2e2;color:#7f1d1d;border-color:#991b1b}:root[data-theme=dark] .slot.correct{background:#143525;color:#d8ffe7;border-color:#66d494}:root[data-theme=dark] .slot.wrong{background:#401d23;color:#ffe0e4;border-color:#ed9ba8}.game-actions{margin-top:26px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.game-actions p{width:100%;min-height:2em;margin:4px 0}.game-section a:not(.btn){text-decoration:underline;text-underline-offset:3px}
#chatbot-fab{position:fixed;bottom:22px;right:22px;z-index:80;border:1px solid var(--ink-3);border-radius:24px;background:var(--surface);color:var(--ink);min-height:48px;padding:10px 20px;font-size:14px;font-weight:600;box-shadow:0 5px 24px #0002}#chatbot-widget{position:fixed;right:22px;bottom:82px;z-index:80;width:min(380px,calc(100vw - 44px));height:min(510px,calc(100dvh - 110px));background:var(--surface);border:1px solid var(--ink-3);border-radius:10px;box-shadow:0 8px 30px #0003;display:flex;flex-direction:column;overflow:hidden}#chatbot-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line)}#chatbot-header h2{font-size:20px}#chatbot-close{min-width:40px;min-height:40px;background:none;color:var(--ink);border:1px solid var(--line);border-radius:5px;font-size:24px}#chatbot-messages{flex:1;overflow-y:auto;padding:16px;font-size:14px}.chatbot-msg{margin:0 0 14px;overflow-wrap:anywhere}.chatbot-msg.user{font-weight:600}.chatbot-msg.bot{color:var(--ink-2)}#chatbot-inputbar{padding:12px;border-top:1px solid var(--line)}#chatbot-inputbar label{display:block;font-size:12px;margin-bottom:5px}#chatbot-inputbar>div{display:flex;gap:8px}#user-question{width:100%;min-width:0;min-height:44px;border:1px solid var(--ink-3);background:var(--bg);color:var(--ink);border-radius:5px;padding:8px;font-size:16px}#chatbot-send{border:1px solid var(--line);background:var(--accent);color:var(--accent-ink);border-radius:5px;padding:8px 14px;font-size:14px}.chatbot-note{font-size:12px;padding:0 12px 10px;margin:0;color:var(--ink-3)}
@media(max-width:760px){.game-layout,.puzzle{grid-template-columns:1fr}.game-card{padding:22px}.game-card h2{font-size:25px}}@media(max-width:360px){#chatbot-fab{right:14px;bottom:14px}#chatbot-widget{right:14px;width:calc(100vw - 28px)}}

#chatbot-send[aria-disabled=true]{opacity:.65;cursor:wait}
