/* Страницы библиотеки и курса */
:root{--ink:#0E1C28;--ink2:#34444F;--mute:#66757F;--line:#D6DDE3;--gold:#E0A83C;--gold-d:#8F6112;--bg:#F1F4F6;--ff:"Manrope",system-ui,sans-serif;--logo:"Kelly Slab",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ff);line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit}
.bar{position:sticky;top:0;z-index:50;background:rgba(241,244,246,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #E1E7EC}
.bar-in{max-width:1160px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:14px}
.bar .mn-btn{background:var(--ink);color:#fff}.bar .mn-btn:hover{background:#1c3042}
.brand{font-family:var(--logo);letter-spacing:.09em;font-size:15px;text-decoration:none;display:flex;align-items:center;gap:8px;color:var(--ink)}
.brand svg{width:26px;height:26px;color:var(--gold-d);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.crumb{margin-left:auto;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-decoration:none}
.crumb:hover{color:var(--ink)}
.wrap{max-width:1160px;margin:0 auto;padding:44px 24px 72px}
h1{font-size:clamp(34px,5.4vw,64px);line-height:1.05;letter-spacing:-.03em;margin:0 0 14px;font-weight:800;text-wrap:balance}
h1 em{font-style:normal;background:linear-gradient(180deg,transparent 60%,rgba(224,168,60,.55) 60%)}
.lead{font-size:19px;color:var(--ink2);max-width:64ch;margin:0 0 12px}
.keys{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 34px}
.keys i{font-style:normal;font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.keys kbd{font:inherit;background:var(--ink);color:#fff;border-radius:6px;padding:1px 7px;margin-right:6px}
.resume{display:none;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 26px;padding:16px 20px;border-radius:18px;background:var(--ink);color:#fff;text-decoration:none}
.resume.on{display:flex}
.resume b{font-size:16px}.resume small{display:block;color:#B9C6D0;font-size:13px;font-weight:600;margin-top:2px}
.resume span{margin-left:auto;background:var(--gold);color:var(--ink);font-weight:800;border-radius:999px;padding:9px 18px;font-size:14px}
.resume:hover span{filter:brightness(1.07)}
/* библиотека */
.sh{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 14px}
.sh h2{font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0;font-weight:800}
.shelf{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.cc{display:flex;flex-direction:column;gap:14px;background:#fff;border:2px solid #E7ECF0;border-radius:26px;padding:28px 30px;text-decoration:none;position:relative;overflow:hidden;min-height:260px;transition:transform .25s,border-color .25s,box-shadow .25s}
.cc:hover,.cc:focus-visible{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 18px 40px rgba(14,28,40,.12);outline:none}
.cc .tag{align-self:flex-start;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border-radius:999px;background:var(--gold);color:var(--ink)}
.cc h3{margin:0;font-size:30px;line-height:1.1;letter-spacing:-.02em}
.cc p{margin:0;color:var(--ink2);font-size:16px;max-width:46ch}
.cc .st{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap}
.cc .st i{font-style:normal;font-size:13px;font-weight:700;padding:5px 12px;border-radius:999px;background:#E5EAEF;color:var(--ink2)}
.cc .go{position:absolute;right:26px;bottom:24px;width:46px;height:46px;border-radius:50%;background:var(--ink);display:grid;place-items:center;transition:transform .25s}
.cc:hover .go{transform:translateX(4px);background:var(--gold)}
.cc .go svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.cc:hover .go svg{stroke:var(--ink)}
.cc .num{position:absolute;right:20px;top:-14px;font-family:var(--logo);font-size:150px;line-height:1;color:#F0F3F6;pointer-events:none}
.cc>*{position:relative}
.cc.soon{border-style:dashed;background:transparent;box-shadow:none;cursor:default;justify-content:center;align-items:flex-start}
.cc.soon:hover{transform:none;border-color:#E7ECF0;box-shadow:none}
.cc.soon h3{color:var(--mute)}
/* курс */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.lc{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;gap:6px 18px;align-items:start;background:#fff;border:2px solid #E7ECF0;border-radius:22px;padding:20px 22px;text-decoration:none;color:inherit;transition:transform .25s,border-color .25s,box-shadow .25s;position:relative}
.lc:hover,.lc:focus-visible{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 14px 34px rgba(14,28,40,.10);outline:none}
.lc .n{grid-row:1/3;font-family:var(--logo);font-size:44px;line-height:1;color:var(--gold-d)}
.lc .tx b{display:block;font-size:20px;line-height:1.2;letter-spacing:-.01em}
.lc .tx small{display:block;margin-top:6px;color:var(--mute);font-size:14.5px;line-height:1.35}
.lc .meta{display:flex;gap:8px;flex-wrap:wrap}
.lc .meta i{font-style:normal;font-size:12.5px;font-weight:700;padding:4px 11px;border-radius:999px;background:#E5EAEF;color:var(--ink2)}
.lc .meta i.sl{background:var(--ink);color:#fff}
.lc.seen:after{content:"✓ открывали";position:absolute;right:16px;top:14px;font-size:11.5px;font-weight:800;color:#176846;background:#DDF3E8;border-radius:999px;padding:3px 10px}
.note{margin-top:34px;color:var(--mute);font-size:14.5px}.note a{font-weight:700;color:var(--ink)}
@media(max-width:820px){.shelf,.grid{grid-template-columns:1fr}.crumb{display:none}.wrap{padding-top:30px}.cc .num{font-size:110px}}
@media(max-width:480px){.bar-in,.wrap{padding-left:16px;padding-right:16px}.lc{grid-template-columns:48px 1fr;gap:6px 12px;padding:16px}.lc .n{font-size:34px}}
