/* Палитра AI Fluent. Magenta ведущий, fuchsia на заголовках и лого,
   plum на разделителях и нумерации, lime за разборы и чек-листы,
   orange за срочность. Бирюзового в системе нет. */
:root{--magenta:#ED0086;--fuchsia:#D81A67;--plum:#A82E57;--lime:#BADF32;--orange:#F25823;--pink:var(--magenta);--ink:#1A1A1A;--muted:#5c5c66;--faint:#8c8c96;--bg:#fbfafc;--card:#fff;--line:#ececf2;--shadow:0 1px 2px rgba(22,22,29,.04),0 8px 24px rgba(22,22,29,.05);--r:16px}
*{box-sizing:border-box}
h1,h2,h3,.bname,.ctitle{font-family:Onest,'Helvetica Neue',Arial,sans-serif;font-weight:800}
body{margin:0;font-family:Onest,'Helvetica Neue',Arial,sans-serif;font-weight:300;color:var(--ink);background:linear-gradient(rgba(251,250,252,.92),rgba(251,250,252,.96)),repeating-linear-gradient(0deg,transparent 0 31px,#e9e9f0 31px 32px),repeating-linear-gradient(90deg,transparent 0 31px,#e9e9f0 31px 32px);background-color:var(--bg);-webkit-font-smoothing:antialiased}
body.center{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px;background-image:none}
.wrap{max-width:820px;margin:0 auto;padding:24px 16px 80px}
code{font-family:'Fira Code',monospace;background:#f4f3f7;border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.9em}
a{color:var(--fuchsia)}

/* login and error card */
.card{max-width:420px;width:100%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow);text-align:center}
.card h1{font-size:22px;margin:0 0 8px;letter-spacing:-.02em}
/* Вордмарк на карточках входа и служебных экранах: тот же, только мельче. */
.card .bname{justify-content:center;font-size:21px;gap:9px;margin-bottom:16px}
.card .spark{width:25px;height:25px}
.card .beta{font-size:10px;padding:2px 7px}
.card p{color:var(--muted);line-height:1.6;margin:0 0 20px;font-size:15px}
.card .quiet{font-size:13px;color:var(--faint);margin:16px 0 0}
.btn{display:inline-block;background:var(--pink);color:#fff;text-decoration:none;font-weight:600;padding:12px 20px;border-radius:10px}
.btn:hover{filter:brightness(1.05)}
button.btn{border:0;font:inherit;font-weight:600;cursor:pointer}
button.btn:disabled{opacity:.6;cursor:default}
#login-token[hidden],#login-bot[hidden]{display:none}

/* header */
.head{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px;margin-bottom:18px}
.brand{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.hacts{display:flex;gap:8px;align-items:center}
.crumb{font-size:13px;font-weight:500;color:var(--faint);background:#fff;border:1px solid var(--line);text-decoration:none;padding:6px 12px;border-radius:99px;white-space:nowrap}
.crumb:hover{color:var(--ink)}
.bname{display:flex;align-items:center;gap:12px;font-size:34px;font-weight:800;letter-spacing:-.01em;line-height:1;color:var(--ink)}
.spark{flex:none;width:38px;height:38px}
.bname em{font-style:normal;color:var(--fuchsia)}
.bname .lmsword{font-weight:800}
/* Приём из брендгайда: заголовок чернилами, под ним лаймовая черта.
   Лайм в гайде отвечает за разборы и чек-листы, это ровно LMS. */
.bmeta{display:inline-block;font-size:26px;color:var(--ink);margin-top:12px;font-weight:800;letter-spacing:-.02em;line-height:1.15;font-family:Onest,'Helvetica Neue',Arial,sans-serif;background:linear-gradient(var(--lime),var(--lime)) 0 100%/100% 8px no-repeat;box-shadow:inset 0 -2px 0 rgba(0,0,0,0)}
.bdates{font-size:14px;color:var(--muted);margin-top:4px;font-weight:500;font-family:'Fira Code',monospace;letter-spacing:.02em}
.head h1{margin:0;font-size:19px;letter-spacing:-.02em;font-weight:600}
.headrow{display:flex;justify-content:space-between;align-items:center;gap:16px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.badge{font-size:12px;padding:5px 10px;border-radius:99px;background:#fdf0f7;color:var(--pink);font-weight:600}
.badge.plum{background:#f6e9ef;color:var(--plum)}
.badge.grey{background:#f2f2f6;color:var(--muted)}
.logout{font:inherit;font-size:13px;color:var(--faint);background:#fff;border:1px solid var(--line);padding:6px 12px;border-radius:99px;white-space:nowrap;cursor:pointer}
.logout:hover{color:var(--ink)}

/* top row: calendar and the cohort chat */
.next{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px 20px;margin-bottom:6px}
.toprow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chatbtn{display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:var(--plum);background:#f6e9ef;border:1px solid #edd3de;text-decoration:none;padding:10px 15px;border-radius:10px;white-space:nowrap}
.chatbtn:hover{background:#f0dde6;border-color:#e3c2d1}
.introtext{margin:0 0 12px;font-size:14px;line-height:1.5;color:var(--muted)}
h2.sec{font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);margin:30px 0 12px;font-weight:600}

/* weeks and the checklist */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tab{font:inherit;font-size:13px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:99px;padding:7px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.tab:hover{border-color:#d9d8e2;color:var(--ink)}
.tab.on{background:var(--pink);border-color:var(--pink);color:#fff}
.tab.soon{color:var(--faint);border-style:dashed}
.tab .dot{width:6px;height:6px;border-radius:99px;background:var(--lime)}
.tab.on .dot{background:#fff}
.tab.soon .dot{background:#d9d8e2}
.tab .lk{font-size:11px}
.wtop{display:flex;justify-content:space-between;align-items:baseline;gap:12px;cursor:pointer;user-select:none}
.wtop h3{margin:0;font-size:18px;letter-spacing:-.01em}
.chev2{display:inline-block;color:#c9c9d6;font-weight:400;transition:transform .2s;transform:rotate(90deg)}
.week.closed .chev2{transform:rotate(0)}
.week.closed .wbody{display:none}
.wtop .dates{font-size:13px;color:var(--muted);white-space:nowrap}
.barlabel{font-size:12px;color:var(--faint);margin-top:10px}
.bar{height:6px;background:#f0eff4;border-radius:99px;overflow:hidden;margin:6px 0 10px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--magenta),var(--lime));border-radius:99px;transition:width .25s}
.item{display:flex;gap:12px;padding:12px;border-radius:12px;cursor:pointer}
.item:hover{background:#faf9fc}
.item input{appearance:none;width:20px;height:20px;min-width:20px;margin-top:2px;border:1.5px solid #d3d3de;border-radius:6px;cursor:pointer;position:relative;background:#fff}
.item input:checked{background:var(--lime);border-color:var(--lime)}
.item input:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
.item .t{font-weight:500;line-height:1.45}
.item .why{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.5}
.item .ref{font-size:12px;color:var(--fuchsia);text-decoration:none;margin-top:5px;display:inline-block}
.item.done .t{color:var(--faint);text-decoration:line-through;text-decoration-color:#d9d9e3}
.csave{font-size:12px;color:#a8324f;background:#fdf0f4;border:1px solid #f6d3de;border-radius:10px;padding:8px 11px;margin:0 0 10px}

/* week placeholder */
.week{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px 22px}
.state{color:var(--muted);font-size:14px;background:#faf9fc;border:1px dashed var(--line);border-radius:12px;padding:16px;line-height:1.6}

/* upsell */
.upsell{border:1px solid #f7c9e0;background:linear-gradient(180deg,#fff,#fff8fb);border-radius:14px;padding:18px;margin-top:14px}
.upsell b{display:block;font-size:15px;margin-bottom:6px;letter-spacing:-.01em}
.upsell p{margin:0 0 14px;font-size:14px;color:var(--muted);line-height:1.6}
.buy{display:inline-block;font-size:14px;font-weight:600;color:#fff;background:var(--pink);text-decoration:none;padding:11px 18px;border-radius:10px}
.buy:hover{filter:brightness(1.05)}
.hint{font-size:12px;color:var(--faint);margin-top:9px}

/* meetings */
.m{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:10px;overflow:hidden}
.m .mh{display:flex;align-items:center;gap:14px;padding:16px 18px}
.m .num{font-size:12px;font-weight:600;color:var(--faint);min-width:64px;font-family:'Fira Code',monospace}
.m .ttl{flex:1;font-weight:600;letter-spacing:-.01em}
.m .ttl a{color:inherit;text-decoration:none}
.m .ttl a:hover{color:var(--pink)}
.m .numin{display:none}
.m .when{font-size:13px;color:var(--muted);white-space:nowrap}
.m .body{padding:0 18px 18px}
.m.locked{background:#fafafc}
.m.locked .ttl,.m.locked .when{color:var(--faint)}
.desc{font-size:14px;color:var(--muted);line-height:1.6;margin:0}
.links{display:flex;gap:8px;flex-wrap:wrap}
.lnk{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:#fff;padding:8px 13px;border-radius:10px}
.lnk:hover{border-color:var(--pink);color:var(--pink)}
.lnk.off{color:var(--faint);background:#faf9fc;border-style:dashed}

/* meeting screen */
.back{display:inline-block;font-size:16px;font-weight:500;color:var(--plum);text-decoration:none;margin-bottom:16px}
.back:hover{color:var(--ink)}
.mhead{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:24px;margin-bottom:18px}
.kicker{font-family:'Fira Code',monospace;font-size:12px;color:var(--pink);font-weight:500;letter-spacing:.04em}
.mhead h1{margin:8px 0 6px;font-size:26px;letter-spacing:-.025em;line-height:1.2}
.mhead .when{color:var(--muted);font-size:14px}
.mhead .links{margin-top:18px}
section{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:24px;margin-bottom:14px;scroll-margin-top:24px}
section > h2{margin:0 0 4px;font-size:19px;letter-spacing:-.02em}
section > .lead{margin:0 0 18px;color:var(--muted);font-size:14px}
p{line-height:1.65;margin:0 0 12px}
.note{font-size:14px;color:var(--muted);line-height:1.65;background:#faf9fc;border-left:3px solid var(--plum);border-radius:0 10px 10px 0;padding:12px 14px;margin:14px 0}

/* summary blocks */
.blocks{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.blocks > :not(.c):not(.lnk){grid-column:1/-1}
.blocks > .lnk{justify-self:start}
/* Карточки саммари набираются моноширинным: по гайду это системные пометки,
   и врезка так отделяется от обычного текста раздела. */
.c{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fdfdff;font-family:'Fira Code',monospace}
.c b{display:block;font-size:13.5px;font-weight:500;margin-bottom:4px}
.c span{font-size:12.5px;color:var(--muted);line-height:1.6}
.blocks ul{margin:0;padding-left:20px;color:var(--muted);line-height:1.7}
.tc{display:flex;gap:10px;align-items:baseline;font-size:14px;color:var(--muted)}
/* таймкоды под видео: раскрываются на месте, клик перематывает кадр */
.tcs{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fdfdff}
.tcs summary{cursor:pointer;padding:12px 14px;font-size:14px;font-weight:500;list-style:none;display:flex;gap:8px;align-items:center}
.tcs summary::-webkit-details-marker{display:none}
.tcs summary::before{content:"›";color:#c9c9d6;font-size:18px;transition:transform .2s}
.tcs[open] summary::before{transform:rotate(90deg)}
.tcs summary span{color:var(--muted);font-weight:400;font-size:13px}
.tclist{padding:0 8px 10px;max-height:420px;overflow-y:auto}
button.tc{width:100%;border:0;background:none;text-align:left;font:inherit;font-size:14px;padding:7px 8px;border-radius:8px;cursor:pointer;color:var(--muted)}
button.tc:hover{background:#f6f5f9;color:inherit}
button.tc code{color:var(--fuchsia);min-width:58px;flex-shrink:0}
.qa{border-bottom:1px solid var(--line)}
.qa:last-child{border-bottom:0}
.qa summary{cursor:pointer;padding:14px 0;font-weight:500;list-style:none;display:flex;gap:10px;align-items:center}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"›";color:#c9c9d6;font-size:18px;transition:transform .2s}
.qa[open] summary::before{transform:rotate(90deg)}
.qa .a{padding:0 0 16px 26px;font-size:14px;color:var(--muted);line-height:1.65}

/* frames */
.frame{position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f6f5f9;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.frame.video{aspect-ratio:16/9;background:#16161d}
.frame iframe{width:100%;height:100%;border:0;display:block}
.frame .play{font:inherit;font-weight:600;font-size:14px;color:#fff;background:var(--pink);border:0;border-radius:99px;padding:12px 22px;cursor:pointer}
.frame .play:hover{filter:brightness(1.05)}
.frame.empty{color:var(--faint);font-size:14px;background:#faf9fc;border-style:dashed}
.frameact{margin-top:10px;display:flex;gap:16px;font-size:13px}
.frameact a{color:var(--fuchsia);text-decoration:none}
.frameact a:hover{text-decoration:underline}

/* practice */
.prac{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}
.prachead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.prachead b{display:block;font-size:15px;letter-spacing:-.01em}
.prachead span{font-size:13px;color:var(--muted)}
.tcs.off{padding:12px 14px;font-size:14px;color:var(--faint);background:#faf9fc;border-style:dashed}
.psum{padding:0 14px 14px;font-size:14px;line-height:1.65}
.psumh{font-size:15px;margin:14px 0 6px;letter-spacing:-.01em}
.psum .blocks{grid-template-columns:1fr}

/* calendar */
.calbtn{font:inherit;font-size:14px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:10px;padding:10px 15px;cursor:pointer;white-space:nowrap}
.calbtn:hover{border-color:var(--pink);color:var(--pink)}
.calbtn.on{background:#fdf0f7;border-color:#f7c9e0;color:var(--pink)}
.cchev{display:inline-block;color:#c9c9d6;transition:transform .2s;transform:rotate(90deg)}
.calbtn.on .cchev{transform:rotate(-90deg);color:var(--pink)}
.calclose{display:block;width:100%;margin-top:14px;font:inherit;font-size:13px;font-weight:500;color:var(--muted);background:#faf9fc;border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}
.calclose:hover{color:var(--ink);border-color:#d9d8e2}
.cal{display:none;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.cal.open{display:block}
.calhead{font-size:12px;color:var(--faint);margin-bottom:10px}
.month{margin-bottom:20px}
.month:last-child{margin-bottom:0}
.mname{font-size:14px;font-weight:600;letter-spacing:-.01em;margin-bottom:8px}
.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.wd{font-size:11px;color:var(--faint);text-align:center;padding:2px 0 4px;font-weight:600;letter-spacing:.05em}
.cell{min-height:58px;border:1px solid var(--line);border-radius:9px;padding:5px;background:#fff}
.cell.out{border:0;background:transparent;min-height:0}
.cell.has{background:#fdfdff}
.cell.today{border-color:var(--pink);box-shadow:0 0 0 1px #f7c9e0 inset}
.dn{font-size:11px;color:var(--faint);font-family:'Fira Code',monospace;margin-bottom:3px}
.cell.today .dn{color:var(--pink);font-weight:600}
.chip{display:block;font-size:10.5px;line-height:1.3;padding:3px 5px;border-radius:6px;text-decoration:none;margin-bottom:3px;font-weight:500}
.chip.base{background:#ffe6f4;color:var(--magenta)}
.chip.trk{background:#f6e9ef;color:var(--plum)}
a.chip:hover{filter:brightness(.96)}
.chip.lock{background:#f2f2f6;color:var(--faint)}
.chip.past{opacity:.45}
.cal-list{display:none}
.cal-list .ev{display:flex;align-items:flex-start;gap:12px;padding:9px 0;border-bottom:1px solid #f4f3f7;font-size:14px}
.cal-list .ev:last-of-type{border-bottom:0}
.cal-list .ev.past{opacity:.5}
.cal-list .ev.today .d{color:var(--pink);font-weight:600}
.cal-list .d{font-family:'Fira Code',monospace;font-size:12.5px;color:var(--muted);min-width:118px}
.cal-list .nm{flex:1}
.cal-list .chip{display:inline-block;font-size:12px;margin:0 6px 4px 0;padding:4px 8px}

/* shelf */
.shelf{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}
a.tile:hover{border-color:var(--fuchsia)}
.tile b{display:block;font-size:15px;margin-bottom:3px;letter-spacing:-.01em}
.tile span{font-size:13px;color:var(--muted);line-height:1.5}
.tile.off{background:#fafafc;border-style:dashed;box-shadow:none}
.tile.off b{color:var(--muted)}

/* deck on a narrow screen: только ссылка, кадр не грузится */
.deckalt{display:none;margin-top:4px;font-size:14px}
.deckalt a{color:var(--fuchsia)}

@media(max-width:640px){
  .blocks{grid-template-columns:1fr}
  section,.head,.week{padding:18px}
  .m .num{display:none}
  .m .numin{display:inline}
  .cal-grid{display:none}
  .cal-list{display:block}
  .shelf{grid-template-columns:1fr}
  .hacts{width:100%}
  .hacts .crumb,.hacts .logout{flex:1;text-align:center}
  .headrow{flex-wrap:wrap}
  .bname{font-size:28px}
  .bmeta{font-size:22px}
  .toprow{width:100%}
  .chatbtn,.calbtn{flex:1;text-align:center;justify-content:center}
  #deck .frame,#deck .frameact,#deck .decktip{display:none}
  .deckalt{display:block}
}
body.narrow #deck .frame,body.narrow #deck .frameact,body.narrow #deck .decktip{display:none}
body.narrow .deckalt{display:block}


.beta{font-family:'Fira Code',monospace;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;padding:3px 8px;border-radius:99px;background:var(--pink,#f76cc3);color:#fff}
.betanote{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--muted,#6b6b76);max-width:52ch}
.betanote a{color:var(--plum);text-decoration:underline;text-underline-offset:2px}
.mats{display:grid;gap:10px}
.mat{display:block;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);text-decoration:none;color:var(--ink)}
.mat:hover{border-color:var(--pink)}
.matt{display:block;font-weight:600;font-size:15px}
.matn{display:block;margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45}
.ilinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ilink{font-size:13px;font-weight:600;color:var(--pink);text-decoration:none;border:1px solid var(--line);border-radius:99px;padding:5px 12px}
.ilink:hover{border-color:var(--pink)}
.prompt{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#fbfafc}
.prompthead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line)}
.promptlabel{font-family:'Fira Code',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.copy{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer}
.copy:hover{border-color:var(--pink);color:var(--pink)}
.prompt pre{margin:0;padding:12px;white-space:pre-wrap;word-break:break-word;font-family:'Fira Code',monospace;font-size:12px;line-height:1.55;color:var(--ink);max-height:260px;overflow:auto}
.callegend{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.callegend .lg{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.callegend .chip{display:inline-block;width:14px;height:14px;padding:0;margin:0;border-radius:4px}

/* стартовая: список курсов */
.courses{display:grid;gap:12px}
.course{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px;text-decoration:none;color:inherit}
a.course:hover{border-color:var(--pink);box-shadow:0 6px 20px rgba(247,108,195,.14)}
.course.off{opacity:.75}
.ctitle{font-size:19px;font-weight:600;letter-spacing:-.02em}
.cwhen{font-size:14px;color:var(--muted);margin-top:4px}
.ctariff{display:inline-block;font-size:12px;font-weight:600;color:var(--pink);background:#fdf0f7;padding:5px 10px;border-radius:99px;margin-top:12px}
.cnote{font-size:13.5px;color:var(--muted);margin-top:10px}
.cgo{display:block;font-size:14px;font-weight:600;color:var(--pink);margin-top:14px}
.cbtn{display:inline-block;margin-top:14px;font:inherit;font-size:14px;font-weight:600;color:#fff;background:var(--pink);border:0;border-radius:99px;padding:9px 18px;cursor:pointer}
a.cbtn{text-decoration:none}
.cbtn:disabled{opacity:.6;cursor:default}
.cdone{font-size:14px;font-weight:600;color:var(--pink);margin-top:14px}
.cerr{font-size:13px;color:var(--muted);margin-top:8px}
.cdone[hidden],.cerr[hidden]{display:none}
/* плитка спринта по контенту: в стиле его лендинга, небо, синий, оранжевый курсор */
.course.sprint{--sky-ink:#1A0089;color:var(--sky-ink);border:1px solid #b9d9f2;
  background:linear-gradient(170deg,#cfe6f7 0%,#e9f3fa 45%,#f8f3e7 100%)}
.course.sprint.off{opacity:1}
.course.sprint .ctitle{font-family:Onest,var(--font,system-ui),sans-serif;font-size:21px;letter-spacing:-.03em}
.course.sprint .cwhen,.course.sprint .cnote{color:#3b3487}
.course.sprint .cgo{color:var(--sky-ink)}
.course.sprint .cbtn{background:#FF5E33;color:var(--sky-ink);border-radius:0;text-decoration:none;
  box-shadow:inset -2px -2px #a8422a,inset 2px 2px #FEBD77}
.course.sprint .caret{display:inline-block;width:3px;height:.9em;margin-left:3px;vertical-align:-.1em;background:#FF5E33}
a.course.sprint:hover{border-color:var(--sky-ink);box-shadow:0 6px 20px rgba(26,0,137,.12)}

/* плитки курсов Мастерской: Level 2 в стиле лого чата (крем, бирюза, розовый,
   листочки), Level 1 в цветах AI Fluent (звёздочки). Картинка в правом углу,
   текст не наезжает на неё. */
.course{position:relative;overflow:hidden}
.course .cdecor{position:absolute;right:-6px;bottom:-6px;width:118px;height:118px;pointer-events:none}
.course.l1 > :not(.cdecor),.course.l2 > :not(.cdecor){position:relative}
.course.l1 :is(.ctitle,.cwhen,.cnote),.course.l2 :is(.ctitle,.cwhen,.cnote){padding-right:84px}
.course.l2{background:linear-gradient(160deg,#faf9f7 0%,#fff 55%,#f0fdfa 100%);border-color:#d5ece8}
.course.l2 .ctitle{background:linear-gradient(90deg,#ec4899,#14b8a6);-webkit-background-clip:text;background-clip:text;color:transparent}
.course.l2 .ctariff{color:#0f766e;background:#ccfbf1}
.course.l2 .cgo,.course.l2 .cdone{color:#0f766e}
.course.l2 .cbtn{background:linear-gradient(90deg,#ec4899,#14b8a6)}
a.course.l2:hover{border-color:#14b8a6;box-shadow:0 6px 20px rgba(20,184,166,.16)}
.course.l1{background:linear-gradient(160deg,#fff 0%,#fff 50%,#fdf0f7 100%);border-color:#f6d6e8}
.course.l1::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--magenta),var(--orange),var(--lime))}
.course.off.l1,.course.off.l2{opacity:.85}

/* Личный курс консультаций и запись на консультацию: цвета AI Fluent,
   лаймовая полоса сверху, два круга (один на один) в углу. */
.course.consult{background:linear-gradient(160deg,#fff 0%,#fff 50%,#f6fbe4 100%);border-color:#e4efc2}
.course.consult::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--lime),var(--magenta))}
.course.consult > :not(.cdecor){position:relative}
.course.consult :is(.ctitle,.cwhen,.cnote){padding-right:84px}
.course.consult .cgo{color:var(--ink)}
.course.consult .cbtn{background:var(--ink)}
.course.off.consult{opacity:.85}
a.course.consult:hover{border-color:var(--lime);box-shadow:0 6px 20px rgba(186,223,50,.22)}

/* Курс партнёра Ковчег Бизнес: их синий и оранжевый (kovcheg.business).
   Плитка на стартовой синяя с дугами маршрутов, кабинет и встречи
   перекрашены через переменные палитры, шапка синяя без вордмарка. */
.course.kovcheg{background:#2D57C8;border-color:#2D57C8;color:#fff}
.course.kovcheg > :not(.cdecor){position:relative}
.course.kovcheg :is(.ctitle,.cwhen,.cnote){padding-right:84px}
.course.kovcheg .ctitle{color:#fff}
.course.kovcheg :is(.cwhen,.cnote){color:#D9E3FF}
.course.kovcheg .cgo{color:#FF9500}
a.course.kovcheg:hover{border-color:#1346B8;box-shadow:0 6px 20px rgba(45,87,200,.28)}
body.p-kovcheg{--magenta:#2D57C8;--fuchsia:#2D57C8;--plum:#1346B8;--lime:#FF9500;--orange:#FF9500;--pink:#2D57C8}
body.p-kovcheg .head{background:#2D57C8;border-color:#2D57C8;color:#fff}
body.p-kovcheg .head .brand{border-bottom-color:rgba(255,255,255,.22)}
body.p-kovcheg .pbrand{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#D9E3FF}
body.p-kovcheg .head .bmeta{color:#fff;margin-top:8px;background-image:linear-gradient(#FF9500,#FF9500)}
body.p-kovcheg .head .bdates{color:#D9E3FF}
body.p-kovcheg .head h1{color:#fff}
body.p-kovcheg .head .betanote{color:#D9E3FF}
body.p-kovcheg .head .betanote a{color:#fff}
body.p-kovcheg .head :is(.crumb,.logout){background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}
body.p-kovcheg .head .badge{background:rgba(255,255,255,.16);color:#fff}
body.p-kovcheg a{color:#2D57C8}
body.p-kovcheg .tzmenu{color:var(--ink)}
body.p-kovcheg .tzbanner{background:#E9EDFB;border-color:#D9E3FF}
body.p-kovcheg :is(.calbtn.on,.tzmenu button:hover,.tzmenu button.on){background:#E9EDFB;border-color:#D9E3FF}

/* Часовой пояс: бейдж в шапке открывает меню, предложение пояса браузера
   под приветствием, строка про смену летнего времени под бейджами. */
.tzbox{position:relative;display:inline-block}
.tzpill{cursor:pointer;border:0;font:inherit;font-size:12px;font-weight:600}
.tzpill b{font-weight:600}
.tzmenu{position:absolute;z-index:20;top:110%;left:0;min-width:260px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(22,22,29,.08);padding:6px}
.tzmenu button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:8px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.tzmenu button:hover,.tzmenu button.on{background:#fdf0f7}
.tzmenu button.on{color:var(--fuchsia);font-weight:500}
.tzmenu button:disabled{opacity:.5;cursor:default}
.tzhint{font-size:12px;color:var(--faint);padding:6px 10px}
.tzsearch{width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px}
.tzerr{font-size:12px;color:#a8324f;padding:6px 10px}
.tzdst{margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--muted)}
.tzbanner{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:#fdf0f5;border:1px solid #f3cfe0;font-size:14px;line-height:1.45}
.tzbanner[hidden]{display:none}
.tzbtns{display:flex;gap:8px}
.tzbanner button{border:0;border-radius:99px;padding:7px 14px;font:inherit;font-size:14px;cursor:pointer}
.tzbanner .yes{background:var(--fuchsia);color:#fff}
.tzbanner .no{background:#fff;border:1px solid var(--line);color:var(--ink)}
.tzbanner button:disabled{opacity:.6;cursor:default}
/* На узком экране меню пояса во всю ширину строки бейджей: иначе оно
   уезжает за правый край вместе с бейджем. */
@media (max-width:640px){.badges{position:relative}.tzbox{position:static}.tzmenu{left:0;right:0;min-width:0;max-width:none}}

/* Бадди: личная пара сверху кабинета */
.buddy-me{background:linear-gradient(135deg,#fdf0f6,#f6e9ef);border:1px solid #edd3de;border-radius:var(--r);padding:16px 20px;margin:4px 0 6px}
.bm-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--plum);font-weight:600}
.bm-name{font-size:20px;font-weight:700;margin:4px 0 12px}
.bm-acts{display:flex;flex-wrap:wrap;gap:8px}

/* Открытый курс AI Fluency в оформлении Anthropic: кремовый фон, тёмные
   чернила, коралл акцентом, заголовки с засечками (Newsreader). Плитка на
   стартовой и страницы курса используют одни переменные. */
:root{--a-cream:#FAF9F5;--a-sand:#F0EEE6;--a-ink:#141413;--a-muted:#5E5D59;--a-faint:#87867F;--a-line:#E8E6DC;--a-coral:#D97757;--a-coral-dk:#C6613F;--a-serif:Newsreader,'Iowan Old Style',Georgia,serif}
.cfree{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--a-coral-dk);background:#F7E6DE;border-radius:99px;padding:3px 9px;margin-bottom:10px}
.course.anthropic{background:var(--a-cream);border-color:var(--a-line);color:var(--a-ink)}
.course.anthropic::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:var(--a-coral)}
.course.anthropic > :not(.cdecor){position:relative}
.course.anthropic :is(.ctitle,.cwhen,.cnote){padding-right:84px}
.course.anthropic .ctitle{font-family:var(--a-serif);font-weight:500;font-size:22px;letter-spacing:-.01em}
.course.anthropic .cwhen,.course.anthropic .cnote{color:var(--a-muted)}
.course.anthropic .cgo{color:var(--a-coral-dk)}
.course.anthropic .cbtn{background:var(--a-ink);color:var(--a-cream);border-radius:10px;padding:10px 18px}
.course.anthropic .cbtn:hover{background:var(--a-coral)}
.course.anthropic form{margin:0}
.course.other.anthropic{opacity:1}
a.course.anthropic:hover{border-color:var(--a-coral);box-shadow:0 6px 20px rgba(217,119,87,.16)}

body.aif{background:var(--a-cream);background-image:none;color:var(--a-ink)}
body.aif a{color:var(--a-coral-dk)}
body.aif .back{color:var(--a-muted)}
.aif h1,.aif h2,.aif h3{font-family:var(--a-serif);font-weight:500;letter-spacing:-.01em}
.aifhead{background:#fff;border:1px solid var(--a-line);border-radius:16px;padding:24px;margin:14px 0 8px}
.aifhead h1{font-size:34px;line-height:1.15;margin:0 0 10px}
.aiflead{color:var(--a-muted);line-height:1.6;margin:0 0 18px;font-size:16px}
.aifprog{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.aifbar{flex:1;height:6px;background:var(--a-sand);border-radius:99px;overflow:hidden}
.aiffill{display:block;height:100%;width:0;background:var(--a-coral);border-radius:99px}
.aifcount{font-size:13px;color:var(--a-faint);white-space:nowrap}
.aifbtn{display:inline-block;font:inherit;font-size:15px;font-weight:500;color:var(--a-cream) !important;background:var(--a-ink);border:0;border-radius:10px;padding:12px 20px;text-decoration:none;cursor:pointer}
.aifbtn:hover{background:var(--a-coral)}
.aifbtn.on{background:var(--a-sand);color:var(--a-ink) !important}
.aifbtn:disabled{opacity:.6;cursor:default}
.aifsite{font-size:13px;color:var(--a-faint);margin:14px 0 0}
.aifsec{font-size:13px !important;font-family:Onest,'Helvetica Neue',Arial,sans-serif !important;font-weight:600 !important;text-transform:uppercase;letter-spacing:.09em !important;color:var(--a-faint);margin:28px 0 10px}
.aiflist{display:grid;gap:8px}
.aifrow{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--a-line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--a-ink) !important}
.aifrow:hover{border-color:var(--a-coral)}
.aifnum{flex:none;width:30px;font-family:'Fira Code',monospace;font-size:13px;color:var(--a-faint)}
.aifrow.done .aifnum{color:var(--a-coral-dk);font-weight:600}
.aifname{flex:1;font-family:var(--a-serif);font-size:18px}
.aifdur{flex:none;font-size:12.5px;color:var(--a-faint)}
.aifcredit{font-size:13px;color:var(--a-faint);margin:28px 0 0;line-height:1.5}

.aiflesson{margin-top:14px}
.aifkicker{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--a-faint)}
.aiflesson h1{font-size:36px;line-height:1.12;margin:8px 0 20px}
.aifnote{font-size:13px;color:var(--a-faint);margin:8px 0 0}
.aifbody{font-size:17px;line-height:1.7;margin-top:24px}
.aifbody h2{font-size:26px;margin:34px 0 10px}
.aifbody h3{font-size:20px;margin:24px 0 8px}
.aifbody p{margin:0 0 14px}
.aifbody ul,.aifbody ol{padding-left:22px;margin:0 0 14px}
.aifbody li{margin-bottom:6px}
.aifbody .goals,.aifbody .takeaways,.aifbody .what-next{background:#fff;border:1px solid var(--a-line);border-radius:14px;padding:18px 20px;margin:20px 0}
.aifbody .goals-title,.aifbody .summary-label{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--a-faint);margin:0 0 8px}
.aifbody .takeaways{border-left:4px solid var(--a-coral)}
.aifbody .takeaways h2,.aifbody .what-next h2,.aifbody .section-title{font-size:22px;margin:0 0 10px}
.aifbody .section-title{margin-top:34px}
.aifbody .pull{font-family:var(--a-serif);font-size:22px;line-height:1.4;border-left:3px solid var(--a-coral);padding:4px 0 4px 18px;margin:24px 0}
.aifbody .pull span{display:block;font-family:Onest,'Helvetica Neue',Arial,sans-serif;font-size:13px;color:var(--a-faint);margin-top:8px}
.aifbody .note{background:var(--a-sand);border-radius:12px;padding:14px 16px;font-size:15px}
.aifbody details.exercise{background:#fff;border:1px solid var(--a-line);border-radius:14px;margin:12px 0;overflow:hidden}
.aifbody details.exercise summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;cursor:pointer;list-style:none}
.aifbody details.exercise summary::-webkit-details-marker{display:none}
.aifbody .ex-tag{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--a-coral-dk);background:#F7E6DE;border-radius:99px;padding:3px 9px}
.aifbody .ex-name{flex:1;font-family:var(--a-serif);font-size:19px}
.aifbody .ex-time{font-size:13px;color:var(--a-faint)}
.aifbody .ex-body{padding:0 18px 16px;font-size:16px}
.aifbody .prompt-box pre{font-family:'Fira Code',monospace;font-size:13.5px;line-height:1.55;white-space:pre-wrap;background:var(--a-sand);border-radius:10px;padding:14px 16px;margin:10px 0 0}
.aifbody table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 16px}
.aifbody th,.aifbody td{border-bottom:1px solid var(--a-line);padding:8px 6px;text-align:left;vertical-align:top}
.aifbody .source-link{display:inline-block;margin:10px 0 0;font-size:14px}
.aifdone{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:30px 0 8px;padding-top:22px;border-top:1px solid var(--a-line)}
.aifnav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.aifnavb{display:block;background:#fff;border:1px solid var(--a-line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--a-ink) !important;font-family:var(--a-serif);font-size:16px}
.aifnavb small{display:block;font-family:Onest,'Helvetica Neue',Arial,sans-serif;font-size:12px;color:var(--a-faint);margin-bottom:3px}
.aifnavb.next{text-align:right}
.aifnavb:hover{border-color:var(--a-coral)}
@media (max-width:640px){.aifhead h1,.aiflesson h1{font-size:28px}.aifbody{font-size:16px}.aifnav{grid-template-columns:1fr}.aifnavb.next{text-align:left}}
