.key-foundations{display:grid;gap:18px;max-width:760px;margin-inline:auto}.kf-instruction{margin:0;font-weight:650;line-height:1.6}.key-foundations>.btn{justify-self:start}.kf-workspace{border:1px solid var(--border,#cbd5d0);border-radius:18px;padding:22px;background:var(--surface,#fff)}.kf-field,.kf-form label{display:grid;gap:9px;font-weight:650}.kf-field input,.kf-field textarea,.kf-form input:not([type=checkbox]){width:100%;box-sizing:border-box;border:2px solid #aabbb4;border-radius:10px;padding:13px 15px;font:inherit;line-height:1.5;background:#fff;color:#172c23}.kf-field input{font-size:1.4rem}.key-foundations :is(input,textarea,button,[tabindex]):focus-visible{outline:3px solid #145e4a;outline-offset:4px}.kf-form{display:grid;gap:20px}.kf-form .btn{justify-self:start}.kf-check{display:flex!important;gap:12px!important;align-items:center;font-weight:550;line-height:1.5}.kf-check input{width:22px;height:22px;flex:none;accent-color:#22644e}.kf-example{white-space:pre-wrap;padding:14px;border-radius:10px;background:#edf4f0;font:inherit;line-height:1.6}.kf-feedback{min-height:1.6em;margin:0;line-height:1.6;color:#205440}.kf-map{display:grid;grid-template-columns:repeat(3,minmax(50px,1fr));gap:10px;width:min(100%,330px);margin:auto;padding:12px;border-radius:14px;background:#e6efeb}.kf-map-cell{display:grid;place-items:center;aspect-ratio:1;border:2px solid #c5d7ce;border-radius:12px;background:#fff;font-size:2rem;color:#6b8175}.kf-map-cell.is-goal{background:#fff0c8;border-color:#9b7523;color:#74500b}.kf-map-cell.is-player{background:#cce6da;color:#164c36;border-color:#22644e}.kf-map-cell.is-player.is-goal{box-shadow:inset 0 0 0 4px #edc875}.kf-table-wrap{max-width:100%;overflow:auto}.kf-table{width:100%;border-collapse:collapse;table-layout:fixed}.kf-table caption{text-align:left;margin-bottom:12px;font-weight:650}.kf-table td,.kf-table th{border:1px solid #bacdc3;padding:7px;text-align:center}.kf-table th{background:#edf4f0}.kf-table :is(th,td):first-child{width:40px}.kf-table input{box-sizing:border-box;width:100%;min-width:45px;border:1px solid transparent;background:#fff;font:inherit;padding:12px;text-align:center;border-radius:4px}.kf-table input:focus{border-color:#22644e;background:#eff8f3}.key-foundations [data-caps-check]{display:grid;gap:18px}.key-foundations [hidden]{display:none!important}@media(max-width:540px){.kf-workspace{padding:16px}.kf-map{gap:7px;padding:8px}.kf-table td{padding:3px}.kf-table input{padding:10px 5px}}
