.practical-tools{color:var(--ink,#162331);margin:1.5rem 0;line-height:1.65}.practical-tools p{margin:.8rem 0}.practical-tools h2{margin:1.4rem 0 .6rem;font-size:1.35rem;line-height:1.35}.practical-tools h3{margin:0 0 .6rem;font-size:1.15rem;line-height:1.4}.practical-tools button,.practical-tools input,.practical-tools select{font:inherit}.practical-tools input:not([type=checkbox]),.practical-tools select{color:#162331;background:#fff;border:1px solid #a6b1bd;border-radius:8px;max-width:100%;min-height:44px;padding:.55rem .7rem}.practical-tools button{cursor:pointer}.practical-tools button:disabled{cursor:default;opacity:.6}.practical-tools :is(a,button,input,select):focus-visible{outline-offset:3px;outline:3px solid #1756bd}.tool-controls{flex-wrap:wrap;align-items:end;gap:1rem;margin:1.2rem 0;display:flex}.tool-controls>label:not(.tool-checkbox){flex-direction:column;gap:.35rem;font-weight:600;display:flex}.tool-controls .button,.tool-reset-confirm .button{min-height:44px;padding:.6rem 1rem;font-size:.95rem}.tool-controls .tool-secondary,.tool-reset-confirm .tool-secondary{color:#173c78;background:#fff;border:1px solid #a6b1bd}.tool-checkbox{align-items:center;gap:.6rem;min-height:44px;display:flex}.tool-checkbox input,.tool-donation-list input{accent-color:#1756bd;flex:0 0 24px;width:24px;height:24px;margin:0}.tool-search{flex:260px}.tool-feedback{background:#eef3f9;border-left:3px solid #3165a2;min-height:1.5rem;padding:.7rem 1rem}.tool-feedback:empty{display:none}.tool-help{color:#435469;font-size:.92rem}.tool-sources{border-top:1px solid var(--line,#d6dde5);margin-top:2rem;padding-top:.6rem}.tool-sources ul{padding-left:1.3rem}.tool-sources li{margin:.45rem 0}.tool-practice-prompt{background:#f5f7fa;border-radius:12px;padding:.6rem 1rem}.tool-practice-prompt h2{margin:.35rem 0}.tool-board-layout{grid-template-columns:24px minmax(0,1fr);gap:4px;width:100%;max-width:580px;margin:1.25rem auto;display:grid}.tool-board{aspect-ratio:1;border:2px solid #594332;grid-template-rows:repeat(8,minmax(0,1fr));display:grid}.tool-board-row{grid-template-columns:repeat(8,minmax(0,1fr));min-height:0;display:grid}.tool-board-row>div{min-width:0;min-height:0}.tool-square{border:0;border-radius:0;justify-content:center;align-items:center;width:100%;height:100%;padding:0;font-size:clamp(.75rem,3vw,1.2rem);font-weight:700;display:flex;position:relative}.tool-square-light{color:#3b2b1d;background:#f0e4cb}.tool-square-dark{color:#fff;background:#72523e}.tool-square:focus-visible{z-index:2;outline-offset:-4px;outline:3px solid #105fd1}.tool-square-correct{box-shadow:inset 0 0 0 4px #00714b}.tool-square-wrong{box-shadow:inset 0 0 0 4px #bd2f25}.tool-square-mark{color:#15332a;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;font-size:.8rem;display:flex;position:absolute;top:1px;right:3px}.tool-rank-axis{grid-template-rows:repeat(8,1fr);font-weight:700;display:grid}.tool-rank-axis span{justify-content:center;align-items:center;display:flex}.tool-file-axis{text-align:center;grid-template-columns:repeat(8,1fr);font-weight:700;display:grid}.tool-answer-form input{width:8rem}.tool-explanation{border:1px solid #c8d6e7;border-radius:8px;padding:.8rem}.tool-table-scroll{overflow-x:auto}.tool-lookup-table{border-collapse:collapse;text-align:left;width:100%;font-size:.95rem}.tool-lookup-table caption{text-align:left;padding:.65rem 0;font-weight:700}.tool-lookup-table th,.tool-lookup-table td{vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #d6dde5;padding:.9rem}.tool-lookup-table thead th{background:#edf2f8}.tool-lookup-table tbody th{width:28%;font-weight:400}.tool-lookup-table td:first-of-type{width:27%}.tool-lookup-table :is(th,td)>:is(span,small){display:block}.tool-lookup-table small{color:#435469;margin-top:.25rem}.tool-progress-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.tool-progress-summary p{background:#f5f8fc;border:1px solid #cad7e7;border-radius:10px;padding:.85rem}.tool-progress-summary strong{font-size:1.25rem;display:block}.tool-progress-summary span{font-size:.88rem;display:block}.tool-bundle-room{margin-top:2rem}.tool-bundle-room h2 span{margin-left:.5rem;font-size:.9rem;font-weight:400;display:inline-block}.tool-bundle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.tool-bundle{border:1px solid #c9d3df;border-radius:12px;padding:1.1rem}.tool-bundle-complete{border-color:#538879}.tool-bundle-rule{color:#435469;font-size:.92rem}.tool-bundle-status{font-weight:700}.tool-donation-list{margin:.8rem 0 0;padding:0;list-style:none}.tool-donation-list li{border-top:1px solid #e4e9ef;margin:0}.tool-donation-list label{cursor:pointer;align-items:start;gap:.7rem;min-height:44px;padding:.8rem 0;display:flex}.tool-donation-list input{margin-top:.15rem}.tool-donation-list strong{font-size:.95rem}.tool-donation-list small{color:#435469;margin-top:.2rem;font-size:.83rem;display:block}.tool-donation-unused{opacity:.7;cursor:default!important}.tool-backup-controls{border-top:1px solid #d6dde5;margin-top:2rem;padding-top:1.2rem}.tool-restore-label{flex:280px;font-size:.9rem}.tool-restore-label input{width:100%;font-size:.9rem}.tool-reset-confirm{border:1px solid #ae625d;border-radius:10px;padding:1rem}.tool-reset-confirm .button{margin:.4rem .7rem .4rem 0}@media (max-width:650px){.tool-bundle-grid{grid-template-columns:1fr}.tool-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-controls>label:not(.tool-checkbox){flex:100%}.tool-controls>label input:not([type=checkbox]),.tool-controls select{width:100%}.tool-answer-form>label:not(.tool-checkbox){flex:0 100%}.tool-answer-form>label input{width:8rem}.tool-lookup-table{font-size:.85rem}.tool-lookup-table th,.tool-lookup-table td{padding:.6rem .4rem}.tool-lookup-table tbody th{width:25%}}@media print{.practical-tools .tool-controls,.practical-tools .tool-backup-controls,.practical-tools .tool-reset-confirm{display:none!important}.tool-table-scroll{overflow:visible}.tool-bundle{break-inside:avoid}.tool-bundle-grid{grid-template-columns:1fr 1fr}.tool-progress-summary p,.tool-feedback{background:0 0}}
