.topic-grid{gap:24px}
.topic.playable{transition:transform .15s ease,box-shadow .15s ease}.topic.playable:hover{transform:translateY(-3px);box-shadow:0 13px 28px rgba(30,41,59,.2)}
.topic-link{position:absolute;inset:0;border-radius:22px}.topic-link:focus-visible{outline:4px solid #2563eb;outline-offset:4px}
.hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.game-shell{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}
.game-top{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:18px}.game-top h1{font-size:clamp(38px,6vw,68px)}.back{font-weight:800}
.board-card,.game-panel{border:3px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.board-card{padding:clamp(10px,2vw,20px);background:#fffdf7}.game-panel{position:sticky;top:14px;padding:20px}
.status{min-height:72px;margin:0 0 14px;padding:13px;border:2px solid var(--line);border-radius:15px;background:#e0f2fe;font-weight:800;line-height:1.4}
.controls{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.button{min-height:44px;padding:9px 15px;border:2px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:800 15px system-ui;box-shadow:0 3px 0 var(--line);cursor:pointer}.button.primary{background:#fbbf24}.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.mini-rules{margin:18px 0 0;padding-top:15px;border-top:2px dashed #b5b8ad}.mini-rules h2{margin:0 0 8px;font:800 21px Georgia,serif}.mini-rules ol{padding-left:22px}.mini-rules li{margin:7px 0;line-height:1.4}
.kalc-setup{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-bottom:22px;padding:16px;border:2px solid var(--line);border-radius:16px;background:#e0f2fe}.kalc-setup label{display:grid;gap:6px;font-size:13px;font-weight:850}
.kalc-setup input,.kalc-setup select,.answer-box{min-height:46px;border:2px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:700 17px system-ui;padding:8px}
.sum-list{display:grid;gap:9px;margin:0;padding-left:38px}.sum-row{display:grid;grid-template-columns:minmax(145px,1fr) 90px 45px;align-items:center;gap:10px;min-height:55px;padding:6px 8px;border-radius:13px;background:#fef3c7}.sum-row:nth-child(even){background:#e0f2fe}.sum-row::marker{font-weight:900}.sum-question{font:800 clamp(20px,3vw,27px)/1.1 Georgia,serif}
.answer-box,.spell-box{width:100%}.answer-box.right,.spell-box.right{border-color:#398a4c;background:#effbea}.answer-box.wrong,.spell-box.wrong{border-color:#c94b67;background:#fff0f2}
.sum-result{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#849096;font-size:28px;font-weight:950}.sum-result.right{background:#d8f3d5;color:#267a3b}.sum-result.wrong{background:#fbd9df;color:#b22f4d}
.round-total{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:17px;padding:15px 18px;border:3px solid var(--line);border-radius:15px;background:#fbbf24;font-weight:850}.round-total strong{font:900 25px Georgia,serif}
.answer-actions{display:flex;justify-content:flex-end;margin:10px 0 4px}.answer-actions .button{min-width:132px}
.score-chart{margin-top:22px;padding-top:17px;border-top:2px dashed #b5b8ad}.score-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.score-head h2{margin:0;font:800 23px Georgia,serif}.text-button{border:0;background:transparent;color:#8c3548;font-weight:800;text-decoration:underline;cursor:pointer}.empty-score{color:#64748b;font-size:14px}
.score-summary p{display:flex;justify-content:space-between;gap:10px;margin:10px 0;padding:9px;border-radius:10px;background:#eef6f4;font-size:13px}.score-summary span{text-align:right}.score-scroll{max-height:250px;overflow:auto}.score-chart table{width:100%;border-collapse:collapse;font-size:13px}.score-chart th,.score-chart td{padding:8px 5px;border-bottom:1px solid #d6dcda;text-align:left}.score-chart th{position:sticky;top:0;background:#fff}
.spel-setup{grid-template-columns:1.2fr 1fr}.spel-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding-left:38px}.spel-row{display:grid;grid-template-columns:74px minmax(100px,1fr) 42px;align-items:center;gap:9px;min-height:86px;padding:7px;border-radius:15px;background:#e0f2fe}.spel-row:nth-child(4n+1),.spel-row:nth-child(4n+4){background:#fef3c7}
.spell-picture{display:grid;place-items:center;width:68px;height:68px;border:2px solid var(--line);border-radius:15px;background:#fff;font-size:42px}.spell-box{min-height:46px;border:2px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);font:750 19px system-ui;padding:8px;text-transform:lowercase}
@media(max-width:850px){.game-shell{grid-template-columns:1fr}.game-panel{position:static}.game-top{align-items:start;flex-direction:column-reverse}.kalc-setup{grid-template-columns:1fr}}
@media(max-width:600px){.board-card,.game-panel{border-radius:16px}.game-panel{padding:15px}.game-top h1{font-size:40px}.sum-list,.spel-list{padding-left:0;list-style:none}.sum-row{grid-template-columns:minmax(120px,1fr) 76px 40px}.spel-list{grid-template-columns:1fr}.spel-row{grid-template-columns:66px minmax(100px,1fr) 40px}.spell-picture{width:60px;height:60px;font-size:37px}.round-total{padding:12px}}
.geo-setup{grid-template-columns:repeat(2,1fr)}.geo-list{display:grid;gap:10px;margin:0;padding-left:38px}.geo-row{display:grid;grid-template-columns:minmax(210px,1fr) minmax(150px,220px) 44px;align-items:center;gap:10px;min-height:66px;padding:9px;border-radius:14px;background:#e0f2fe}.geo-row:nth-child(even){background:#fef3c7}.geo-prompt{font-size:16px;line-height:1.35}.geo-answer{width:100%;min-height:45px;border:2px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:8px;font:700 16px system-ui}.geo-answer.right{border-color:#398a4c;background:#effbea}.geo-answer.wrong{border-color:#c94b67;background:#fff0f2}
@media(max-width:600px){.geo-setup{grid-template-columns:1fr}.geo-list{padding-left:0;list-style:none}.geo-row{grid-template-columns:1fr 120px 40px}.geo-prompt{font-size:14px}}
