.lib .ex{border:1px solid var(--rule);background:#fff;border-radius:12px;flex-direction:column;gap:12px;min-width:0;padding:18px 16px 16px;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.lib .ex:before{content:"";background:var(--navy);height:4px;position:absolute;top:0;left:0;right:0}.lib .ex-thu:before{background:var(--thu)}.lib .ex-luyen:before{background:var(--luyen)}.lib .ex-luyen .ex-when{color:var(--luyen);background:var(--luyen-soft)}.lib .ex:hover{border-color:#b9b5ab}.lib .ex:focus{outline:2px solid var(--accent);outline-offset:2px}.lib .ex-top{align-items:center;gap:11px;display:flex}.lib .ex-mark{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.lib .ex-mark .ic{width:22px;height:22px}.lib .ex-ky{flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;margin:0;display:flex}.lib .ex-by{font:700 11.5px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.lib .ex-subj{font:700 13.5px/1.3 var(--sans);color:var(--s);align-items:center;gap:5px;display:inline-flex}.lib .ex-subj .ic{width:16px;height:16px}.lib .ex-when{font:600 13.5px/1.6 var(--sans);color:var(--navy);background:var(--accent-soft);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:6px;padding:0 8px}.lib .ex-src{font:600 13.5px/1.4 var(--sans);color:var(--thu)}.lib .ex-free{font:600 12px/1.5 var(--sans);color:var(--ok);background:var(--ok-soft);white-space:nowrap;border-radius:5px;flex:none;align-self:flex-start;padding:1px 7px}.lib .ex-h{min-width:0;font:bold 28px/1.12 var(--display);letter-spacing:-.01em;color:var(--navy);margin:0}.lib .ex-h-l{letter-spacing:0;color:var(--muted);font-size:16px;font-weight:600}.lib .ex-h-src{letter-spacing:0;min-height:2.5em;font-size:18.5px;line-height:1.25}.lib .ex-de-sep{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.lib .ex-de{font:800 16px/1.4 var(--display);color:var(--thu);background:var(--thu-soft);font-variant-numeric:tabular-nums;vertical-align:1px;border-radius:5px;margin-left:6px;padding:0 7px;display:inline-block}.lib .ex-code{font-variant-numeric:tabular-nums;letter-spacing:.01em;border-radius:4px}.lib .ex-code.is-hit{box-shadow:0 0 0 2px var(--marker);background:#fff4d6;padding:0 4px}.lib .ex-made{min-height:1.45em;font:600 14.5px/1.45 var(--sans);color:var(--text-2);margin:-6px 0 0}.lib .ex-spec{background:var(--bar);border:1px solid var(--rule-2);border-radius:8px;margin:0;padding:8px 2px;list-style:none;display:flex}.lib .ex-spec li{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;min-width:0;padding:0 4px;display:flex}.lib .ex-spec li:nth-child(3){flex-grow:1.55}.lib .ex-spec li+li{border-left:1px solid var(--rule-2)}.lib .ex-spec b{font:700 17px/1.25 var(--display);color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums}.lib .ex-spec span{color:var(--muted);white-space:nowrap;font-size:12px;line-height:1.35}.lib .ex-vals{font:500 14px/1.35 var(--sans);color:var(--text-2);flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;display:flex}.lib .ex-vals li{white-space:nowrap;align-items:center;gap:8px;display:flex}.lib .ex-vals .ic{width:17px;height:17px;color:var(--navy)}.lib .ex-end{gap:10px;margin-top:auto;padding-top:4px;display:grid}.lib .ex-prog{white-space:nowrap;align-items:center;gap:10px;margin:0;font-size:13.5px;line-height:1.4;display:flex}.lib .ex-prog-t{align-items:center;gap:4px;font-weight:600;display:inline-flex}.lib .ex-prog-t .ic{width:16px;height:16px}.lib .ex-prog b{font-variant-numeric:tabular-nums}.lib .is-doing .ex-prog-t{color:var(--amber)}.lib .is-done .ex-prog-t{color:var(--ok)}.lib .ex-prog .bar{flex:1;width:auto;min-width:32px;height:5px}.lib .is-doing .bar i{background:var(--amber-line)}.lib .is-done .bar i{background:var(--ok)}.lib .ex-act{display:flex}.lib .ex-act .btn{border-radius:8px;flex:1;min-height:44px;padding:8px 12px}.lib .ex-act .btn .ic{width:17px;height:17px}.lib .ex-act .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lib .ex-up{color:#5f3c00;background:var(--amber-soft);border-color:#ddb26a;gap:7px;font-size:14.5px}.lib .ex-up .ic{width:16px;height:16px;color:var(--amber)}.lib .ex-up:hover{border-color:var(--amber-line);background:#fae4b8}@media (max-width:700px){.lib .ex{padding:17px 16px 16px}.lib .ex-act .btn{min-height:46px}}
