#sp-page .t{margin-top:18px}
#sp-page .sp-filters{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:14px;margin-top:18px}
#sp-page .sp-filters label{display:grid;gap:6px;min-width:0}
#sp-page .sp-filters input,#sp-page .sp-filters select{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:inherit;padding:10px}
#sp-page .sp-jumps,#sp-page .sp-resources{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
#sp-page .sp-topic>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none}
#sp-page .sp-topic>summary::before{content:'+';font-size:1.3em;flex-shrink:0}
#sp-page .sp-topic[open]>summary::before{content:'−'}
#sp-page .sp-topic>summary>span:first-of-type{flex:1;min-width:0}
#sp-page .sp-assessment{display:block;margin-top:5px}
#sp-page .sp-state{font-size:.85rem;color:var(--muted);text-align:right}
#sp-page .sp-body{margin-top:18px;border-top:1px solid var(--line);padding-top:8px}
#sp-page .sp-record{margin-top:18px;border-top:1px solid var(--line);padding-top:4px}
#sp-page .sp-record label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin:14px 0}
#sp-page input[type=checkbox]{flex-shrink:0;width:20px;height:20px;margin:2px 0;accent-color:var(--c-ind)}
#sp-page .sp-revisit{border-top:1px dashed var(--line);padding-top:14px}
#sp-page .sp-confirm{border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:14px}
#sp-page :is(button,input,select,summary,a):focus-visible{outline:3px solid var(--c-ind);outline-offset:3px}
#sp-page [hidden]{display:none!important}
#sp-page .sp-exercise h4{font-size:1.05rem;margin:18px 0 10px}
#sp-page .sp-answer{border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:14px}
#sp-page .sp-answer>summary{cursor:pointer;font-weight:600;line-height:1.5}
#sp-page .sp-answer-body{border-top:1px solid var(--line);margin-top:12px;padding-top:4px;overflow-wrap:anywhere}
#sp-page .sp-answer blockquote{border-left:3px solid var(--line);margin:14px 0;padding:2px 14px}
#sp-page .sp-annotations{padding-left:24px}
#sp-page .sp-annotations>li{margin:18px 0}
@media(max-width:700px){#sp-page .sp-filters{grid-template-columns:1fr}#sp-page .sp-topic>summary{gap:10px}#sp-page .sp-state{max-width:7em}}
